Skip to content

Commit

Permalink
feat(home-manager): source hyprland theme and add accent colors (#80)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
3 people authored May 8, 2024
1 parent b0dc7f3 commit cab752b
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions modules/home-manager/hyprland.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,17 @@ let
enable = cfg.enable && config.wayland.windowManager.hyprland.enable;
in
{
options.wayland.windowManager.hyprland.catppuccin =
lib.ctp.mkCatppuccinOpt "hyprland";
options.wayland.windowManager.hyprland.catppuccin = lib.ctp.mkCatppuccinOpt "hyprland" // {
accent = lib.ctp.mkAccentOpt "hyprland";
};

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

0 comments on commit cab752b

Please sign in to comment.