diff --git a/flake.lock b/flake.lock index 1795cb1..e0dba51 100644 --- a/flake.lock +++ b/flake.lock @@ -23,6 +23,28 @@ "type": "github" } }, + "anyrun": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_2" + }, + "locked": { + "lastModified": 1735301051, + "narHash": "sha256-jU88Q9tP4vuvWYGQcmOdFwI9e2uMPVYJHbXdiklIH9o=", + "owner": "anyrun-org", + "repo": "anyrun", + "rev": "06017e753c8886d5296768dca80745ee09402a2d", + "type": "github" + }, + "original": { + "owner": "anyrun-org", + "repo": "anyrun", + "type": "github" + } + }, "aquamarine": { "inputs": { "hyprutils": [ @@ -59,7 +81,7 @@ "basix": { "inputs": { "flake-compat": "flake-compat", - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "nixpkgs": "nixpkgs" }, "locked": { @@ -227,6 +249,27 @@ } }, "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "anyrun", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, @@ -244,7 +287,7 @@ "type": "github" } }, - "flake-parts_2": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "lanzaboote", @@ -265,7 +308,7 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_2" }, @@ -283,7 +326,7 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_5": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_3" }, @@ -301,7 +344,7 @@ "type": "github" } }, - "flake-parts_5": { + "flake-parts_6": { "inputs": { "nixpkgs-lib": [ "walker", @@ -339,7 +382,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { "lastModified": 1710146030, @@ -357,7 +400,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_6" + "systems": "systems_7" }, "locked": { "lastModified": 1731533236, @@ -619,7 +662,7 @@ "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": "nixpkgs_3", "pre-commit-hooks": "pre-commit-hooks", - "systems": "systems_3", + "systems": "systems_4", "xdph": "xdph" }, "locked": { @@ -722,7 +765,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_4" + "systems": "systems_5" }, "locked": { "lastModified": 1736774415, @@ -986,7 +1029,7 @@ "inputs": { "crane": "crane", "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" @@ -1144,7 +1187,7 @@ }, "nix-gaming": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "nixpkgs": "nixpkgs_6", "umu": "umu" }, @@ -1442,7 +1485,7 @@ }, "nvf": { "inputs": { - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_5", "flake-utils": "flake-utils_3", "mnw": "mnw", "nil": "nil", @@ -1570,7 +1613,7 @@ "plugin-vim-repeat": "plugin-vim-repeat", "plugin-vim-startify": "plugin-vim-startify", "plugin-which-key": "plugin-which-key", - "systems": "systems_7" + "systems": "systems_8" }, "locked": { "lastModified": 1736946667, @@ -3637,6 +3680,7 @@ "root": { "inputs": { "agenix": "agenix", + "anyrun": "anyrun", "basix": "basix", "deploy-rs": "deploy-rs", "firefox-addons": "firefox-addons", @@ -3724,21 +3768,6 @@ } }, "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -3753,6 +3782,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_4": { "locked": { "lastModified": 1689347949, @@ -3770,16 +3814,16 @@ }, "systems_5": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -3814,6 +3858,21 @@ } }, "systems_8": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_9": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -3889,7 +3948,7 @@ }, "utils": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1701680307, @@ -3907,9 +3966,9 @@ }, "walker": { "inputs": { - "flake-parts": "flake-parts_5", + "flake-parts": "flake-parts_6", "nixpkgs": "nixpkgs_10", - "systems": "systems_8" + "systems": "systems_9" }, "locked": { "lastModified": 1736883896, diff --git a/flake.nix b/flake.nix index 1b0e445..636fc30 100644 --- a/flake.nix +++ b/flake.nix @@ -50,6 +50,10 @@ url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; + anyrun = { + url = "github:anyrun-org/anyrun"; + inputs.nixpkgs.follows = "nixpkgs"; + }; basix.url = "github:notashelf/basix"; deploy-rs.url = "github:serokell/deploy-rs"; firefox-addons = { @@ -113,14 +117,13 @@ "https://cache.nixos.org?priority=10" "https://hyprland.cachix.org" "https://nix-gaming.cachix.org" - "https://walker.cachix.org" - "https://walker-git.cachix.org" + "https://anyrun.cachix.org" ]; extra-trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" - "walker-git.cachix.org-1:vmC0ocfPWh0S/vRAQGtChuiZBTAe4wiKDeyyXM0/7pM=" + "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" ]; }; } diff --git a/modules/hm/programs/anyrun.nix b/modules/hm/programs/anyrun.nix new file mode 100644 index 0000000..d2e4e81 --- /dev/null +++ b/modules/hm/programs/anyrun.nix @@ -0,0 +1,110 @@ +{ + lib, + pkgs, + inputs, + osConfig, + ... +}: let + inherit (lib) mkIf; + anyrunPkgs = inputs.anyrun.packages.${pkgs.system}; +in { + imports = [inputs.anyrun.homeManagerModules.default]; + config = mkIf osConfig.local.modules.hyprland.enable { + programs.anyrun = { + enable = true; + config = { + x = {fraction = 0.5;}; + y = {fraction = 0.3;}; + width = {fraction = 0.3;}; + hideIcons = false; + ignoreExclusiveZones = false; + layer = "overlay"; + hidePluginInfo = false; + closeOnClick = true; + showResultsImmediately = true; + maxEntries = null; + + plugins = with anyrunPkgs; [ + applications + symbols + randr + ]; + }; + + extraCss = + /* + css + */ + '' + #window { + background-color: rgba(0, 0, 0, 0); + } + + box#main { + border-radius: 10px; + background-color: @theme_bg_color; + } + + list#main { + background-color: rgba(0, 0, 0, 0); + border-radius: 10px; + } + + list#plugin { + background-color: rgba(0, 0, 0, 0); + } + + label#match-desc { + font-size: 10px; + } + + label#plugin { + font-size: 14px; + } + ''; + + extraConfigFiles = { + "applications.ron".text = '' + Config( + // Also show the Desktop Actions defined in the desktop files, e.g. "New Window" from LibreWolf + desktop_actions: true, + max_entries: 5, + // The terminal used for running terminal based desktop entries, if left as `None` a static list of terminals is used + // to determine what terminal to use. + terminal: Some(Terminal( + // The main terminal command + command: "foot", + // What arguments should be passed to the terminal process to run the command correctly + // {} is replaced with the command in the desktop entry + args: "uwsm app -- {}", + )), + ) + ''; + + "symbols.ron".text = '' + Config( + // The prefix that the search needs to begin with to yield symbol results + prefix: ":s", + + // Custom user defined symbols to be included along the unicode symbols + symbols: { + // "name": "text to be copied" + "shrug": "¯\\_(ツ)_/¯", + "tableflip": "(╯°□°)╯︵ ┻━┻", + "unflip": "┬─┬ノ( º _ ºノ)", + }, + + // The number of entries to be displayed + max_entries: 5, + ) + ''; + "randr.ron".text = '' + Config( + prefix: ":d", + max_entries: 5, + ) + ''; + }; + }; + }; +} diff --git a/modules/hm/programs/default.nix b/modules/hm/programs/default.nix index 5319976..2094bba 100644 --- a/modules/hm/programs/default.nix +++ b/modules/hm/programs/default.nix @@ -6,11 +6,11 @@ ./media ./terminal + ./anyrun.nix ./discord.nix ./games.nix ./gnome.nix ./misc.nix - ./walker.nix ./waybar.nix ./wlogout.nix ./xdg.nix diff --git a/modules/hm/programs/hypr/land/binds.nix b/modules/hm/programs/hypr/land/binds.nix index 9b41ff1..6ca7b94 100644 --- a/modules/hm/programs/hypr/land/binds.nix +++ b/modules/hm/programs/hypr/land/binds.nix @@ -14,7 +14,7 @@ in { wayland.windowManager.hyprland.settings = { "$mod" = "SUPER"; bindr = [ - "$mod, SUPER_L, exec, walker" + "$mod, SUPER_L, exec, ${toggle "anyrun" true}" ]; bind = [ "$mod, Return, exec, ${run "foot"}" @@ -23,7 +23,7 @@ in { ", Print, exec, ${runOnce "grimblast"} --notify --cursor copysave output" "$mod, q, killactive" "$mod SHIFT, q, exec, loginctl terminate-user ''" - "$mod, period, exec, ${toggle "walker -m emojis" false}" # not using uwsm as it already runs as a service + "$mod, period, exec, ${toggle "anyrun-symbols" true}" "CTRL, Print, exec, ${runOnce "grimblast"} --notify --cursor --freeze copysave area" "$mod, h, movefocus, l"