feat: update to use hyprland and than back to gnome (wayland)

* add Waybar configs under `home-manager/hyprland/config/`
* extend Hyprland config with wallpaper, blur, animations, and new keybindings
* adjust common configs: Keychron (remove redundant xserver enable) and NVIDIA (add `videoDrivers = [ "nvidia" ]`)
* update `hosts/Nixstation` with GNOME desktop, GDM, Wacom config, and disable Hyprland
* add `home-manager/gnome/default.nix` with dconf, extensions, icons, and packages
* switch `home-manager/home.nix` from Hyprland to GNOME and update packages and Kitty config
This commit is contained in:
Thiago Sposito 2025-08-24 08:49:55 -03:00
parent 90825889e8
commit 60eef49dc2
8 changed files with 260 additions and 51 deletions

View file

@ -0,0 +1,58 @@
{
"layer": "top",
"position": "right",
"exclusive": true,
"modules-left": [
"hyprland/workspaces",
"hyprland/window"
],
"modules-center": [
"clock",
"temperature"
],
"modules-right": [
"pulseaudio",
"battery",
"network",
"tray"
],
"clock": {
"format": "{:%d/%m %H:%M}",
"interval": 1
},
"temperature": {
"hwmon-path-abs": "/sys/class/hwmon/hwmon1/temp1_input",
"format": " {temperatureC}°C",
"critical-threshold": 90,
"format-icons": [
"",
"",
""
]
},
"battery": {
"format": "{capacity}% {icon}",
"format-charging": "{capacity}% ⚡",
"format-icons": [
"",
"",
"",
"",
""
]
},
"network": {
"format-wifi": " {essid}",
"format-ethernet": " {ipaddr}",
"format-disconnected": " "
},
"pulseaudio": {
"format": "{volume}% {icon}",
"format-muted": "",
"format-icons": [
"",
"",
""
]
}
}

View file

@ -0,0 +1,48 @@
* {
color: #ffffff;
}
window#waybar {
background: transparent;
}
#workspaces {
flex-wrap: wrap;
max-width: 120px;
}
#workspaces button {
background: #ff00ff;
border-radius: 0;
width: 40px;
height: 40px;
margin: 2px;
padding: 0;
flex: 0 0 40px;
}
#workspaces button.active {
background: #ff00ff;
border: 2px solid #ffffff;
}
#window {
background: transparent;
}
#clock,
#battery,
#network,
#pulseaudio,
#tray,
#temperature {
background: transparent;
}
#pulseaudio.muted {
background: transparent;
}
#network.disconnected {
background: transparent;
}

View file

@ -1,4 +1,4 @@
_: {
{lib, ...}: {
home.sessionVariables = {
fileManager = "thunar";
menu = "fuzzel --show drun";
@ -14,17 +14,33 @@ _: {
};
home.file = {
".config/fuzzel/fuzzel.ini".text = builtins.readFile ./config/fuzzel.ini;
".config/waybar/config".text = builtins.readFile ./config/waybar_config.json;
".config/waybar/style.css".text = builtins.readFile ./config/waybar_style.css;
# ".config/waybar/config".text = builtins.readFile ./config/waybar_config.json;
# ".config/waybar/style.css".text = builtins.readFile ./config/waybar_style.css;
".config/hyprland/wallpaper/e-villa.png" = {
source = builtins.fetchurl {
url = "https://ipfs.io/ipfs/bafybeibsjbhleghcc4zdgarmsftd6jt27rb73g3mlbuup3cmuedw54uyqa";
sha256 = "0gxa45qigjcjb12v243jv37nji5dax6rn5y6l823f0a2s2hfkqm5";
};
force = true;
};
};
services.hyprpaper.enable = true;
services.hyprpaper.settings = {
preload = [ "/home/thiago/.config/hyprland/wallpaper/hydra.jpg" ];
wallpaper = [ "HDMI-A-1,/home/thiago/.config/hyprland/wallpaper/hydra.jpg" ];
};
wayland.windowManager.hyprland = {
enable = true;
settings = {
"$mod" = "SUPER";
layerrule = "ignorezero, waybar";
layerrule =[
"ignorezero, waybar"
"blur, waybar"
];
bind = [
"$mod, q, exec, kitty"
"$mod, f, exec, firefox"
"$mod, c, killactive,"
"$mod, m, exit,"
"$mod, e, exec, $fileManager"
@ -64,9 +80,10 @@ _: {
"$mod, mouse_up, workspace, e-1"
];
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
"$mod, mouse:272, movewindow" # Hold $mod and left mouse button to move window
"$mod, mouse:273, resizewindow" # Hold $mod and right mouse button to resize window
];
bindel = [
@ -91,14 +108,12 @@ _: {
];
monitor = [
",preferred,auto,auto"
"HDMI-A-2,1920x1080@50,0x0,1"
"eDP-1,2560x1600@60,1920x0,2"
];
general = {
gaps_in = 2;
gaps_out = 3;
border_size = 1;
gaps_in = 3;
gaps_out = 6;
border_size = 0;
resize_on_border = true;
allow_tearing = false;
layout = "dwindle";
@ -106,8 +121,10 @@ _: {
decoration = {
rounding = 2;
fullscreen_opacity = 1.0;
active_opacity = 1.0;
inactive_opacity = 0.9;
inactive_opacity = 0.95;
shadow = {
enabled = true;
range = 4;
@ -116,14 +133,16 @@ _: {
};
blur = {
enabled = true;
size = 17;
passes = 1;
size = 4;
passes = 4;
vibrancy = 0.1696;
vibrancy_darkness = 0.08;
# noise = 0.002;
};
};
animations = {
enabled = "yes, please :)";
enabled = true;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
@ -131,29 +150,32 @@ _: {
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 10, default"
"border, 1, 5.39, easeOutQuint"
"windows, 1, 4.79, easeOutQuint"
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1.49, linear, popin 87%"
"fadeIn, 1, 1.73, almostLinear"
"fadeOut, 1, 1.46, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 3.81, easeOutQuint"
"layersIn, 1, 4, easeOutQuint, fade"
"layersOut, 1, 1.5, linear, fade"
"fadeLayersIn, 1, 1.79, almostLinear"
"border, 1, 5.39, easeOutQuint"
"windows, 1, 4.79, easeOutQuint"
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1.49, linear, popin 87%"
"fadeIn, 1, 1.73, almostLinear"
"fadeOut, 1, 1.46, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 3.81, easeOutQuint"
"layersIn, 1, 4, easeOutQuint, fade"
"layersOut, 1, 1.5, linear, fade"
"fadeLayersIn, 1, 1.79, almostLinear"
"fadeLayersOut, 1, 1.39, almostLinear"
"workspaces, 1, 1.94, almostLinear, fade"
"workspacesIn, 1, 1.21, almostLinear, fade"
"workspaces, 1, 1.94, almostLinear, fade"
"workspacesIn, 1, 1.21, almostLinear, fade"
"workspacesOut, 1, 1.94, almostLinear, fade"
];
};
dwindle = {
pseudotile = true;
default_split_ratio = 0.618;
preserve_split = true;
smart_split = true;
};
master = {