# home/desktop/hyprscrolling.nix (Home-Manager module) # home/desktop/hyprscrolling.nix (Home-Manager module) { config, lib, pkgs, flakeRoot, ... }: let cfg = config.programs.hyprscrolling; repoConf = flakeRoot + "/assets/conf/desktop/hypr/hyprscrolling.conf"; targetRel = "hypr/conf.d/90-hyprscrolling.conf"; in { options.programs.hyprscrolling.enable = lib.mkEnableOption "hyprscrolling Hyprland plugin"; config = lib.mkIf cfg.enable { wayland.windowManager.hyprland = { # the key part: load plugin like you did for hyprshell plugins = [ pkgs.hyprlandPlugins.hyprscrolling ]; # source the generated drop-in extraConfig = lib.mkAfter '' source = ~/.config/${targetRel} ''; }; # place your repo config into ~/.config/hypr/conf.d/... xdg.configFile."${targetRel}".source = repoConf; }; }