update hyprland config (not functional yet)

This commit is contained in:
2026-08-09 16:49:05 +02:00
parent 8e8c291863
commit e406f987d1
14 changed files with 221 additions and 7 deletions
+7
View File
@@ -0,0 +1,7 @@
{
imports = [
./general.nix
./rules.nix
./keybinds.nix
];
}
+165
View File
@@ -0,0 +1,165 @@
{ hyprsplit, ... }:
let
# wal = {
# color11 = "#...";
# color14 = "#...";
# };
in
{
wayland.windowManager.hyprland = {
enable = false;
xwayland.enable = true;
settings = {
device = [
{
name = "glorious-model-o-wireless";
sensitivity = -1.0;
}
{
name = "glorious-model-o";
sensitivity = -0.9;
}
];
config = {
input = {
kb_layout = "de";
follow_mouse = 1;
repeat_delay = 300;
repeat_rate = 35;
scroll_factor = 1.3;
sensitivity = -1.0;
};
general = {
gaps_in = 4;
gaps_out = 12;
border_size = 2;
# "col.active_border" = "rgb(${wal.color11}) rgb(${wal.color14}) 45deg";
# "col.active_border" = "rgba(80808077) rgba(80808077) 45deg";
# "col.inactive_border" = "rgba(80808077) rgba(80808077) 45deg";
resize_on_border = false;
allow_tearing = false;
layout = "dwindle";
};
decoration = {
rounding = 2;
active_opacity = 0.65;
inactive_opacity = 0.65;
shadow = {
enabled = true;
range = 50;
render_power = 4;
color = "0xaf1a1a1a";
};
blur = {
enabled = true;
size = 3;
passes = 4;
brightness = 0.473;
contrast = 1.0;
vibrancy = 0.1696;
vibrancy_darkness = 0.2;
ignore_opacity = true;
popups = true;
};
};
master = {
new_status = "master";
new_on_top = true;
mfact = 0.5;
orientation = "center";
};
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
enable_anr_dialog = false;
};
xwayland = {
force_zero_scaling = true;
};
};
# animations = {
# enabled = false;
# };
# bezier = [
# "md3_standard,0.2,0,0,1"
# "md3_decel,0.05,0.7,0.1,1"
# "md3_accel,0.3,0,0.8,0.15"
# "overshot,0.05,0.9,0.1,1.02"
#
# # Hyprland supports spring curves as strings.
# "spring_snappy,1,80,16"
#
# "weighted_decel,0.05,0.9,0.1,1"
# "snap_curve,0.1,1,0,1"
# "winIn,0.1,1,0.1,1"
# "winOut,0.1,1,0.1,1"
# ];
#
# animation = [
# "windows,1,4,spring_snappy"
# "windowsIn,1,3,md3_decel,popin 70%"
# "windowsOut,1,4,md3_accel,popin 70%"
# "windowsMove,1,4,overshot"
#
# "fade,1,3,md3_decel"
#
# "layers,1,4.5,md3_standard,fade"
# "layersIn,1,4.5,winIn,slide"
# "layersOut,1,5,winOut,slide"
#
# "workspaces,1,5,md3_decel,slide"
# "workspacesIn,1,7,winIn,slide"
# "workspacesOut,1,7,winOut,slide"
#
# "specialWorkspace,1,4,winIn,slidevert"
# ];
};
extraLuaFiles = {
# create a symlink to `.config/hypr/hyprsplit/init.lua`.
"hyprsplit/init" = {
autoLoad = false;
content = builtins.readFile "${hyprsplit}/init.lua";
};
# Finally, use it directly in Lua.
"hyprload" = {
autoLoad = true;
content = ''
local hs = require("hyprsplit")
hs.config({ num_workspaces = 10 })
local mod = "SUPER"
for i = 1, 10 do
local key = (i == 10) and "0" or tostring(i)
hl.bind(mod .. " + " .. key, hs.dsp.focus({ workspace = i }))
hl.bind(mod .. " + " .. key, hs.dsp.window.move({ workspace = i }))
hl.bind("SUPER + " .. key, hs.dsp.focus({ workspace = i }))
hl.bind("SUPER + SHIFT + " .. key, hs.dsp.window.move({ workspace = i, follow = true }))
end
'';
};
};
extraConfig = ''
hl.monitor({ output = "DP-1", mode = "1920x1080@60", position = "3840x0", scale = "auto" })
hl.monitor({ output = "DP-2", mode = "1920x1080@144", position = "1920x0", scale = "auto", bitdepth = 10 })
hl.monitor({ output = "HDMI-A-1", mode = "1920x1080@60", position = "0x0", scale = "auto" })
'';
};
}
+196
View File
@@ -0,0 +1,196 @@
let
TERM = "kitty";
BAR = "noctalia-shell";
DMENU = "rofi -show drun";
CLIPBOARD = "cliphist list | rofi -dmenu -display-columns 2 -config ~/.config/rofi/clipboard.rasi | cliphist decode | wl-copy";
WMENU = "rofi -show window";
CALC = "rofi -show calc -modi calc -no-show-match -no-sort";
FILE_MAN = "xdg-open ~";
RANDOM_WALL = "~/.scripts/random-wall";
in
{
wayland.windowManager.hyprland = {
settings = {
# ####################
# ### KEYBINDINGS ###
# ####################
"$mod" = "SUPER";
bind = [
"$mod, L, exec, ${TERM}"
"$mod, SPACE, exec, ${DMENU}"
"$mod CTRL, B, exec, ${RANDOM_WALL}"
"CTRL SHIFT, B, exec, ~/.config/rofi/wallpaper-picker.sh"
# "CTRL SHIFT, B, exec, dms ipc dankdash wallpaper"
"$mod, V, exec, ${CLIPBOARD}"
"$mod, E, exec, ${FILE_MAN}"
"$mod, N, exec, dunstctl history-pop"
"$mod SHIFT, N, exec, dunstctl close-all"
"$mod, Q, killactive"
"$mod SHIFT, Q, exec, hyprctl kill"
"$mod, C, exec, ${CALC}"
"$mod SHIFT, B, exec, ${BAR}"
"$mod SHIFT, F, togglefloating"
"$mod SHIFT, P, exec, hyprpicker -a"
"$mod SHIFT, W, exec, ${WMENU}"
"$mod, B, exec, zen-beta"
# hl.bind(
# mod .. " + SHIFT + E",
# hl.dsp.exec_cmd(
# "pkill -9 linux-wallpaper; awww img --transition-step 100 /home/user/Pictures/Wallpapers/syntaxerror_wallpaper.png"
# )
# )
"$mod SHIFT, E, exec, noctalia-shell ipc call wallpaper set /home/user/Pictures/Wallpapers/syntaxerror_wallpaper.png"
"ALT, Q, exec, pkill -9 python; pkill -9 aria2c"
"$mod, P, exec, prismlauncher"
# "$mod, W, exec, waypaper"
# ################
# ## MEDIA KEYS ##
# ################
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioPlay, exec, playerctl -p mpd play-pause"
", XF86AudioNext, exec, playerctl -p mpd next"
", XF86AudioPrev, exec, playerctl -p mpd previous"
", XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%"
", XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%"
"$mod, A, exec, ~/.scripts/play-previous"
"$mod, S, exec, ~/.scripts/play-next"
"$mod, D, exec, ~/.scripts/play-pause"
"$mod SHIFT, D, exec, playerctl play-pause"
"$mod, PLUS, exec, ~/.scripts/mpd-volume up"
"$mod, MINUS, exec, ~/.scripts/mpd-volume down"
# "$mod SHIFT, R, exec, ~/.scripts/skip30s"
# ################
# ## FULLSCREEN ##
# ################
"$mod, F, fullscreen"
# ################
# ## SCREENSHOT ##
# ################
"$mod CTRL, S, exec, grimblast --freeze --notify copysave active"
"$mod SHIFT, S, exec, grimblast --freeze --notify copysave area"
"$mod ALT, S, exec, wl-paste | satty -f -"
# ##########################
# ## CENTER FLOAT WINDOW ##
# ##########################
"$mod SHIFT, C, centerwindow"
# ##################
# ## MOVE FOCUS ##
# ##################
"$mod, LEFT, movefocus, l"
"$mod, RIGHT, movefocus, r"
"$mod, UP, movefocus, u"
"$mod, DOWN, movefocus, d"
# #################
# ## MOVE WINDOW ##
# #################
"$mod SHIFT, LEFT, movewindow, l"
"$mod SHIFT, RIGHT, movewindow, r"
"$mod SHIFT, UP, movewindow, u"
"$mod SHIFT, DOWN, movewindow, d"
# ###################
# ## RESIZE WINDOW ##
# ###################
# "$mod CTRL, L, resizeactive, 20 0"
# "$mod CTRL, H, resizeactive, -20 0"
# "$mod CTRL, K, resizeactive, 0 -20"
# "$mod CTRL, J, resizeactive, 0 20"
# ################
# ## WORKSPACES ##
# ################
# "$mod, 1, workspace, 1"
# "$mod, 2, workspace, 2"
# "$mod, 3, workspace, 3"
# "$mod, 4, workspace, 4"
# "$mod, 5, workspace, 5"
# "$mod, 6, workspace, 6"
# "$mod, 7, workspace, 7"
# "$mod, 8, workspace, 8"
# "$mod, 9, workspace, 9"
# "$mod, 0, workspace, 10"
# #################################
# ## MOVE WINDOW TO WORKSPACES ##
# #################################
# "$mod SHIFT, 1, movetoworkspace, 1"
# "$mod SHIFT, 2, movetoworkspace, 2"
# "$mod SHIFT, 3, movetoworkspace, 3"
# "$mod SHIFT, 4, movetoworkspace, 4"
# "$mod SHIFT, 5, movetoworkspace, 5"
# "$mod SHIFT, 6, movetoworkspace, 6"
# "$mod SHIFT, 7, movetoworkspace, 7"
# "$mod SHIFT, 8, movetoworkspace, 8"
# "$mod SHIFT, 9, movetoworkspace, 9"
# "$mod SHIFT, 0, movetoworkspace, 10"
# ##################
# ## SCRATCHPADS ##
# ##################
"$mod SHIFT, G, movetoworkspace, special:magic"
"$mod, G, togglespecialworkspace, magic"
# ##########################################
# ## SCROLL THROUGH EXISTING WORKSPACES ##
# ##########################################
# "$mod, mouse_down, workspace, e+1"
# "$mod, mouse_up, workspace, e-1"
# ###################
# ## MOUSE ACTIONS ##
# ###################
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
# ###########
# ## MISC ##
# ###########
# "$mod, MOUSEDOWN, layoutmsg, move +col"
# "$mod, MOUSEUP, layoutmsg, move -col"
# "$mod, T, togglegroup"
# "$mod SHIFT, X, exec, $POWER_MENU"
"CTRL ALT, F, exec, kando -m kandomain"
# "$mod, W, exec, $WIFI_MENU"
# "$mod, X, exec, hyprlock"
];
# ###################
# ## MOUSE ACTIONS ##
# ###################
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
};
};
}
+130
View File
@@ -0,0 +1,130 @@
{
wayland.windowManager.hyprland.settings = {
window_rule = [
# -----------------
# Workspace
# -----------------
"workspace 24,title:^(rmpc)$"
"workspace 10,class:^(equibop)$"
"monitor DP-1,title:^(rmpc)$"
"monitor DP-1,class:^(equibop)$"
# -----------------
# Windows
# -----------------
"opacity 1 0.999999,class:^(mpv)$"
"opacity 0.99 override 0.99 override,class:^(obsidian)$"
# -----------------
# Floating
# -----------------
"float,class:^(imv)$"
"float,class:^(nemo)$"
"float,class:.*,title:^(Open File.*)$"
"float,title:^(Picture-in-Picture)$"
"float,class:^(rofi)$"
"float,class:^(xdg-desktop-portal-gtk)$"
"float,title:^(Steam Settings)$"
"float,title:^(Friends List)$"
"float,title:^(nvim)$"
"float,class:^(org.gnome.FileRoller)$"
"float,class:^(org.gnome.Decibels)$"
"float,class:^(neovide)$"
"float,class:^(org.prismlauncher.PrismLauncher)$"
"float,class:^(feh)$"
"float,class:^(com.github.aliencoweatcake.imageviewer)$"
"float,class:^(waypaper)$"
# -----------------
# Scrolling
# -----------------
"scrollmouse 1.0,class:^(Minecraft.*)$"
"scrollmouse 1.0,class:^(Lunar.*)$"
"scrollmouse 1.0,class:^(LiquidBounce.*)$"
"scrollmouse 1.0,class:^(Nomifactory.*)$"
"scrollmouse 1.0,class:^(GT.*)$"
# -----------------
# Center
# -----------------
"center,class:^(imv)$"
"center,class:^(nemo)$"
"center,class:^(org.prismlauncher.PrismLauncher)$"
# -----------------
# Size
# -----------------
"size 1200 700,class:^(imv)$"
"size 1200 700,class:^(nemo)$"
"size 1200 700,title:^(nvim)$"
"size 1200 700,class:^(org.gnome.Decibels)$"
"size 1200 700,class:^(neovide)$"
"size 1200 700,class:^(org.prismlauncher.PrismLauncher)$"
"size 1200 700,class:^(waypaper)$"
"suppressevent maximize,class:.*"
# -----------------
# Opaque
# -----------------
"opaque,class:^(kitty)$"
"opaque,class:^(nemo)$"
"opaque,class:^(virt-manager)$"
"opaque,class:^(rofi)$"
"opaque,class:^(looking-glass-client)$"
"opaque,class:^(steam)$"
"opaque,class:^(equibop)$"
"opaque,initialtitle:^(Zen Browser)$"
"opaque,class:^(org.qutebrowser.qutebrowser)$"
"opaque,class:^(gimp)$"
"opaque,class:^(discord)$"
"opaque,class:^(librewolf)$"
"opaque,class:^(imv)$"
"opaque,class:^(org.gnome.Decibels)$"
"opaque,class:^(neovide)$"
"opaque,class:^(Tor Browser)$"
"opaque,class:^(com.ayugram.desktop)$"
"opaque,title:^(Software Manager)$"
"opaque,class:^(waypaper)$"
"opaque,class:^(mpv)$"
"opaque,class:^(helium)$"
"opaque,class:^(Spotify)$"
# -----------------
# Kando
# -----------------
"noblur,class:^(kando)$"
"opaque,class:^(kando)$"
"size 100% 100%,class:^(kando)$"
"bordersize 0,class:^(kando)$"
"noanim,class:^(kando)$"
"float,class:^(kando)$"
"pin,class:^(kando)$"
];
layerrule = [
"blur,rofi"
"noanim,hyprpicker"
"noanim,selection"
"noscreenshare,notifications"
"blur,notifications"
"ignorealpha 1,notifications"
"blur,wofi"
"dimaround,rofi"
"noanim,^dms$"
"noscreenshare,dms:notification-popup"
"noanim,noctalia-background-.*$"
"ignorealpha 0.5,noctalia-background-.*$"
"blur,noctalia-background-.*$"
"blurpopups,noctalia-background-.*$"
"noscreenshare,noctalia-notifications-.*$"
];
};
}
+5
View File
@@ -0,0 +1,5 @@
{
imports = [
./neovim.nix
];
}