summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/battery.nix3
-rw-r--r--system/bluetooth.nix7
-rw-r--r--system/default.nix1
-rw-r--r--system/desktop.nix5
-rw-r--r--system/fingerprint.nix3
-rw-r--r--system/networking.nix3
-rw-r--r--system/nvidia.nix51
-rw-r--r--system/sshd.nix3
-rw-r--r--system/tpm.nix3
9 files changed, 68 insertions, 11 deletions
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;