Added hyprscrolling just like hyprexpo

This commit is contained in:
2026-02-25 07:03:23 +01:00
parent 438899b070
commit 496ba5e53f
+16 -41
View File
@@ -2,54 +2,29 @@
config, config,
lib, lib,
pkgs, pkgs,
flakeRoot,
... ...
}: }:
let
cfg = config.programs.hyprscrolling;
# Read configuration from your repo (as requested)
confSrc = flakeRoot + "/assets/conf/desktop/hypr/hyprscrolling.conf";
# Where we place the generated/symlinked config inside ~/.config
confTarget = "hypr/conf.d/90-hyprscrolling.conf";
in
{ {
options.programs.hyprscrolling = { wayland.windowManager.hyprland = {
enable = lib.mkEnableOption "Hyprscrolling plugin (scrolling layout) for Hyprland"; plugins = [
pkgs.hyprlandPlugins.hyprscrolling
package = lib.mkOption {
type = lib.types.package;
default = pkgs.hyprlandPlugins.hyprscrolling;
description = "hyprscrolling plugin package to load via wayland.windowManager.hyprland.plugins.";
};
};
config = lib.mkIf cfg.enable {
assertions = [
{
assertion = config.wayland.windowManager.hyprland.enable or false;
message = "programs.hyprscrolling.enable requires wayland.windowManager.hyprland.enable = true (Home-Manager Hyprland module).";
}
{
assertion = builtins.pathExists confSrc;
message = "Missing hyprscrolling.conf at: ${toString confSrc}";
}
]; ];
# Ensure plugin is installed + loaded (HM will add the needed plugin loading lines) extraConfig = lib.mkAfter ''
wayland.windowManager.hyprland.plugins = [ ############################
cfg.package # Hyprscrolling (scrolling layout)
]; ############################
# Put your config file into ~/.config/hypr/conf.d/... general {
xdg.configFile."${confTarget}".source = confSrc; layout = scrolling
}
# Ensure Hyprland reads it (even if your main config doesn't source conf.d) # hyprscrolling uses plugin:hyprscrolling
wayland.windowManager.hyprland.extraConfig = '' plugin:hyprscrolling {
# Loaded by Home-Manager: hyprscrolling # examples; tune to taste
source = ${config.xdg.configHome}/${confTarget} # column_width = 0.70
# fullscreen_on_one_column = 1
}
''; '';
}; };
} }