f533bbeb05
New `local.hyprland.workspaceRules` option binds workspaces to monitor connectors so each has a home screen; a consumer sets it from its own host config (empty by default). Soft binding — an absent monitor's workspaces fall back to an active one, so a laptop-only session still works. `$mod+o` / `$mod SHIFT+o` focus and move the current workspace to the other monitor. When rules are set, an `exec-once` nudges a single-monitor session to workspace 1 rather than a support monitor's high default. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
31 lines
1.1 KiB
Nix
31 lines
1.1 KiB
Nix
# Example home identity — the per-user placeholders that a real inventory fills
|
|
# in. Imported alongside the generic homeModules.default (see flake.nix).
|
|
|
|
{ ... }:
|
|
|
|
{
|
|
home.username = "user";
|
|
home.homeDirectory = "/home/user";
|
|
home.stateVersion = "26.05";
|
|
|
|
# Git identity. Set to your own; leaks into commit authorship anyway, so it
|
|
# belongs with the person, not the shared module.
|
|
programs.git.settings.user = {
|
|
name = "Example User";
|
|
email = "user@example.com";
|
|
};
|
|
|
|
# Optional: give workspaces a home monitor (see modules/hyprland-workspaces.nix).
|
|
# Bind by connector name (`hyprctl monitors`), not panel identity, so any
|
|
# monitor on that port inherits the rules. `default:true` sets what a screen
|
|
# shows on connect. Absent monitors fall back, so a single-screen session still
|
|
# works. Left unset here — uncomment and adjust to your outputs.
|
|
#
|
|
# local.hyprland.workspaceRules = [
|
|
# "1, monitor:HDMI-A-1, default:true" # external, workspaces 1-5
|
|
# "2, monitor:HDMI-A-1"
|
|
# "6, monitor:LVDS-1, default:true" # laptop, workspaces 6-9
|
|
# "7, monitor:LVDS-1"
|
|
# ];
|
|
}
|