diff --git a/nix/home-manager/configuration/graphical-fullblown.nix b/nix/home-manager/configuration/graphical-fullblown.nix index ef47a83..d636b62 100644 --- a/nix/home-manager/configuration/graphical-fullblown.nix +++ b/nix/home-manager/configuration/graphical-fullblown.nix @@ -33,8 +33,6 @@ in { ../programs/libreoffice.nix ../programs/neovim.nix ../programs/vscode - - ../programs/obs-studio.nix ]; home.sessionVariables.HM_CONFIG = "graphical-fullblown"; diff --git a/nix/home-manager/programs/obs-studio.nix b/nix/home-manager/programs/obs-studio.nix index 8673eb0..b053e24 100644 --- a/nix/home-manager/programs/obs-studio.nix +++ b/nix/home-manager/programs/obs-studio.nix @@ -9,7 +9,7 @@ builtins.map (plugin: (plugin.overrideAttrs (attrs: { meta = lib.mkMerge [ {inherit (attrs) meta;} - {meta.platforms = ["aarch64-linux"];} + {meta.platforms = [pkgs.stdenv.system];} ]; }))) (with pkgs.obs-studio-plugins; [ diff --git a/nix/os/devices/steveej-x13s/configuration.nix b/nix/os/devices/steveej-x13s/configuration.nix index f10f307..2d2e6b0 100644 --- a/nix/os/devices/steveej-x13s/configuration.nix +++ b/nix/os/devices/steveej-x13s/configuration.nix @@ -72,10 +72,12 @@ nodeFlake.inputs.disko.nixosModules.disko ./disko.nix + ../../profiles/common/user.nix + ../../snippets/nix-settings.nix ../../snippets/nix-settings-holo-chain.nix ../../snippets/mycelium.nix - ../../profiles/common/user.nix + ../../snippets/obs-studio.nix { services.openssh.enable = true; diff --git a/nix/os/snippets/obs-studio.nix b/nix/os/snippets/obs-studio.nix new file mode 100644 index 0000000..c46305e --- /dev/null +++ b/nix/os/snippets/obs-studio.nix @@ -0,0 +1,31 @@ +{config, ...}: let + # TODO: make configurable + homeUser = "steveej"; +in { + boot.extraModulePackages = [ + config.boot.kernelPackages.v4l2loopback.out + ]; + + # Activate kernel modules (choose from built-ins and extra ones) + boot.kernelModules = [ + # Virtual Camera + "v4l2loopback" + # Virtual Microphone, built-in + "snd-aloop" + ]; + + # exclusive_caps: Skype, Zoom, Teams etc. will only show device when actually streaming + # card_label: Name of virtual camera, how it'll show up in Skype, Zoom, Teams + # https://github.com/umlaeute/v4l2loopback + boot.extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBSCam" exclusive_caps=1 + ''; + + security.polkit.enable = true; + + home-manager.users.${homeUser} = _: { + imports = [ + ../../home-manager/programs/obs-studio.nix + ]; + }; +}