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
|
||||
, inputs
|
||||
, lib
|
||||
, pkgs
|
||||
{ pkgs
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./hyprland
|
||||
./gnome
|
||||
./vim.nix
|
||||
./zsh.nix
|
||||
];
|
||||
|
|
@ -14,9 +11,6 @@
|
|||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
config.permittedInsecurePackages = [
|
||||
"libsoup-2.74.3"
|
||||
];
|
||||
# Workaround for https://github.com/nix-community/home-manager/issues/2942
|
||||
# nixpkgs.config.allowUnfreePredicate =
|
||||
# pkg:
|
||||
|
|
@ -40,11 +34,15 @@
|
|||
hwinfo
|
||||
hydralauncher
|
||||
inkscape
|
||||
wl-clipboard
|
||||
kanshi
|
||||
keymapp
|
||||
lazygit
|
||||
libinput
|
||||
librespot
|
||||
luarocks
|
||||
nerd-fonts.gohufont
|
||||
nerd-fonts.fira-code
|
||||
nil
|
||||
nixpkgs-fmt
|
||||
nordic
|
||||
|
|
@ -57,9 +55,12 @@
|
|||
statix
|
||||
stylua
|
||||
sysbench
|
||||
swaybg
|
||||
transmission_4
|
||||
uget
|
||||
unzip
|
||||
wl-clipboard
|
||||
zed-editor
|
||||
];
|
||||
username = "thiago";
|
||||
};
|
||||
|
|
@ -99,19 +100,24 @@
|
|||
kitty = {
|
||||
enable = true;
|
||||
keybindings = {
|
||||
# splitting
|
||||
"ctrl+shift+enter" = "new_window";
|
||||
"ctrl+shift+\\" = "new_window --location=hsplit";
|
||||
# resizing
|
||||
"ctrl+alt+left" = "resize_window narrower";
|
||||
"ctrl+alt+right" = "resize_window wider";
|
||||
"ctrl+alt+up" = "resize_window taller";
|
||||
"ctrl+alt+down" = "resize_window shorter";
|
||||
|
||||
};
|
||||
|
||||
settings = {
|
||||
hide_window_decorations = "titlebar-only";
|
||||
font_size = 16;
|
||||
font = "ComicShannsMono Nerd Font Mono";
|
||||
font_size = 18;
|
||||
font_family="GohuFont 14 Nerd Font Mono";
|
||||
inactive_text_alpha = "0.6";
|
||||
background_blur = 16;
|
||||
background_opacity = 0.0;
|
||||
# background_blur = 32;
|
||||
background_opacity = 1.0;
|
||||
};
|
||||
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 = {
|
||||
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 = {
|
||||
|
|
|
|||
|
|
@ -17,12 +17,42 @@
|
|||
loader.systemd-boot.enable = 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 = {
|
||||
systemPackages = with pkgs; [
|
||||
act
|
||||
btrfs-progs
|
||||
cudatoolkit
|
||||
networkmanagerapplet
|
||||
libwacom
|
||||
wacomtablet
|
||||
gnome-tweaks
|
||||
gnome-session
|
||||
];
|
||||
|
||||
variables = {
|
||||
|
|
@ -82,15 +112,26 @@
|
|||
# };
|
||||
dconf.enable = true;
|
||||
hyprland = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
withUWSM = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
virt-manager.enable = true;
|
||||
};
|
||||
# security.pam.services.gdm.enableGnomeKeyring = true;
|
||||
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||
security.rtkit.enable = true;
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
desktopManager.gnome.enable = true;
|
||||
displayManager.gdm = {
|
||||
enable = true;
|
||||
wayland = true;
|
||||
};
|
||||
displayManager.defaultSession = "gnome";
|
||||
};
|
||||
|
||||
udev.packages = [ pkgs.libwacom ];
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
|
|
@ -109,13 +150,7 @@
|
|||
|
||||
flatpak.enable = true;
|
||||
|
||||
greetd = {
|
||||
enable = true;
|
||||
settings.default_session = {
|
||||
command = "${pkgs.hyprland}/bin/Hyprland";
|
||||
user = "thiago";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
pipewire = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
|
||||
{
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
|
||||
xkb = {
|
||||
layout = "custom-br";
|
||||
variant = "";
|
||||
|
|
|
|||
|
|
@ -39,6 +39,9 @@
|
|||
];
|
||||
});
|
||||
};
|
||||
xserver = {
|
||||
videoDrivers = [ "nvidia" ];
|
||||
};
|
||||
};
|
||||
nixpkgs.config.cudaSupport = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue