Changes
6 changed files (+156/-262)
-
-
@@ -63,16 +63,5 @@# Must be installed in system's package manager. Otherwise won't work due # to missing access to PAM. programs.swaylock.package = null; # Exclude bloat binaries installed as a library dependency but the library # installs bloated utility executable. services.walker.settings.builtins.applications.blacklist = [ { regexp = "Avahi\\s.*"; } { regexp = "Electron\\s+\\d+"; } { regexp = "lstopo"; } { regexp = "Vifm"; } { regexp = "Vim"; } { regexp = "Qt\\s.*[Uu]tility"; } ]; }; }
-
-
-
@@ -0,0 +1,154 @@# Copyright 2026 Shota FUJI <pockawoooh@gmail.com> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH # REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY # AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, # INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # SPDX-License-Identifier: 0BSD # # > A wayland native, highly customizable runner. # https://github.com/anyrun-org/anyrun { config, lib, pkgs, ... }: let css = theme: /* css */ '' :root { --radius-sm: 3px; --radius-md: 4px; --radius-lg: 6px; --spacing-ratio: 2.41421; --spacing-md: 8px; --spacing-sm: calc(var(--spacing-md) / var(--spacing-ratio)); --spacing-xs: calc(var(--spacing-sm) / var(--spacing-ratio)); --spacing-lg: calc(var(--spacing-md) * var(--spacing-ratio)); --spacing-xl: calc(var(--spacing-lg) * var(--spacing-ratio)); --color-overlay-modifier: 2%; --color-overlay-opacity: 50%; --background-color: ${theme.base}; --surface-background-color: ${theme.surface}; --border-color: ${theme.foam}; --foreground-color: ${theme.text}; --dimmed-foreground-color: ${theme.subtle}; } window { background: var(--background-color); } .main { padding: var(--spacing-lg); border: 1px solid var(--border-color); background: var(--background-color); border-radius: var(--radius-md); box-shadow: 0 4px 8px oklch(0% 0% 0deg / 0.1); color: var(--foreground-color); } text { padding: var(--spacing-md); margin-bottom: var(--spacing-lg); background: var(--surface-background-color); border-radius: var(--radius-sm); color: var(--foreground-color); } row.match { padding: var(--spacing-md); margin: 0; background: var(--background-color); border-radius: var(--radius-sm); color: var(--foreground-color); } label.match { color: inherit; } .match:selected { background: var(--surface-background-color); } .description { font-size: 0.8em; color: var(--dimmed-foreground-color); } ''; in { config = { wayland-desktop.niri.spawn-at-startup = [ [ (lib.getExe pkgs.anyrun) "daemon" ] ]; programs.anyrun = { enable = true; config = { x = { fraction = 0.5; }; y = { fraction = 0.5; }; width = { absolute = 800; }; height = { absolute = 500; }; hidePluginInfo = true; closeOnClick = false; showResultsImmediately = true; # The version in nixpkgs does not have libactions at the moment. plugins = [ "${pkgs.anyrun}/lib/libapplications.so" "${pkgs.anyrun}/lib/libsymbols.so" ]; }; extraCss = null; }; xdg.configFile."anyrun/light.css".text = css config.palette.rose-pine.variants.${config.palette.rose-pine.light-variant}; xdg.configFile."anyrun/dark.css".text = css config.palette.rose-pine.variants.${config.palette.rose-pine.dark-variant}; services.darkman = { lightModeScripts.anyrun = '' ln -sf ${config.xdg.configHome}/anyrun/light.css ${config.xdg.configHome}/anyrun/style.css ''; darkModeScripts.anyrun = '' ln -sf ${config.xdg.configHome}/anyrun/dark.css ${config.xdg.configHome}/anyrun/style.css ''; }; }; }
-
-
-
@@ -18,6 +18,7 @@{ ... }: { imports = [ ./anyrun.nix ./cursor.nix ./darkman.nix ./dunst.nix
-
@@ -27,6 +28,5 @@./waybar.nix ./obs.nix ./swaylock.nix ./walker.nix ]; }
-
-
-
@@ -181,7 +181,7 @@ letMod+T { spawn "${config.lib.nixGL.wrap pkgs.ghostty}/bin/ghostty" "--working-directory=home"; } Mod+X { spawn "swaylock"; } Mod+Q { close-window; } Mod+Space { spawn "${pkgs.walker}/bin/walker" "--modules" "applications,commands,calc,power"; } Mod+Space { spawn "${lib.getExe pkgs.anyrun}"; } Mod+H { focus-column-left; } Mod+J { focus-window-down-or-column-right; }
-
-
modules/hm/wayland-desktop/walker.nix (deleted)
-
@@ -1,147 +0,0 @@# Copyright 2025 Shota FUJI <pockawoooh@gmail.com> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH # REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY # AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, # INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # SPDX-License-Identifier: 0BSD # # > Wayland-native application runner # https://github.com/abenz1267/walker # # I should switch to another launcher. v1 -> v2 change was bad (XML, seriously?) and # there is no way I'm going to add third-party Flakes that brings indirect dependencies # both for performance and for security. { config, lib, pkgs, ... }: { imports = [ ../palette/rose-pine.nix ]; config = { home.packages = [ pkgs.elephant ]; wayland-desktop.niri.spawn-at-startup = [ [ (lib.getExe pkgs.elephant) ] ]; services.walker = { enable = true; settings = { close_when_open = true; as_window = false; disable_click_to_close = false; force_keyboard_focus = true; keys = { accept_typeahead = [ "tab" ]; trigger_labels = "ralt"; next = [ "down" ]; prev = [ "up" ]; close = [ "esc" ]; remove_from_history = [ "shift backspace" ]; }; list = { dynamic_sub = true; max_entries = 50; show_initial_entries = true; single_click = true; visibility_threshold = 20; placeholder = "No Results"; }; search = { argument_delimiter = "#"; placeholder = "Search..."; delay = 0; }; activation_mode = { disabled = true; }; builtins = { applications = { weight = 5; name = "applications"; placeholder = "Applications"; prioritize_new = true; hide_actions_with_empty_query = true; refresh = true; show_sub_when_single = true; show_icon_when_single = true; show_generic = true; history = true; actions = { enabled = true; hide_category = false; hide_without_query = true; }; }; calc = { require_number = true; weight = 5; name = "calc"; icon = "accessories-calculator"; placeholder = "Calculator"; }; commands = { weight = 5; icon = "utilities-terminal"; name = "commands"; placeholder = "Commands"; }; custom_commands = { weight = 5; icon = "utilities-terminal"; name = "custom_commands"; placeholder = "Custom Commands"; }; }; plugins = [ { keep_sort = false; name = "power"; placeholder = "Power"; recalculate_score = true; show_icon_when_single = true; switcher_only = false; entries = [ { exec = "shutdown now"; icon = "system-shutdown"; label = "Shutdown"; } { exec = "reboot"; icon = "system-reboot"; label = "Reboot"; } { exec = "niri msg action power-off-monitors && swaylock"; icon = "system-lock-screen"; label = "Lock Screen"; } ]; } ]; }; }; }; }
-
-
-
@@ -1,102 +0,0 @@/* * Copyright 2025 Shota FUJI <pockawoooh@gmail.com> * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * SPDX-License-Identifier: 0BSD */ :root { --radius-sm: 3px; --radius-md: 4px; --radius-lg: 6px; --spacing-ratio: 2.41421; --spacing-md: 8px; --spacing-sm: calc(var(--spacing-md) / var(--spacing-ratio)); --spacing-xs: calc(var(--spacing-sm) / var(--spacing-ratio)); --spacing-lg: calc(var(--spacing-md) * var(--spacing-ratio)); --spacing-xl: calc(var(--spacing-lg) * var(--spacing-ratio)); --color-overlay-modifier: 2%; --color-overlay-opacity: 50%; } #window, #box, #search, #password, #input, #prompt, #clear, #typeahead, #list, child, scrollbar, slider, #item, #text, #label, #bar, #sub, #activationlabel { all: unset; } #cfgerr { background: rgba(255, 0, 0, 0.4); margin-top: 20px; padding: 8px; font-size: 1.2em; } #box { padding: var(--spacing-lg); border: 1px solid var(--border-color, var(--border-color-fallback)); background: var(--background-color, var(--background-color-fallback)); border-radius: var(--radius-md); box-shadow: 0 4px 8px oklch(0% 0% 0deg / 0.1); color: var(--foreground-color, var(--foreground-color-fallback)); } #search { padding: var(--spacing-md); background: var(--surface-background-color, var(--surface-background-color-fallback)); border-radius: var(--radius-sm); } child { padding: var(--spacing-md); border-radius: var(--radius-sm); } child:selected, child:hover { background: oklch( from var(--surface-background-color) calc(l + var(--color-overlay-modifier)) c h / var(--color-overlay-opacity) ); } #sub { font-size: 0.9em; color: var(--dimmed-foreground-color, var(--dimmed-foreground-color-fallback)); }
-