diff --git a/hosts/common/user/configs/console/xdg/default.nix b/hosts/common/user/configs/console/xdg/default.nix index 94bbc9c..8a05863 100644 --- a/hosts/common/user/configs/console/xdg/default.nix +++ b/hosts/common/user/configs/console/xdg/default.nix @@ -24,11 +24,6 @@ enable = true; mimeApps.enable = true; - portal = { - xdgOpenUsePortal = true; - extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; - }; - userDirs = { enable = true; createDirectories = true; diff --git a/hosts/common/user/configs/gui/obs/default.nix b/hosts/common/user/configs/gui/obs/default.nix new file mode 100644 index 0000000..ed748a7 --- /dev/null +++ b/hosts/common/user/configs/gui/obs/default.nix @@ -0,0 +1,34 @@ +{ + user ? throw "user argument is required", + home ? throw "home argument is required", +}: +{ config, pkgs, ... }: +{ + boot = { + kernelModules = [ "v4l2loopback" ]; + extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; + extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 + ''; + }; + + environment.persistence = { + "/persist"."${home}/.config/obs-studio" = { }; + }; + + home-manager.users.${user} = { + programs.obs-studio.enable = true; + + xdg.configFile."obs-studio/basic/profiles/Untitled/basic.ini".source = + (pkgs.formats.ini { }).generate "basic.ini" + { + SimpleOutput = { + FilePath = "${home}/Videos"; + VBitrate = 4000; + ABitrate = 320; + RecEncoder = "nvenc_hevc"; + FileNameWithoutSpace = true; + }; + }; + }; +} diff --git a/hosts/common/user/configs/gui/xdg/default.nix b/hosts/common/user/configs/gui/xdg/default.nix new file mode 100644 index 0000000..98be87c --- /dev/null +++ b/hosts/common/user/configs/gui/xdg/default.nix @@ -0,0 +1,11 @@ +{ + user ? throw "user argument is required", + home ? throw "home argument is required", +}: +{ config, pkgs, ... }: +{ + home-manager.users.${user}.xdg.portal = { + xdgOpenUsePortal = true; + extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; + }; +} diff --git a/hosts/eirene/users/nick.nix b/hosts/eirene/users/nick.nix index 17a35ad..4da9332 100644 --- a/hosts/eirene/users/nick.nix +++ b/hosts/eirene/users/nick.nix @@ -49,6 +49,7 @@ in (import ../../common/user/configs/gui/kitty { inherit user home; }) (import ../../common/user/configs/gui/libreoffice { inherit user home; }) (import ../../common/user/configs/gui/networking { inherit user home; }) + (import ../../common/user/configs/gui/obs { inherit user home; }) (import ../../common/user/configs/gui/obsidian { inherit user home; }) (import ../../common/user/configs/gui/pipewire { inherit user home; }) (import ../../common/user/configs/gui/qalculate { inherit user home; }) @@ -61,6 +62,7 @@ in (import ../../common/user/configs/gui/vscode { inherit user home; }) (import ../../common/user/configs/gui/wev { inherit user home; }) (import ../../common/user/configs/gui/x11 { inherit user home; }) + (import ../../common/user/configs/gui/xdg { inherit user home; }) ]; sops.secrets."${user}-password" = {