{ config, inputs, ... }: { flake.modules.nixos.walker = { home-manager.sharedModules = [ config.flake.modules.homeManager.walker ]; nix.settings = { extra-substituters = [ "https://walker.cachix.org" "https://walker-git.cachix.org" ]; extra-trusted-public-keys = [ "walker.cachix.org-1:fG8q+uAaMqhsMxWjwvk0IMb4mFPFLqHjuvfwQxE4oJM=" "walker-git.cachix.org-1:vmC0ocfPWh0S/vRAQGtChuiZBTAe4wiKDeyyXM0/7pM=" ]; }; }; flake.modules.homeManager.walker = { config, lib, pkgs, ... }: let walkerDefaults = builtins.fromTOML (builtins.readFile "${inputs.walker}/resources/config.toml"); launcher = pkgs.writeShellApplication { name = "walker-launcher"; runtimeInputs = [ pkgs.libressl.nc ]; text = '' exec nc -U "$XDG_RUNTIME_DIR/walker/walker.sock" ''; }; in { imports = [ inputs.walker.homeManagerModules.default ]; desktop.commands.launcher = [ (lib.getExe launcher) ]; programs.walker = { enable = true; runAsService = true; config.theme = "desktop"; themes.desktop = { layouts.layout = lib.replaceStrings [ ''570'' ] [ ''460'' ] (builtins.readFile "${inputs.walker}/resources/themes/default/layout.xml"); style = lib.mkBefore ( builtins.readFile "${inputs.walker}/resources/themes/default/style.css" + '' .box-wrapper { padding: 10px; border-radius: 10px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25); } .search-container, .item-box, .preview { border-radius: 6px; } .input { padding: 8px 10px; } .item-box { padding: 5px 8px; } .large-icons { -gtk-icon-size: 24px; } .item-image-text { font-size: 24px; } .item-subtext { opacity: 0.75; } .item-quick-activation { padding: 3px 5px; } .keybinds { padding-top: 6px; } .keybind-bind { opacity: 0.65; } '' ); }; config.providers = { default = walkerDefaults.providers.default; prefixes = walkerDefaults.providers.prefixes ++ [ { provider = "bitwarden"; prefix = "?"; } ]; }; }; }; }