{ lib, config, pkgs, scheme, catppuccinVariant ? "Mocha", ... }: { imports = [ ./default.nix ./email/default.nix ./password-store/default.nix ./waybar/default.nix ./rofi/default.nix ./swaylock/default.nix ./swaync/default.nix ./avizo/default.nix ./alacritty/default.nix ./emacs/default.nix ./obs/default.nix ./cava/default.nix ]; programs.rofi.terminal = "${config.programs.alacritty.package}/bin/alacritty"; services = { gpg-agent.pinentryFlavor = "gtk2"; avizo.enable = true; syncthing.enable = true; udiskie = { enable = true; notify = true; automount = true; tray = "never"; }; }; gtk = with lib.strings; let accent = "Lavender"; size = "Standard"; in { enable = true; iconTheme = { package = pkgs.catppuccin-papirus-folders.override { accent = toLower accent; flavor = toLower catppuccinVariant; }; name = "Papirus-Dark"; }; cursorTheme = let variant = "${lib.strings.toLower catppuccinVariant}Dark"; in { package = pkgs.catppuccin-cursors.${variant}; name = "Catppuccin-${catppuccinVariant}-Dark-Cursors"; size = 32; }; theme = { package = with lib.strings; pkgs.catppuccin-gtk.override { accents = [(toLower accent)]; size = toLower size; variant = toLower catppuccinVariant; }; name = "Catppuccin-${catppuccinVariant}-${size}-${accent}-Dark"; }; }; xresources.properties = with 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; }; }