{ config, ... }: let repo = config.repo; in { flake.modules.homeManager.vicinae = { config, pkgs, inputs, lib, ... }: let repoTheme = repo.theme.kanagawa; palette = repoTheme.palette; launcherCommand = lib.getExe config.programs.vicinae.package; in { programs.vicinae = { enable = true; systemd.enable = true; themes.${repoTheme.name} = { meta = { version = 1; name = repoTheme.displayName; description = "A dark theme inspired by the colors of the famous painting by Katsushika Hokusai."; variant = "dark"; inherits = "vicinae-dark"; }; colors = { core = { background = palette.background; foreground = palette.foreground; secondary_background = palette.secondaryBackground; border = palette.border; accent = palette.accents.blue; }; accents = { inherit (palette.accents) blue cyan green magenta orange purple red yellow ; }; input.border_focus = "colors.core.accent"; }; }; settings.theme = { light.name = repoTheme.name; dark.name = repoTheme.name; }; extensions = with inputs.vicinae-extensions.packages.${pkgs.stdenv.hostPlatform.system}; [ agenda brotab fuzzy-files github it-tools niri nix podman process-manager pulseaudio simple-bookmarks ssh ]; }; meta.desktop.launcher = { package = config.programs.vicinae.package; commands = { open = [ launcherCommand "toggle" ]; files = [ launcherCommand "deeplink" "vicinae://extensions/sameoldlab/fuzzy-files/find" ]; dmenu = [ launcherCommand "dmenu" "--navigation-title" "Clipboard" "--placeholder" "Search clipboard" "--no-metadata" ]; }; }; }; }