summaryrefslogtreecommitdiff
path: root/home/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'home/desktops')
-rw-r--r--home/desktops/default.nix7
-rw-r--r--home/desktops/hyprland/binds.nix93
-rw-r--r--home/desktops/hyprland/default.nix6
-rw-r--r--home/desktops/hyprland/settings.nix49
-rw-r--r--home/desktops/hyprland/wallpaper.nix8
5 files changed, 96 insertions, 67 deletions
diff --git a/home/desktops/default.nix b/home/desktops/default.nix
index 0c2ce1c..a3b4a1f 100644
--- a/home/desktops/default.nix
+++ b/home/desktops/default.nix
@@ -28,7 +28,7 @@ in {
# xdg
libnotify
# fonts
- charis-sil
+ charis
dejavu_fonts
doulos-sil
fira-code
@@ -66,6 +66,11 @@ in {
sf-compact
]);
+ # set uwsm vars
+ xdg.configFile = {
+ "uwsm/env".source = "${config.home.sessionVariablesPackage}/etc/profile.d/hm-session-vars.sh";
+ };
+
# user fonts
fonts.fontconfig = {
enable = true;
diff --git a/home/desktops/hyprland/binds.nix b/home/desktops/hyprland/binds.nix
index df4ecc0..3266938 100644
--- a/home/desktops/hyprland/binds.nix
+++ b/home/desktops/hyprland/binds.nix
@@ -1,66 +1,67 @@
-{config, ...}: {
+{config, ...}: let
+ mod = "SUPER";
+in {
wayland.windowManager.hyprland.settings = {
# Keybinds
- "$mod" = "SUPER";
bind = [
# Launch programs
- "$mod, W, exec, ${config.default.browser}"
- "$mod, D, exec, ${config.default.appLauncher}"
- "$mod, L, exec, ${config.default.lockScreen}"
- "$mod, Return, exec, ${config.default.terminal}"
+ "${mod}, W, exec, ${config.default.browser}"
+ "${mod}, D, exec, ${config.default.appLauncher}"
+ "${mod}, L, exec, ${config.default.lockScreen}"
+ "${mod}, Return, exec, ${config.default.terminal}"
", Print, exec, grimblast copy area"
# Misc
- "$mod SHIFT, L, exit"
- #"$mod, tab, hyprexpo:expo, toggle"
+ "${mod} SHIFT, L, exit"
+ #"${mod}, tab, hyprexpo:expo, toggle"
# Window operations
- "$mod SHIFT, Q, killactive"
- "$mod SHIFT, SPACE, togglefloating"
- "$mod, F, fullscreen"
- "$mod, J, togglesplit"
+ "${mod} SHIFT, Q, killactive"
+ "${mod} SHIFT, SPACE, togglefloating"
+ "${mod}, F, fullscreen"
+ "${mod}, J, togglesplit"
# Move focus with mod + arrow keys
- "$mod, left, movefocus, l"
- "$mod, right, movefocus, r"
- "$mod, up, movefocus, u"
- "$mod, down, movefocus, d"
+ "${mod}, left, movefocus, l"
+ "${mod}, right, movefocus, r"
+ "${mod}, up, movefocus, u"
+ "${mod}, down, movefocus, d"
# Move window across workspace with mod + arrow keys
- "$mod SHIFT, left, hy3:movewindow, l"
- "$mod SHIFT, right, hy3:movewindow, r"
- "$mod SHIFT, up, hy3:movewindow, u"
- "$mod SHIFT, down, hy3:movewindow, d"
+ "${mod} SHIFT, left, hy3:movewindow, l"
+ "${mod} SHIFT, right, hy3:movewindow, r"
+ "${mod} SHIFT, up, hy3:movewindow, u"
+ "${mod} SHIFT, down, hy3:movewindow, d"
# Switch workspaces with mod + [0-9]
- "$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}, 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"
# Move active window to a workspace with mod + SHIFT + [0-9]
- "$mod SHIFT, 1, movetoworkspacesilent, 1"
- "$mod SHIFT, 2, movetoworkspacesilent, 2"
- "$mod SHIFT, 3, movetoworkspacesilent, 3"
- "$mod SHIFT, 4, movetoworkspacesilent, 4"
- "$mod SHIFT, 5, movetoworkspacesilent, 5"
- "$mod SHIFT, 6, movetoworkspacesilent, 6"
- "$mod SHIFT, 7, movetoworkspacesilent, 7"
- "$mod SHIFT, 8, movetoworkspacesilent, 8"
- "$mod SHIFT, 9, movetoworkspacesilent, 9"
- "$mod SHIFT, 0, movetoworkspacesilent, 10"
+ "${mod} SHIFT, 1, movetoworkspacesilent, 1"
+ "${mod} SHIFT, 2, movetoworkspacesilent, 2"
+ "${mod} SHIFT, 3, movetoworkspacesilent, 3"
+ "${mod} SHIFT, 4, movetoworkspacesilent, 4"
+ "${mod} SHIFT, 5, movetoworkspacesilent, 5"
+ "${mod} SHIFT, 6, movetoworkspacesilent, 6"
+ "${mod} SHIFT, 7, movetoworkspacesilent, 7"
+ "${mod} SHIFT, 8, movetoworkspacesilent, 8"
+ "${mod} SHIFT, 9, movetoworkspacesilent, 9"
+ "${mod} SHIFT, 0, movetoworkspacesilent, 10"
# Move to tab
@@ -75,14 +76,14 @@
"LALT, 9, hy3:focustab, index, 09"
"LALT, 0, hy3:focustab, index, 10"
- "$mod SHIFT, B, hy3:makegroup, h"
- "$mod SHIFT, V, hy3:makegroup, v"
- "$mod SHIFT, C, hy3:changegroup, toggletab"
+ "${mod} SHIFT, B, hy3:makegroup, h"
+ "${mod} SHIFT, V, hy3:makegroup, v"
+ "${mod} SHIFT, C, hy3:changegroup, toggletab"
# Scroll through existing workspaces with mod + scroll
- "$mod, mouse_down, workspace, e+1"
- "$mod, mouse_up, workspace, e-1"
+ "${mod}, mouse_down, workspace, e+1"
+ "${mod}, mouse_up, workspace, e-1"
];
bindn = [
@@ -96,8 +97,8 @@
bindm = [
# Move/resize windows with mod + LMB/RMB and dragging
- "$mod, mouse:272, movewindow"
- "$mod, mouse:273, resizewindow"
+ "${mod}, mouse:272, movewindow"
+ "${mod}, mouse:273, resizewindow"
];
binde = [
diff --git a/home/desktops/hyprland/default.nix b/home/desktops/hyprland/default.nix
index 5fd0d75..913ca57 100644
--- a/home/desktops/hyprland/default.nix
+++ b/home/desktops/hyprland/default.nix
@@ -3,6 +3,7 @@
config,
lib,
system,
+ pkgs,
...
}: let
inherit (lib) mkIf;
@@ -18,13 +19,14 @@ in {
];
config = mkIf cfg.enable {
- home.packages = [
- inputs.rose-pine-hyprcursor.packages.${system}.default
+ home.packages = with pkgs; [
+ rose-pine-hyprcursor
];
wayland.windowManager.hyprland = {
enable = true;
package = inputs.hyprland.packages.${system}.hyprland;
+ portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland;
xwayland.enable = true;
systemd.enable = true;
diff --git a/home/desktops/hyprland/settings.nix b/home/desktops/hyprland/settings.nix
index 219467e..98fc12b 100644
--- a/home/desktops/hyprland/settings.nix
+++ b/home/desktops/hyprland/settings.nix
@@ -65,19 +65,27 @@
enabled = true;
bezier = [
- "windowIn, 0.06, 0.71, 0.25, 1"
- "windowResize, 0.04, 0.67, 0.38, 1"
+ "default, 0.12, 0.92, 0.08, 1.0"
+ "wind, 0.12, 0.92, 0.08, 1.0"
+ "overshot, 0.18, 0.95, 0.22, 1.03"
+ "linear, 1, 1, 1, 1"
];
animation = [
- "windowsIn, 1, 3, windowIn, slide #popin 20%"
- "windowsOut, 1, 3, windowIn, slide #popin 70%"
- "windowsMove, 1, 2.5, windowResize"
- "border, 1, 10, default"
- "borderangle, 1, 8, default"
- "fade, 1, 3, default"
- "workspaces, 1, 6, default"
- "layers, 1, 5, windowIn, slide"
+ "windows, 1, 5, wind, popin 60%"
+ "windowsIn, 1, 6, overshot, popin 60%"
+ "windowsOut, 1, 4, overshot, popin 60%"
+ "windowsMove, 1, 4, overshot, slide"
+ "layers, 1, 4, default, popin"
+ "fadeIn, 1, 7, default"
+ "fadeOut, 1, 7, default"
+ "fadeSwitch, 1, 7, default"
+ "fadeShadow, 1, 7, default"
+ "fadeDim, 1, 7, default"
+ "fadeLayers, 1, 7, default"
+ "workspaces, 1, 5, overshot, slide"
+ "border, 1, 1, linear"
+ "borderangle, 1, 24, linear, loop"
];
};
@@ -95,6 +103,22 @@
sensitivity = 0;
};
+ # Layer rules
+ layerrule = [
+ # fix weird borders
+ "blur true, match:namespace wofi"
+ "ignore_alpha 0, match:namespace wofi"
+ "blur true, match:namespace notificaations"
+ "ignore_alpha 0, match:namespace notifications"
+ "blur true, match:namespace swaync-notificaation-window"
+ "ignore_alpha 0, match:namespace swaync-notification-window"
+ "blur true, match:namespace swaync-control-center"
+ "ignore_alpha 0, match:namespace swaync-control-center"
+
+ # dont animate slurp
+ "no_anim true, match:namespace selection"
+ ];
+
# XWayland
xwayland = {
force_zero_scaling = "true";
@@ -116,11 +140,6 @@
no_update_news = true;
no_donation_nag = true;
};
-
- # Experimental
- experimental = {
- xx_color_management_v4 = true;
- };
}; # end settings
}; # end hyprland
}
diff --git a/home/desktops/hyprland/wallpaper.nix b/home/desktops/hyprland/wallpaper.nix
index e8fc861..33fdec5 100644
--- a/home/desktops/hyprland/wallpaper.nix
+++ b/home/desktops/hyprland/wallpaper.nix
@@ -1,10 +1,12 @@
{config, ...}: {
services.hyprpaper = {
- enable = config.desktops.hyprland.enable;
+ enable = config.desktops.hyprland.enable && !config.apps.caelestia.enable;
settings = {
- preload = config.theme.wallpaper;
- wallpaper = ",${config.theme.wallpaper}";
+ wallpaper = {
+ monitor = "";
+ path = config.theme.wallpaper;
+ };
splash = false;
};
};