hypr: switch to hyprexpo and stabilize waybar

This commit is contained in:
2026-02-03 23:32:47 -08:00
parent ae5036721a
commit 389f746a94
4 changed files with 63 additions and 65 deletions

View File

@@ -7,7 +7,7 @@
# ============================================================================= # =============================================================================
# Load the plugin before parsing keybinds/layouts that depend on it # Load the plugin before parsing keybinds/layouts that depend on it
plugin = /run/current-system/sw/lib/libhy3.so plugin = /run/current-system/sw/lib/libhy3.so
plugin = /run/current-system/sw/lib/libHyprspace.so plugin = /run/current-system/sw/lib/libhyprexpo.so
# ============================================================================= # =============================================================================
# MONITORS # MONITORS
@@ -239,10 +239,9 @@ bind = $mainMod SHIFT, P, exec, $runMenu
bind = $mainMod SHIFT, Return, exec, $terminal bind = $mainMod SHIFT, Return, exec, $terminal
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Overview (Hyprspace) # Overview (Hyprexpo)
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
bind = $mainMod, TAB, overview:toggle bind = $mainMod, TAB, hyprexpo:expo, toggle
bind = $mainMod SHIFT, TAB, overview:toggle, all
bind = $mainMod, Q, killactive, bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, C, killactive, bind = $mainMod SHIFT, C, killactive,
bind = $mainMod SHIFT, Q, exit, bind = $mainMod SHIFT, Q, exit,
@@ -363,6 +362,9 @@ bind = $mainMod, T, togglefloating,
binde = $mainMod, comma, resizeactive, -50 0 binde = $mainMod, comma, resizeactive, -50 0
binde = $mainMod, period, resizeactive, 50 0 binde = $mainMod, period, resizeactive, 50 0
# Equalize window sizes on workspace (hy3)
bind = $mainMod SHIFT, equal, hy3:equalize, workspace
# Kill group - removes the focused window from its group # Kill group - removes the focused window from its group
bind = $mainMod, N, hy3:killactive bind = $mainMod, N, hy3:killactive
@@ -454,7 +456,7 @@ bind = $mainMod SHIFT, B, exec, ~/.config/hypr/scripts/replace-window.sh
bind = $hyper, G, exec, ~/.config/hypr/scripts/gather-class.sh bind = $hyper, G, exec, ~/.config/hypr/scripts/gather-class.sh
# Focus next window of different class (like XMonad's focusNextClass) # Focus next window of different class (like XMonad's focusNextClass)
bind = $mainMod, Tab, exec, ~/.config/hypr/scripts/focus-next-class.sh bind = $mainMod, apostrophe, exec, ~/.config/hypr/scripts/focus-next-class.sh
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# MEDIA KEYS # MEDIA KEYS

103
nixos/flake.lock generated
View File

