From 098ea50b1425bd7affb3001f5f7e40eb262bd34d Mon Sep 17 00:00:00 2001 From: Rudolf Tucek Date: Sat, 22 Aug 2026 14:36:24 +0200 Subject: [PATCH 1/4] tux-ibp-amdgen9-nixos-btw: adopt rtucek user model --- hosts/tux-ibp-amdgen9-nixos-btw/default.nix | 26 ++++++++++----------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/hosts/tux-ibp-amdgen9-nixos-btw/default.nix b/hosts/tux-ibp-amdgen9-nixos-btw/default.nix index 8269829..f1f9b06 100644 --- a/hosts/tux-ibp-amdgen9-nixos-btw/default.nix +++ b/hosts/tux-ibp-amdgen9-nixos-btw/default.nix @@ -2,30 +2,28 @@ { imports = [ ./hardware-configuration.nix - ../common/users/rtucek.nix inputs.nixos-hardware.nixosModules.tuxedo-infinitybook-pro14-gen9-amd + ../../modules ]; networking.hostName = "tux-ibp-amdgen9-nixos-btw"; sops.defaultSopsFile = ../../secrets/private/hosts/tux-ibp-amdgen9-nixos-btw.yaml; - home-manager.users.rtucek = { - wayland.windowManager.hyprland.settings = { - monitor = [ - { - output = "eDP-1"; - mode = "2880x1800@120.0000"; - position = "0x0"; - scale = 1.5; - } - ]; - }; - }; - disko.devices.lvm_vg.volgroup0.lvs = { # 250 GB of available disk space lv_root.size = "250G"; # 250 GB of available disk space lv_home.size = "250G"; }; + + rtucek = { + hyprland.monitors = [ + { + output = "eDP-1"; + mode = "2880x1800@120.0000"; + position = "0x0"; + scale = 1.5; + } + ]; + }; } From 3280d043e3f2b2c41e714c16570265a530e3560f Mon Sep 17 00:00:00 2001 From: Rudolf Tucek Date: Sat, 22 Aug 2026 14:44:07 +0200 Subject: [PATCH 2/4] qemu-nixos-btw: adopt rtucek user model --- hosts/qemu-nixos-btw/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/qemu-nixos-btw/default.nix b/hosts/qemu-nixos-btw/default.nix index 6effc76..30ccbad 100644 --- a/hosts/qemu-nixos-btw/default.nix +++ b/hosts/qemu-nixos-btw/default.nix @@ -2,7 +2,7 @@ { imports = [ ./hardware-configuration.nix - ../common/users/rtucek.nix + ../../modules ]; networking.hostName = "qemu-nixos-btw"; From c08cc7f66c06944c09d76f9dd866250dde85dda4 Mon Sep 17 00:00:00 2001 From: Rudolf Tucek Date: Sat, 22 Aug 2026 14:46:56 +0200 Subject: [PATCH 3/4] dell-xps9360-nixos-btw: adopt rtucek user model --- hosts/dell-xps9360-nixos-btw/default.nix | 26 +++++++++++------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/hosts/dell-xps9360-nixos-btw/default.nix b/hosts/dell-xps9360-nixos-btw/default.nix index 51477f0..23942c7 100644 --- a/hosts/dell-xps9360-nixos-btw/default.nix +++ b/hosts/dell-xps9360-nixos-btw/default.nix @@ -2,30 +2,28 @@ { imports = [ ./hardware-configuration.nix - ../common/users/rtucek.nix inputs.nixos-hardware.nixosModules.dell-xps-13-9360 + ../../modules ]; networking.hostName = "dell-xps9360-nixos-btw"; sops.defaultSopsFile = ../../secrets/private/hosts/dell-xps9360-nixos-btw.yaml; - home-manager.users.rtucek = { - wayland.windowManager.hyprland.settings = { - monitor = [ - { - output = "eDP-1"; - mode = "3200x1800@59.98200"; - position = "0x0"; - scale = 1.6; - } - ]; - }; - }; - disko.devices.lvm_vg.volgroup0.lvs = { # 100 GB of available disk space lv_root.size = "100G"; # 100 GB of available disk space lv_home.size = "100G"; }; + + rtucek = { + hyprland.monitors = [ + { + output = "eDP-1"; + mode = "3200x1800@59.98200"; + position = "0x0"; + scale = 1.6; + } + ]; + }; } From b1d5c97b6db921649f081098ef9a124038316203 Mon Sep 17 00:00:00 2001 From: Rudolf Tucek Date: Sat, 22 Aug 2026 14:48:28 +0200 Subject: [PATCH 4/4] Remove common user composed configuration --- hosts/common/users/rtucek.nix | 102 ---------------------------------- 1 file changed, 102 deletions(-) delete mode 100644 hosts/common/users/rtucek.nix diff --git a/hosts/common/users/rtucek.nix b/hosts/common/users/rtucek.nix deleted file mode 100644 index 7cd31dc..0000000 --- a/hosts/common/users/rtucek.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ - config, - pkgs, - ... -}: -let - rtucekSopsFile = ../../../secrets/private/rtucek.yaml; -in -{ - # User config - users.users.rtucek = { - isNormalUser = true; - hashedPasswordFile = config.sops.secrets.initial_hashed_password.path; - openssh.authorizedKeys.keys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC8X/6YtTiciDgv4SBbr+sHRfqbyD/xTulOgJuifcTlDDPwA8mJc19EI/HyDgGHQm/+GHK6YLxCQvxa5QzhgDxr9FILH4724NM2HSRADpA2NF5SqRNqK0uwnXof4U3H0zRr1mFUzoUJUvV7T2ammAC9SdPa+gFgwM7erpTd4MYpsawmzfHDGtNxdYBVZZXQQ0G587zUEG5VZcogvGehANNTC2s4se4wher56Jh5j/nwVhO11LZ7NMXJaxl9fWyBEWj58ybX8eLOHfWT43dyZFXgTNXMTzvmUSnCZGVR7Kqk8porKZBT8hvksbEYAq45aNDYl2J1ArSLVjJEHT4zUv7G8iUHtDkKStcS9ZaxhIIOluHuQAIa+R9am/LPD62WjnEJ5F72JK3BRoaVP/JGe5IClWSQqkqG4pgn3MHuYW7zwk4QZcagLM0Ecv8aXcgIO3kJ8vwjJzH+vsdfBGaXOdPKBbKNLaEG6w0phvyt7N3P3N6yyN28gk812ALKScsiSmYEAmnJFzj3ot/yUs+9EduXsNCHLJch+a1xcHuaPMEJHUzbOLbi/DFikq85wsa+U2h89D085voepp1uzRLS5BHzvCFk8t7d5boOZxX39Pat5wHs2QbdC2z2bB0NpQphTWnnc2TiWjJBpx9MVbZGB3Svzy50VZA2hJBhuaM6yG7yYw== cardno:13_364_058" - ]; - shell = pkgs.fish; - extraGroups = [ - "wheel" # sudo make me a sandwich - "docker" # run docker commands without sudo - "networkmanager" # allow managing connections without sudo - ]; - }; - - # Decrypt hashed password - sops.secrets.initial_hashed_password = { - sopsFile = rtucekSopsFile; - neededForUsers = true; - }; - - # Audit access to age key - # - # Note: we can't use `security.audit.rules`, as these rules will be merged - # into systemd's `audit-rules-nixos.service` unit, which runs immediately - # after sysinit.target. - # - # However, this is too early, as at this time, LVM hasn't yet mounted the - # /home directory and therefore, fails to load the unit. - # - # The workaround is to load rules, referencing paths in /home in a separate in - # a separate systemd unit, depending on the `home.mount` target. - systemd.services.audit-rules-nixos-home-age = - let - auditrules = pkgs.writeTextFile { - name = "audit-home.rules"; - text = '' - -D -k secrets_dir_user - -a always,exit -F arch=b64 -F path=/home/rtucek/.config/sops/age/keys.txt -F perm=rwa -F key=secrets_dir_user - -a always,exit -F arch=b32 -F path=/home/rtucek/.config/sops/age/keys.txt -F perm=rwa -F key=secrets_dir_user - ''; - }; - in - { - description = "Load Audit Rules after LVM mount"; - wantedBy = [ "home.mount" ]; - after = [ "home.mount" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${pkgs.audit}/bin/auditctl -R ${auditrules}"; - }; - }; - - # Make sure default shell is installed - programs.fish.enable = true; - - # home manager config - home-manager.users = { - rtucek = { - imports = [ - ../../../home - ]; - - home = { - stateVersion = "26.05"; - username = "rtucek"; - homeDirectory = "/home/rtucek"; - }; - - sops = { - defaultSopsFile = rtucekSopsFile; - }; - - programs = { - git = { - settings = { - user = { - name = "Rudolf Tucek"; - email = "tucek.rudolf@gmail.com"; - }; - }; - - signing = { - format = "openpgp"; - key = "0x49593BD010DE4723"; - signByDefault = true; - }; - }; - }; - }; - }; -}