Symlink three configs straight from the repo with mkOutOfStoreSymlink so edits apply without a rebuild: - home/hypr/hyprland.lua -> reload with `hyprctl reload` - home/hypr/quickshell/** -> restart quickshell - home/nvim/config/** -> next nvim start (lazy-lock.json now writable) Hyprland's config was generated Lua; extract it to a hand-maintained file and keep the palette and per-host monitors as generated fragments (theme.lua / monitors.lua) loaded via dofile. The file also restores the startup hook that imports the Wayland env into systemd and starts graphical-session.target, which the removed home-manager hyprland module used to provide. Verified: lua syntax + execution against a stub hl, and flake check.
41 lines
1010 B
Nix
41 lines
1010 B
Nix
{
|
|
pkgs,
|
|
inputs,
|
|
config,
|
|
my,
|
|
...
|
|
}:
|
|
|
|
let
|
|
quickshellPkg =
|
|
if
|
|
(
|
|
inputs ? quickshell
|
|
&& inputs.quickshell ? packages
|
|
&& inputs.quickshell.packages ? ${pkgs.stdenv.hostPlatform.system}
|
|
)
|
|
then
|
|
inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
else
|
|
(pkgs.quickshell or pkgs.qt6.qtbase);
|
|
in
|
|
{
|
|
# Quickshell overview module for Hyprland (Super+Tab workspace overview).
|
|
# Vendored from: https://github.com/Shanu-Kumawat/quickshell-overview
|
|
# Symlinked straight from the repo so edits are live; placed at the
|
|
# quickshell config root so a bare `qs` finds shell.qml.
|
|
xdg.configFile."quickshell".source =
|
|
config.lib.file.mkOutOfStoreSymlink "${my.flakeDir}/home/hypr/quickshell";
|
|
|
|
# Run quickshell as a systemd user service tied to the Wayland session.
|
|
programs.quickshell = {
|
|
enable = true;
|
|
package = quickshellPkg;
|
|
systemd.enable = true;
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
qt6.qtwayland
|
|
];
|
|
}
|