2024-09-14 21:05:34 +00:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
inputs,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
with lib; let
|
|
|
|
cfg = config.custom.programs.walker;
|
|
|
|
in {
|
|
|
|
options.custom.programs.walker.enable = mkOption {default = false;};
|
|
|
|
|
|
|
|
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
|
|
|
imports = [inputs.walker.homeManagerModules.default];
|
|
|
|
|
|
|
|
# https://github.com/abenz1267/walker
|
|
|
|
# https://github.com/abenz1267/walker?tab=readme-ov-file#building-from-source
|
|
|
|
# https://github.com/abenz1267/walker/blob/master/nix/hm-module.nix
|
|
|
|
programs.walker = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.walker;
|
|
|
|
|
|
|
|
#!! Service must be restarted for changes to take effect
|
|
|
|
#?? systemctl --user restart walker.service
|
|
|
|
runAsService = true;
|
|
|
|
|
2024-09-15 22:41:21 +00:00
|
|
|
# https://github.com/abenz1267/walker/wiki/Basic-Configuration
|
2024-09-14 21:05:34 +00:00
|
|
|
# https://github.com/abenz1267/walker/blob/master/internal/config/config.default.json
|
|
|
|
config = {
|
2024-09-15 22:41:21 +00:00
|
|
|
activation_mode.disabled = true; # Key chords
|
|
|
|
ignore_mouse = true; # Hover interrupts keyboard selections
|
2024-09-14 21:05:34 +00:00
|
|
|
search.placeholder = "";
|
|
|
|
|
2024-09-15 22:41:21 +00:00
|
|
|
# https://github.com/abenz1267/walker/wiki/Modules
|
|
|
|
# https://www.nerdfonts.com/cheat-sheet
|
2024-09-14 21:05:34 +00:00
|
|
|
builtins = {
|
2024-09-15 22:41:21 +00:00
|
|
|
calculator.switcher_only = false;
|
|
|
|
clipboard.switcher_only = true;
|
|
|
|
commands.switcher_only = true;
|
|
|
|
custom_commands.switcher_only = true;
|
|
|
|
runner.switcher_only = true;
|
|
|
|
ssh.switcher_only = true;
|
|
|
|
windows.switcher_only = true;
|
|
|
|
|
2024-09-14 21:05:34 +00:00
|
|
|
applications = {
|
2024-09-15 22:41:21 +00:00
|
|
|
# BUG: Ghost entries are still visible
|
|
|
|
#// actions = false; # Desktop file actions
|
|
|
|
|
|
|
|
switcher_only = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
dmenu = {
|
2024-09-15 23:23:57 +00:00
|
|
|
keep_sort = true; # Disable sorting entries
|
2024-09-15 22:41:21 +00:00
|
|
|
placeholder = "Input";
|
|
|
|
switcher_only = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
emojis = {
|
|
|
|
placeholder = "Unicode";
|
|
|
|
switcher_only = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
finder = {
|
|
|
|
placeholder = "Files";
|
|
|
|
switcher_only = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
websearch = {
|
|
|
|
placeholder = "Search";
|
|
|
|
switcher_only = true;
|
2024-09-14 21:05:34 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# https://github.com/abenz1267/walker/wiki/Theming
|
|
|
|
theme = {
|
2024-09-21 15:47:31 +00:00
|
|
|
style = ''
|
|
|
|
#box {
|
|
|
|
font: larger ${config.custom.font.sans-serif};
|
|
|
|
}
|
|
|
|
|
|
|
|
${builtins.readFile ./style.css}
|
|
|
|
'';
|
2024-09-14 21:05:34 +00:00
|
|
|
|
2024-09-15 22:41:21 +00:00
|
|
|
# https://github.com/abenz1267/walker/blob/master/internal/config/layout.default.json
|
2024-09-14 21:05:34 +00:00
|
|
|
layout.ui.window.box = rec {
|
2024-09-15 22:41:21 +00:00
|
|
|
height = 250 / config.custom.scale;
|
2024-09-14 21:05:34 +00:00
|
|
|
width = 1000 / config.custom.scale;
|
|
|
|
|
|
|
|
scroll.list = {
|
|
|
|
max_height = height;
|
|
|
|
max_width = width;
|
|
|
|
min_width = width;
|
|
|
|
|
|
|
|
# Icon resolution
|
2024-09-15 22:41:21 +00:00
|
|
|
item = {
|
|
|
|
text.sub.hide = true; # Subtext
|
|
|
|
|
|
|
|
icon = {
|
|
|
|
icon_size = "largest"; # 128px
|
|
|
|
pixel_size = 32; # Downscale
|
|
|
|
};
|
2024-09-14 21:05:34 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|