{ lenovo = { hostname = "lenovo"; system = "x86_64-linux"; users = ["andromeda"]; modules = [ # impermanence ./modules/nixos/impermanence.nix ./modules/nixos/impermanence-ssh.nix # hardware configuration # includes `system.stateVersion` ./modules/nixos/machines/lenovo.nix # boot process # systemd-boot ./modules/nixos/boot/lenovo.nix # networking ./modules/nixos/laptop.nix # ly display manager ./modules/nixos/ly.nix # sway window manager ./modules/nixos/sway.nix # apps ./modules/nixos/steam.nix ]; }; "109-199-104-83" = { hostname = "109-199-104-83"; system = "x86_64-linux"; users = []; modules = [ # impermanence ./modules/nixos/impermanence.nix ./modules/nixos/impermanence-ssh.nix # hardware configuration # verbatim as `nixos-generate-config` AND `system.stateVersion` ./modules/nixos/machines/109-199-104-83.nix ./modules/nixos/disko/remote.nix # boot process # grub boot on /dev/sda ./modules/nixos/boot/109-199-104-83.nix # networking ./modules/nixos/networking/domains/galaxious.de.nix # uses cloud-init to network ./modules/nixos/networking/networks/109-199-104-83.nix # ssh through port 5522 among other things # andromeda@lenovo is the only user allowed access # ./modules/nixos/networking/hard-ssh.nix #./modules/nixos/networking/ssh-as-root.nix ({config, ...}: { services.openssh.enable = true; users.users.root.openssh.authorizedKeys.keys = [config.pub-keys.ssh.andromeda]; }) # TODO add Impermanence to the following services # simple-nixos-mailserver email server # mail.domain ./modules/nixos/mailserver.nix # roundcube webmail client # webmail.domain # ./modules/nixos/roundcube.nix # zulip chat client # chat.domain # zulip chat server # zulip.domain # ./modules/nixos/zulip.nix ]; }; }