{ inputs, config, pkgs, ... }: { wayland.windowManager.hyprland.settings = { exec-once = [ "uwsm app -- elephant" "walker --gapplication-service" ]; }; imports = [ # ./style.nix ./layout.nix ]; programs.walker = { enable = true; runAsService = true; package = inputs.walker.packages.${pkgs.system}.default; # CSS Implementation using Stylix Colors config = { # General Settings force_keyboard_focus = true; close_when_open = true; click_to_close = true; single_click_activation = true; selection_wrap = true; global_argument_delimiter = "#"; exact_search_prefix = "'"; # theme = "default"; disable_mouse = false; debug = false; page_jump_items = 10; hide_quick_activation = true; hide_action_hints = true; hide_action_hints_dmenu = true; hide_return_action = false; resume_last_query = false; actions_as_menu = false; # Shell positioning shell = { anchor_top = true; anchor_bottom = true; anchor_left = true; anchor_right = true; }; # Column config columns.symbols = 3; # Placeholders placeholders.default = { input = "Search"; list = "No Results"; }; # Keybinds keybinds = { close = ["Escape"]; next = ["Down"]; previous = ["Up"]; left = ["Left"]; right = ["Right"]; down = ["Down"]; up = ["Up"]; toggle_exact = ["ctrl e"]; resume_last_query = ["ctrl r"]; quick_activate = ["F1" "F2" "F3" "F4"]; page_down = ["Page_Down"]; page_up = ["Page_Up"]; show_actions = ["alt j"]; }; # Providers General providers = { default = ["desktopapplications" "calc" "websearch"]; empty = ["desktopapplications"]; ignore_preview = []; max_results = 50; argument_delimiter.runner = " "; clipboard.time_format = "%d.%m. - %H:%M"; # Provider Prefixes prefixes = [ { prefix = ";"; provider = "providerlist"; } { prefix = ">"; provider = "runner"; } { prefix = "/"; provider = "files"; } { prefix = "."; provider = "symbols"; } { prefix = "!"; provider = "todo"; } { prefix = "%"; provider = "bookmarks"; } { prefix = "="; provider = "calc"; } { prefix = "@"; provider = "websearch"; } { prefix = ":"; provider = "clipboard"; } { prefix = "$"; provider = "windows"; } ]; # Actions actions = { fallback = [ { action = "menus:open"; label = "open"; after = "Nothing"; } { action = "menus:default"; label = "run"; after = "Close"; } { action = "menus:parent"; label = "back"; bind = "Escape"; after = "Nothing"; } { action = "erase_history"; label = "clear hist"; bind = "ctrl h"; after = "AsyncReload"; } ]; dmenu = [ { action = "select"; default = true; bind = "Return"; } ]; providerlist = [ { action = "activate"; default = true; bind = "Return"; after = "ClearReload"; } ]; bluetooth = [ { action = "find"; bind = "ctrl f"; after = "AsyncClearReload"; } { action = "remove"; bind = "ctrl d"; after = "AsyncReload"; } { action = "trust"; bind = "ctrl t"; after = "AsyncReload"; } { action = "untrust"; bind = "ctrl t"; after = "AsyncReload"; } { action = "pair"; bind = "Return"; after = "AsyncReload"; } { action = "connect"; default = true; bind = "Return"; after = "AsyncReload"; } { action = "disconnect"; default = true; bind = "Return"; after = "AsyncReload"; } ]; archlinuxpkgs = [ { action = "install"; bind = "Return"; default = true; } { action = "remove"; bind = "Return"; } { action = "show_all"; label = "show all"; bind = "ctrl i"; after = "AsyncClearReload"; } { action = "refresh"; label = "refresh"; bind = "ctrl r"; after = "AsyncReload"; } { action = "visit_url"; label = "open URL"; bind = "ctrl o"; } { action = "show_installed"; label = "show installed"; bind = "ctrl i"; after = "AsyncClearReload"; } ]; calc = [ { action = "copy"; default = true; bind = "Return"; } { action = "delete"; bind = "ctrl d"; after = "AsyncReload"; } { action = "save"; bind = "ctrl s"; after = "AsyncClearReload"; } ]; websearch = [ { action = "search"; default = true; bind = "Return"; } { action = "open_url"; label = "open url"; default = true; bind = "Return"; } ]; desktopapplications = [ { action = "start"; default = true; bind = "Return"; } { action = "start:keep"; label = "open+next"; bind = "shift Return"; after = "KeepOpen"; } { action = "new_instance"; label = "new instance"; bind = "ctrl Return"; } { action = "new_instance:keep"; label = "new+next"; bind = "ctrl alt Return"; after = "KeepOpen"; } { action = "pin"; bind = "ctrl p"; after = "AsyncReload"; } { action = "unpin"; bind = "ctrl p"; after = "AsyncReload"; } { action = "pinup"; bind = "ctrl n"; after = "AsyncReload"; } { action = "pindown"; bind = "ctrl m"; after = "AsyncReload"; } ]; files = [ { action = "open"; default = true; bind = "Return"; } { action = "opendir"; label = "open dir"; bind = "ctrl Return"; } { action = "copypath"; label = "copy path"; bind = "ctrl shift c"; } { action = "copyfile"; label = "copy file"; bind = "ctrl c"; } { action = "localsend"; label = "localsend"; bind = "ctrl l"; } { action = "refresh_index"; label = "reload"; bind = "ctrl r"; after = "AsyncReload"; } ]; # Note: "1password" key starts with a digit, must be quoted in Nix "1password" = [ { action = "copy_password"; label = "copy password"; default = true; bind = "Return"; } { action = "copy_username"; label = "copy username"; bind = "shift Return"; } { action = "copy_2fa"; label = "copy 2fa"; bind = "ctrl Return"; } ]; todo = [ { action = "save"; default = true; bind = "Return"; after = "AsyncClearReload"; } { action = "save_next"; label = "save & new"; bind = "shift Return"; after = "AsyncClearReload"; } { action = "delete"; bind = "ctrl d"; after = "AsyncClearReload"; } { action = "active"; default = true; bind = "Return"; after = "Nothing"; } { action = "inactive"; default = true; bind = "Return"; after = "Nothing"; } { action = "done"; bind = "ctrl f"; after = "Nothing"; } { action = "change_category"; bind = "ctrl y"; label = "change category"; after = "Nothing"; } { action = "clear"; bind = "ctrl x"; after = "AsyncClearReload"; } { action = "create"; bind = "ctrl a"; after = "AsyncClearReload"; } { action = "search"; bind = "ctrl a"; after = "AsyncClearReload"; } ]; runner = [ { action = "run"; default = true; bind = "Return"; } { action = "runterminal"; label = "run in terminal"; bind = "shift Return"; } ]; symbols = [ { action = "copy"; label = "select"; default = true; bind = "Return"; } ]; unicode = [ { action = "copy"; label = "select"; default = true; bind = "Return"; } ]; nirisessions = [ { action = "start"; label = "start"; default = true; bind = "Return"; } { action = "start_new"; label = "start blank"; bind = "ctrl Return"; } ]; clipboard = [ { action = "copy"; default = true; bind = "Return"; } { action = "remove"; bind = "ctrl d"; after = "AsyncClearReload"; } { action = "remove_all"; label = "clear"; bind = "ctrl shift d"; after = "AsyncClearReload"; } { action = "show_images_only"; label = "only images"; bind = "ctrl i"; after = "AsyncClearReload"; } { action = "show_text_only"; label = "only text"; bind = "ctrl i"; after = "AsyncClearReload"; } { action = "show_combined"; label = "show all"; bind = "ctrl i"; after = "AsyncClearReload"; } { action = "pause"; bind = "ctrl p"; } { action = "unpause"; bind = "ctrl p"; } { action = "edit"; bind = "ctrl o"; } { action = "localsend"; bind = "ctrl l"; } ]; bookmarks = [ { action = "save"; bind = "Return"; after = "AsyncClearReload"; } { action = "open"; default = true; bind = "Return"; } { action = "delete"; bind = "ctrl d"; after = "AsyncClearReload"; } { action = "change_category"; label = "Change category"; bind = "ctrl y"; after = "Nothing"; } { action = "change_browser"; label = "Change browser"; bind = "ctrl b"; after = "Nothing"; } { action = "import"; label = "Import"; bind = "ctrl i"; after = "AsyncClearReload"; } { action = "create"; bind = "ctrl a"; after = "AsyncClearReload"; } { action = "search"; bind = "ctrl a"; after = "AsyncClearReload"; } ]; }; }; }; }; home.file.".config/elephant/websearch.toml".text = '' [[entries]] name = "DuckDuckGo" url = "https://duckduckgo.com/?q=%TERM%" default = true ''; }