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:
parent
90825889e8
commit
60eef49dc2
8 changed files with 260 additions and 51 deletions
39
home-manager/gnome/default.nix
Normal file
39
home-manager/gnome/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
|
||||||
|
"org/gnome/shell" = {
|
||||||
|
disable-user-extensions = false;
|
||||||
|
favorite-apps = [
|
||||||
|
"org.gnome.Settings.desktop"
|
||||||
|
"org.gnome.Nautilus.desktop"
|
||||||
|
"firefox.desktop"
|
||||||
|
"org.gnome.Calendar.desktop"
|
||||||
|
"code.desktop"
|
||||||
|
"kitty.desktop"
|
||||||
|
];
|
||||||
|
|
||||||
|
enabled-extensions = [
|
||||||
|
""
|
||||||
|
"trayIconsReloaded@selfmade.pl"
|
||||||
|
"Vitals@CoreCoding.com"
|
||||||
|
"sound-output-device-chooser@kgshank.net"
|
||||||
|
"space-bar@luchrioh"
|
||||||
|
"Forge@forge-ext"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
gnomeExtensions.pop-shell
|
||||||
|
gnomeExtensions.forge
|
||||||
|
gnomeExtensions.tray-icons-reloaded
|
||||||
|
gnomeExtensions.vitals
|
||||||
|
gnomeExtensions.sound-output-device-chooser
|
||||||
|
gnomeExtensions.space-bar
|
||||||
|
nordzy-icon-theme
|
||||||
|
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -1,12 +1,9 @@
|
||||||
{ config
|
{ pkgs
|
||||||
, inputs
|
|
||||||
, lib
|
|
||||||
, pkgs
|
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hyprland
|
./gnome
|
||||||
./vim.nix
|
./vim.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
];
|
];
|
||||||
|
|
@ -14,9 +11,6 @@
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
config.permittedInsecurePackages = [
|
|
||||||
"libsoup-2.74.3"
|
|
||||||
];
|
|
||||||
# Workaround for https://github.com/nix-community/home-manager/issues/2942
|
# Workaround for https://github.com/nix-community/home-manager/issues/2942
|
||||||
# nixpkgs.config.allowUnfreePredicate =
|
# nixpkgs.config.allowUnfreePredicate =
|
||||||
# pkg:
|
# pkg:
|
||||||
|
|
@ -40,11 +34,15 @@
|
||||||
hwinfo
|
hwinfo
|
||||||
hydralauncher
|
hydralauncher
|
||||||
inkscape
|
inkscape
|
||||||
|
wl-clipboard
|
||||||
|
kanshi
|
||||||
keymapp
|
keymapp
|
||||||
lazygit
|
lazygit
|
||||||
libinput
|
libinput
|
||||||
librespot
|
librespot
|
||||||
luarocks
|
luarocks
|
||||||
|
nerd-fonts.gohufont
|
||||||
|
nerd-fonts.fira-code
|
||||||
nil
|
nil
|
||||||
nixpkgs-fmt
|
nixpkgs-fmt
|
||||||
nordic
|
nordic
|
||||||
|
|
@ -57,9 +55,12 @@
|
||||||
statix
|
statix
|
||||||
stylua
|
stylua
|
||||||
sysbench
|
sysbench
|
||||||
|
swaybg
|
||||||
transmission_4
|
transmission_4
|
||||||
uget
|
uget
|
||||||
unzip
|
unzip
|
||||||
|
wl-clipboard
|
||||||
|
zed-editor
|
||||||
];
|
];
|
||||||
username = "thiago";
|
username = "thiago";
|
||||||
};
|
};
|
||||||
|
|
@ -99,19 +100,24 @@
|
||||||
kitty = {
|
kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keybindings = {
|
keybindings = {
|
||||||
|
# splitting
|
||||||
|
"ctrl+shift+enter" = "new_window";
|
||||||
|
"ctrl+shift+\\" = "new_window --location=hsplit";
|
||||||
|
# resizing
|
||||||
"ctrl+alt+left" = "resize_window narrower";
|
"ctrl+alt+left" = "resize_window narrower";
|
||||||
"ctrl+alt+right" = "resize_window wider";
|
"ctrl+alt+right" = "resize_window wider";
|
||||||
"ctrl+alt+up" = "resize_window taller";
|
"ctrl+alt+up" = "resize_window taller";
|
||||||
"ctrl+alt+down" = "resize_window shorter";
|
"ctrl+alt+down" = "resize_window shorter";
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
hide_window_decorations = "titlebar-only";
|
hide_window_decorations = "titlebar-only";
|
||||||
font_size = 16;
|
font_size = 18;
|
||||||
font = "ComicShannsMono Nerd Font Mono";
|
font_family="GohuFont 14 Nerd Font Mono";
|
||||||
inactive_text_alpha = "0.6";
|
inactive_text_alpha = "0.6";
|
||||||
background_blur = 16;
|
# background_blur = 32;
|
||||||
background_opacity = 0.0;
|
background_opacity = 1.0;
|
||||||
};
|
};
|
||||||
themeFile = "Nord";
|
themeFile = "Nord";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{lib, ...}: {
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
fileManager = "thunar";
|
fileManager = "thunar";
|
||||||
menu = "fuzzel --show drun";
|
menu = "fuzzel --show drun";
|
||||||
|
|
@ -14,17 +14,33 @@ _: {
|
||||||
};
|
};
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/fuzzel/fuzzel.ini".text = builtins.readFile ./config/fuzzel.ini;
|
".config/fuzzel/fuzzel.ini".text = builtins.readFile ./config/fuzzel.ini;
|
||||||
".config/waybar/config".text = builtins.readFile ./config/waybar_config.json;
|
# ".config/waybar/config".text = builtins.readFile ./config/waybar_config.json;
|
||||||
".config/waybar/style.css".text = builtins.readFile ./config/waybar_style.css;
|
# ".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 = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
layerrule = "ignorezero, waybar";
|
layerrule =[
|
||||||
|
"ignorezero, waybar"
|
||||||
|
"blur, waybar"
|
||||||
|
];
|
||||||
bind = [
|
bind = [
|
||||||
"$mod, q, exec, kitty"
|
"$mod, q, exec, kitty"
|
||||||
|
"$mod, f, exec, firefox"
|
||||||
"$mod, c, killactive,"
|
"$mod, c, killactive,"
|
||||||
"$mod, m, exit,"
|
"$mod, m, exit,"
|
||||||
"$mod, e, exec, $fileManager"
|
"$mod, e, exec, $fileManager"
|
||||||
|
|
@ -64,9 +80,10 @@ _: {
|
||||||
"$mod, mouse_up, workspace, e-1"
|
"$mod, mouse_up, workspace, e-1"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
bindm = [
|
bindm = [
|
||||||
"$mod, mouse:272, movewindow"
|
"$mod, mouse:272, movewindow" # Hold $mod and left mouse button to move window
|
||||||
"$mod, mouse:273, resizewindow"
|
"$mod, mouse:273, resizewindow" # Hold $mod and right mouse button to resize window
|
||||||
];
|
];
|
||||||
|
|
||||||
bindel = [
|
bindel = [
|
||||||
|
|
@ -91,14 +108,12 @@ _: {
|
||||||
];
|
];
|
||||||
monitor = [
|
monitor = [
|
||||||
",preferred,auto,auto"
|
",preferred,auto,auto"
|
||||||
"HDMI-A-2,1920x1080@50,0x0,1"
|
|
||||||
"eDP-1,2560x1600@60,1920x0,2"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
general = {
|
general = {
|
||||||
gaps_in = 2;
|
gaps_in = 3;
|
||||||
gaps_out = 3;
|
gaps_out = 6;
|
||||||
border_size = 1;
|
border_size = 0;
|
||||||
resize_on_border = true;
|
resize_on_border = true;
|
||||||
allow_tearing = false;
|
allow_tearing = false;
|
||||||
layout = "dwindle";
|
layout = "dwindle";
|
||||||
|
|
@ -106,8 +121,10 @@ _: {
|
||||||
|
|
||||||
decoration = {
|
decoration = {
|
||||||
rounding = 2;
|
rounding = 2;
|
||||||
|
fullscreen_opacity = 1.0;
|
||||||
active_opacity = 1.0;
|
active_opacity = 1.0;
|
||||||
inactive_opacity = 0.9;
|
inactive_opacity = 0.95;
|
||||||
|
|
||||||
shadow = {
|
shadow = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
range = 4;
|
range = 4;
|
||||||
|
|
@ -116,14 +133,16 @@ _: {
|
||||||
};
|
};
|
||||||
blur = {
|
blur = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
size = 17;
|
size = 4;
|
||||||
passes = 1;
|
passes = 4;
|
||||||
vibrancy = 0.1696;
|
vibrancy = 0.1696;
|
||||||
|
vibrancy_darkness = 0.08;
|
||||||
|
# noise = 0.002;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
animations = {
|
animations = {
|
||||||
enabled = "yes, please :)";
|
enabled = true;
|
||||||
bezier = [
|
bezier = [
|
||||||
"easeOutQuint,0.23,1,0.32,1"
|
"easeOutQuint,0.23,1,0.32,1"
|
||||||
"easeInOutCubic,0.65,0.05,0.36,1"
|
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||||
|
|
@ -131,6 +150,7 @@ _: {
|
||||||
"almostLinear,0.5,0.5,0.75,1.0"
|
"almostLinear,0.5,0.5,0.75,1.0"
|
||||||
"quick,0.15,0,0.1,1"
|
"quick,0.15,0,0.1,1"
|
||||||
];
|
];
|
||||||
|
|
||||||
animation = [
|
animation = [
|
||||||
"global, 1, 10, default"
|
"global, 1, 10, default"
|
||||||
"border, 1, 5.39, easeOutQuint"
|
"border, 1, 5.39, easeOutQuint"
|
||||||
|
|
@ -153,7 +173,9 @@ _: {
|
||||||
|
|
||||||
dwindle = {
|
dwindle = {
|
||||||
pseudotile = true;
|
pseudotile = true;
|
||||||
|
default_split_ratio = 0.618;
|
||||||
preserve_split = true;
|
preserve_split = true;
|
||||||
|
smart_split = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
master = {
|
master = {
|
||||||
|
|
|
||||||
|
|
@ -17,12 +17,42 @@
|
||||||
loader.systemd-boot.enable = true;
|
loader.systemd-boot.enable = true;
|
||||||
loader.efi.canTouchEfiVariables = true;
|
loader.efi.canTouchEfiVariables = true;
|
||||||
};
|
};
|
||||||
|
environment.etc."libwacom/intuos4-4x6.tablet".text = ''
|
||||||
|
# Wacom
|
||||||
|
# Intuos4 Small
|
||||||
|
[Device]
|
||||||
|
Name=Wacom Intuos4 4x6
|
||||||
|
DeviceMatch=usb:056a:00b8
|
||||||
|
Class=Intuos4
|
||||||
|
Width=6
|
||||||
|
Height=4
|
||||||
|
Layout=intuos4-4x6.svg
|
||||||
|
IntegratedIn=
|
||||||
|
Styli=0x802;0x804;0x806;0x80a;0x80c;0x902;0x90a;0x100802;0x100804;0x10080a;0x10080c;0x100902;0x10090a;0x120802;0x140802;0x14080a;0x160802;0x16080a;
|
||||||
|
|
||||||
|
[Features]
|
||||||
|
Reversible=true
|
||||||
|
Stylus=true
|
||||||
|
Ring=true
|
||||||
|
Buttons=7
|
||||||
|
StatusLEDs=Ring
|
||||||
|
|
||||||
|
[Buttons]
|
||||||
|
Left=A;B;C;D;E;F;G
|
||||||
|
|
||||||
|
Ring=A
|
||||||
|
RingNumModes=4
|
||||||
|
'';
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
act
|
act
|
||||||
btrfs-progs
|
btrfs-progs
|
||||||
cudatoolkit
|
cudatoolkit
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
|
libwacom
|
||||||
|
wacomtablet
|
||||||
|
gnome-tweaks
|
||||||
|
gnome-session
|
||||||
];
|
];
|
||||||
|
|
||||||
variables = {
|
variables = {
|
||||||
|
|
@ -82,15 +112,26 @@
|
||||||
# };
|
# };
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
hyprland = {
|
hyprland = {
|
||||||
enable = true;
|
enable = false;
|
||||||
withUWSM = true;
|
withUWSM = true;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
};
|
};
|
||||||
virt-manager.enable = true;
|
virt-manager.enable = true;
|
||||||
};
|
};
|
||||||
# security.pam.services.gdm.enableGnomeKeyring = true;
|
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services = {
|
services = {
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
desktopManager.gnome.enable = true;
|
||||||
|
displayManager.gdm = {
|
||||||
|
enable = true;
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
|
displayManager.defaultSession = "gnome";
|
||||||
|
};
|
||||||
|
|
||||||
|
udev.packages = [ pkgs.libwacom ];
|
||||||
avahi = {
|
avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nssmdns4 = true;
|
nssmdns4 = true;
|
||||||
|
|
@ -109,13 +150,7 @@
|
||||||
|
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
|
|
||||||
greetd = {
|
|
||||||
enable = true;
|
|
||||||
settings.default_session = {
|
|
||||||
command = "${pkgs.hyprland}/bin/Hyprland";
|
|
||||||
user = "thiago";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pipewire = {
|
pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
|
||||||
|
|
||||||
xkb = {
|
xkb = {
|
||||||
layout = "custom-br";
|
layout = "custom-br";
|
||||||
variant = "";
|
variant = "";
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,9 @@
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
xserver = {
|
||||||
|
videoDrivers = [ "nvidia" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
nixpkgs.config.cudaSupport = true;
|
nixpkgs.config.cudaSupport = true;
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue