diff --git a/home/hosts/gunter/default.nix b/home/hosts/gunter/default.nix new file mode 100644 index 0000000..921f528 --- /dev/null +++ b/home/hosts/gunter/default.nix @@ -0,0 +1,56 @@ +{ + pkgs, + inputs, + user, + ... +}: +{ + imports = [ inputs.home-manager.nixosModules.home-manager ]; + home-manager = { + useUserPackages = true; + useGlobalPkgs = true; + extraSpecialArgs = { + inherit pkgs inputs user; + }; + users.${user} = + { pkgs, ... }: + { + imports = [ + inputs.sops-nix.homeManagerModules.sops + ../../editor/neovim + ../../hyprland/gunter.nix + ../../packages + ../../programs/dunst + ../../programs/git + ../../programs/firefox + ../../programs/kitty + ../../programs/obs-studio + ../../programs/rofi + ../../programs/tmux + ../../programs/vscode + ../../scripts + ../../services/backup-home.nix + ../../services/ghettoptt.nix + ../../services/natstonotify.nix + ../../sops + ../../ssh + ../../zsh + ]; + firefox.enable = true; + tmux.enable = true; + hyprland.enable = true; + home = { + username = "${user}"; + homeDirectory = "/home/${user}"; + stateVersion = "23.11"; + }; + programs.home-manager.enable = true; + + # Custom options + torjus.home.obs = { + enable = true; + withCuda = true; + }; + }; + }; +} diff --git a/home/gunter.nix b/home/hosts/magicman/default.nix similarity index 56% rename from home/gunter.nix rename to home/hosts/magicman/default.nix index ec5e523..e07bae6 100644 --- a/home/gunter.nix +++ b/home/hosts/magicman/default.nix @@ -17,24 +17,22 @@ { imports = [ inputs.sops-nix.homeManagerModules.sops - ./editor/neovim - ./hyprland/gunter.nix - ./packages - ./programs/dunst - ./programs/git - ./programs/firefox - ./programs/kitty - ./programs/obs-studio - ./programs/rofi - ./programs/tmux - ./programs/vscode - ./scripts - ./services/backup-home.nix - ./services/ghettoptt.nix - ./services/natstonotify.nix - ./sops - ./ssh - ./zsh + ../../sops + ../../editor/neovim + ../../programs/firefox + ../../programs/tmux + ../../programs/dunst + ../../programs/kitty + ../../programs/rofi + ../../programs/obs-studio + ../../programs/vscode + ../../programs/pywal + ../../scripts + ../../scripts/batlvl.nix + ../../zsh + ../../packages + ../../hyprland/magicman.nix + ../../ssh ]; firefox.enable = true; tmux.enable = true; @@ -44,6 +42,7 @@ homeDirectory = "/home/${user}"; stateVersion = "23.11"; }; + torjus.home.obs.enable = true; programs.home-manager.enable = true; }; }; diff --git a/home/magicman.nix b/home/magicman.nix deleted file mode 100644 index 4966219..0000000 --- a/home/magicman.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - pkgs, - inputs, - user, - ... -}: -{ - imports = [ inputs.home-manager.nixosModules.home-manager ]; - home-manager = { - useUserPackages = true; - useGlobalPkgs = true; - extraSpecialArgs = { - inherit pkgs inputs user; - }; - users.${user} = - { pkgs, ... }: - { - imports = [ - inputs.sops-nix.homeManagerModules.sops - ./sops - ./editor/neovim - ./programs/firefox - ./programs/tmux - ./programs/dunst - ./programs/kitty - ./programs/rofi - ./programs/obs-studio - ./programs/vscode - ./programs/pywal - ./scripts - ./scripts/batlvl.nix - ./zsh - ./packages - ./hyprland/magicman.nix - ./ssh - ]; - firefox.enable = true; - tmux.enable = true; - hyprland.enable = true; - home = { - username = "${user}"; - homeDirectory = "/home/${user}"; - stateVersion = "23.11"; - }; - programs.home-manager.enable = true; - }; - }; -} diff --git a/home/programs/obs-studio/default.nix b/home/programs/obs-studio/default.nix index 60501d5..5ee0559 100644 --- a/home/programs/obs-studio/default.nix +++ b/home/programs/obs-studio/default.nix @@ -1,48 +1,64 @@ { pkgs, lib, - osConfig, + config, ... }: -let - withCuda = osConfig.system.name == "gunter"; - - onnxruntime-gpu = (pkgs.onnxruntime.override { cudaSupport = withCuda; }); - - obs-backgroundremoval-gpu = ( - (pkgs.obs-studio-plugins.obs-backgroundremoval.override { onnxruntime = onnxruntime-gpu; }) - .overrideAttrs - ( - final: prev: { - version = "1.3.3"; - src = pkgs.fetchFromGitHub { - owner = "royshil"; - repo = "obs-backgroundremoval"; - rev = final.version; - hash = "sha256-NDe71iDnVcnMilGr5kdbemq8jEKd3WW45tbMwxjqUwo="; - }; - nativeBuildInputs = prev.nativeBuildInputs ++ [ pkgs.pkg-config ]; - cmakeFlags = [ - "--preset ubuntu-x86_64" - "-DCMAKE_MODULE_PATH:PATH=${final.src}/cmake" - "-DUSE_SYSTEM_ONNXRUNTIME=ON" - "-DVCPKG_TARGET_TRIPLET=" - "-DUSE_PKGCONFIG=ON" - ]; - } - ) - ); -in { - programs.obs-studio = { - enable = true; - package = pkgs.obs-studio.override { - cudaSupport = withCuda; + options.torjus.home = { + obs = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Whether to enable obs."; + }; + withCuda = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable cuda for obs-related packages."; + }; }; - plugins = with pkgs.obs-studio-plugins; [ - obs-pipewire-audio-capture - obs-shaderfilter - obs-backgroundremoval-gpu - ]; + }; + + config = lib.mkIf config.torjus.home.obs.enable { + programs.obs-studio = + let + withCuda = config.torjus.home.obs.withCuda; + onnxruntime-gpu = (pkgs.onnxruntime.override { cudaSupport = withCuda; }); + obs-backgroundremoval-gpu = ( + (pkgs.obs-studio-plugins.obs-backgroundremoval.override { onnxruntime = onnxruntime-gpu; }) + .overrideAttrs + ( + final: prev: { + version = "1.3.3"; + src = pkgs.fetchFromGitHub { + owner = "royshil"; + repo = "obs-backgroundremoval"; + rev = final.version; + hash = "sha256-NDe71iDnVcnMilGr5kdbemq8jEKd3WW45tbMwxjqUwo="; + }; + nativeBuildInputs = prev.nativeBuildInputs ++ [ pkgs.pkg-config ]; + cmakeFlags = [ + "--preset ubuntu-x86_64" + "-DCMAKE_MODULE_PATH:PATH=${final.src}/cmake" + "-DUSE_SYSTEM_ONNXRUNTIME=ON" + "-DVCPKG_TARGET_TRIPLET=" + "-DUSE_PKGCONFIG=ON" + ]; + } + ) + ); + in + { + enable = true; + package = pkgs.obs-studio.override { + cudaSupport = withCuda; + }; + plugins = with pkgs.obs-studio-plugins; [ + obs-pipewire-audio-capture + obs-shaderfilter + obs-backgroundremoval-gpu + ]; + }; }; } diff --git a/hosts/gunter/default.nix b/hosts/gunter/default.nix index 7dc5d4b..381096b 100644 --- a/hosts/gunter/default.nix +++ b/hosts/gunter/default.nix @@ -15,6 +15,6 @@ ./alvr.nix ./ratbagd.nix ../../system - ../../home/gunter.nix + ../../home/hosts/gunter ]; } diff --git a/hosts/magicman/default.nix b/hosts/magicman/default.nix index 53808e2..06db0e4 100644 --- a/hosts/magicman/default.nix +++ b/hosts/magicman/default.nix @@ -10,6 +10,6 @@ ./hardware-configuration.nix ./laptop.nix ../../system - ../../home/magicman.nix + ../../home/hosts/magicman ]; }