From 3c29aa141761b33426dafdd73a3305ad3b1fe03d Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Fri, 9 Aug 2024 01:04:20 +0200 Subject: [PATCH] Refactor --- hosts/common.nix | 62 +++++++++++++++++++++----------------- hosts/inspiron/default.nix | 6 ++-- hosts/north/default.nix | 6 ++-- hosts/north/hardware.nix | 38 +++++------------------ hosts/north/nvidia.nix | 28 +++++++++++++++++ 5 files changed, 77 insertions(+), 63 deletions(-) create mode 100644 hosts/north/nvidia.nix diff --git a/hosts/common.nix b/hosts/common.nix index 2c29a89..49513b2 100644 --- a/hosts/common.nix +++ b/hosts/common.nix @@ -19,37 +19,45 @@ }; time.timeZone = "Europe/Berlin"; - i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = - let - de = "de_DE.UTF-8"; - in - { - LC_ADDRESS = de; - LC_IDENTIFICATION = de; - LC_MEASUREMENT = de; - LC_MONETARY = de; - LC_NAME = de; - LC_NUMERIC = de; - LC_PAPER = de; - LC_TELEPHONE = de; - LC_TIME = de; - }; + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = + let + de = "de_DE.UTF-8"; + in + { + LC_ADDRESS = de; + LC_IDENTIFICATION = de; + LC_MEASUREMENT = de; + LC_MONETARY = de; + LC_NAME = de; + LC_NUMERIC = de; + LC_PAPER = de; + LC_TELEPHONE = de; + LC_TIME = de; + }; + }; console.keyMap = "de-latin1-nodeadkeys"; - programs.zsh = { - enable = true; - autosuggestions.enable = true; - syntaxHighlighting.enable = true; + users = { + mutableUsers = false; + defaultUserShell = pkgs.zsh; }; - users.defaultUserShell = pkgs.zsh; - programs.neovim = { - enable = true; - defaultEditor = true; - viAlias = true; - vimAlias = true; + programs = { + zsh = { + enable = true; + autosuggestions.enable = true; + syntaxHighlighting.enable = true; + }; + + neovim = { + enable = true; + defaultEditor = true; + viAlias = true; + vimAlias = true; + }; }; environment.systemPackages = [ @@ -72,6 +80,4 @@ "davinci-resolve" "ticktick" ]; - - users.mutableUsers = false; } diff --git a/hosts/inspiron/default.nix b/hosts/inspiron/default.nix index 7267ebc..8cf4536 100644 --- a/hosts/inspiron/default.nix +++ b/hosts/inspiron/default.nix @@ -9,8 +9,10 @@ boot.kernelPackages = pkgs.linuxPackages_latest; myConfig = { - boot.loader.systemd-boot.enable = true; - boot.silent = true; + boot = { + loader.systemd-boot.enable = true; + silent = true; + }; dm.tuigreet.enable = true; de.hyprland.enable = true; diff --git a/hosts/north/default.nix b/hosts/north/default.nix index 80f3dcb..5f900f5 100644 --- a/hosts/north/default.nix +++ b/hosts/north/default.nix @@ -9,8 +9,10 @@ boot.kernelPackages = pkgs.linuxPackages_latest; myConfig = { - boot.loader.systemd-boot.enable = true; - boot.silent = true; + boot = { + loader.systemd-boot.enable = true; + silent = true; + }; dm.tuigreet.enable = true; de.hyprland.enable = true; diff --git a/hosts/north/hardware.nix b/hosts/north/hardware.nix index e8cf271..93cc11b 100644 --- a/hosts/north/hardware.nix +++ b/hosts/north/hardware.nix @@ -1,14 +1,9 @@ -{ - config, - inputs, - pkgs, - lib, - ... -}: +{ inputs, ... }: { imports = [ inputs.disko.nixosModules.default ./disko.nix + ./nvidia.nix ]; nixpkgs.hostPlatform = "x86_64-linux"; @@ -35,32 +30,13 @@ }; zramSwap.enable = true; - services.fstrim.enable = true; hardware.logitech.lcd.enable = true; + services = { + fstrim.enable = true; - # Prevent immediate wake-up from suspend caused by the logi bolt receiver - services.udev.extraRules = '' - ACTION=="add" SUBSYSTEM=="pci" ATTR{vendor}=="0x1022" ATTR{device}=="0x43ee" ATTR{power/wakeup}="disabled" - ''; - - services.xserver.videoDrivers = [ "nvidia" ]; - hardware.nvidia = { - modesetting.enable = true; - powerManagement.enable = true; - package = config.boot.kernelPackages.nvidiaPackages.latest; - }; - - systemd.services.gpu-temp-reader = { - wantedBy = [ "multi-user.target" ]; - requires = [ "fancontrol.service" ]; - before = [ "fancontrol.service" ]; - script = '' - ${lib.getExe' pkgs.coreutils "touch"} /tmp/nvidia-gpu-temp - while :; do - temp="$(${lib.getExe' config.hardware.nvidia.package "nvidia-smi"} --query-gpu=temperature.gpu --format=csv,noheader,nounits)" - ${lib.getExe' pkgs.coreutils "echo"} "$((temp * 1000))" > /tmp/nvidia-gpu-temp - ${lib.getExe' pkgs.coreutils "sleep"} 2 - done + # Prevent immediate wake-up from suspend caused by the logi bolt receiver + udev.extraRules = '' + ACTION=="add" SUBSYSTEM=="pci" ATTR{vendor}=="0x1022" ATTR{device}=="0x43ee" ATTR{power/wakeup}="disabled" ''; }; diff --git a/hosts/north/nvidia.nix b/hosts/north/nvidia.nix new file mode 100644 index 0000000..85bf65c --- /dev/null +++ b/hosts/north/nvidia.nix @@ -0,0 +1,28 @@ +{ + config, + pkgs, + lib, + ... +}: +{ + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.nvidia = { + modesetting.enable = true; + powerManagement.enable = true; + package = config.boot.kernelPackages.nvidiaPackages.latest; + }; + + systemd.services.gpu-temp-reader = { + wantedBy = [ "multi-user.target" ]; + requires = [ "fancontrol.service" ]; + before = [ "fancontrol.service" ]; + script = '' + ${lib.getExe' pkgs.coreutils "touch"} /tmp/nvidia-gpu-temp + while :; do + temp="$(${lib.getExe' config.hardware.nvidia.package "nvidia-smi"} --query-gpu=temperature.gpu --format=csv,noheader,nounits)" + ${lib.getExe' pkgs.coreutils "echo"} "$((temp * 1000))" > /tmp/nvidia-gpu-temp + ${lib.getExe' pkgs.coreutils "sleep"} 2 + done + ''; + }; +}