diff --git a/configuration.nix b/configuration.nix
index 7bc2e0b..3d74d8c 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -26,7 +26,6 @@
initrd = {
systemd.enable = true;
luks.devices."crypted" = {
- preLVM = lib.mkForce false;
crypttabExtraOpts = [ "fido2-device=auto" ];
device = "/dev/disk/by-partlabel/disk-main-luks";
};
diff --git a/flake.nix b/flake.nix
index 2441904..20ee421 100644
--- a/flake.nix
+++ b/flake.nix
@@ -26,14 +26,14 @@
hyprland = {
url = "github:hyprwm/Hyprland/v0.41.2";
};
- split-monitor-workspaces = {
- url = "github:Duckonaut/split-monitor-workspaces";
+ hyprsplit = {
+ url = "github:shezdy/hyprsplit";
inputs.hyprland.follows = "hyprland";
};
flatpaks.url = "github:GermanBread/declarative-flatpak/stable";
};
- outputs = inputs@{ nixpkgs, home-manager, hyprland, split-monitor-workspaces, flatpaks, ... }: {
+ outputs = inputs@{ nixpkgs, home-manager, hyprland, hyprsplit, flatpaks, ... }: {
nixosConfigurations = {
"ziltis-desktop" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
diff --git a/home.nix b/home.nix
index 20e16e3..189adf4 100644
--- a/home.nix
+++ b/home.nix
@@ -77,7 +77,7 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
# ./chicken/chicken.nix
];
- home.stateVersion = "23.11";
+ home.stateVersion = "24.05";
programs.home-manager.enable = true;
home.sessionPath = [ "${config.home.homeDirectory}/.config/emacs/bin" "${config.home.homeDirectory}/.local/bin" ];
@@ -101,11 +101,6 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
# size = 32;
# };
- home.file.".config/sway/config" = {
- enable = true;
- text = builtins.readFile ./swayfx/config.in;
- };
-
accounts = {
# calendar = {
# basePath = "${config.home.homeDirectory}/calendars";
@@ -409,10 +404,10 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
};
};
- services.nextcloud-client = {
- enable = true;
- startInBackground = true;
- };
+ # services.nextcloud-client = {
+ # enable = true;
+ # startInBackground = true;
+ # };
# programs.swaylock = {
# enable = true;
@@ -428,6 +423,52 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
# };
# };
+programs.hyprlock = {
+ enable = true;
+ settings = {
+ general = {
+ grace = 3;
+ };
+ background = {
+ path = "screenshot";
+ blur_passes = 2;
+ blur_size = 5;
+ noise = 0.0117;
+ contrast = 0.8916;
+ brightness = 0.8172;
+ vibrancy = 0.1696;
+ vibrancy_darkness = 0.0;
+ };
+ input-field = {
+ size = "200, 50";
+ outline_thickness = 3;
+ dots_size = 0.33;
+ dots_spacing = 0.15;
+ dots_center = true;
+ dots_rounding = -1;
+ outer_color = "rgb(151515)";
+ inner_color = "rgb(200,200,200)";
+ font_color = "rgb(10,10,10)";
+ fade_on_empty = true;
+ fade_timeout = 1000;
+ placeholder_text = "Input Password...";
+ hide_input = false;
+ rounding = -1;
+ check_color = "rgb(204,136,34)";
+ fail_color = "rgb(204,34,34)";
+ fail_text = "$FAIL ($ATTEMPTS)";
+ fail_transition = 300;
+ capslock_color = -1;
+ numlock_color = -1;
+ bothlock_color = -1;
+ invert_numlock = false;
+ position = "0, -20";
+ halign = "center";
+ valign = "center";
+ };
+ };
+};
+
# services.swayidle = {
# enable = true;
# events = [ ];
@@ -437,6 +478,26 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
# }];
# };
+services.hypridle = {
+ enable = true;
+ settings = {
+ general = {
+ after_sleep_cmd = "hyprctl dispatch dpms on";
+ lock_cmd = "pgrep hyprlock || hyprlock";
+ };
+ listener = [
+ {
+ timeout = 300;
+ on-timeout = "$lock_cmd";
+ }
+ {
+ timeout = 1200;
+ on-timeout = "hyprctl dispatch dpms off";
+ on-resume = "hyprctl dispatch dpms on";
+ ];
+ };
+};
+
# services.mako = {
# enable = true;
# defaultTimeout = 5000;
@@ -451,6 +512,15 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
# };
# };
+
+ services.swaync = {
+ enable = true;
+ # https://github.com/ErikReider/SwayNotificationCenter/blob/main/src/configSchema.json
+ settings = {
+ notification-inline-replies = true;
+ };
+ };
+
programs.wlogout = { enable = true; };
programs.fuzzel = {
@@ -467,25 +537,6 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
};
};
-# home.file.tofi-conf = {
-# enable = true;
-# target = ".config/tofi/config";
-# text = ''
-# drun-launch = true
-# font = Victor Mono Nerd Font
-# font-size = 12
-# text-cursor = true
-# terminal = kitty
-# width = 1200
-# height = 720
-# '' + (builtins.readFile (pkgs.fetchFromGitHub {
-# owner = "catppuccin";
-# repo = "tofi";
-# rev = "2e74ddba0c582b2ca2d9d06f67f5a902c3a093fb";
-# sha256 = "sha256-XUwixvy2WyfaSRHM8cTnOn8lKv+vbhheDA1Z47ap+Mc=";
-# } + /catppuccin-latte));
-# };
-
qt = {
enable = true;
style.name = "breeze";
diff --git a/hyprland/hyprland.nix b/hyprland/hyprland.nix
index 56f224a..f65167f 100644
--- a/hyprland/hyprland.nix
+++ b/hyprland/hyprland.nix
@@ -1,17 +1,17 @@
-{ config, lib, pkgs, hyprland, wayland, split-monitor-workspaces, ... }:
+{ config, lib, pkgs, hyprland, wayland, hyprsplit, ... }:
{
- home.file.hyprland-catppuccino = let flavour = "frappe";
- in {
- enable = true;
- target = ".config/hypr/catppuccino.conf";
- text = builtins.readFile (pkgs.fetchFromGitHub {
- owner = "catppuccin";
- repo = "hyprland";
- rev = "99a88fd21fac270bd999d4a26cf0f4a4222c58be";
- sha256 = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8=";
- } + /themes/${flavour}.conf);
+ # home.file.hyprland-catppuccino = let flavour = "frappe";
+ # in {
+ # enable = true;
+ # target = ".config/hypr/catppuccino.conf";
+ # text = builtins.readFile (pkgs.fetchFromGitHub {
+ # owner = "catppuccin";
+ # repo = "hyprland";
+ # rev = "99a88fd21fac270bd999d4a26cf0f4a4222c58be";
+ # sha256 = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8=";
+ # } + /themes/${flavour}.conf);
};
wayland.windowManager.hyprland = {
@@ -19,11 +19,14 @@
systemd.enable = true;
package = hyprland.packages.${pkgs.system}.hyprland;
plugins = [
- split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces
+ hyprsplit.packages.${pkgs.system}.hyprsplit
];
settings = {
source =
- [ "~/.config/hypr/monitors.conf" "~/.config/hypr/catppuccino.conf" ];
+ [
+ "~/.config/hypr/monitors.conf"
+ #"~/.config/hypr/catppuccino.conf"
+ ];
input = {
kb_layout = "de";
kb_options = "caps:swapescape";
@@ -33,14 +36,17 @@
};
general = {
gaps_in = 15;
- gaps_out = 15;
- border_size = 1;
+ gaps_out = 20;
+ border_size = 2;
resize_on_border = true;
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
"col.inactive_border" = "rgba(595959aa)";
layout = "master";
+ # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
+ allow_tearing = false;
};
misc = {
+ force_default_wallpaper = -1;
vfr = true;
vrr = 1;
animate_manual_resizes = true;
@@ -51,7 +57,11 @@
shadow_range = 4;
shadow_render_power = 3;
"col.shadow" = "rgba(1a1a1aee)";
- blur = { enabled = true; };
+ blur = {
+ enabled = true;
+ size = 3;
+ passes = 1;
+ };
};
animations = {
enabled = true;
@@ -74,6 +84,7 @@
master = {
new_is_master = false;
orientation = "center";
+ workspace = "w[g2] layoutopt:orientation:left";
always_center_master = true;
mfact = 0.5;
special_scale_factor = 0.8;
@@ -86,12 +97,10 @@
bind = [
"$mainMod, Q, exec, ${pkgs.kitty}/bin/kitty"
"$mainMod, C, killactive,"
- #"$mainMod, M, exit,"
"$mainMod, M, exec, ${pkgs.wlogout}/bin/wlogout"
"$mainMod, E, exec, dolphin"
"$mainMod, V, togglefloating,"
"$mainMod, R, exec, ${pkgs.fuzzel}/bin/fuzzel"
- #"$mainMod, R, exec, ${pkgs.tofi}/bin/tofi-drun"
"$mainMod, P, pseudo," # dwindle
"$mainMod, J, togglesplit," # dwindle
"$mainMod, T, togglegroup,"
@@ -102,7 +111,9 @@
# Screenshots
#"SHIFT, PRINT, exec, hyprshot -m region"
''
- SHIFT, PRINT, exec, ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.swappy}/bin/swappy -f -''
+ PRINT, exec, ${pkgs.grim}/bin/grim -l 9 -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.swappy}/bin/swappy -f -''
+ ''
+ SHIFT, PRINT, exec, ${pkgs.grim}/bin/grim -l 9 - | ${pkgs.swappy}/bin/swappy -f -''
"$mainMod SHIFT, L, exec, $lockscreen"
# Move focus
"$mainMod, left, movefocus, l"
@@ -119,31 +130,31 @@
"$mainMod SHIFT, T, lockactivegroup, toggle"
# Switch workspaces
- "$mainMod, 1, split-workspace, 1"
- "$mainMod, 2, split-workspace, 2"
- "$mainMod, 3, split-workspace, 3"
- "$mainMod, 4, split-workspace, 4"
- "$mainMod, 5, split-workspace, 5"
- "$mainMod, 6, split-workspace, 6"
- "$mainMod, 7, split-workspace, 7"
- "$mainMod, 8, split-workspace, 8"
- "$mainMod, 9, split-workspace, 9"
+ "$mainMod, 1, split:workspace, 1"
+ "$mainMod, 2, split:workspace, 2"
+ "$mainMod, 3, split:workspace, 3"
+ "$mainMod, 4, split:workspace, 4"
+ "$mainMod, 5, split:workspace, 5"
+ "$mainMod, 6, split:workspace, 6"
+ "$mainMod, 7, split:workspace, 7"
+ "$mainMod, 8, split:workspace, 8"
+ "$mainMod, 9, split:workspace, 9"
# Move windows to workspaces
- "$mainMod SHIFT, 1, split-movetoworkspace, 1"
- "$mainMod SHIFT, 2, split-movetoworkspace, 2"
- "$mainMod SHIFT, 3, split-movetoworkspace, 3"
- "$mainMod SHIFT, 4, split-movetoworkspace, 4"
- "$mainMod SHIFT, 5, split-movetoworkspace, 5"
- "$mainMod SHIFT, 6, split-movetoworkspace, 6"
- "$mainMod SHIFT, 7, split-movetoworkspace, 7"
- "$mainMod SHIFT, 8, split-movetoworkspace, 8"
- "$mainMod SHIFT, 9, split-movetoworkspace, 9"
- "$mainMod SHIFT, ß, split-movetoworkspace, special"
+ "$mainMod SHIFT, 1, split:movetoworkspace, 1"
+ "$mainMod SHIFT, 2, split:movetoworkspace, 2"
+ "$mainMod SHIFT, 3, split:movetoworkspace, 3"
+ "$mainMod SHIFT, 4, split:movetoworkspace, 4"
+ "$mainMod SHIFT, 5, split:movetoworkspace, 5"
+ "$mainMod SHIFT, 6, split:movetoworkspace, 6"
+ "$mainMod SHIFT, 7, split:movetoworkspace, 7"
+ "$mainMod SHIFT, 8, split:movetoworkspace, 8"
+ "$mainMod SHIFT, 9, split:movetoworkspace, 9"
# Scroll through workspaces
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
# Special workspace
"SHIFT ALT, RETURN, togglespecialworkspace"
+ "SHIFT, S, movetoworkspace, special"
];
# Mouse bindings