Suffered 2 much... hyprannoying

This commit is contained in:
xbazzi 2025-08-09 00:11:07 -06:00
parent e40a4285e3
commit 303f1e0710
20 changed files with 611 additions and 211 deletions

6
flake.lock generated
View File

@ -294,11 +294,11 @@
]
},
"locked": {
"lastModified": 1754451631,
"narHash": "sha256-xstEcMQWmT43VcTibcOvOd7naoZkA/jJoxWFvvI7CKg=",
"lastModified": 1754457347,
"narHash": "sha256-QN9yZ1L5EmR16NNM+hNNzMjARk+FPjUeSE/ds4Kms0E=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8f02266b8e49c1c6bbe122b5602e1c877e42c5be",
"rev": "ad5d2b4aa770fdc74c80fd682fee0b00a8ad7991",
"type": "github"
},
"original": {

View File

@ -24,6 +24,10 @@
inputs.nixpkgs.follows = "nixpkgs";
};
# hyprdots = {
# url = "github:JaKooLit/Hyprland-Dots";
# flake = false;
# };
# nixvim = {
# url = "github:xbazzi/nixvim";
@ -75,6 +79,23 @@
./system/default.nix
lanzaboote.nixosModules.lanzaboote
# Link Hyprland-Dots configs
# {
# home.file = {
# ".config/hypr".source = "${hyprdots}/hypr";
# ".config/waybar".source = "${hyprdots}/waybar";
# ".config/rofi".source = "${hyprdots}/rofi";
# ".config/swww".source = "${hyprdots}/swww";
# ".config/wallust".source = "${hyprdots}/wallust";
# };
# # Install extra tools from Hyprland-Dots requirements
# home.packages = with pkgs; [
# waybar rofi-wayland swww wallust
# grim slurp wl-clipboard
# ];
# }
({ pkgs, lib, ... }: {
environment.systemPackages = [
@ -109,7 +130,7 @@
home-manager.useGlobalPkgs = true;
home-manager.users.xbazzi = {
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowUnfree = true;
#home.packages = [
#];
};

View File

@ -3,103 +3,103 @@
{
dconf = {
enable = true;
settings = {
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom7/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom8/"
];
};
# settings = {
# "org/gnome/settings-daemon/plugins/media-keys" = {
# custom-keybindings = [
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/"
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/"
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/"
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/"
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/"
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom7/"
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom8/"
# ];
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Super>k";
command = "kitty";
name = "open-terminal";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
# binding = "<Super>k";
# command = "kitty";
# name = "open-terminal";
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Super>c";
command = "code";
name = "open-vscode";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
# binding = "<Super>c";
# command = "code";
# name = "open-vscode";
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = {
binding = "<Super>e";
command = "thunderbird";
name = "open-thunderbird";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = {
# binding = "<Super>e";
# command = "thunderbird";
# name = "open-thunderbird";
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3" = {
binding = "<Super>f";
command = "kitty -- zsh -c 'exec yazi; exec zsh'";
name = "open-yazi";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3" = {
# binding = "<Super>f";
# command = "kitty -- zsh -c 'exec yazi; exec zsh'";
# name = "open-yazi";
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4" = {
binding = "<Super>b";
command = "kitty -- zsh -c 'btop; exec zsh'";
name = "open-btop";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4" = {
# binding = "<Super>b";
# command = "kitty -- zsh -c 'btop; exec zsh'";
# name = "open-btop";
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5" = {
binding = "<Super>i";
command = "brave";
name = "open-brave";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5" = {
# binding = "<Super>i";
# command = "brave";
# name = "open-brave";
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6" = {
binding = "<Super>y";
command = "kitty --start-as=normal -- zsh -ic 'repos'";
name = "open-projects";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6" = {
# binding = "<Super>y";
# command = "kitty --start-as=normal -- zsh -ic 'repos'";
# name = "open-projects";
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom7" = {
binding = "<Primary>q";
command = "true";
name = "disable-ctrl-q";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom7" = {
# binding = "<Primary>q";
# command = "true";
# name = "disable-ctrl-q";
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom8" = {
binding = "<Super>u";
command = "kitty --start-as=normal -- zsh -ic 'home'";
name = "open-home";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom8" = {
# binding = "<Super>u";
# command = "kitty --start-as=normal -- zsh -ic 'home'";
# name = "open-home";
# };
"org/gnome/shell" = {
disable-user-extensions = false; # enables user extensions
enabled-extensions = [
# Put UUIDs of extensions that you want to enable here.
# If the extension you want to enable is packaged in nixpkgs,
# you can easily get its UUID by accessing its extensionUuid
# field (look at the following example).
pkgs.gnomeExtensions.gsconnect.extensionUuid
pkgs.gnomeExtensions.blur-my-shell.extensionUuid
pkgs.gnomeExtensions.pop-shell.extensionUuid
pkgs.gnomeExtensions.tactile.extensionUuid
pkgs.gnomeExtensions.pop-shell.extensionUuid
pkgs.gnomeExtensions.space-bar.extensionUuid
pkgs.gnomeExtensions.undecorate.extensionUuid
pkgs.gnomeExtensions.pastafarian-holy-days.extensionUuid
pkgs.gnomeExtensions.just-perfection.extensionUuid
];
};
# "org/gnome/shell" = {
# disable-user-extensions = false; # enables user extensions
# enabled-extensions = [
# # Put UUIDs of extensions that you want to enable here.
# # If the extension you want to enable is packaged in nixpkgs,
# # you can easily get its UUID by accessing its extensionUuid
# # field (look at the following example).
# pkgs.gnomeExtensions.gsconnect.extensionUuid
# pkgs.gnomeExtensions.blur-my-shell.extensionUuid
# pkgs.gnomeExtensions.pop-shell.extensionUuid
# pkgs.gnomeExtensions.tactile.extensionUuid
# pkgs.gnomeExtensions.pop-shell.extensionUuid
# pkgs.gnomeExtensions.space-bar.extensionUuid
# pkgs.gnomeExtensions.undecorate.extensionUuid
# pkgs.gnomeExtensions.pastafarian-holy-days.extensionUuid
# pkgs.gnomeExtensions.just-perfection.extensionUuid
# ];
# };
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
# "org/gnome/desktop/interface" = {
# color-scheme = "prefer-dark";
# };
# Configure individual extensions
"org/gnome/shell/extensions/blur-my-shell" = {
brightness = 0.75;
noise-amount = 0;
};
};
# # Configure individual extensions
# "org/gnome/shell/extensions/blur-my-shell" = {
# brightness = 0.75;
# noise-amount = 0;
# };
# };
};
}

View File

@ -9,8 +9,9 @@
./starship.nix
#./vscode.nix
./packages.nix
./hyprlock.nix
./waybar.nix
./dconf.nix
# ./dconf.nix
./git.nix
./hyprland.nix
./zsh.nix

View File

@ -1,7 +1,6 @@
{ inputs, pkgs, lib, config, ... }:
{
gtk = {
enable = true;
theme = {

30
home/hypridle.nix Normal file
View File

@ -0,0 +1,30 @@
{ inputs, pkgs, lib, config, ... }:
{
programs.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "hyprctl dispatch exec 'hyprlock --immediate'";
before_sleep_cmd = "hyprctl dispatch exec 'hyprlock --immediate'";
after_sleep_cmd = "notify-send '💡 Welcome back, badman!'";
};
listener = [
{
timeout = 270; # 4.5 min — warn before lock
on-timeout = "notify-send '🔒 Locking in 30s...'";
}
{
timeout = 300; # 5 min — lock screen
on-timeout = "hyprctl dispatch exec 'hypelock --immediate'";
}
{
timeout = 900; # 15 min — suspend
on-timeout = "systemctl suspend";
}
];
};
};
}

View File

@ -1,106 +1,170 @@
{ config, pkgs, inputs, ... }:
{
wayland.windowManager.hyprland.settings = {
"$mod" = "SUPER";
wayland.windowManager.hyprland = {
settings = {
"$mod" = "SUPER";
monitor = [
"DP-1, 1920x1080@144, 0x0, 1"
"DP-3, 2560x1440@240, 1920x0, 1"
"HMDI-A-1, 3440x1440@160, 4480x0, 1"
# "DP-3,addreserved,30,0,0,0"
];
monitor = [
"DP-1, 1920x1080@144, 0x0, 1"
"DP-3, 2560x1440@240, 1920x0, 1"
"HMDI-A-1, 3440x1440@160, 4480x0, 1"
# "DP-3,addreserved,30,0,0,0"
];
bind =
[
# "$mod, k, exec, kitty"
"$mod, h, movefocus, l"
"$mod, l, movefocus, r"
"$mod, k, movefocus, u"
"$mod, j, movefocus, d"
"$mod, q, killactive"
bind =
[
# "$mod, k, exec, kitty"
"$mod, h, movefocus, l"
"$mod, l, movefocus, r"
"$mod, k, movefocus, u"
"$mod, j, movefocus, d"
"$mod, q, killactive"
"$mod, f, fullscreen, 0"
"$mod, d, exec, wofi --show drun"
"$mod, t, exec, kitty --single-instance"
"$mod, c, exec, code"
"$mod SHIFT, l, movewindow, mon:-1"
"$mod SHIFT, h, movewindow, mon:+1"
", Print, exec, grimblast copy area"
"$mod, e, exec, thunderbird"
"$mod, r, exec, kitty -- zsh -c 'exec yazi; exec zsh'"
"$mod, b, exec, kitty -- zsh -c 'btop; exec zsh'"
"$mod, y, exec, kitty --start-as=normal -- zsh -ic 'repos'"
"$mod, i, exec, brave"
"$mod, u, exec, kitty --start-as=normal -- zsh -ic 'home'"
"$mod, s, togglespecialworkspace, special1"
"$mod, v, togglespecialworkspace, special2"
"$mod, p, swapwindow, l"
# Log out
# "$mod, -, exec, hyprctl dispatch exit"
"$mod, _, exec, hyprctl dispatch exit"
"$mod, 0, layoutmsg, rollnext"
# Shift+Print → select area and copy
"SHIFT, Print, exec, grimblast copy area"
"$mod, f, fullscreen, 0"
# Ctrl+Print → select window and copy
"CTRL, Print, exec, grimblast copy active"
]
++ (
# workspaces
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
builtins.concatLists (builtins.genList (i:
let ws = i + 1;
in [
"$mod, code:1${toString i}, workspace, ${toString ws}"
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
]
)
"$mod, d, exec, wofi --show drun"
"$mod, t, exec, kitty --single-instance"
"$mod, c, exec, code"
"$mod SHIFT, l, movewindow, mon:-1"
"$mod SHIFT, h, movewindow, mon:+1"
", Print, exec, grimblast copy area"
"$mod, e, exec, thunderbird"
"$mod, r, exec, kitty -- zsh -c 'exec yazi; exec zsh'"
"$mod, b, exec, kitty -- zsh -c 'btop; exec zsh'"
"$mod SHIFT, n, exec, kitty --start-as=normal -- zsh -ic 'code ~/nixos-config && exit'"
"$mod, i, exec, brave"
"$mod, u, exec, kitty --start-as=normal -- zsh -ic 'home'"
"$mod, y, exec, kitty --start-as=normal -- zsh -ic 'repos'"
"$mod, s, togglespecialworkspace, special1"
"$mod, v, togglespecialworkspace, special2"
"$mod, p, swapwindow, l"
# Mouse stuff (Ew... I know)
# "$mod, mouse:272, movewindow"
# "$mod, mouse:273, resizewindow"
# "ALT, mouse:272, resizewindow"
# Log out
# "$mod, -, exec, hyprctl dispatch exit"
"$mod SHIFT ALT, x, exec, hyprctl dispatch exit"
"$mod ALT, L, exec, hyprlock --immediate"
# Shift+Print → select area and copy
"SHIFT, Print, exec, grimblast copy area"
# Ctrl+Print → select window and copy
"CTRL, Print, exec, grimblast copy active"
]
++ (
# workspaces
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
builtins.concatLists (builtins.genList (i:
let ws = i + 1;
in [
"$mod, code:1${toString i}, workspace, ${toString ws}"
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
]
)
9)
);
);
decoration = {
active_opacity = 1.0;
inactive_opacity = 0.85;
rounding = 5;
# blur = {
# enabled = true;
# size = 9;
# passes = 1;
# };
shadow = {
enabled = true;
color = "rgba(2e3440aa)";
range = 4;
render_power = 3;
general = {
layout = "master";
};
# border_size = 3;
};
animations = {
enabled = true;
animation = "fade, 1, 5, default";
};
decoration = {
active_opacity = 1.0;
inactive_opacity = 1.0;
rounding = 5;
general = {
# allow_reserved_areas = true;
};
blur = {
enabled = true;
size = 3;
passes = 2;
brightness = 1;
contrast = 1.4;
ignore_opacity = true;
noise = 0;
new_optimizations = true;
xray = true;
};
shadow = {
enabled = true;
ignore_window = true;
offset = "0 2";
range = 20;
render_power = 3;
color = "rgba(00000055)";
};
};
animations = {
enabled = true;
bezier = [
"fluent_decel, 0, 0.2, 0.4, 1"
"easeOutCirc, 0, 0.55, 0.45, 1"
"easeOutCubic, 0.33, 1, 0.68, 1"
"fade_curve, 0, 0.55, 0.45, 1"
];
animation = [
# name, enable, speed, curve, style
# Windows
"windowsIn, 0, 4, easeOutCubic, popin 20%" # window open
"windowsOut, 0, 4, fluent_decel, popin 80%" # window close.
"windowsMove, 1, 2, fluent_decel, slide" # everything in between, moving, dragging, resizing.
# Fade
"fadeIn, 1, 3, fade_curve" # fade in (open) -> layers and windows
"fadeOut, 1, 3, fade_curve" # fade out (close) -> layers and windows
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
# "border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
# "borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
];
};
exec-once = [
"sleep 2 && waybar &"
"hypridle &"
# "waybar &"
"eval $(gnome-keyring-daemon --start --components=secrets,ssh,gpg)"
# "hash dbus-update-activation-environment 2>/dev/null"
"dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"nm-applet &"
"poweralertd &"
# "wl-clip-persist --clipboard both &"
# "wl-paste --watch cliphist store &"
# "waybar &"
# "swaync &"
# "hyprctl setcursor Bibata-Modern-Ice 24 &"
# "swww-daemon &"
# "hyprlock"
];
plugins = [
# inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
];
};
};
wayland.windowManager.hyprland.settings.exec-once = [
"sleep 2 && waybar"
"eval $(gnome-keyring-daemon --start --components=secrets,ssh,gpg)"
];
wayland.windowManager.hyprland.plugins = [
# inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
];
}
}

108
home/hyprlock.nix Normal file
View File

@ -0,0 +1,108 @@
{ inputs, pkgs, ... }:
{
programs.hyprlock = {
enable = true;
# package = inputs.hyprlock.packages.${pkgs.system}.hyprlock;
settings = {
general = {
hide_cursor = true;
no_fade_in = false;
disable_loading_bar = true;
ignore_empty_input = true;
fractional_scaling = 0;
};
background = [
{
monitor = "";
path = "${./wallpapers/world_map_of_cpp_STL_algorithms.png}";
blur_passes = 2;
contrast = 0.8916;
brightness = 0.8172;
vibrancy = 0.1696;
vibrancy_darkness = 0.0;
}
];
shape = [
# User box
{
monitor = "";
size = "300, 50";
color = "rgba(102, 92, 84, 0.33)";
rounding = 10;
border_color = "rgba(255, 255, 255, 0)";
position = "0, 281";
halign = "center";
valign = "bottom";
}
];
label = [
# Time
{
monitor = "";
text = ''cmd[update:1000] echo "$(date +'%k:%M')"'';
color = "rgba(235, 219, 178, 0.9)";
font_size = 115;
font_family = "Maple Mono Bold";
shadow_passes = 3;
position = "0, 281";
halign = "center";
valign = "top";
}
# Date
{
monitor = "";
text = ''cmd[update:1000] echo "- $(date +'%A, %B %d') -" '';
color = "rgba(235, 219, 178, 0.9)";
font_size = 18;
font_family = "Maple Mono";
shadow_passes = 3;
position = "0, 281";
halign = "center";
valign = "top";
}
# Username
{
monitor = "";
text = " $USER";
color = "rgba(235, 219, 178, 1)";
font_size = 15;
font_family = "Maple Mono Bold";
# position = "0, ${if host == "laptop" then "131" else "281"}";
position = "0, 281";
halign = "center";
valign = "bottom";
}
];
input-field = [
{
monitor = "";
size = "300, 50";
outline_thickness = 1;
rounding = 10;
dots_size = 0.25;
dots_spacing = 0.4;
dots_center = true;
outer_color = "rgba(102, 92, 84, 0.33)";
inner_color = "rgba(102, 92, 84, 0.33)";
color = "rgba(235, 219, 178, 0.9)";
font_color = "rgba(235, 219, 178, 0.9)";
font_size = 14;
font_family = "Maple Mono Bold";
fade_on_empty = false;
placeholder_text = ''<i><span foreground="##fbf1c7">Enter Password</span></i>'';
hide_input = false;
position = "0, 281";
halign = "center";
valign = "bottom";
}
];
};
};
}

26
home/hyprlock.nix.bak Normal file
View File

@ -0,0 +1,26 @@
{ config, pkgs, inputs, ... }:
{
programs.hyprlock = {
enable = true;
settings = {
# minimal, visible UI so yuh nuh think it freeze
general = { disable_loading_bar = false; };
background = [{
color = "rgba(0, 0, 0, 0.7)"; # darken so desktop not peeking through
blur_passes = 0;
}];
input-field = [{
size = "300, 50";
outline_thickness = 2;
placeholder_text = "Type password";
position = "0, -100";
}];
label = [{
text = " Locked";
font_size = 20;
position = "0, -170";
}];
};
};
}

View File

@ -1,19 +1,21 @@
{ inputs, pkgs, lib, config, ... }:
{ inputs, pkgs, ... }:
{
home.packages = with pkgs; [
hello
tmux
gnomeExtensions.appindicator
# gnomeExtensions.appindicator
wofi
waybar
# eww
gnome-keyring
# gnome-keyring
libsecret
grim # for screenshots
slurp # for selecting area
grimblast # easier syntax for grim+slurp
wl-clipboard # copy screenshot to clipboard
hypridle
hyprlock
# (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
#zsh-powerlevel10k

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

View File

@ -3,24 +3,30 @@
{
programs.waybar = {
enable = true;
# settings = [
# {
# main.modules-right = ["clock"];
# layer = "top";
# position = "top";
# modules-left = [ "hyprland/workspaces" "clock" ];
# modules-center = [ "window" ];
# modules-right = [ "battery" "pulseaudio" "network" ];
# }
# ];
# style = ''
# * {
# font-family: "JetBrainsMono Nerd Font", monospace;
# font-size: 12px;
# }
# #workspaces button.active {
# background-color: #ff5555;
# }
# '';
# settings = [ ./waybar/config.jsonc ];
settings = [
{
main.modules-right = ["clock"];
layer = "top";
position = "top";
modules-left = [ "hyprland/workspaces" "clock" ];
modules-center = [ "window" ];
modules-right = [ "battery" "pulseaudio" "network" ];
}
(builtins.fromJSON (builtins.readFile ./waybar/config.json))
];
style = ''
* {
font-family: "JetBrainsMono Nerd Font", monospace;
font-size: 12px;
}
#workspaces button.active {
background-color: #ff5555;
}
'';
style = ./waybar/style.css;
};
}

34
home/waybar/config.json Normal file
View File

@ -0,0 +1,34 @@
{
"layer": "top",
"position": "top",
"height": 32,
"spacing": 8,
"modules-left": ["hyprland/workspaces", "custom/windowtitle"],
"modules-center": ["clock"],
"modules-right": ["cpu", "memory", "temperature", "pulseaudio", "network", "tray"],
"hyprland/workspaces": {
"format": "{icon}",
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"5": ""
}
},
"custom/windowtitle": {
"format": "{}",
"exec": "hyprctl activewindow -j | jq -r .title",
"interval": 1
},
"clock": { "format": " %H:%M %d/%m/%Y" },
"cpu": { "format": " {usage}%" },
"memory": { "format": " {used:0.1f}G" },
"temperature": { "hwmon-path": "/sys/class/thermal/thermal_zone0/temp", "format": " {temperatureC}°C" },
"pulseaudio": { "format": "{icon} {volume}%", "format-icons": ["", "", ""] },
"network": { "format-wifi": " {essid} {signalStrength}%", "format-ethernet": "󰈀 {ifname}", "format-disconnected": "󰖪" }
}

34
home/waybar/config.jsonc Normal file
View File

@ -0,0 +1,34 @@
{
"layer": "top",
"position": "top",
"height": 32,
"spacing": 8,
"modules-left": ["hyprland/workspaces", "custom/windowtitle"],
"modules-center": ["clock"],
"modules-right": ["cpu", "memory", "temperature", "pulseaudio", "network", "tray"],
"hyprland/workspaces": {
"format": "{icon}",
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"5": ""
}
},
"custom/windowtitle": {
"format": "{}",
"exec": "hyprctl activewindow -j | jq -r .title",
"interval": 1
},
"clock": { "format": " %H:%M %d/%m/%Y" },
"cpu": { "format": " {usage}%" },
"memory": { "format": " {used:0.1f}G" },
"temperature": { "hwmon-path": "/sys/class/thermal/thermal_zone0/temp", "format": " {temperatureC}°C" },
"pulseaudio": { "format": "{icon} {volume}%", "format-icons": ["", "", ""] },
"network": { "format-wifi": " {essid} {signalStrength}%", "format-ethernet": "󰈀 {ifname}", "format-disconnected": "󰖪" }
}

37
home/waybar/style.css Normal file
View File

@ -0,0 +1,37 @@
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
font-weight: 500;
border: none;
}
window#waybar {
background: rgba(46, 52, 64, 0.6); /* Nord dark + transparency */
border-radius: 12px;
padding: 4px 8px;
}
#workspaces button {
padding: 0 10px;
border-radius: 8px;
background: transparent;
color: #d8dee9;
}
#workspaces button.active {
background: rgba(136, 192, 208, 0.4);
color: #eceff4;
}
#workspaces button:hover {
background: rgba(94, 129, 172, 0.5);
}
#clock, #cpu, #memory, #temperature, #pulseaudio, #network, #custom-windowtitle {
padding: 0 8px;
color: #eceff4;
}
#tray {
padding-left: 6px;
}

