dotfiles

My PC Dotfiles & Website

modules/desktop/_wm/style.nix (1690B)


 1## Catppuccin Style
 2{
 3  inputs,
 4  files ? null,
 5  ...
 6}: {
 7  nixos = {pkgs, ...}: {
 8    environment.systemPackages = [pkgs.custom.cursors];
 9    stylix = {
10      base16Scheme = files.colors.catppuccin;
11      icons.package = pkgs.catppuccin-papirus-folders.override {
12        accent = "blue";
13        flavor = "macchiato";
14      };
15    };
16
17    # QT Theme
18    gui.qt = {
19      theme = "catppuccin-macchiato-blue";
20      package = pkgs.catppuccin-kvantum.override {
21        accent = "blue";
22        variant = "macchiato";
23      };
24    };
25  };
26
27  home = {
28    config,
29    lib,
30    pkgs,
31    options,
32    ...
33  }: let
34    inherit (lib) attrNames elem filter genAttrs hasPrefix;
35    theme = "${pkgs.custom.adw-catppuccin}/share/adw-catppuccin/macchiato";
36
37    # Use Catppuccin over Stylix
38    alias = {qt = "kvantum";};
39    except = ["kitty"];
40    targets = filter (n: !hasPrefix "_" n) (attrNames options.stylix.targets);
41    derived = filter (t: elem (alias.${t} or t) (attrNames config.catppuccin) && !elem t except) targets;
42  in {
43    imports = [inputs.catppuccin.homeModules.catppuccin];
44    config = {
45      gui._unmanaged = derived ++ ["spicetify"];
46      catppuccin =
47        {
48          enable = true;
49          accent = "blue";
50          flavor = "macchiato";
51          hyprland.enable = false;
52          gtk.icon.enable = false;
53          firefox.force = true;
54          kvantum.enable = false;
55        }
56        // genAttrs except (_: {enable = false;});
57
58      # GTK Theme
59      gtk = {
60        gtk3.extraCss = builtins.readFile "${theme}/catppuccin-macchiato-blue-gtk3.css";
61        gtk4.extraCss = builtins.readFile "${theme}/catppuccin-macchiato-blue.css";
62      };
63    };
64  };
65}