{ systemConfiguration = { config, ... }: { isNormalUser = true; # TODO: Don't hard-code `persist`. Use # config.sydnix.impermanence.persistGroupName. extraGroups = [ "wheel" "persist" "input" "dots" "greeter" "networkmanager" ]; initialHashedPassword = "$y$j9T$4pyDiPlhnN4UarQoY7Sn70$URZQKPJ3yU4WoQFHRhzm4uF3bM4U7OVYem3oPioykMC"; openssh.authorizedKeys.keyFiles = [ ]; }; homeConfiguration = { config, lib, pkgs, host, ... }: let on = hosts: if builtins.isString hosts then hosts == host else builtins.elem host hosts; in { home.file.".ssh/id_ed25519".source = config.lib.file.mkOutOfStoreSymlink "/persist/private-keys/ssh/msyds@sydpc"; home.file.".face".source = ./avatar.jpg; home.file.".ssh/id_ed25519.pub".source = ../../public-keys/ssh/${"msyds@sydpc.pub"}; sydnix = { documentation.enable = true; xdg.enable = true; steam.enable = on "sydpc"; zotero.enable = true; slippi.enable = on "sydpc"; desktop-environment.enable = true; clojure.enable = true; capitaine-cursors.enable = true; terraria.enable = on "sydpc"; kdeconnect.enable = true; qalculate.enable = true; toki-pona.enable = true; prism-launcher.enable = on "sydpc"; flatpak.enable = on "sydpc"; sops = { enable = true; keyFile = "/persist/private-keys/age/crumb"; }; # Personal configurations. users.crumb = { direnv.enable = true; git.enable = true; nvim.enable = true; readline.enable = true; niri.enable = true; firefox.enable = true; ghostty.enable = true; # waybar.enable = true; tf2.enable = true; fcitx5.enable = true; anki.enable = true; mumble.enable = true; }; users.msyds = { discord.enable = true; bash.enable = true; hunspell.enable = true; emacs.enable = true; impermanence.enable = true; syncthing.enable = true; fonts.enable = true; dank-material-shell.enable = true; sioyek.enable = true; }; }; # Don't touch! home.stateVersion = "18.09"; }; }