{ config, lib, pkgs, ... }: let moduleName = "hm-hyprshell"; # Absolute path in your home repo (string is fine here, but we must convert properly) repoDir = "${config.home.homeDirectory}/nixos/files/conf/hyprshell"; in { xdg.enable = true; # Symlink the whole directory into ~/.config/hyprshell xdg.configFile."hyprshell" = { source = config.lib.file.mkOutOfStoreSymlink repoDir; recursive = true; }; home.packages = [ pkgs.hyprshell ]; systemd.user.services.hyprshell = { Unit = { Description = "Hyprshell"; PartOf = [ "graphical-session.target" ]; After = [ "graphical-session.target" ]; }; Service = { ExecStart = "${pkgs.hyprshell}/bin/hyprshell run"; Restart = "on-failure"; RestartSec = 1; }; Install = { WantedBy = [ "graphical-session.target" ]; }; }; home.file.".nixlog/loaded.${moduleName}-module-loaded".text = "loaded\n"; }