{ inputs, lib, pkgs, config, outputs, ... }:
{
  imports = [
    common/core
    common/optional/desktops
    common/optional/desktops/i3
    common/optional/desktops/services/xscreensaver.nix
    #common/optional/desktops/sway
    common/optional/desktops/xdg.nix
    common/optional/secrets.nix
    #inputs.sops-nix.homeManagerModules.sops
  ];

  home.file = {
    ".mailcap".text = ''
      #application/msword; antiword -rs '%s'; copiousoutput; description=Microsoft Word Document
      application/pdf; pdftotext '%s' -; copiousoutput; description=Adobe Portable Document Format
      #image/gif; asciiview -driver curses -dim -bold -reverse -normal -boldfont -extended -eight '%s'; description=GIF image
      image/gif; sxiv '%s'; description=GIF image
      #image/jpeg; asciiview -driver curses -dim -bold -reverse -normal -boldfont -extended -eight '%s'; description=JPEG image
      image/jpeg; sxiv '%s'; description=JPEG image
      image/png; sxiv '%s'; description=PNG image
      text/html; w3m -dump -T text/html %s; copiousoutput
      #text/richtext; catdoc '%s'; copiousoutput; description=Microsoft Rich Text Format
    '';
    ".mutt/aliases".source = ./arrakis/mutt/aliases;
    ".mutt/colors".source = ./arrakis/mutt/colors;
    ".mutt/headers".source = ./arrakis/mutt/headers;
    ".mutt/keys".source = ./arrakis/mutt/keys;
    ".mutt/muttrc".source = ./arrakis/mutt/muttrc;
    "bin/knock".source = ../common/scripts/knock;
  };

  programs.zsh = {
    shellAliases = {
      manage = "tmux new-window ssh -A root@arrakis\\; split-window -d ssh -A root@darkstar\\; split-window -d ssh root@king\\; new-window ssh root@black-sheep\\; split-window -d ssh root@fangorn\\; split-window -d ssh root@treebeard\\; new-window ssh root@casey\\; split-window -d ssh root@homer\\; new-window ssh root@lilnasx\\; split-window -d ssh root@trent";
    };
  };

  sops = {
    age.keyFile = "/home/nipsy/.config/sops/age/keys.txt";
    defaultSopsFile = ./secrets/caladan.yaml;

    secrets = {
      "reaper_license" = {
        path = "/home/nipsy/.config/REAPER/reaper-license.rk";
      };
      "ssh_config" = {
        path = "/home/nipsy/.ssh/config";
      };
    };
  };

  xsession = {
    initExtra = ''
      xrandr --output DisplayPort-0 --primary --mode 2560x1440 --rate 170

      # disable VRR because it causes the display to go to sleep on my GeForce 1080 (now 3070 Ti) sometimes; maybe monitor related?
      #nvidia-settings -a AllowVRR=0
    '';
  };
}
