# home/desktop/hyprshell.nix (Home-Manager module) { config, pkgs, lib, flakeRoot, ... }: let repoDir = flakeRoot + "/assets/conf/desktop/hypr/hyprshell"; cfgRon = repoDir + "/config.ron"; cssFile = repoDir + "/styles.css"; in { xdg.enable = true; home.packages = [ pkgs.hyprshell ]; # Link repo -> ~/.config/hyprshell/... xdg.configFile."hyprshell/config.ron".source = lib.mkForce cfgRon; xdg.configFile."hyprshell/config.ron".backup = lib.mkForce false; xdg.configFile."hyprshell/styles.css".source = lib.mkForce cssFile; xdg.configFile."hyprshell/styles.css".backup = lib.mkForce false; # Autostart (systemd user service) systemd.user.services.hyprshell = { Unit = { Description = "Hyprshell (window switcher / launcher)"; PartOf = [ "graphical-session.target" ]; After = [ "graphical-session.target" ]; }; Service = { ExecStart = "${pkgs.hyprshell}/bin/hyprshell"; Restart = "on-failure"; RestartSec = 1; }; Install = { WantedBy = [ "graphical-session.target" ]; }; }; }