From 5cebe15d8e2adc3fa227b582287740205862fdb0 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 9 Mar 2026 23:17:49 -0400 Subject: add .enable to modules, add nvidia module, add obs app --- system/battery.nix | 3 ++- system/bluetooth.nix | 7 ++++--- system/default.nix | 1 + system/desktop.nix | 5 ++--- system/fingerprint.nix | 3 ++- system/networking.nix | 3 ++- system/nvidia.nix | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ system/sshd.nix | 3 ++- system/tpm.nix | 3 ++- 9 files changed, 68 insertions(+), 11 deletions(-) create mode 100644 system/nvidia.nix (limited to 'system') diff --git a/system/battery.nix b/system/battery.nix index a904051..1802707 100644 --- a/system/battery.nix +++ b/system/battery.nix @@ -5,8 +5,9 @@ ... }: let inherit (lib) mkIf; + cfg = config.battery; in { - config = mkIf config.battery { + config = mkIf cfg.enable { # power monterting services.upower = { enable = true; diff --git a/system/bluetooth.nix b/system/bluetooth.nix index 06768b5..69b286f 100644 --- a/system/bluetooth.nix +++ b/system/bluetooth.nix @@ -5,13 +5,14 @@ ... }: let inherit (lib) mkIf; + cfg = config.bluetooth; in { - config = mkIf config.bluetooth { + config = mkIf cfg.enable { hardware.bluetooth.enable = true; services.blueman.enable = true; users.groups.bluetooth.members = [config.user]; - hardware.firmware = [ pkgs.broadcom-bt-firmware ]; - unfreePackages = [ "broadcom-bt-firmware" ]; + hardware.firmware = [pkgs.broadcom-bt-firmware]; + unfreePackages = ["broadcom-bt-firmware"]; }; } diff --git a/system/default.nix b/system/default.nix index e912856..09f8076 100644 --- a/system/default.nix +++ b/system/default.nix @@ -17,6 +17,7 @@ ./fingerprint.nix ./hardware.nix ./networking.nix + ./nvidia.nix ./sshd.nix ./tpm.nix ]; diff --git a/system/desktop.nix b/system/desktop.nix index 853296b..6eed43f 100644 --- a/system/desktop.nix +++ b/system/desktop.nix @@ -2,13 +2,12 @@ lib, pkgs, config, - inputs, - system, ... }: let inherit (lib) mkIf; + cfg = config.desktops; in { - config = mkIf config.desktops.enable { + config = mkIf cfg.enable { # nix-ld programs.nix-ld.enable = true; diff --git a/system/fingerprint.nix b/system/fingerprint.nix index 35737f5..7796cb0 100644 --- a/system/fingerprint.nix +++ b/system/fingerprint.nix @@ -5,8 +5,9 @@ ... }: let inherit (lib) mkIf; + cfg = config.fingerprint; in { - config = mkIf config.fingerprint { + config = mkIf cfg.enable { services.fprintd = { enable = true; tod.enable = true; diff --git a/system/networking.nix b/system/networking.nix index 6174cb2..72a7029 100644 --- a/system/networking.nix +++ b/system/networking.nix @@ -4,8 +4,9 @@ ... }: let inherit (lib) mkIf; + cfg = config.network; in { - config = mkIf config.network { + config = mkIf cfg.enable { # ethernet / wifi networking.networkmanager.enable = true; users.groups.networkmanager.members = [config.user]; diff --git a/system/nvidia.nix b/system/nvidia.nix new file mode 100644 index 0000000..1135434 --- /dev/null +++ b/system/nvidia.nix @@ -0,0 +1,51 @@ +{ + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkIf; + cfg = config.nvidia; +in { + config = mkIf cfg.enable { + services.xserver.videoDrivers = ["modesetting" "nvidia"]; + hardware.nvidia = { + modesetting.enable = true; + powerManagement = { + enable = false; + finegrained = false; + }; + prime = + cfg.primeBusIds + // { + offload = { + enable = true; + enableOffloadCmd = true; + }; + }; + open = true; + nvidiaSettings = true; + package = let + pkg = config.boot.kernelPackages.nvidiaPackages.latest; + in + pkg + // { + open = pkg.open.overrideAttrs (finalAttrs: { + patches = + (finalAttrs.patches or []) + ++ [ + (pkgs.fetchpatch { + name = "linux-6.19"; + url = "https://raw.githubusercontent.com/CachyOS/CachyOS-PKGBUILDS/refs/heads/master/nvidia/nvidia-utils/kernel-6.19.patch"; + hash = "sha256-YuJjSUXE6jYSuZySYGnWSNG5sfVei7vvxDcHx3K+IN4="; + }) + ]; + }); + }; + }; + unfreePackages = [ + "nvidia-x11" + "nvidia-settings" + ]; + }; +} diff --git a/system/sshd.nix b/system/sshd.nix index e7f64d8..b3a76c2 100644 --- a/system/sshd.nix +++ b/system/sshd.nix @@ -5,8 +5,9 @@ ... }: let inherit (lib) mkIf; + cfg = config.network; in { - config = mkIf config.network { + config = mkIf cfg.enable { # sshd services.openssh = { enable = true; diff --git a/system/tpm.nix b/system/tpm.nix index c7507da..a227f36 100644 --- a/system/tpm.nix +++ b/system/tpm.nix @@ -4,8 +4,9 @@ ... }: let inherit (lib) mkIf; + cfg = config.tpm; in { - config = mkIf config.tpm { + config = mkIf cfg.enable { security.tpm2.enable = true; security.tpm2.pkcs11.enable = true; security.tpm2.tctiEnvironment.enable = true; -- cgit v1.2.3-freya