From 384408074bb25187363a16415ee76103e8d4b069 Mon Sep 17 00:00:00 2001 From: Joshua Yuen Date: Sun, 25 Jan 2026 14:31:51 -0500 Subject: [PATCH] Add walker launcher --- flake.lock | 83 ++++++++++++++++++++++++++++- flake.nix | 14 +++++ homes/josh/home.nix | 8 +++ hosts/vm/default.nix | 1 + modules/homes/default.nix | 1 + modules/homes/hyprland/binds.nix | 3 +- modules/homes/hyprland/hyprland.nix | 4 ++ modules/homes/walker.nix | 17 ++++++ modules/options/hyprland.nix | 9 ++++ 9 files changed, 137 insertions(+), 3 deletions(-) create mode 100644 modules/homes/walker.nix diff --git a/flake.lock b/flake.lock index 3780999..a1ec59e 100644 --- a/flake.lock +++ b/flake.lock @@ -68,6 +68,28 @@ "type": "github" } }, + "elephant": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems" + }, + "locked": { + "lastModified": 1769329000, + "narHash": "sha256-0vibWqmCsG1t4xL2euR6PScB3M4QZigB5JGl+BIH4NY=", + "owner": "abenz1267", + "repo": "elephant", + "rev": "1988112d1f54dd76e8a90f551945df763586bdad", + "type": "github" + }, + "original": { + "owner": "abenz1267", + "ref": "master", + "repo": "elephant", + "type": "github" + } + }, "firefox-gnome-theme": { "flake": false, "locked": { @@ -240,11 +262,13 @@ }, "root": { "inputs": { + "elephant": "elephant", "home-manager": "home-manager", "install-system": "install-system", "nix-vscode-extensions": "nix-vscode-extensions", "nixpkgs": "nixpkgs", - "stylix": "stylix" + "stylix": "stylix", + "walker": "walker" } }, "stylix": { @@ -260,7 +284,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems", + "systems": "systems_2", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -283,6 +307,21 @@ } }, "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -297,6 +336,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -377,6 +431,31 @@ "repo": "base16-zed", "type": "github" } + }, + "walker": { + "inputs": { + "elephant": [ + "elephant" + ], + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_3" + }, + "locked": { + "lastModified": 1769093508, + "narHash": "sha256-ccwJ1ADGNFd5LDF2JWdfP7+f1Hs2EvJ+2o6sUOdYi7w=", + "owner": "abenz1267", + "repo": "walker", + "rev": "e427025bdda667712b08dd56f1a0a23667f1364c", + "type": "github" + }, + "original": { + "owner": "abenz1267", + "ref": "master", + "repo": "walker", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 281ed14..0c8cc7d 100644 --- a/flake.nix +++ b/flake.nix @@ -7,15 +7,29 @@ url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; + nix-vscode-extensions = { url = "github:nix-community/nix-vscode-extensions"; inputs.nixpkgs.follows = "nixpkgs"; }; + stylix = { url = "github:danth/stylix/master"; inputs.nixpkgs.follows = "nixpkgs"; }; + elephant = { + url = "github:abenz1267/elephant/master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + walker = { + url = "github:abenz1267/walker/master"; + inputs = { + elephant.follows = "elephant"; + nixpkgs.follows = "nixpkgs"; + }; + }; + install-system = { url = "path:scripts/install-system"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/homes/josh/home.nix b/homes/josh/home.nix index b34d299..d9cac68 100644 --- a/homes/josh/home.nix +++ b/homes/josh/home.nix @@ -36,6 +36,14 @@ with lib; "nix-command" "flakes" ]; + 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=" + ]; }; }; } \ No newline at end of file diff --git a/hosts/vm/default.nix b/hosts/vm/default.nix index fb6b2ea..11f8f36 100644 --- a/hosts/vm/default.nix +++ b/hosts/vm/default.nix @@ -16,6 +16,7 @@ modules.hyprland = { enable = true; terminal = "kitty"; + launcher = "walker"; monitor = [ ",preferred,auto,1" ]; diff --git a/modules/homes/default.nix b/modules/homes/default.nix index 7e847a2..9c31785 100644 --- a/modules/homes/default.nix +++ b/modules/homes/default.nix @@ -10,6 +10,7 @@ ./overlays.nix ./stylix.nix ./vscodium.nix + ./walker.nix ./xdg.nix ./zsh ]; diff --git a/modules/homes/hyprland/binds.nix b/modules/homes/hyprland/binds.nix index a33b6fd..1d3d99b 100644 --- a/modules/homes/hyprland/binds.nix +++ b/modules/homes/hyprland/binds.nix @@ -11,10 +11,11 @@ in bind = [ # Misc "$mod,Return,exec,${cfg.terminal}" + "$mod,D,exec,walker" # Window management "$mod,C,killactive" - "$mod,F,fullscreen, 1" + "$mod,F,fullscreen,1" "$mod,Space,togglefloating" # Focus diff --git a/modules/homes/hyprland/hyprland.nix b/modules/homes/hyprland/hyprland.nix index 59494aa..ea4cd17 100644 --- a/modules/homes/hyprland/hyprland.nix +++ b/modules/homes/hyprland/hyprland.nix @@ -46,6 +46,10 @@ in }; }; + misc = { + initial_workspace_tracking = 2; + }; + env = [ "NIXOS_OZONE_WL, 1" "XDG_CURRENT_DESKTOP, Hyprland" diff --git a/modules/homes/walker.nix b/modules/homes/walker.nix new file mode 100644 index 0000000..61260ac --- /dev/null +++ b/modules/homes/walker.nix @@ -0,0 +1,17 @@ +{ + config, + inputs, + lib, + ... +}: +with lib; +let hyprlandCfg = config.modules.hyprland; +in +{ + imports = [ inputs.walker.homeManagerModules.default ]; + + programs.walker = mkIf (hyprlandCfg.launcher == "walker") { + enable = true; + runAsService = true; + }; +} \ No newline at end of file diff --git a/modules/options/hyprland.nix b/modules/options/hyprland.nix index 0f637e1..ddf4330 100644 --- a/modules/options/hyprland.nix +++ b/modules/options/hyprland.nix @@ -19,6 +19,15 @@ with lib; The terminal to use for Hyprland. ''; }; + launcher = mkOption { + type = types.enum [ + "walker" + ]; + default = "walker"; + description = '' + The application launcher to use for Hyprland. + ''; + }; monitor = mkOption { type = types.listOf types.str; default = [ ",preferred,auto,1" ];