treewide: move hyprland styling out of module

This commit is contained in:
Anthony Rodriguez 2025-01-17 11:55:05 +01:00
parent eb25ce0c43
commit e09569b921
Signed by: nezia
GPG key ID: EE3BE97C040A86CE
4 changed files with 106 additions and 113 deletions

View file

@ -4,7 +4,10 @@
pkgs, pkgs,
osConfig, osConfig,
... ...
}: { }: let
inherit (builtins) toString;
styleCfg = osConfig.local.style;
in {
imports = [./binds.nix]; imports = [./binds.nix];
config = lib.mkIf osConfig.local.modules.hyprland.enable { config = lib.mkIf osConfig.local.modules.hyprland.enable {
@ -35,85 +38,103 @@
systemd.enable = false; systemd.enable = false;
settings = { settings = lib.mkMerge [
xwayland = { {
force_zero_scaling = true; xwayland = {
}; force_zero_scaling = true;
env = [
"GDK_SCALE,1"
];
cursor = {
no_hardware_cursors = 1;
};
monitor = [
"eDP-1, preferred, auto, 1.33"
];
workspace = [
"special:terminal, on-created-empty:foot"
"special:mixer_gui, on-created-empty:pavucontrol"
"special:file_manager_gui, on-created-empty:nautilus"
"special:file_manager_tui, on-created-empty:foot -- yazi"
];
windowrulev2 = [
# fixes fullscreen windows (mostly games)
"stayfocused, initialtitle:^()$, initialclass:^(steam)$"
"minsize 1 1, initialtitle:^()$, initialclass:^(steam)$"
"maximize, initialtitle:^(\S+)$, initialclass:^(steamwebhelper)$"
"immediate, initialclass:^(steam_app_)(.*)$"
"fullscreen, initialclass:^(steam_app_)(.*)$"
# inhibit idle on every fullscreen app except games
"idleinhibit always, fullscreen:1,!initialclass:^(steam_app_)(.*)$"
];
render = {
explicit_sync = 1;
explicit_sync_kms = 1;
expand_undersized_textures = false;
};
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.1";
animation = [
"windows, 1, 5, myBezier"
"windowsOut, 1, 5, default, popin 80%"
"windowsMove, 1, 5, default, popin 80%"
"fade, 1, 5, default"
"border, 1, 5, default"
"borderangle, 0, 8, default"
"workspaces, 0"
"specialWorkspace, 0"
];
};
input = {
kb_options = "compose:ralt";
touchpad = {
natural_scroll = true;
scroll_factor = 0.8;
tap-to-click = true;
clickfinger_behavior = true;
}; };
};
gestures = { env = [
workspace_swipe = true; "GDK_SCALE,1"
workspace_swipe_direction_lock = false; ];
workspace_swipe_cancel_ratio = 0.15;
};
misc = { cursor = {
force_default_wallpaper = 0; no_hardware_cursors = 1;
disable_hyprland_logo = true; };
middle_click_paste = false;
}; monitor = [
}; "eDP-1, preferred, auto, 1.33"
];
workspace = [
"special:terminal, on-created-empty:foot"
"special:mixer_gui, on-created-empty:pavucontrol"
"special:file_manager_gui, on-created-empty:nautilus"
"special:file_manager_tui, on-created-empty:foot -- yazi"
];
windowrulev2 = [
# fixes fullscreen windows (mostly games)
"stayfocused, initialtitle:^()$, initialclass:^(steam)$"
"minsize 1 1, initialtitle:^()$, initialclass:^(steam)$"
"maximize, initialtitle:^(\S+)$, initialclass:^(steamwebhelper)$"
"immediate, initialclass:^(steam_app_)(.*)$"
"fullscreen, initialclass:^(steam_app_)(.*)$"
# inhibit idle on every fullscreen app except games
"idleinhibit always, fullscreen:1,!initialclass:^(steam_app_)(.*)$"
];
render = {
explicit_sync = 1;
explicit_sync_kms = 1;
expand_undersized_textures = false;
};
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.1";
animation = [
"windows, 1, 5, myBezier"
"windowsOut, 1, 5, default, popin 80%"
"windowsMove, 1, 5, default, popin 80%"
"fade, 1, 5, default"
"border, 1, 5, default"
"borderangle, 0, 8, default"
"workspaces, 0"
"specialWorkspace, 0"
];
};
input = {
kb_options = "compose:ralt";
touchpad = {
natural_scroll = true;
scroll_factor = 0.8;
tap-to-click = true;
clickfinger_behavior = true;
};
};
gestures = {
workspace_swipe = true;
workspace_swipe_direction_lock = false;
workspace_swipe_cancel_ratio = 0.15;
};
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
middle_click_paste = false;
};
}
(lib.mkIf styleCfg.enable {
env = [
"HYPRCURSOR_THEME,${styleCfg.cursorTheme.name}"
"HYPRCURSOR_SIZE,${toString styleCfg.cursorTheme.size}"
"XCURSOR_SIZE,${toString styleCfg.cursorTheme.size}"
];
general = {
border_size = 4;
"col.active_border" = "rgb(${lib.removePrefix "#" styleCfg.scheme.palette.base0E})";
};
decoration = {
rounding = 10;
blur.enabled = true;
};
})
];
}; };
}; };
} }

View file

@ -1,6 +1,7 @@
{ {
imports = [ imports = [
./gammastep.nix ./gammastep.nix
./gtk.nix
./syncthing.nix ./syncthing.nix
./swaync ./swaync
./udiskie.nix ./udiskie.nix

View file

@ -1,20 +1,19 @@
{ {
lib, lib,
config, osConfig,
... ...
}: let }: let
cfg = config.local.style; styleCfg = osConfig.local.style;
inherit (cfg) scheme;
in { in {
home-manager.sharedModules = lib.mkIf cfg.enable [ config = with styleCfg;
{ lib.mkIf styleCfg.enable {
gtk = rec { gtk = rec {
enable = true; enable = true;
iconTheme = { iconTheme = {
inherit (cfg.gtk.iconTheme) name package; inherit (gtk.iconTheme) name package;
}; };
theme = { theme = {
inherit (cfg.gtk.theme) name package; inherit (gtk.theme) name package;
}; };
gtk3.extraConfig = { gtk3.extraConfig = {
@ -24,6 +23,5 @@ in {
}; };
dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-${scheme.variant}"; dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-${scheme.variant}";
} };
];
} }

View file

@ -1,27 +0,0 @@
{
lib,
config,
...
}: let
cfg = config.local.style;
in {
config.home-manager.sharedModules = lib.mkIf cfg.enable [
{
wayland.windowManager.hyprland.settings = {
env = [
"HYPRCURSOR_THEME,phinger-cursors-light"
"HYPRCURSOR_SIZE,32"
"XCURSOR_SIZE,32"
];
general = {
border_size = 4;
"col.active_border" = "rgb(${lib.removePrefix "#" cfg.scheme.palette.base0E})";
};
decoration = {
rounding = 10;
blur.enabled = true;
};
};
}
];
}