{
  systemConfiguration = { config, ... }: {
    isNormalUser = true;
    # TODO: Don't hard-code `persist`.  Use
    # config.sydnix.impermanence.persistGroupName.
    extraGroups = [ "wheel" "persist" ];
    initialHashedPassword =
      "$y$j9T$aEFDDwdTZbAc6VQRXrkBJ0$K8wxTGTWDihyX1wxJ.ZMH//wmQFfrGGUkLkxIU0Lyq8";

    openssh.authorizedKeys.keyFiles = [
      ../../public-keys/ssh/crumb-at-guix-rebound.pub
    ];
  };

  homeConfiguration = { config, lib, pkgs, ... }: {
    imports = [
      ./files.nix
    ];

    # Some unsorted settings:
    xdg.enable = true;
    # Not yet in my version of HM.
    # xdg.preferXdgDirectories = true;
    # qt.style.name = "breeze-dark";
    # qt.style.package = pkgs.libsForQt5.breeze-qt5;

    sydnix = {
      gpg.enable = true;
      sops = {
        enable = true;
        keyFile = "/persist/private-keys/age/${config.home.username}";
      };
      # Personal configurations.
      users.crumb = {
        age.enable = true;
        bash.enable = true;
        direnv.enable = true;
        firefox.enable = true;
        git.enable = true;
        haskell.enable = true;
        mpd.enable = true;
        nvim.enable = true;
        emacs.enable = true;
        niri.enable = true;
        waybar.enable = true;
        discord.enable = true;
        ghostty.enable = true;
        readline.enable = true;
        tf2.enable = true;
      };
      steam.enable = true;
    };

    # Don't touch!
    home.stateVersion = "18.09";
  };
}
