diff --git a/home-manager/hyprland/binds.nix b/home-manager/hyprland/binds.nix
new file mode 100644
index 0000000..dd57448
--- /dev/null
+++ b/home-manager/hyprland/binds.nix
@@ -0,0 +1,94 @@
+{
+ wayland.windowManager.hyprland.settings = {
+ "$mainMod" = "SUPER";
+ "$shiftMod" = "$mainMod SHIFT";
+
+ bind = [
+ "$mainMod, Q, exec, $terminal"
+ "$mainMod, C, killactive,"
+ "$shiftMod, M, exit,"
+ "$mainMod, E, exec, $fileManager"
+ "$mainMod, V, togglefloating,"
+ "$mainMod, R, exec, $menu"
+ "$mainMod, P, pseudo," # dwindle
+ "$mainMod, J, togglesplit," # dwindle
+ "$mainMod, B, exec, $browser"
+ "$mainMod, L, exec, hyprlock"
+ "$mainMod, K, exec, [float] gnome-calculator"
+
+ # Screenshots
+ "$mainMod, PRINT, exec, hyprshot -m window" # Window
+ ", PRINT, exec, hyprshot -m output" # Monitor
+ "$shiftMod, PRINT, exec, hyprshot -m region" # Region
+
+ # Move focus with mainMod + arrow keys
+ "$mainMod, left, movefocus, l"
+ "$mainMod, right, movefocus, r"
+ "$mainMod, up, movefocus, u"
+ "$mainMod, down, movefocus, d"
+
+ # Switch workspaces with mainMod + [0-9]
+ "$mainMod, 1, workspace, 1"
+ "$mainMod, 2, workspace, 2"
+ "$mainMod, 3, workspace, 3"
+ "$mainMod, 4, workspace, 4"
+ "$mainMod, 5, workspace, 5"
+ "$mainMod, 6, workspace, 6"
+ "$mainMod, 7, workspace, 7"
+ "$mainMod, 8, workspace, 8"
+ "$mainMod, 9, workspace, 9"
+ "$mainMod, 0, workspace, 10"
+
+ # Move active window to a workspace with mainMod + SHIFT + [0-9]
+ "$shiftMod, 1, movetoworkspace, 1"
+ "$shiftMod, 2, movetoworkspace, 2"
+ "$shiftMod, 3, movetoworkspace, 3"
+ "$shiftMod, 4, movetoworkspace, 4"
+ "$shiftMod, 5, movetoworkspace, 5"
+ "$shiftMod, 6, movetoworkspace, 6"
+ "$shiftMod, 7, movetoworkspace, 7"
+ "$shiftMod, 8, movetoworkspace, 8"
+ "$shiftMod, 9, movetoworkspace, 9"
+ "$shiftMod, 0, movetoworkspace, 10"
+
+ # Example special workspace (scratchpad)
+ "$mainMod, S, togglespecialworkspace, magic"
+ "$shiftMod, S, movetoworkspace, special:magic"
+
+ # Scroll through existing workspaces with mainMod + scroll
+ "$mainMod, mouse_down, workspace, e+1"
+ "$mainMod, mouse_up, workspace, e-1"
+ ];
+
+ binde = [
+ # Resize the focused window
+ "$shiftMod, right, resizeactive, 20 0"
+ "$shiftMod, left, resizeactive, -20 0"
+ "$shiftMod, up, resizeactive, 0 -20"
+ "$shiftMod, down, resizeactive, 0 20"
+ ];
+
+ bindm = [
+ # Move/resize windows with mainMod + LMB/RMB and dragging
+ "$mainMod, mouse:272, movewindow"
+ "$mainMod, mouse:273, resizewindow"
+ ];
+
+ bindl = [
+ ", XF86AudioNext, exec, playerctl next"
+ ", XF86AudioPause, exec, playerctl play-pause"
+ ", XF86AudioPlay, exec, playerctl play-pause"
+ ", XF86AudioPrev, exec, playerctl previous"
+ ];
+
+ bindel = [
+ # Laptop multimedia keys for volume and LCD brightness
+ ",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
+ ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
+ ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
+ ",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
+ ",XF86MonBrightnessUp, exec, brightnessctl s 10%+"
+ ",XF86MonBrightnessDown, exec, brightnessctl s 10%-"
+ ];
+ };
+}
diff --git a/home-manager/hyprland/default.nix b/home-manager/hyprland/default.nix
index 917425a..28bf06b 100644
--- a/home-manager/hyprland/default.nix
+++ b/home-manager/hyprland/default.nix
@@ -1,16 +1,15 @@
# Home configurations for Hyprland. For system configs, see ./hyprland
-{ ... }:
-
{
imports = [
+ ./binds.nix
./hyprcursor
./waybar
./hypridle
./hyprlock
+ ./settings.nix
./swaync
];
- home.file.".config/hypr/hyprland.conf".source = ./hyprland.conf;
programs = {
btop.enable = true;
kitty = {
@@ -19,4 +18,6 @@
};
};
};
+
+ wayland.windowManager.hyprland.enable = true;
}
diff --git a/home-manager/hyprland/hyprland.conf b/home-manager/hyprland/hyprland.conf
deleted file mode 100644
index d404070..0000000
--- a/home-manager/hyprland/hyprland.conf
+++ /dev/null
@@ -1,408 +0,0 @@
-# Please note not all available settings / options are set here.
-# For a full list, see the wiki
-
-# You can split this configuration into multiple files
-# Create your files separately and then link them to this file like this:
-# source = ~/.config/hypr/myColors.conf
-
-
-################
-### MONITORS ###
-################
-
-# See https://wiki.hyprland.org/Configuring/Monitors/
-# monitor=,preferred,auto,auto
-monitor = DP-1, 1920x1080@144, 0x0, 1
-monitor = DP-3, 2560x1440@59.95, 1920x0, 1
-
-
-###################
-### MY PROGRAMS ###
-###################
-
-# See https://wiki.hyprland.org/Configuring/Keywords/
-
-# Set programs that you use
-$browser = io.github.zen_browser.zen
-$terminal = kitty
-$fileManager = nautilus
-$menu = rofi -show drun
-
-
-#################
-### AUTOSTART ###
-#################
-
-# Autostart necessary processes (like notifications daemons, status bars, etc.)
-# Or execute your favorite apps at launch like this:
-
-exec-once = $browser & $terminal & nextcloud
-
-# Status bar
-exec-once = waybar
-
-# Wallpaper
-exec-once = waypaper --restore
-
-# Authentication daemon
-exec-once = systemctl --user start hyprpolkitagent
-
-# Notification deamon
-exec-once = swaync
-
-# Idle after predetermined amount of time
-exec-once = hypridle
-
-
-#############################
-### ENVIRONMENT VARIABLES ###
-#############################
-
-# See https://wiki.hyprland.org/Configuring/Environment-variables/
-
-env = XCURSOR_SIZE,24
-env = HYPRCURSOR_SIZE,24
-env = HYPRCURSOR_THEME,rose-pine-hyprcursor
-env = ELECTRON_OZONE_PLATFORM_HINT,auto
-env = HYPRSHOT_DIR,$HOME/Pictures/screenshots # Store screenshots here
-
-
-#####################
-### LOOK AND FEEL ###
-#####################
-
-# Refer to https://wiki.hyprland.org/Configuring/Variables/
-
-$rosewater = rgb(f5e0dc)
-$rosewaterAlpha = f5e0dc
-
-$flamingo = rgb(f2cdcd)
-$flamingoAlpha = f2cdcd
-
-$pink = rgb(f5c2e7)
-$pinkAlpha = f5c2e7
-
-$mauve = rgb(cba6f7)
-$mauveAlpha = cba6f7
-
-$red = rgb(f38ba8)
-$redAlpha = f38ba8
-
-$maroon = rgb(eba0ac)
-$maroonAlpha = eba0ac
-
-$peach = rgb(fab387)
-$peachAlpha = fab387
-
-$yellow = rgb(f9e2af)
-$yellowAlpha = f9e2af
-
-$green = rgb(a6e3a1)
-$greenAlpha = a6e3a1
-
-$teal = rgb(94e2d5)
-$tealAlpha = 94e2d5
-
-$sky = rgb(89dceb)
-$skyAlpha = 89dceb
-
-$sapphire = rgb(74c7ec)
-$sapphireAlpha = 74c7ec
-
-$blue = rgb(89b4fa)
-$blueAlpha = 89b4fa
-
-$lavender = rgb(b4befe)
-$lavenderAlpha = b4befe
-
-$text = rgb(cdd6f4)
-$textAlpha = cdd6f4
-
-$subtext1 = rgb(bac2de)
-$subtext1Alpha = bac2de
-
-$subtext0 = rgb(a6adc8)
-$subtext0Alpha = a6adc8
-
-$overlay2 = rgb(9399b2)
-$overlay2Alpha = 9399b2
-
-$overlay1 = rgb(7f849c)
-$overlay1Alpha = 7f849c
-
-$overlay0 = rgb(6c7086)
-$overlay0Alpha = 6c7086
-
-$surface2 = rgb(585b70)
-$surface2Alpha = 585b70
-
-$surface1 = rgb(45475a)
-$surface1Alpha = 45475a
-
-$surface0 = rgb(313244)
-$surface0Alpha = 313244
-
-$base = rgb(1e1e2e)
-$baseAlpha = 1e1e2e
-
-$mantle = rgb(181825)
-$mantleAlpha = 181825
-
-$crust = rgb(11111b)
-$crustAlpha = 11111b
-
-# https://wiki.hyprland.org/Configuring/Variables/#general
-general {
- gaps_in = 5
- gaps_out = 20
-
- border_size = 2
-
- # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
- col.active_border = $mauve $teal 45deg
- col.inactive_border = rgba(595959aa)
-
- # Set to true enable resizing windows by clicking and dragging on borders and gaps
- resize_on_border = true
-
- # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
- allow_tearing = false
-
- layout = dwindle
-}
-
-# https://wiki.hyprland.org/Configuring/Variables/#decoration
-decoration {
- rounding = 10
-
- # Change transparency of focused and unfocused windows
- active_opacity = 1.0
- inactive_opacity = 1.0
-
- shadow {
- enabled = true
- range = 4
- render_power = 3
- color = $base
- }
-
- # https://wiki.hyprland.org/Configuring/Variables/#blur
- blur {
- enabled = true
- size = 3
- passes = 1
-
- vibrancy = 0.1696
- }
-}
-
-# https://wiki.hyprland.org/Configuring/Variables/#animations
-animations {
- enabled = yes, please :)
-
- # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
-
- bezier = easeOutQuint,0.23,1,0.32,1
- bezier = easeInOutCubic,0.65,0.05,0.36,1
- bezier = linear,0,0,1,1
- bezier = almostLinear,0.5,0.5,0.75,1.0
- bezier = quick,0.15,0,0.1,1
-
- animation = global, 1, 10, default
- animation = border, 1, 5.39, easeOutQuint
- animation = windows, 1, 4.79, easeOutQuint
- animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
- animation = windowsOut, 1, 1.49, linear, popin 87%
- animation = fadeIn, 1, 1.73, almostLinear
- animation = fadeOut, 1, 1.46, almostLinear
- animation = fade, 1, 3.03, quick
- animation = layers, 1, 3.81, easeOutQuint
- animation = layersIn, 1, 4, easeOutQuint, fade
- animation = layersOut, 1, 1.5, linear, fade
- animation = fadeLayersIn, 1, 1.79, almostLinear
- animation = fadeLayersOut, 1, 1.39, almostLinear
- animation = workspaces, 1, 1.94, almostLinear, fade
- animation = workspacesIn, 1, 1.21, almostLinear, fade
- animation = workspacesOut, 1, 1.94, almostLinear, fade
-}
-
-# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
-# "Smart gaps" / "No gaps when only"
-# uncomment all if you wish to use that.
-# workspace = w[tv1], gapsout:0, gapsin:0
-# workspace = f[1], gapsout:0, gapsin:0
-# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
-# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1]
-# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
-# windowrulev2 = rounding 0, floating:0, onworkspace:f[1]
-
-# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
-dwindle {
- pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
- preserve_split = true # You probably want this
-}
-
-# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
-master {
- new_status = master
-}
-
-# https://wiki.hyprland.org/Configuring/Variables/#misc
-misc {
- force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
- disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
-}
-
-debug {
- disable_logs = false
-}
-
-#############
-### INPUT ###
-#############
-
-# https://wiki.hyprland.org/Configuring/Variables/#input
-# Must match configs in nixos!
-input {
- kb_layout = gb,no
- kb_variant =
- kb_model =
- kb_options = grp:alt_shift_toggle
- kb_rules =
-
- follow_mouse = 1
-
- sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
-
- touchpad {
- natural_scroll = false
- }
-}
-
-# https://wiki.hyprland.org/Configuring/Variables/#gestures
-gestures {
- workspace_swipe = false
-}
-
-# Example per-device config
-# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
-device {
- name = logitech-g502-hero-gaming-mouse
- sensitivity = -0.10
-}
-
-
-###################
-### KEYBINDINGS ###
-###################
-
-# See https://wiki.hyprland.org/Configuring/Keywords/
-$mainMod = SUPER # Sets "Windows" key as main modifier
-$shiftMod = $mainMod SHIFT
-
-# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
-bind = $mainMod, Q, exec, $terminal
-bind = $mainMod, C, killactive,
-bind = $mainMod, M, exit,
-bind = $mainMod, E, exec, $fileManager
-bind = $mainMod, V, togglefloating,
-bind = $mainMod, R, exec, $menu
-bind = $mainMod, P, pseudo, # dwindle
-bind = $mainMod, J, togglesplit, # dwindle
-bind = $mainMod, B, exec, $browser
-bind = $mainMod, L, exec, hyprlock
-bind = $mainMod, K, exec, [float] gnome-calculator
-
-# Screenshot a window
-bind = $mainMod, PRINT, exec, hyprshot -m window
-# Screenshot a monitor
-bind = , PRINT, exec, hyprshot -m output
-# Screenshot a region
-bind = $shiftMod, PRINT, exec, hyprshot -m region
-
-# Move focus with mainMod + arrow keys
-bind = $mainMod, left, movefocus, l
-bind = $mainMod, right, movefocus, r
-bind = $mainMod, up, movefocus, u
-bind = $mainMod, down, movefocus, d
-
-# Resize the focused window
-binde = $shiftMod, right, resizeactive, 20 0
-binde = $shiftMod, left, resizeactive, -20 0
-binde = $shiftMod, up, resizeactive, 0 -20
-binde = $shiftMod, down, resizeactive, 0 20
-
-# Switch workspaces with mainMod + [0-9]
-bind = $mainMod, 1, workspace, 1
-bind = $mainMod, 2, workspace, 2
-bind = $mainMod, 3, workspace, 3
-bind = $mainMod, 4, workspace, 4
-bind = $mainMod, 5, workspace, 5
-bind = $mainMod, 6, workspace, 6
-bind = $mainMod, 7, workspace, 7
-bind = $mainMod, 8, workspace, 8
-bind = $mainMod, 9, workspace, 9
-bind = $mainMod, 0, workspace, 10
-
-# Move active window to a workspace with mainMod + SHIFT + [0-9]
-bind = $shiftMod, 1, movetoworkspace, 1
-bind = $shiftMod, 2, movetoworkspace, 2
-bind = $shiftMod, 3, movetoworkspace, 3
-bind = $shiftMod, 4, movetoworkspace, 4
-bind = $shiftMod, 5, movetoworkspace, 5
-bind = $shiftMod, 6, movetoworkspace, 6
-bind = $shiftMod, 7, movetoworkspace, 7
-bind = $shiftMod, 8, movetoworkspace, 8
-bind = $shiftMod, 9, movetoworkspace, 9
-bind = $shiftMod, 0, movetoworkspace, 10
-
-# Example special workspace (scratchpad)
-bind = $mainMod, S, togglespecialworkspace, magic
-bind = $shiftMod, S, movetoworkspace, special:magic
-
-# Scroll through existing workspaces with mainMod + scroll
-bind = $mainMod, mouse_down, workspace, e+1
-bind = $mainMod, mouse_up, workspace, e-1
-
-# Move/resize windows with mainMod + LMB/RMB and dragging
-bindm = $mainMod, mouse:272, movewindow
-bindm = $mainMod, mouse:273, resizewindow
-
-# Laptop multimedia keys for volume and LCD brightness
-bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
-bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
-bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
-bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
-bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
-bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
-
-# Requires playerctl
-bindl = , XF86AudioNext, exec, playerctl next
-bindl = , XF86AudioPause, exec, playerctl play-pause
-bindl = , XF86AudioPlay, exec, playerctl play-pause
-bindl = , XF86AudioPrev, exec, playerctl previous
-
-
-##############################
-### WINDOWS AND WORKSPACES ###
-##############################
-
-# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
-# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
-
-# Example windowrule v1
-# windowrule = float, ^(kitty)$
-
-# Example windowrule v2
-# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
-
-# Ignore maximize requests from apps. You'll probably like this.
-windowrulev2 = suppressevent maximize, class:.*
-
-# Fix some dragging issues with XWayland
-windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
-
-# Avoid locking in fullscreen
-windowrulev2 = idleinhibit fullscreen, class:^(*)$
-windowrulev2 = idleinhibit fullscreen, title:^(*)$
-windowrulev2 = idleinhibit fullscreen, fullscreen:1
diff --git a/home-manager/hyprland/settings.nix b/home-manager/hyprland/settings.nix
new file mode 100644
index 0000000..3dd95a2
--- /dev/null
+++ b/home-manager/hyprland/settings.nix
@@ -0,0 +1,225 @@
+{ lib, ... }:
+
+{
+ wayland.windowManager.hyprland.settings = {
+ monitor = [
+ "DP-1, 1920x1080@144, 0x0, 1"
+ "DP-3, 2560x1440@59.95, 1920x0, 1"
+ ];
+
+ "$browser" = "io.github.zen_browser.zen";
+ "$terminal" = "kitty";
+ "$fileManager" = "nautilus";
+ "$menu" = "rofi -show drun";
+
+ # Autostart
+ exec-once = [
+ "$browser"
+ "nextcloud"
+ "$terminal"
+ "hypridle"
+ "systemctl --user start hyprpolkitagent"
+ "swaync"
+ "waybar"
+ "waypaper --restore"
+ ];
+
+ env = [
+ "XCURSOR_SIZE,24"
+ "HYPRCURSOR_SIZE,24"
+ "HYPRCURSOR_THEME,rose-pine-hyprcursor"
+ "ELECTRON_OZONE_PLATFORM_HINT,auto"
+ "HYPRSHOT_DIR,$HOME/Pictures/screenshots" # Store screenshots here
+ ];
+
+ # TODO move to common file
+ "$rosewater" = "rgb(f5e0dc)";
+ "$rosewaterAlpha" = "f5e0dc";
+
+ "$flamingo" = "rgb(f2cdcd)";
+ "$flamingoAlpha" = "f2cdcd";
+
+ "$pink" = "rgb(f5c2e7)";
+ "$pinkAlpha" = "f5c2e7";
+
+ "$mauve" = "rgb(cba6f7)";
+ "$mauveAlpha" = "cba6f7";
+
+ "$red" = "rgb(f38ba8)";
+ "$redAlpha" = "f38ba8";
+
+ "$maroon" = "rgb(eba0ac)";
+ "$maroonAlpha" = "eba0ac";
+
+ "$peach" = "rgb(fab387)";
+ "$peachAlpha" = "fab387";
+
+ "$yellow" = "rgb(f9e2af)";
+ "$yellowAlpha" = "f9e2af";
+
+ "$green" = "rgb(a6e3a1)";
+ "$greenAlpha" = "a6e3a1";
+
+ "$teal" = "rgb(94e2d5)";
+ "$tealAlpha" = "94e2d5";
+
+ "$sky" = "rgb(89dceb)";
+ "$skyAlpha" = "89dceb";
+
+ "$sapphire" = "rgb(74c7ec)";
+ "$sapphireAlpha" = "74c7ec";
+
+ "$blue" = "rgb(89b4fa)";
+ "$blueAlpha" = "89b4fa";
+
+ "$lavender" = "rgb(b4befe)";
+ "$lavenderAlpha" = "b4befe";
+
+ "$text" = "rgb(cdd6f4)";
+ "$textAlpha" = "cdd6f4";
+
+ "$subtext1" = "rgb(bac2de)";
+ "$subtext1Alpha" = "bac2de";
+
+ "$subtext0" = "rgb(a6adc8)";
+ "$subtext0Alpha" = "a6adc8";
+
+ "$overlay2" = "rgb(9399b2)";
+ "$overlay2Alpha" = "9399b2";
+
+ "$overlay1" = "rgb(7f849c)";
+ "$overlay1Alpha" = "7f849c";
+
+ "$overlay0" = "rgb(6c7086)";
+ "$overlay0Alpha" = "6c7086";
+
+ "$surface2" = "rgb(585b70)";
+ "$surface2Alpha" = "585b70";
+
+ "$surface1" = "rgb(45475a)";
+ "$surface1Alpha" = "45475a";
+
+ "$surface0" = "rgb(313244)";
+ "$surface0Alpha" = "313244";
+
+ "$base" = "rgb(1e1e2e)";
+ "$baseAlpha" = "1e1e2e";
+
+ "$mantle" = "rgb(181825)";
+ "$mantleAlpha" = "181825";
+
+ "$crust" = "rgb(11111b)";
+ "$crustAlpha" = "11111b";
+
+ general = {
+ gaps_in = 5;
+ gaps_out = 20;
+ border_size = 2;
+ "col.active_border" = lib.mkDefault "$mauve $teal 45deg";
+ "col.inactive_border" = lib.mkDefault "rgba(595959aa)";
+ resize_on_border = true;
+ allow_tearing = false;
+ layout = "dwindle";
+ };
+
+ decoration = {
+ rounding = 10;
+
+ # Change transparency of focused and unfocused windows
+ active_opacity = 1.0;
+ inactive_opacity = 1.0;
+
+ shadow = {
+ enabled = true;
+ range = 4;
+ render_power = 3;
+ color = lib.mkDefault "$base";
+ };
+
+ blur = {
+ enabled = true;
+ size = 3;
+ passes = 1;
+
+ vibrancy = 0.1696;
+ };
+ };
+
+ animations = {
+ enabled = "yes, please :)";
+
+ bezier = [
+ "easeOutQuint,0.23,1,0.32,1"
+ "easeInOutCubic,0.65,0.05,0.36,1"
+ "linear,0,0,1,1"
+ "almostLinear,0.5,0.5,0.75,1.0"
+ "quick,0.15,0,0.1,1"
+ ];
+
+ animation = [
+ "global, 1, 10, default"
+ "border, 1, 5.39, easeOutQuint"
+ "windows, 1, 4.79, easeOutQuint"
+ "windowsIn, 1, 4.1, easeOutQuint, popin 87%"
+ "windowsOut, 1, 1.49, linear, popin 87%"
+ "fadeIn, 1, 1.73, almostLinear"
+ "fadeOut, 1, 1.46, almostLinear"
+ "fade, 1, 3.03, quick"
+ "layers, 1, 3.81, easeOutQuint"
+ "layersIn, 1, 4, easeOutQuint, fade"
+ "layersOut, 1, 1.5, linear, fade"
+ "fadeLayersIn, 1, 1.79, almostLinear"
+ "fadeLayersOut, 1, 1.39, almostLinear"
+ "workspaces, 1, 1.94, almostLinear, fade"
+ "workspacesIn, 1, 1.21, almostLinear, fade"
+ "workspacesOut, 1, 1.94, almostLinear, fade"
+ ];
+ };
+
+ dwindle = {
+ pseudotile = true; # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = true; # You probably want this
+ };
+
+ master = {
+ new_status = "master";
+ };
+
+ misc = {
+ force_default_wallpaper = -1; # Set to 0 or 1 to disable the anime mascot wallpapers
+ disable_hyprland_logo = false; # If true disables the random hyprland logo / anime girl background. :(
+ };
+
+ debug.disable_logs = false;
+
+ # TODO fetch values from common file. Must match configs in nixos!
+ input = {
+ kb_layout = "gb,no";
+ kb_options = "grp:alt_shift_toggle";
+
+ follow_mouse = 1;
+
+ sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
+
+ touchpad.natural_scroll = false;
+ };
+
+ gestures.workspace_swipe = false;
+
+ device = {
+ name = "logitech-g502-hero-gaming-mouse";
+ sensitivity = -0.10;
+ };
+
+ windowrulev2 = [
+ # Ignore maximize requests from apps
+ "suppressevent maximize, class:.*"
+ # Fix some dragging issues with XWayland
+ "nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
+ # Avoid locking in fullscreen
+ "idleinhibit fullscreen, class:^(*)$"
+ "idleinhibit fullscreen, title:^(*)$"
+ "idleinhibit fullscreen, fullscreen:1"
+ ];
+ };
+}
diff --git a/home-manager/hyprland/waybar/config/config.jsonc b/home-manager/hyprland/waybar/config/config.jsonc
index a9a78cb..8c09f42 100644
--- a/home-manager/hyprland/waybar/config/config.jsonc
+++ b/home-manager/hyprland/waybar/config/config.jsonc
@@ -22,11 +22,14 @@
"sort-by-name": true,
"format": " {id} "
},
- "hyprland/window": {},
+ "hyprland/window": {
+ "format": "{initialTitle}"
+ },
"tray": {
"icon-size": 21,
"spacing": 10
},
+ // TODO better music module
"custom/music": {
"format": " {}",
"escape": true,
@@ -86,14 +89,14 @@
"tooltip": false,
"format": "{icon}",
"format-icons": {
- "notification": "",
- "none": "",
- "dnd-notification": "",
- "dnd-none": "",
- "inhibited-notification": "",
- "inhibited-none": "",
- "dnd-inhibited-notification": "",
- "dnd-inhibited-none": ""
+ "notification": "",
+ "none": "",
+ "dnd-notification": "",
+ "dnd-none": "",
+ "inhibited-notification": "",
+ "inhibited-none": "",
+ "dnd-inhibited-notification": "",
+ "dnd-inhibited-none": ""
},
"return-type": "json",
"exec-if": "which swaync-client",