feat(home-manager): source hyprland theme and add accent colors (#80)

* feat(home-manager/hyprland): source theme + accent

Since Home Manager defbb9c, Hyprland on Home Manager now sources files
before most other configuration, meaning Catppuccin Nix can now source a
theme colors file instead of inserting them into the main configuration.
In addition, `accent` and `accentAlpha` color variables have been added
in a second sourced file.

* chore(home-manager): format hyprland.nix

---------

Co-authored-by: Liassica <git-commit.jingle869@aleeas.com>
Co-authored-by: seth <getchoo@tuta.io>
This commit is contained in:
Liassica 2024-05-07 19:36:12 -05:00 committed by GitHub
parent b0dc7f3181
commit cab752b0f0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -8,12 +8,17 @@ let
enable = cfg.enable && config.wayland.windowManager.hyprland.enable; enable = cfg.enable && config.wayland.windowManager.hyprland.enable;
in in
{ {
options.wayland.windowManager.hyprland.catppuccin = options.wayland.windowManager.hyprland.catppuccin = lib.ctp.mkCatppuccinOpt "hyprland" // {
lib.ctp.mkCatppuccinOpt "hyprland"; accent = lib.ctp.mkAccentOpt "hyprland";
};
# Because of how nix merges options and hyprland interprets options, sourcing config.wayland.windowManager.hyprland.settings = lib.mkIf enable {
# the file does not work. instead, parse the theme and put it in settings so source = [
# the variables appear early enough in the file to be applied properly. "${sources.hyprland}/themes/${cfg.flavour}.conf"
config.wayland.windowManager.hyprland.settings = lib.mkIf enable (builtins.toFile "hyprland-${cfg.accent}-accent.conf" ''
(lib.ctp.fromINI (sources.hyprland + /themes/${cfg.flavour}.conf)); $accent=''$${cfg.accent}
$accentAlpha=''$${cfg.accent}Alpha
'')
];
};
} }