{
  config,
  pkgs,
  lib,
  makeDesktopItem,
  ...
}: {
  documentation.info.enable = true;
  nixpkgs.config.firefox.enableOfficialBranding = true;

  environment.pathsToLink = ["/share/zsh"];

  environment.systemPackages = with pkgs; [
    aria2
    pcmanfm

    epdfview
    geeqie

    lxappearance
    lxrandr
    lxtask

    mpv

    cifs-utils

    trash-cli
  ];

  nixpkgs.config.allowUnfree = true;

  services.devmon.enable = true;

  systemd.user.services.trash-clean = {
    path = with pkgs; [trash-cli];
    description = "Remove old files from FreeDesktop.org trash";

    serviceConfig = {
      Type = "oneshot";
    };
    script = "trash-empty 30";
  };
  systemd.user.timers.trash-clean = {
    wantedBy = ["default.target"];
    timerConfig = {
      OnCalendar = "weekly";
      Persistent = true;
    };
  };

  environment.variables = {
    # This is required so that GTK applications launched from Emacs
    # get properly themed:
    GTK_DATA_PREFIX = "${config.system.path}";
  };

  services.redshift = {
    enable = lib.mkDefault true;
    temperature = {
      day = 6500;
      night = 3600;
    };
  };

  programs.dconf.enable = true;
  programs.seahorse.enable = false;
  services.gnome = {
    gnome-keyring.enable = false;
    at-spi2-core.enable = false;
  };
  # services.xserver.displayManager.sessionCommands = ''
  #   eval $(/run/wrappers/bin/gnome-keyring-daemon --start --components=secrets,ssh,pkcs11)
  #   export SSH_AUTH_SOCK
  # '';

  imports = [
    ./services/xserver.nix
  ];
}