View File

@ -17,11 +17,38 @@
# Hyprland
programs.hyprland.enable = true;
programs.hyprlock.enable = true;
programs.waybar.enable = true;
security.pam.services.hyprlock = {};
services.gnome.gnome-keyring.enable = true;
security.pam.services.hyprlock.enableGnomeKeyring = true;
services.greetd.enable = true;
services.greetd.settings = {
default_session = {
# GUI greeter
#command = "${pkgs.greetd.gtkgreet}/bin/gtkgreet -c hyprland";
command = "${pkgs.greetd.gtkgreet}/bin/gtkgreet -c 'Hyprland'";
# TUI greeter
# command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember \
# --cmd 'dbus-run-session ${pkgs.hyprland}/bin/Hyprland'";
# user = "greeter";
};
};
nix.settings = {
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ];
};
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.timeout = 5;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot";
@ -47,11 +74,11 @@
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# services.xserver.displayManager.gdm.enable = true;
# services.xserver.desktopManager.gnome.enable = true;
# Configure keymap in X11
services.xserver.xkb = {

View File

@ -8,7 +8,7 @@
./ssh.nix
# ./openrgb.nix
# ./stylix.nix
./gnome.nix
# ./gnome.nix
# ./lanzaboote.nix
./yazi.nix
./nvidia.nix

View File

@ -5,8 +5,8 @@
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# services.xserver.displayManager.gdm.enable = true;
# services.xserver.desktopManager.gnome.enable = true;
environment.systemPackages = (with pkgs.gnomeExtensions; [
blur-my-shell
@ -22,7 +22,7 @@
#vimix-cursors
# breeze-icons
tokyonight-gtk-theme
gnome-tweaks
# gnome-tweaks
# adwaita-icon-theme
]);
}

View File

@ -53,6 +53,17 @@
# firefox
direnv
jq
# Hyprland Ecosystem
hyprpaper
hyprpicker
hyprpolkitagent
hyprsunset
(pkgs.hyprland.override {
enableXWayland = true;
withSystemd = true;
})
];
programs.nix-ld.enable = true;

View File

@ -7,5 +7,5 @@
enable = true;
forwardX11 = true;
};
services.udev.packages = [ pkgs.gnome-settings-daemon ];
# services.udev.packages = [ pkgs.gnome-settings-daemon ];
}