Add OBS studio
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -24,11 +24,6 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
mimeApps.enable = true;
|
mimeApps.enable = true;
|
||||||
|
|
||||||
portal = {
|
|
||||||
xdgOpenUsePortal = true;
|
|
||||||
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
|
||||||
};
|
|
||||||
|
|
||||||
userDirs = {
|
userDirs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
createDirectories = true;
|
createDirectories = true;
|
||||||
|
34
hosts/common/user/configs/gui/obs/default.nix
Normal file
34
hosts/common/user/configs/gui/obs/default.nix
Normal file
@@ -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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
11
hosts/common/user/configs/gui/xdg/default.nix
Normal file
11
hosts/common/user/configs/gui/xdg/default.nix
Normal file
@@ -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 ];
|
||||||
|
};
|
||||||
|
}
|
@@ -49,6 +49,7 @@ in
|
|||||||
(import ../../common/user/configs/gui/kitty { inherit user home; })
|
(import ../../common/user/configs/gui/kitty { inherit user home; })
|
||||||
(import ../../common/user/configs/gui/libreoffice { 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/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/obsidian { inherit user home; })
|
||||||
(import ../../common/user/configs/gui/pipewire { inherit user home; })
|
(import ../../common/user/configs/gui/pipewire { inherit user home; })
|
||||||
(import ../../common/user/configs/gui/qalculate { 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/vscode { inherit user home; })
|
||||||
(import ../../common/user/configs/gui/wev { 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/x11 { inherit user home; })
|
||||||
|
(import ../../common/user/configs/gui/xdg { inherit user home; })
|
||||||
];
|
];
|
||||||
|
|
||||||
sops.secrets."${user}-password" = {
|
sops.secrets."${user}-password" = {
|
||||||
|
Reference in New Issue
Block a user