{ config, pkgs, ... }: { imports = [ ./sway/default.nix ./niri/default.nix ./foot/default.nix ./alacritty/default.nix ./avizo/default.nix ./fuzzel/default.nix ./swaylock/default.nix ./swayidle/default.nix ./mako/default.nix ./waybar/default.nix ./wlogout/default.nix ]; home.packages = with pkgs; [ pinentry ffmpeg evince libreoffice-fresh inkscape webcord signal-desktop swayimg swaybg (writeShellScriptBin "set-background" '' ${swaybg}/bin/swaybg -m fill -i ${./wallpapers/landscapes/tropic_island_day.jpg} '') (writeShellScriptBin "protonmail-setup-bridge" '' pkill -9 -f protonmail-bridge ${protonmail-bridge}/bin/protonmail-bridge -c swaymsg exec "${protonmail-bridge}/bin/protonmail-bridge -n" '') (writeShellScriptBin "davmail-setup" '' systemctl --user restart davmail # Ensure config file is present systemctl --user stop davmail ${davmail}/bin/davmail -n ~/.davmail.properties systemctl --user restart davmail '') ]; services = { avizo.enable = true; gpg-agent.pinentryPackage = pkgs.pinentry-gtk2; remmina.enable = true; syncthing.enable = true; udiskie = { enable = true; notify = true; automount = true; tray = "never"; }; }; programs.mpv.enable = true; gtk = let # Make this smarter at some point type = if config.scheme.variant == "light" then "Light" else "Dark"; in { enable = true; iconTheme = { package = pkgs.papirus-icon-theme.override {color = "violet";}; name = "Papirus-${type}"; }; cursorTheme = { package = pkgs.volantes-cursors; name = "volantes_cursors"; size = 32; }; theme = { package = pkgs.sweet; name = "Sweet"; }; }; xdg = { mime.enable = true; mimeApps = let defaultApplications = import ./mimeapps.nix; in { enable = true; inherit defaultApplications; associations = { added = defaultApplications; removed = { "x-scheme-handler/zoomus" = config.xdg.mimeApps.defaultApplications."x-scheme-handler/http"; "x-scheme-handler/msteams" = ["teams-for-linux.desktop"]; }; }; }; userDirs = { enable = true; createDirectories = true; extraConfig = { XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects"; }; }; }; xresources.properties = with config.scheme.withHashtag; { "*background" = base00; "*foreground" = base05; "*color0" = base00; "*color1" = red; "*color2" = green; "*color3" = yellow; "*color4" = blue; "*color5" = magenta; "*color6" = cyan; "*color7" = base04; "*color8" = base01; "*color9" = red; "*color10" = green; "*color11" = yellow; "*color12" = blue; "*color13" = magenta; "*color14" = cyan; "*color15" = base05; }; }