From 4903cbbd3adaea0dfca383a7adc4bb8e6c683638 Mon Sep 17 00:00:00 2001 From: Alexander <63157919+rwxae@users.noreply.github.com> Date: Tue, 6 Jan 2026 01:37:47 +0300 Subject: [PATCH] vicinae: support Home Manager module alongside upstream module (#2068) Support the Home Manager module via programs.vicinae alongside the upstream module's services.vicinae namespace. Unifying both modules is continued in [1] ("vicinae: move from programs to services"). [1]: https://github.com/nix-community/home-manager/pull/8313 Closes: https://github.com/nix-community/stylix/issues/2076 Link: https://github.com/nix-community/stylix/pull/2068 Reviewed-by: 0xda157 Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com> (cherry picked from commit a4406d9799d002c41296c72378a1094a8fc9aa1b) --- modules/vicinae/hm.nix | 32 ++++++++++--------- .../vicinae/testbeds/vicinae-integrated.nix | 14 ++++++++ .../{vicinae.nix => vicinae-standalone.nix} | 0 3 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 modules/vicinae/testbeds/vicinae-integrated.nix rename modules/vicinae/testbeds/{vicinae.nix => vicinae-standalone.nix} (100%) diff --git a/modules/vicinae/hm.nix b/modules/vicinae/hm.nix index baaa0ac03..dd2d62261 100644 --- a/modules/vicinae/hm.nix +++ b/modules/vicinae/hm.nix @@ -5,12 +5,20 @@ ... }: mkTarget { - config = lib.optionals (options.services ? vicinae) [ - ( - { colors, polarity }: - { - services.vicinae = { + config = + let + eachConfig = + config: + lib.genAttrs [ "services" "programs" ] ( + source: lib.optionalAttrs (options.${source} ? vicinae) { vicinae = config; } + ); + in + [ + ( + { colors, polarity }: + eachConfig { settings.theme.name = "stylix"; + themes.stylix = { meta = { name = "stylix"; @@ -45,14 +53,8 @@ mkTarget { }; }; }; - }; - } - ) - ( - { opacity }: - { - services.vicinae.settings.window.opacity = opacity.popups; - } - ) - ]; + } + ) + ({ opacity }: eachConfig { settings.window.opacity = opacity.popups; }) + ]; } diff --git a/modules/vicinae/testbeds/vicinae-integrated.nix b/modules/vicinae/testbeds/vicinae-integrated.nix new file mode 100644 index 000000000..53edbeebe --- /dev/null +++ b/modules/vicinae/testbeds/vicinae-integrated.nix @@ -0,0 +1,14 @@ +{ lib, ... }: +{ + stylix.testbed.ui = { + graphicalEnvironment = "hyprland"; + command.text = "sleep 5 && vicinae open"; + }; + + home-manager.sharedModules = lib.singleton { + programs.vicinae = { + enable = true; + systemd.enable = true; + }; + }; +} diff --git a/modules/vicinae/testbeds/vicinae.nix b/modules/vicinae/testbeds/vicinae-standalone.nix similarity index 100% rename from modules/vicinae/testbeds/vicinae.nix rename to modules/vicinae/testbeds/vicinae-standalone.nix