@@ -29,7 +29,7 @@
"railbird-secrets", "railbird-secrets",
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_12" "systems": "systems_11"
}, },
"locked": { "locked": {
"lastModified": 1707830867, "lastModified": 1707830867,
@@ -405,7 +405,7 @@
}, },
"flake-utils_10": { "flake-utils_10": {
"inputs": { "inputs": {
"systems": "systems_13" "systems": "systems_12"
}, },
"locked": { "locked": {
"lastModified": 1709126324, "lastModified": 1709126324,
@@ -423,7 +423,7 @@
}, },
"flake-utils_11": { "flake-utils_11": {
"inputs": { "inputs": {
"systems": "systems_15" "systems": "systems_14"
}, },
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1710146030,
@@ -441,7 +441,7 @@
}, },
"flake-utils_12": { "flake-utils_12": {
"inputs": { "inputs": {
"systems": "systems_16" "systems": "systems_15"
}, },
"locked": { "locked": {
"lastModified": 1685518550, "lastModified": 1685518550,
@@ -459,7 +459,7 @@
}, },
"flake-utils_13": { "flake-utils_13": {
"inputs": { "inputs": {
"systems": "systems_17" "systems": "systems_16"
}, },
"locked": { "locked": {
"lastModified": 1681202837, "lastModified": 1681202837,
@@ -515,7 +515,7 @@
}, },
"flake-utils_4": { "flake-utils_4": {
"inputs": { "inputs": {
"systems": "systems_6" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -533,7 +533,7 @@
}, },
"flake-utils_5": { "flake-utils_5": {
"inputs": { "inputs": {
"systems": "systems_7" "systems": "systems_6"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -551,7 +551,7 @@
}, },
"flake-utils_6": { "flake-utils_6": {
"inputs": { "inputs": {
"systems": "systems_8" "systems": "systems_7"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -569,7 +569,7 @@
}, },
"flake-utils_7": { "flake-utils_7": {
"inputs": { "inputs": {
"systems": "systems_9" "systems": "systems_8"
}, },
"locked": { "locked": {
"lastModified": 1685518550, "lastModified": 1685518550,
@@ -587,7 +587,7 @@
}, },
"flake-utils_8": { "flake-utils_8": {
"inputs": { "inputs": {
"systems": "systems_10" "systems": "systems_9"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -605,7 +605,7 @@
}, },
"flake-utils_9": { "flake-utils_9": {
"inputs": { "inputs": {
"systems": "systems_11" "systems": "systems_10"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -1526,6 +1526,37 @@
"type": "github" "type": "github"
} }
}, },
"hyprland-plugins": {
"inputs": {
"hyprland": [
"hyprland"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1767020608,
"narHash": "sha256-BSRT1Uu1ot4WfMfZc6KW0nwpmt2xl9wpUqmH/JoMTfk=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "d7b67e8f4ba8ebeee4ce899348fcee6291512169",
"type": "github"
},
"original": {
"owner": "hyprwm",
"ref": "v0.53.0",
"repo": "hyprland-plugins",
"type": "github"
}
},
"hyprland-protocols": { "hyprland-protocols": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -1580,27 +1611,6 @@
"type": "github" "type": "github"
} }
}, },
"hyprspace": {
"inputs": {
"hyprland": [
"hyprland"
],
"systems": "systems_5"
},
"locked": {
"lastModified": 1767871242,
"narHash": "sha256-Gge7LY1lrPc2knDnyw8GBQ2sxRPzM7W2T6jNG1HY5bA=",
"owner": "KZDKM",
"repo": "Hyprspace",
"rev": "bcd969224ffeb6266c6618c192949461135eef38",
"type": "github"
},
"original": {
"owner": "KZDKM",
"repo": "Hyprspace",
"type": "github"
}
},
"hyprtoolkit": { "hyprtoolkit": {
"inputs": { "inputs": {
"aquamarine": [ "aquamarine": [
@@ -2505,7 +2515,7 @@
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"hy3": "hy3", "hy3": "hy3",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprspace": "hyprspace", "hyprland-plugins": "hyprland-plugins",
"imalison-taffybar": "imalison-taffybar", "imalison-taffybar": "imalison-taffybar",
"nix": "nix", "nix": "nix",
"nixified-ai": "nixified-ai", "nixified-ai": "nixified-ai",
@@ -2517,7 +2527,7 @@
"org-agenda-api": "org-agenda-api", "org-agenda-api": "org-agenda-api",
"railbird-secrets": "railbird-secrets", "railbird-secrets": "railbird-secrets",
"status-notifier-item": "status-notifier-item_2", "status-notifier-item": "status-notifier-item_2",
"systems": "systems_14", "systems": "systems_13",
"taffybar": "taffybar_2", "taffybar": "taffybar_2",
"vscode-server": "vscode-server", "vscode-server": "vscode-server",
"xmonad": "xmonad_3", "xmonad": "xmonad_3",
@@ -2757,21 +2767,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_17": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": { "systems_2": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@@ -2819,16 +2814,16 @@
}, },
"systems_5": { "systems_5": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1681028828,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"type": "github" "type": "github"
} }
}, },

View File

@@ -42,8 +42,8 @@
inputs.hyprland.follows = "hyprland"; inputs.hyprland.follows = "hyprland";
}; };
hyprspace = { hyprland-plugins = {
url = "github:KZDKM/Hyprspace"; url = "github:hyprwm/hyprland-plugins?ref=v0.53.0";
inputs.hyprland.follows = "hyprland"; inputs.hyprland.follows = "hyprland";
}; };
@@ -158,7 +158,7 @@
imalison-taffybar, imalison-taffybar,
hyprland, hyprland,
hy3, hy3,
hyprspace, hyprland-plugins,
org-agenda-api, org-agenda-api,
flake-utils, flake-utils,
... ...

View File

@@ -29,8 +29,9 @@ makeEnable config "myModules.hyprland" true {
After = [ "hyprland-session.target" ]; After = [ "hyprland-session.target" ];
}; };
Service = { Service = {
ExecStartPre = "${pkgs.bash}/bin/bash -lc 'uid=$(id -u); for i in $(seq 1 50); do runtime_dir=\"$XDG_RUNTIME_DIR\"; if [ -z \"$runtime_dir\" ]; then runtime_dir=\"/run/user/$uid\"; fi; if [ -n \"$WAYLAND_DISPLAY\" ] && [ -S \"$runtime_dir/$WAYLAND_DISPLAY\" ]; then exit 0; fi; sleep 0.1; done; exit 1'";
ExecStart = "${pkgs.waybar}/bin/waybar"; ExecStart = "${pkgs.waybar}/bin/waybar";
Restart = "on-failure"; Restart = "always";
RestartSec = 1; RestartSec = 1;
}; };
Install = { Install = {
@@ -59,8 +60,8 @@ makeEnable config "myModules.hyprland" true {
# hy3 plugin from flake (properly built against matching Hyprland) # hy3 plugin from flake (properly built against matching Hyprland)
inputs.hy3.packages.${pkgs.stdenv.hostPlatform.system}.hy3 inputs.hy3.packages.${pkgs.stdenv.hostPlatform.system}.hy3
# Hyprspace plugin from flake (workspace overview) # Hyprexpo plugin from hyprland-plugins (workspace overview)
inputs.hyprspace.packages.${pkgs.stdenv.hostPlatform.system}.Hyprspace inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo
# For scripts # For scripts
jq jq