From e406f987d11a7f4e3907d045a38af1312cd5fb9e Mon Sep 17 00:00:00 2001 From: KeksNino Date: Sun, 9 Aug 2026 16:49:05 +0200 Subject: [PATCH] update hyprland config (not functional yet) --- hosts/desktop/configuration.nix | 9 +- hosts/desktop/home-manager/home.nix | 3 +- hosts/desktop/home-manager/mpd.nix | 2 + modules/programs/hyprland/default.nix | 7 + .../programs}/hyprland/general.nix | 9 +- modules/programs/hyprland/keybinds.nix | 196 ++++++++++++++++++ .../programs}/hyprland/rules.nix | 0 .../programs/nixvim}/default.nix | 2 +- .../programs/{neovim => nixvim}/keymaps.nix | 0 modules/programs/{neovim => nixvim}/lsp.nix | 0 .../programs/{neovim => nixvim}/neovim.nix | 0 .../{neovim => nixvim}/plugins/conform.nix | 0 .../{neovim => nixvim}/plugins/default.nix | 0 .../{neovim => nixvim}/plugins/snacks.nix | 0 14 files changed, 221 insertions(+), 7 deletions(-) create mode 100644 modules/programs/hyprland/default.nix rename {hosts/desktop/home-manager => modules/programs}/hyprland/general.nix (96%) create mode 100644 modules/programs/hyprland/keybinds.nix rename {hosts/desktop/home-manager => modules/programs}/hyprland/rules.nix (100%) rename {hosts/desktop/home-manager/hyprland => modules/programs/nixvim}/default.nix (56%) rename modules/programs/{neovim => nixvim}/keymaps.nix (100%) rename modules/programs/{neovim => nixvim}/lsp.nix (100%) rename modules/programs/{neovim => nixvim}/neovim.nix (100%) rename modules/programs/{neovim => nixvim}/plugins/conform.nix (100%) rename modules/programs/{neovim => nixvim}/plugins/default.nix (100%) rename modules/programs/{neovim => nixvim}/plugins/snacks.nix (100%) diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index 8537de4..0468334 100644 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -17,9 +17,15 @@ in ./packages.nix ./drives.nix ../../modules/scripts.nix - ../../modules/programs/neovim/neovim.nix + ../../modules/programs/nixvim/neovim.nix ]; + environment.etc."libinput/local-overrides.quirks".text = '' + [No Debounce] + MatchUdevType=mouse + ModelBouncingKeys=1 + ''; + nix.settings.experimental-features = [ "nix-command" "flakes" @@ -121,7 +127,6 @@ in # style = "breeze"; # }; - virtualisation.docker.enable = true; services.gvfs.enable = true; services.goxlr-utility.enable = true; services.flatpak.enable = true; diff --git a/hosts/desktop/home-manager/home.nix b/hosts/desktop/home-manager/home.nix index ae98599..cf0a1f4 100644 --- a/hosts/desktop/home-manager/home.nix +++ b/hosts/desktop/home-manager/home.nix @@ -9,8 +9,9 @@ ./mpd.nix ./programs.nix ../../../modules/shell.nix - ../../../modules/programs/qutebrowser.nix + ../../../modules/programs/hyprland ../../../modules/programs/kitty.nix + ../../../modules/programs/qutebrowser.nix zen-browser.homeModules.beta ]; diff --git a/hosts/desktop/home-manager/mpd.nix b/hosts/desktop/home-manager/mpd.nix index fd404f4..4ee72af 100644 --- a/hosts/desktop/home-manager/mpd.nix +++ b/hosts/desktop/home-manager/mpd.nix @@ -19,6 +19,8 @@ format "44100:16:2" } auto_update "yes" + max_playlist_length "131072" + max_output_buffer_size "32768" ''; network.listenAddress = "/home/user/.config/mpd/socket"; }; diff --git a/modules/programs/hyprland/default.nix b/modules/programs/hyprland/default.nix new file mode 100644 index 0000000..194fd92 --- /dev/null +++ b/modules/programs/hyprland/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./general.nix + ./rules.nix + ./keybinds.nix + ]; +} diff --git a/hosts/desktop/home-manager/hyprland/general.nix b/modules/programs/hyprland/general.nix similarity index 96% rename from hosts/desktop/home-manager/hyprland/general.nix rename to modules/programs/hyprland/general.nix index a407085..be9d9a8 100644 --- a/hosts/desktop/home-manager/hyprland/general.nix +++ b/modules/programs/hyprland/general.nix @@ -1,7 +1,6 @@ { hyprsplit, ... }: let - # Replace these with your pywal colors or import them from another file. # wal = { # color11 = "#..."; # color14 = "#..."; @@ -9,15 +8,19 @@ let in { wayland.windowManager.hyprland = { - enable = true; + enable = false; + xwayland.enable = true; settings = { - device = [ { name = "glorious-model-o-wireless"; sensitivity = -1.0; } + { + name = "glorious-model-o"; + sensitivity = -0.9; + } ]; config = { diff --git a/modules/programs/hyprland/keybinds.nix b/modules/programs/hyprland/keybinds.nix new file mode 100644 index 0000000..11f68d9 --- /dev/null +++ b/modules/programs/hyprland/keybinds.nix @@ -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" + ]; + }; + }; +} diff --git a/hosts/desktop/home-manager/hyprland/rules.nix b/modules/programs/hyprland/rules.nix similarity index 100% rename from hosts/desktop/home-manager/hyprland/rules.nix rename to modules/programs/hyprland/rules.nix diff --git a/hosts/desktop/home-manager/hyprland/default.nix b/modules/programs/nixvim/default.nix similarity index 56% rename from hosts/desktop/home-manager/hyprland/default.nix rename to modules/programs/nixvim/default.nix index 7814bed..73b5f39 100644 --- a/hosts/desktop/home-manager/hyprland/default.nix +++ b/modules/programs/nixvim/default.nix @@ -1,5 +1,5 @@ { imports = [ - ./general.nix + ./neovim.nix ]; } diff --git a/modules/programs/neovim/keymaps.nix b/modules/programs/nixvim/keymaps.nix similarity index 100% rename from modules/programs/neovim/keymaps.nix rename to modules/programs/nixvim/keymaps.nix diff --git a/modules/programs/neovim/lsp.nix b/modules/programs/nixvim/lsp.nix similarity index 100% rename from modules/programs/neovim/lsp.nix rename to modules/programs/nixvim/lsp.nix diff --git a/modules/programs/neovim/neovim.nix b/modules/programs/nixvim/neovim.nix similarity index 100% rename from modules/programs/neovim/neovim.nix rename to modules/programs/nixvim/neovim.nix diff --git a/modules/programs/neovim/plugins/conform.nix b/modules/programs/nixvim/plugins/conform.nix similarity index 100% rename from modules/programs/neovim/plugins/conform.nix rename to modules/programs/nixvim/plugins/conform.nix diff --git a/modules/programs/neovim/plugins/default.nix b/modules/programs/nixvim/plugins/default.nix similarity index 100% rename from modules/programs/neovim/plugins/default.nix rename to modules/programs/nixvim/plugins/default.nix diff --git a/modules/programs/neovim/plugins/snacks.nix b/modules/programs/nixvim/plugins/snacks.nix similarity index 100% rename from modules/programs/neovim/plugins/snacks.nix rename to modules/programs/nixvim/plugins/snacks.nix