Files
NixOS-Configs/home/hypr/quickshell.nix
Anish Govind d1e243dd12 hypr,nvim,quickshell: make configs live-editable
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.
2026-09-19 01:14:33 -07:00

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
];
}