Hybrid cloud cluster monorepo with Ansible, K8s, NixOS, and Terraform. cute.haus
ansible terraform nix k8s
1

Configure Feed

Select the types of activity you want to include in your feed.

nix/base: fix users and ssh key orchestration

Aly Raffauf (Jun 11, 2026, 9:55 AM EDT) d840d7ec bfded0d9

+56 -67
+1 -2
nix/hosts/eterna.nix
··· 23 23 locale-en-us 24 24 podman 25 25 prometheus-node 26 - ssh-keys 27 26 swap 28 27 syncthing 29 28 tailscale 30 - users 29 + users-aly 31 30 vps 32 31 33 32 inputs.disko.nixosModules.disko
+1 -2
nix/hosts/jubilife.nix
··· 27 27 podman 28 28 prometheus-node 29 29 qbittorrent 30 - ssh-keys 31 30 swap 32 31 syncthing 33 32 tailscale 34 33 tautulli 35 - users 34 + users-aly 36 35 vps 37 36 38 37 inputs.disko.nixosModules.disko
-2
nix/hosts/pastoria.nix
··· 14 14 locale-en-us 15 15 podman 16 16 prometheus-node 17 - ssh-keys 18 17 swap 19 18 tailscale 20 - users 21 19 vps 22 20 23 21 inputs.disko.nixosModules.disko
+1 -2
nix/hosts/snowpoint.nix
··· 18 18 media-share 19 19 plex 20 20 prometheus-node 21 - ssh-keys 22 21 swap 23 22 syncthing 24 23 tailscale 25 - users 24 + users-aly 26 25 vps 27 26 28 27 inputs.disko.nixosModules.disko
-2
nix/hosts/solaceon.nix
··· 14 14 locale-en-us 15 15 podman 16 16 prometheus-node 17 - ssh-keys 18 17 swap 19 18 tailscale 20 - users 21 19 vps 22 20 23 21 inputs.disko.nixosModules.disko
+1
nix/nixos/base/default.nix
··· 42 42 silent = true; 43 43 }; 44 44 45 + fish.enable = true; 45 46 git.enable = true; 46 47 htop.enable = true; 47 48 nh.enable = true;
+12
nix/nixos/base/users.nix
··· 1 + { 2 + flake.modules.nixos.base = {pkgs, ...}: { 3 + config = { 4 + mySshKeys.authorizedUsers.root = ["aly"]; 5 + 6 + users = { 7 + defaultUserShell = pkgs.fish; 8 + mutableUsers = false; 9 + }; 10 + }; 11 + }; 12 + }
+1 -1
nix/nixos/ssh-keys.nix nix/nixos/base/ssh-keys.nix
··· 1 1 {self, ...}: { 2 - flake.modules.nixos.ssh-keys = { 2 + flake.modules.nixos.base = { 3 3 config, 4 4 lib, 5 5 ...
+39
nix/nixos/users-aly.nix
··· 1 + { 2 + flake.modules.nixos.users-aly = { 3 + config, 4 + lib, 5 + ... 6 + }: { 7 + options.myUsers.aly.password = lib.mkOption { 8 + type = lib.types.nullOr lib.types.str; 9 + default = null; 10 + description = "Hashed password for aly."; 11 + }; 12 + 13 + config = { 14 + mySshKeys.authorizedUsers.aly = ["aly"]; 15 + 16 + users.users.aly = { 17 + description = "Aly Raffauf"; 18 + 19 + extraGroups = [ 20 + "cdrom" 21 + "dialout" 22 + "docker" 23 + "libvirtd" 24 + "lp" 25 + "networkmanager" 26 + "plugdev" 27 + "scanner" 28 + "transmission" 29 + "video" 30 + "wheel" 31 + ]; 32 + 33 + hashedPassword = config.myUsers.aly.password; 34 + isNormalUser = true; 35 + uid = 1000; 36 + }; 37 + }; 38 + }; 39 + }
-56
nix/nixos/users.nix
··· 1 - { 2 - flake.modules.nixos.users = { 3 - config, 4 - lib, 5 - pkgs, 6 - ... 7 - }: { 8 - options.myUsers = { 9 - defaultGroups = lib.mkOption { 10 - description = "Default groups for desktop users."; 11 - default = [ 12 - "cdrom" 13 - "dialout" 14 - "docker" 15 - "libvirtd" 16 - "lp" 17 - "networkmanager" 18 - "plugdev" 19 - "scanner" 20 - "transmission" 21 - "video" 22 - "wheel" 23 - ]; 24 - }; 25 - 26 - aly.password = lib.mkOption { 27 - type = lib.types.nullOr lib.types.str; 28 - default = null; 29 - description = "Hashed password for aly."; 30 - }; 31 - }; 32 - 33 - config = { 34 - programs.fish.enable = true; 35 - 36 - users = { 37 - defaultUserShell = pkgs.fish; 38 - mutableUsers = false; 39 - 40 - users = { 41 - aly = { 42 - description = "Aly Raffauf"; 43 - extraGroups = config.myUsers.defaultGroups; 44 - hashedPassword = config.myUsers.aly.password; 45 - isNormalUser = true; 46 - uid = 1000; 47 - }; 48 - }; 49 - }; 50 - }; 51 - }; 52 - 53 - flake.modules.nixos.ssh-keys = { 54 - mySshKeys.authorizedUsers.aly = ["aly"]; 55 - }; 56 - }