summary refs log tree commit diff stats
path: root/system/settings/user-interface.nix
diff options
context:
space:
mode:
authorAlan Pearce2019-10-08 21:44:57 +0200
committerAlan Pearce2019-10-08 21:44:57 +0200
commit0a50d682ec85bf023bebd68a3ca388001f0c0677 (patch)
tree3f725c5a36633ec5b59df37f156a03ee2a971656 /system/settings/user-interface.nix
parent40fd4964068d0b7628b6f699dab4aec200eadb0a (diff)
downloadnixfiles-0a50d682ec85bf023bebd68a3ca388001f0c0677.tar.lz
nixfiles-0a50d682ec85bf023bebd68a3ca388001f0c0677.tar.zst
nixfiles-0a50d682ec85bf023bebd68a3ca388001f0c0677.zip
mv modules settings
Diffstat (limited to 'system/settings/user-interface.nix')
-rw-r--r--system/settings/user-interface.nix97
1 files changed, 97 insertions, 0 deletions
diff --git a/system/settings/user-interface.nix b/system/settings/user-interface.nix
new file mode 100644
index 00000000..08d390ab
--- /dev/null
+++ b/system/settings/user-interface.nix
@@ -0,0 +1,97 @@
+{ config, pkgs, lib, makeDesktopItem, ... }:
+
+{ documentation.info.enable = true;
+  nixpkgs.config.firefox.enableOfficialBranding = true;
+
+  environment.pathsToLink = [ "/share/zsh" ];
+
+  environment.systemPackages = with pkgs; [
+    aria2
+    firefox
+    pcmanfm
+
+    epdfview
+    geeqie
+
+    cmus
+
+    fish # for emacs-fish-completion
+
+    lxappearance
+    lxrandr
+    lxtask
+
+    python3Packages.keyring
+    isync
+    msmtp
+    html2text
+
+    weechat
+
+    mpv
+
+    aspell
+    aspellDicts.en
+
+    cifs-utils
+    hexchat
+    signal-desktop
+    wire-desktop
+
+    trash-cli
+  ];
+
+  nixpkgs.config.allowUnfree = true;
+
+  services.compton = {
+    enable = true;
+    backend = "glx";
+    vSync = "opengl-swc";
+  };
+
+  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 = true;
+    temperature = {
+      day = 6500;
+      night = 3600;
+    };
+  };
+
+  programs.ssh.startAgent = true;
+
+  programs.dconf.enable = true;
+  services.gnome3 = {
+    gnome-keyring.enable = true;
+    seahorse.enable = true;
+    at-spi2-core.enable = true;
+  };
+
+  imports = [
+    ./services/xserver.nix
+  ];
+}