{ pkgs, config, lib, ... }: let dracula-gtk = pkgs.fetchFromGitHub { owner = "dracula"; repo = "gtk"; rev = "502f212d83bc67e8f0499574546b99ec6c8e16f9"; sha256 = "1wx9nzq7cqyvpaq4j60bs8g7gh4jk8qg4016yi4c331l4iw1ymsa"; }; in { # TODO modularize #imports = [ ./xdg.nix ]; services = { gnome.gnome-keyring.enable = true; upower.enable = true; dbus = { enable = true; packages = [ pkgs.gnome3.dconf ]; }; }; security.pam.services.sddm.enableGnomeKeyring = true; home-manager.users.anish.xdg.enable = true; # This doesn't seem to do anything so we have below home-manager.users.anish.xdg.configHome = "/home/anish/.config"; # TODO bad hard coded home-manager.users.anish.xdg.configFile = { "Kvantum/Dracula/Dracula.kvconfig".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.kvconfig"; "Kvantum/Dracula/Dracula.svg".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.svg"; "Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula"; }; environment.sessionVariables = rec { XDG_CACHE_HOME = "\${HOME}/.cache"; XDG_CONFIG_HOME = "\${HOME}/.config"; XDG_BIN_HOME = "\${HOME}/.local/bin"; XDG_DATA_HOME = "\${HOME}/.local/share"; PATH = [ "\${XDG_BIN_HOME}" ]; }; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "ripcord" "vcv-rack" ]; environment.systemPackages = with pkgs; [ # TODO move somewhere meaningful signal-desktop # bridge to sealight? scrot ripcord feh mupdf sublime-music vcv-rack calibre nheko mpv scrot newsflash zeal xclip xdotool rofi lightdm dunst libnotify (polybar.override { pulseSupport = true; nlSupport = true; }) ]; location.provider = "geoclue2"; services = { redshift = { enable = true; temperature = { day = 5500; night = 3700; }; }; xserver = { enable = true; desktopManager.wallpaper.mode = "fill"; displayManager = { defaultSession = "none+bspwm"; sessionCommands = '' ${pkgs.xorg.xrdb}/bin/xrdb -merge <