From 1b3b7cf607b57db75d152829f58f2358f66eabbb Mon Sep 17 00:00:00 2001 From: Vinzenz Schroeter Date: Sun, 14 Sep 2025 13:36:45 +0200 Subject: [PATCH] more homeModules --- flake.nix | 23 ++++-- homeModules/git.nix | 13 ++++ homeModules/nano.nix | 9 +++ homeModules/templates.nix | 12 +++ homeModules/zsh-basics.nix | 13 ++++ modules/desktop-environment.nix | 73 +------------------ modules/home-manager.nix | 61 ---------------- modules/intel-graphics.nix | 4 +- .../forgejo-runner-1/default.nix | 4 +- nixosConfigurations/ronja-pc/default.nix | 4 +- nixosConfigurations/vinzenz-lpt2/default.nix | 8 +- nixosConfigurations/vinzenz-pc2/default.nix | 8 +- nixosModules/en-de.nix | 5 ++ nixosModules/modern-desktop.nix | 49 +++++++++++++ nixosModules/nix-ld.nix | 22 ++++++ nixosModules/steam.nix | 4 +- 16 files changed, 158 insertions(+), 154 deletions(-) create mode 100644 homeModules/git.nix create mode 100644 homeModules/nano.nix create mode 100644 homeModules/templates.nix create mode 100644 homeModules/zsh-basics.nix delete mode 100644 modules/home-manager.nix create mode 100644 nixosModules/modern-desktop.nix create mode 100644 nixosModules/nix-ld.nix diff --git a/flake.nix b/flake.nix index c55fb04..8b3b690 100644 --- a/flake.nix +++ b/flake.nix @@ -103,13 +103,16 @@ nixosConfigurations = forDevice ( device: system: let - specialArgs = { + commonSpecialArgs = { inherit device; - inherit (self) nixosModules; + vinzenzHomeModules = self.homeModules; }; in nixpkgs.lib.nixosSystem { - inherit system specialArgs; + inherit system; + specialArgs = commonSpecialArgs // { + vinzenzNixosModules = self.nixosModules; + }; modules = [ { networking.hostName = device; @@ -143,12 +146,21 @@ ] ++ (nixpkgs.lib.optionals (builtins.elem device homeDevices) [ { - home-manager.extraSpecialArgs = specialArgs; + home-manager = { + extraSpecialArgs = commonSpecialArgs; + useGlobalPkgs = true; + useUserPackages = true; + }; time.timeZone = "Europe/Berlin"; home-manager.sharedModules = [ + { home.stateVersion = "22.11"; } self.homeModules.adwaita + self.homeModules.git + self.homeModules.templates + self.homeModules.zsh-basics + self.homeModules.nano ]; } @@ -158,7 +170,8 @@ self.nixosModules.kdeconnect self.nixosModules.en-de self.nixosModules.gnome - ./modules/home-manager.nix + self.nixosModules.modern-desktop + self.nixosModules.nix-ld home-manager.nixosModules.home-manager servicepoint-simulator.nixosModules.default diff --git a/homeModules/git.nix b/homeModules/git.nix new file mode 100644 index 0000000..76afceb --- /dev/null +++ b/homeModules/git.nix @@ -0,0 +1,13 @@ +{ + programs = { + git = { + enable = true; + extraConfig.init.defaultBranch = "main"; + }; + + gh = { + enable = true; + gitCredentialHelper.enable = true; + }; + }; +} diff --git a/homeModules/nano.nix b/homeModules/nano.nix new file mode 100644 index 0000000..ab3e7b2 --- /dev/null +++ b/homeModules/nano.nix @@ -0,0 +1,9 @@ +{ + home = { + sessionVariables.EDITOR = "nano"; + file.".nanorc".text = '' + set linenumbers + set mouse + ''; + }; +} diff --git a/homeModules/templates.nix b/homeModules/templates.nix new file mode 100644 index 0000000..71d2e0b --- /dev/null +++ b/homeModules/templates.nix @@ -0,0 +1,12 @@ +{ + home.file = { + "Templates/Empty file".text = ""; + "Templates/Empty bash script".text = '' + #!/usr/bin/env bash + # abort on error, undefined variables + set -eu + # print commands before execution + set -x + ''; + }; +} diff --git a/homeModules/zsh-basics.nix b/homeModules/zsh-basics.nix new file mode 100644 index 0000000..0b0e281 --- /dev/null +++ b/homeModules/zsh-basics.nix @@ -0,0 +1,13 @@ +{ + programs = { + command-not-found.enable = true; + dircolors.enable = true; + + zsh = { + enable = true; + syntaxHighlighting.enable = true; + autosuggestion.enable = true; + enableVteIntegration = true; + }; + }; +} diff --git a/modules/desktop-environment.nix b/modules/desktop-environment.nix index e0334cc..e839353 100644 --- a/modules/desktop-environment.nix +++ b/modules/desktop-environment.nix @@ -1,73 +1,7 @@ { pkgs, ... }: { config = { - services = { - xserver.enable = true; - libinput.enable = true; - flatpak.enable = true; - fstrim.enable = true; - earlyoom = { - enable = true; - freeMemThreshold = 5; - }; - }; - - # Enable sound with pipewire. - security.rtkit.enable = true; - services = { - pulseaudio.enable = false; - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - #jack.enable = true; - }; - }; - - programs = { - firefox = { - enable = true; - languagePacks = [ - "en-US" - "de" - ]; - }; - nix-ld = { - enable = true; - libraries = with pkgs; [ - stdenv.cc.cc - zlib - zstd - curl - openssl - attr - libssh - bzip2 - libxml2 - acl - libsodium - util-linux - xz - systemd - ]; - }; - appimage = { - enable = true; - binfmt = true; - }; - xwayland.enable = true; - }; - - systemd = { - # save some boot time because nothing actually requires network connectivity - services.NetworkManager-wait-online.enable = false; - - # prevent stuck units from preventing shutdown (default is 120s) - extraConfig = '' - DefaultTimeoutStopSec=10s - ''; - }; + programs.firefox.enable = true; environment.systemPackages = with pkgs; [ lm_sensors @@ -93,10 +27,5 @@ enable = true; enableGraphical = true; }; - - system.autoUpgrade = { - allowReboot = false; - operation = "boot"; - }; }; } diff --git a/modules/home-manager.nix b/modules/home-manager.nix deleted file mode 100644 index 9af6a19..0000000 --- a/modules/home-manager.nix +++ /dev/null @@ -1,61 +0,0 @@ -_: { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - sharedModules = [ - # set stateVersion - { home.stateVersion = "22.11"; } - # make nano the default editor - { - home = { - sessionVariables.EDITOR = "nano"; - file.".nanorc".text = '' - set linenumbers - set mouse - ''; - }; - } - # command line niceness - { - programs = { - command-not-found.enable = true; - dircolors.enable = true; - - zsh = { - enable = true; - syntaxHighlighting.enable = true; - autosuggestion.enable = true; - enableVteIntegration = true; - }; - }; - } - # common git config - { - programs = { - git = { - enable = true; - extraConfig.init.defaultBranch = "main"; - }; - - gh = { - enable = true; - gitCredentialHelper.enable = true; - }; - }; - } - # Templates - { - home.file = { - "Templates/Empty file".text = ""; - "Templates/Empty bash script".text = '' - #!/usr/bin/env bash - # abort on error, undefined variables - set -eu - # print commands before execution - set -x - ''; - }; - } - ]; - }; -} diff --git a/modules/intel-graphics.nix b/modules/intel-graphics.nix index d7cae18..709d720 100644 --- a/modules/intel-graphics.nix +++ b/modules/intel-graphics.nix @@ -1,6 +1,6 @@ -{ pkgs, nixosModules, ... }: +{ pkgs, vinzenzNixosModules, ... }: { - imports = [ nixosModules.allowed-unfree-list ]; + imports = [ vinzenzNixosModules.allowed-unfree-list ]; config = { hardware.graphics = { diff --git a/nixosConfigurations/forgejo-runner-1/default.nix b/nixosConfigurations/forgejo-runner-1/default.nix index 93d4950..79cb613 100644 --- a/nixosConfigurations/forgejo-runner-1/default.nix +++ b/nixosConfigurations/forgejo-runner-1/default.nix @@ -1,10 +1,10 @@ -{ nixosModules, ... }: +{ vinzenzNixosModules, ... }: { imports = [ ./configuration.nix ./hardware.nix - nixosModules.podman + vinzenzNixosModules.podman ./forgejo-runner.nix ]; } diff --git a/nixosConfigurations/ronja-pc/default.nix b/nixosConfigurations/ronja-pc/default.nix index 9efb5f1..e0e9117 100644 --- a/nixosConfigurations/ronja-pc/default.nix +++ b/nixosConfigurations/ronja-pc/default.nix @@ -1,4 +1,4 @@ -{ nixosModules, ... }: +{ vinzenzNixosModules, ... }: { imports = [ ./configuration.nix @@ -6,7 +6,7 @@ ../../modules/gnome.nix ../../modules/gaming.nix - nixosModules.steam + vinzenzNixosModules.steam ../../modules/desktop-environment.nix ../../modules/desktop-hardware.nix diff --git a/nixosConfigurations/vinzenz-lpt2/default.nix b/nixosConfigurations/vinzenz-lpt2/default.nix index 6b2603a..d29ae65 100644 --- a/nixosConfigurations/vinzenz-lpt2/default.nix +++ b/nixosConfigurations/vinzenz-lpt2/default.nix @@ -1,4 +1,4 @@ -{ nixosModules, ... }: +{ vinzenzNixosModules, ... }: { imports = [ ./configuration.nix @@ -6,9 +6,9 @@ ../../modules/gnome.nix ../../modules/gaming.nix - nixosModules.steam - nixosModules.printing - nixosModules.podman + vinzenzNixosModules.steam + vinzenzNixosModules.printing + vinzenzNixosModules.podman ../../modules/desktop-environment.nix ../../modules/desktop-hardware.nix diff --git a/nixosConfigurations/vinzenz-pc2/default.nix b/nixosConfigurations/vinzenz-pc2/default.nix index 4d5df4d..e31bdbc 100644 --- a/nixosConfigurations/vinzenz-pc2/default.nix +++ b/nixosConfigurations/vinzenz-pc2/default.nix @@ -1,4 +1,4 @@ -{ nixosModules, ... }: +{ vinzenzNixosModules, ... }: { imports = [ ./configuration.nix @@ -6,9 +6,9 @@ ../../modules/gnome.nix ../../modules/gaming.nix - nixosModules.steam - nixosModules.printing - nixosModules.podman + vinzenzNixosModules.steam + vinzenzNixosModules.printing + vinzenzNixosModules.podman #../../modules/niri.nix ../../modules/desktop-environment.nix ../../modules/desktop-hardware.nix diff --git a/nixosModules/en-de.nix b/nixosModules/en-de.nix index 1df6811..0ed4faf 100644 --- a/nixosModules/en-de.nix +++ b/nixosModules/en-de.nix @@ -16,4 +16,9 @@ LC_TIME = "de_DE.UTF-8"; }; }; + + programs.firefox.languagePacks = [ + "en-US" + "de" + ]; } diff --git a/nixosModules/modern-desktop.nix b/nixosModules/modern-desktop.nix new file mode 100644 index 0000000..f1879bd --- /dev/null +++ b/nixosModules/modern-desktop.nix @@ -0,0 +1,49 @@ +{ + services = { + xserver.enable = true; + libinput.enable = true; + flatpak.enable = true; + fstrim.enable = true; + earlyoom = { + enable = true; + freeMemThreshold = 5; + }; + }; + + # Enable sound with pipewire. + security.rtkit.enable = true; + services = { + pulseaudio.enable = false; + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + #jack.enable = true; + }; + }; + + systemd = { + # save some boot time because nothing actually requires network connectivity + services.NetworkManager-wait-online.enable = false; + + # prevent stuck units from preventing shutdown (default is 120s) + extraConfig = '' + DefaultTimeoutStopSec=10s + ''; + }; + + programs = { + xwayland.enable = true; + + appimage = { + enable = true; + binfmt = true; + }; + }; + + system.autoUpgrade = { + allowReboot = false; + operation = "boot"; + }; +} diff --git a/nixosModules/nix-ld.nix b/nixosModules/nix-ld.nix new file mode 100644 index 0000000..382aa3d --- /dev/null +++ b/nixosModules/nix-ld.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: +{ + programs.nix-ld = { + enable = true; + libraries = with pkgs; [ + stdenv.cc.cc + zlib + zstd + curl + openssl + attr + libssh + bzip2 + libxml2 + acl + libsodium + util-linux + xz + systemd + ]; + }; +} diff --git a/nixosModules/steam.nix b/nixosModules/steam.nix index 6e3c997..1c70785 100644 --- a/nixosModules/steam.nix +++ b/nixosModules/steam.nix @@ -1,6 +1,6 @@ -{ nixosModules, ... }: +{ vinzenzNixosModules, ... }: { - imports = [ nixosModules.allowed-unfree-list ]; + imports = [ vinzenzNixosModules.allowed-unfree-list ]; hardware.steam-hardware.enable = true;