{ pkgs, lib, ... }: let solarized-xresources = ./xresources; homedir = builtins.getEnv "HOME"; theme = lib.removeSuffix "\n" (builtins.readFile "${homedir}/.local/share/xtheme"); colors = { "dark" = { background = "#292b2e"; foreground = "#b2b2b2"; }; "light" = { background = "#fbf8ef"; foreground = "#655370"; }; }; in { imports = [ ./common.nix ./email.nix ]; home.packages = [ pkgs.gnupg pkgs.pinentry ]; fonts.fontconfig.enableProfileFonts = true; xresources = { properties = { "XTerm*font" = "-*-terminus-medium-r-normal--18-*-*-*-*-*-iso10646-1"; "XTerm*faceName" = "Terminus"; "XTerm*faceSize" = "10"; "XTerm*termName" = "xterm-256color"; "XTerm*metaSendsEscape" = true; "XTerm*utf8" = true; }; extraConfig = builtins.readFile(solarized-xresources + "/Xresources." + theme); }; services = { emacs.enable = true; network-manager-applet.enable = true; polybar = { enable = true; config = { "bar/top" = { font-0 = "mononoki:size-10"; monitor = "\${env:MONITOR:eDP1}"; monitor-fallback = "HDMI1"; width = "100%"; height = "2%"; radius = 0; background = colors."${theme}".background; foreground = colors."${theme}".foreground; tray-position = "right"; tray-detached = false; tray-maxsize = 16; tray-transparent = false; tray-background = colors."${theme}".background; tray-offset-x = 0; tray-offset-y = 0; tray-padding = 0; tray-scale = 1; module-margin = 4; modules-left = "ewmh"; modules-center = "date"; modules-right = "battery"; }; "module/date" = { type = "internal/date"; internal = 5; date = "%Y.%m.%d"; time = "%H.%M"; label = "%date%..%time%"; }; "module/battery" = { type = "internal/battery"; battery = "BAT0"; adapter = "AC"; full-at = 99; }; "module/ewmh" = { type = "internal/xworkspaces"; pin-workspaces = true; enable-click = true; enable-scroll = false; }; }; script = '' #!/usr/bin/env sh systemctl --user daemon-reload pasystray & polybar top & ''; }; taffybar = { enable = false; }; redshift = { enable = true; latitude = "33.044444"; longitude = "-117.271667"; temperature = { day = 4000; night = 3500; }; }; gpg-agent = { enable = true; defaultCacheTtl = 72000; maxCacheTtl = 7200; enableSshSupport = true; verbose = true; extraConfig = '' allow-emacs-pinentry #pinentry-program /home/ben/.nix-profile/bin/pinentry-tty ''; }; }; xsession = { enable = true; windowManager = { xmonad = { enable = true; extraPackages = hpkgs: [ hpkgs.xmonad-contrib hpkgs.xmonad-extras hpkgs.monad-logger #hpkgs.taffybar ]; enableContribAndExtras = true; config = ./xmonad.hs; }; }; }; programs = { firefox = { enable = true; }; rofi = { enable = true; }; }; }