From cab752b0f04145f426181ee59f99c53a19e20139 Mon Sep 17 00:00:00 2001 From: Liassica <115422798+Liassica@users.noreply.github.com> Date: Tue, 7 May 2024 19:36:12 -0500 Subject: [PATCH] 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 Co-authored-by: seth --- modules/home-manager/hyprland.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index e51c08c..8909efa 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -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 + '') + ]; + }; }