293 lines
7.3 KiB
Nix
293 lines
7.3 KiB
Nix
{
|
|
inputs,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
programs.rofi.enable = true;
|
|
home.packages = [
|
|
pkgs.kitty
|
|
];
|
|
|
|
programs.wpaperd = {
|
|
enable = true;
|
|
settings = {
|
|
wallpaper = {
|
|
path = ./static/wallpaper/nord.png;
|
|
mode = "fit";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.waybar.enable = true;
|
|
programs.waybar.settings.mainBar = {
|
|
position = "top";
|
|
layer = "top";
|
|
height = 5;
|
|
margin-top = 0;
|
|
margin-bottom = 0;
|
|
margin-left = 0;
|
|
margin-right = 0;
|
|
modules-left = [
|
|
"custom/launcher"
|
|
"hyprland/workspaces"
|
|
];
|
|
modules-center = [
|
|
"hyprland/window"
|
|
];
|
|
modules-right = [
|
|
"clock"
|
|
"tray"
|
|
"cpu"
|
|
"memory"
|
|
"disk"
|
|
"pulseaudio"
|
|
"battery"
|
|
"network"
|
|
];
|
|
clock = {
|
|
calendar = {
|
|
format = {today = "<span color='#b4befe'><b>{}</b></span>";};
|
|
};
|
|
format = " {:%H:%M}";
|
|
tooltip = "true";
|
|
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
|
format-alt = " {:%d/%m}";
|
|
};
|
|
"hyprland/workspaces" = {
|
|
active-only = false;
|
|
disable-scroll = true;
|
|
format = "{icon}";
|
|
on-click = "activate";
|
|
format-icons = {
|
|
"1" = "";
|
|
"2" = "";
|
|
"3" = "";
|
|
"4" = "";
|
|
"5" = "";
|
|
"6" = "";
|
|
urgent = "";
|
|
default = "";
|
|
sort-by-number = true;
|
|
};
|
|
persistent-workspaces = {
|
|
"1" = [];
|
|
"2" = [];
|
|
"3" = [];
|
|
"4" = [];
|
|
"5" = [];
|
|
};
|
|
};
|
|
memory = {
|
|
format = " {}%";
|
|
format-alt = " {used} GiB"; #
|
|
interval = 2;
|
|
};
|
|
cpu = {
|
|
format = " {usage}%";
|
|
format-alt = " {avg_frequency} GHz";
|
|
interval = 2;
|
|
};
|
|
disk = {
|
|
# path = "/";
|
|
format = " {percentage_used}%";
|
|
interval = 60;
|
|
};
|
|
network = {
|
|
format-wifi = " {signalStrength}%";
|
|
format-ethernet = " ";
|
|
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
|
format-linked = "{ifname} (No IP)";
|
|
format-disconnected = " ";
|
|
};
|
|
tray = {
|
|
icon-size = 20;
|
|
spacing = 8;
|
|
};
|
|
pulseaudio = {
|
|
format = "{icon} {volume}%";
|
|
format-muted = " {volume}%";
|
|
format-icons = {
|
|
default = [" "];
|
|
};
|
|
scroll-step = 5;
|
|
on-click = "pamixer -t";
|
|
};
|
|
battery = {
|
|
format = "{icon} {capacity}%";
|
|
format-icons = [" " " " " " " " " "];
|
|
format-charging = " {capacity}%";
|
|
format-full = " {capacity}%";
|
|
format-warning = " {capacity}%";
|
|
interval = 5;
|
|
states = {
|
|
warning = 20;
|
|
};
|
|
format-time = "{H}h{M}m";
|
|
tooltip = true;
|
|
tooltip-format = "{time}";
|
|
};
|
|
"custom/launcher" = {
|
|
format = "";
|
|
on-click = "${pkgs.rofi}/bin/rofi -show drun";
|
|
tooltip = "false";
|
|
};
|
|
};
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
systemd.variables = ["--all"];
|
|
xwayland.enable = true;
|
|
settings = {
|
|
exec-once = [
|
|
"${pkgs.waybar}/bin/waybar &"
|
|
"${pkgs.networkmanagerapplet}/bin/nm-applet &"
|
|
];
|
|
|
|
"$mod" = "SUPER";
|
|
bind =
|
|
[
|
|
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
|
|
"$mod, d, exec, ${pkgs.rofi}/bin/rofi -show drun"
|
|
"$mod, h, movefocus, l"
|
|
"$mod, j, movefocus, d"
|
|
"$mod, k, movefocus, u"
|
|
"$mod, l, movefocus, r"
|
|
"$mod SHIFT, h, movewindow, l"
|
|
"$mod SHIFT, j, movewindow, d"
|
|
"$mod SHIFT, k, movewindow, u"
|
|
"$mod SHIFT, l, movewindow, r"
|
|
"$mod SHIFT, q, killactive"
|
|
"$mod, f, fullscreen, 2"
|
|
"$mod SHIFT, f, fullscreen, 0"
|
|
]
|
|
++ (
|
|
# workspaces
|
|
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
|
builtins.concatLists (builtins.genList (
|
|
x: let
|
|
ws = let
|
|
c = (x + 1) / 10;
|
|
in
|
|
builtins.toString (x + 1 - (c * 10));
|
|
in [
|
|
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
|
"$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
|
|
]
|
|
)
|
|
10)
|
|
);
|
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
monitor = ",preferred,auto,auto";
|
|
|
|
xwayland = {
|
|
force_zero_scaling = true;
|
|
};
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
|
|
|
# Execute your favorite apps at launch
|
|
# exec-once = waybar & hyprpaper & firefox
|
|
|
|
# Source a file (multi-file configs)
|
|
# source = ~/.config/hypr/myColors.conf
|
|
|
|
# Some default env vars.
|
|
env = "XCURSOR_SIZE,24";
|
|
|
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
|
input = {
|
|
kb_layout = "de";
|
|
kb_variant = "";
|
|
kb_model = "";
|
|
kb_options = "caps:ctrl_modifier";
|
|
kb_rules = "";
|
|
|
|
follow_mouse = 1;
|
|
|
|
touchpad = {
|
|
natural_scroll = "yes";
|
|
};
|
|
|
|
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
|
|
};
|
|
|
|
general = {
|
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
|
|
gaps_in = 5;
|
|
gaps_out = 20;
|
|
border_size = 2;
|
|
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
|
"col.inactive_border" = "rgba(595959aa)";
|
|
|
|
layout = "dwindle";
|
|
|
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
|
allow_tearing = false;
|
|
};
|
|
|
|
decoration = {
|
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
|
|
rounding = 10;
|
|
|
|
blur = {
|
|
enabled = true;
|
|
size = 3;
|
|
passes = 1;
|
|
};
|
|
|
|
drop_shadow = "yes";
|
|
shadow_range = 4;
|
|
shadow_render_power = 3;
|
|
"col.shadow" = "rgba(1a1a1aee)";
|
|
};
|
|
|
|
animations = {
|
|
enabled = "yes";
|
|
|
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
|
|
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
|
|
|
animation = [
|
|
"windows, 1, 7, myBezier"
|
|
"windowsOut, 1, 7, default, popin 80%"
|
|
"border, 1, 10, default"
|
|
"borderangle, 1, 8, default"
|
|
"fade, 1, 7, default"
|
|
"workspaces, 1, 6, default"
|
|
];
|
|
};
|
|
|
|
dwindle = {
|
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
preserve_split = "yes"; # you probably want this
|
|
};
|
|
|
|
master = {
|
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
new_is_master = true;
|
|
};
|
|
|
|
gestures = {
|
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
workspace_swipe = "off";
|
|
};
|
|
|
|
misc = {
|
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
force_default_wallpaper = -1; # Set to 0 to disable the anime mascot wallpapers
|
|
};
|
|
|
|
# Example per-device config
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
|
"device:epic-mouse-v1" = {
|
|
sensitivity = -0.5;
|
|
};
|
|
};
|
|
};
|
|
}
|