config: make custom options for obs
Some checks failed
Run nix flake check / flake-check (push) Failing after 36s

This commit is contained in:
2025-11-13 21:33:30 +01:00
parent 9c6070658c
commit 1c007e122b
6 changed files with 130 additions and 107 deletions

View File

@@ -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;
};
};
};
}

View File

@@ -17,24 +17,22 @@
{ {
imports = [ imports = [
inputs.sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops
./editor/neovim ../../sops
./hyprland/gunter.nix ../../editor/neovim
./packages ../../programs/firefox
./programs/dunst ../../programs/tmux
./programs/git ../../programs/dunst
./programs/firefox ../../programs/kitty
./programs/kitty ../../programs/rofi
./programs/obs-studio ../../programs/obs-studio
./programs/rofi ../../programs/vscode
./programs/tmux ../../programs/pywal
./programs/vscode ../../scripts
./scripts ../../scripts/batlvl.nix
./services/backup-home.nix ../../zsh
./services/ghettoptt.nix ../../packages
./services/natstonotify.nix ../../hyprland/magicman.nix
./sops ../../ssh
./ssh
./zsh
]; ];
firefox.enable = true; firefox.enable = true;
tmux.enable = true; tmux.enable = true;
@@ -44,6 +42,7 @@
homeDirectory = "/home/${user}"; homeDirectory = "/home/${user}";
stateVersion = "23.11"; stateVersion = "23.11";
}; };
torjus.home.obs.enable = true;
programs.home-manager.enable = true; programs.home-manager.enable = true;
}; };
}; };

View File

@@ -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;
};
};
}

View File

@@ -1,14 +1,30 @@
{ {
pkgs, pkgs,
lib, lib,
osConfig, config,
... ...
}: }:
{
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.";
};
};
};
config = lib.mkIf config.torjus.home.obs.enable {
programs.obs-studio =
let let
withCuda = osConfig.system.name == "gunter"; withCuda = config.torjus.home.obs.withCuda;
onnxruntime-gpu = (pkgs.onnxruntime.override { cudaSupport = withCuda; }); onnxruntime-gpu = (pkgs.onnxruntime.override { cudaSupport = withCuda; });
obs-backgroundremoval-gpu = ( obs-backgroundremoval-gpu = (
(pkgs.obs-studio-plugins.obs-backgroundremoval.override { onnxruntime = onnxruntime-gpu; }) (pkgs.obs-studio-plugins.obs-backgroundremoval.override { onnxruntime = onnxruntime-gpu; })
.overrideAttrs .overrideAttrs
@@ -34,7 +50,6 @@ let
); );
in in
{ {
programs.obs-studio = {
enable = true; enable = true;
package = pkgs.obs-studio.override { package = pkgs.obs-studio.override {
cudaSupport = withCuda; cudaSupport = withCuda;
@@ -45,4 +60,5 @@ in
obs-backgroundremoval-gpu obs-backgroundremoval-gpu
]; ];
}; };
};
} }

View File

@@ -15,6 +15,6 @@
./alvr.nix ./alvr.nix
./ratbagd.nix ./ratbagd.nix
../../system ../../system
../../home/gunter.nix ../../home/hosts/gunter
]; ];
} }

View File

@@ -10,6 +10,6 @@
./hardware-configuration.nix ./hardware-configuration.nix
./laptop.nix ./laptop.nix
../../system ../../system
../../home/magicman.nix ../../home/hosts/magicman
]; ];
} }