From ac7fe9de547f9125831e3185ba7ba71cd94b9292 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Tue, 28 Apr 2026 15:51:03 -0700 Subject: [PATCH] Deploy Hyprland config from Lua branch source --- docs/hyprland-lua-migration-checklist.md | 11 ++++++++--- nixos/hyprland.nix | 12 ++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/docs/hyprland-lua-migration-checklist.md b/docs/hyprland-lua-migration-checklist.md index 771cb77b..065f419e 100644 --- a/docs/hyprland-lua-migration-checklist.md +++ b/docs/hyprland-lua-migration-checklist.md @@ -202,12 +202,17 @@ needs a live readback check. - [x] hyprNStack flake build check. - [x] hyprexpo Lua-branch flake build check. - [x] `ryzen-shine` system dry-run. +- [x] `just switch` activates successfully and deploys branch-owned + `~/.config/hypr/hyprland.lua`. - [x] Re-run checks after Hyprland/Lua input confirmation. - [ ] Try live compositor smoke test again after version bump. - [x] Document `--verify-config` caveats for Lua rule/plugin-specific config. -- [ ] Eventually run `just switch` only when the branch is coherent enough for a +- [x] Eventually run `just switch` only when the branch is coherent enough for a live test. Live-smoke note: this Hyprland binary exposes `--verify-config` but no -`--headless` CLI flag. A true compositor smoke test still needs either a nested -Wayland session that avoids startup side effects or an intentional `just switch`. +`--headless` CLI flag. `just switch` now installs the Lua branch binary and +deploys `hyprland.lua`, but the currently running compositor remains the old +0.53 process until the Hyprland session is restarted. A true compositor smoke +test still needs a session restart or a nested Wayland session that avoids +startup side effects. diff --git a/nixos/hyprland.nix b/nixos/hyprland.nix index def4286d..e1686df5 100644 --- a/nixos/hyprland.nix +++ b/nixos/hyprland.nix @@ -39,7 +39,15 @@ let home-manager.sharedModules = [ inputs.hyprscratch.homeModules.default - { + ({ config, ... }: { + xdg.configFile."hypr" = { + force = true; + source = + if cfg.useLuaConfigBranch + then ../dotfiles/config/hypr + else config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dotfiles/dotfiles/config/hypr"; + }; + services.kanshi = { enable = true; systemdTarget = "graphical-session.target"; @@ -139,7 +147,7 @@ let }; }; }; - } + }) ]; # Hyprland-specific packages