Suffered 2 much... hyprannoying
This commit is contained in:
parent
e40a4285e3
commit
303f1e0710
6
flake.lock
generated
6
flake.lock
generated
@ -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": {
|
||||
|
23
flake.nix
23
flake.nix
@ -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 = [
|
||||
#];
|
||||
};
|
||||
|
172
home/dconf.nix
172
home/dconf.nix
@ -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;
|
||||
# };
|
||||
# };
|
||||
};
|
||||
}
|
||||
|
@ -9,8 +9,9 @@
|
||||
./starship.nix
|
||||
#./vscode.nix
|
||||
./packages.nix
|
||||
./hyprlock.nix
|
||||
./waybar.nix
|
||||
./dconf.nix
|
||||
# ./dconf.nix
|
||||
./git.nix
|
||||
./hyprland.nix
|
||||
./zsh.nix
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ inputs, pkgs, lib, config, ... }:
|
||||
|
||||
{
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
|
30
home/hypridle.nix
Normal file
30
home/hypridle.nix
Normal 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";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
@ -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
108
home/hyprlock.nix
Normal 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
26
home/hyprlock.nix.bak
Normal 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";
|
||||
}];
|
||||
};
|
||||
};
|
||||
}
|
@ -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
|
||||
|
BIN
home/wallpapers/world_map_of_cpp_STL_algorithms.png
Normal file
BIN
home/wallpapers/world_map_of_cpp_STL_algorithms.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.2 MiB |
@ -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
34
home/waybar/config.json
Normal 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
34
home/waybar/config.jsonc
Normal 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
37
home/waybar/style.css
Normal 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;
|
||||
}
|
@ -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 = {
|
||||
|
@ -8,7 +8,7 @@
|
||||
./ssh.nix
|
||||
# ./openrgb.nix
|
||||
# ./stylix.nix
|
||||
./gnome.nix
|
||||
# ./gnome.nix
|
||||
# ./lanzaboote.nix
|
||||
./yazi.nix
|
||||
./nvidia.nix
|
||||
|
@ -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
|
||||
]);
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -7,5 +7,5 @@
|
||||
enable = true;
|
||||
forwardX11 = true;
|
||||
};
|
||||
services.udev.packages = [ pkgs.gnome-settings-daemon ];
|
||||
# services.udev.packages = [ pkgs.gnome-settings-daemon ];
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user