This commit is contained in:
Daniel Ziltener 2024-07-09 17:11:26 +02:00
parent e12e7e4ad2
commit 9067a856af
Signed by: zilti
GPG key ID: B38976E82C9DAE42
4 changed files with 132 additions and 71 deletions

View file

@ -26,7 +26,6 @@
initrd = { initrd = {
systemd.enable = true; systemd.enable = true;
luks.devices."crypted" = { luks.devices."crypted" = {
preLVM = lib.mkForce false;
crypttabExtraOpts = [ "fido2-device=auto" ]; crypttabExtraOpts = [ "fido2-device=auto" ];
device = "/dev/disk/by-partlabel/disk-main-luks"; device = "/dev/disk/by-partlabel/disk-main-luks";
}; };

View file

@ -26,14 +26,14 @@
hyprland = { hyprland = {
url = "github:hyprwm/Hyprland/v0.41.2"; url = "github:hyprwm/Hyprland/v0.41.2";
}; };
split-monitor-workspaces = { hyprsplit = {
url = "github:Duckonaut/split-monitor-workspaces"; url = "github:shezdy/hyprsplit";
inputs.hyprland.follows = "hyprland"; inputs.hyprland.follows = "hyprland";
}; };
flatpaks.url = "github:GermanBread/declarative-flatpak/stable"; 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 = { nixosConfigurations = {
"ziltis-desktop" = nixpkgs.lib.nixosSystem { "ziltis-desktop" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";

109
home.nix
View file

@ -77,7 +77,7 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
# ./chicken/chicken.nix # ./chicken/chicken.nix
]; ];
home.stateVersion = "23.11"; home.stateVersion = "24.05";
programs.home-manager.enable = true; programs.home-manager.enable = true;
home.sessionPath = [ "${config.home.homeDirectory}/.config/emacs/bin" "${config.home.homeDirectory}/.local/bin" ]; 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; # size = 32;
# }; # };
home.file.".config/sway/config" = {
enable = true;
text = builtins.readFile ./swayfx/config.in;
};
accounts = { accounts = {
# calendar = { # calendar = {
# basePath = "${config.home.homeDirectory}/calendars"; # basePath = "${config.home.homeDirectory}/calendars";
@ -409,10 +404,10 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
}; };
}; };
services.nextcloud-client = { # services.nextcloud-client = {
enable = true; # enable = true;
startInBackground = true; # startInBackground = true;
}; # };
# programs.swaylock = { # programs.swaylock = {
# enable = true; # 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 = "<i>Input Password...</i>";
hide_input = false;
rounding = -1;
check_color = "rgb(204,136,34)";
fail_color = "rgb(204,34,34)";
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
fail_transition = 300;
capslock_color = -1;
numlock_color = -1;
bothlock_color = -1;
invert_numlock = false;
position = "0, -20";
halign = "center";
valign = "center";
};
};
};
# services.swayidle = { # services.swayidle = {
# enable = true; # enable = true;
# events = [ ]; # 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 = { # services.mako = {
# enable = true; # enable = true;
# defaultTimeout = 5000; # 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.wlogout = { enable = true; };
programs.fuzzel = { 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 = { qt = {
enable = true; enable = true;
style.name = "breeze"; style.name = "breeze";

View file

@ -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"; # home.file.hyprland-catppuccino = let flavour = "frappe";
in { # in {
enable = true; # enable = true;
target = ".config/hypr/catppuccino.conf"; # target = ".config/hypr/catppuccino.conf";
text = builtins.readFile (pkgs.fetchFromGitHub { # text = builtins.readFile (pkgs.fetchFromGitHub {
owner = "catppuccin"; # owner = "catppuccin";
repo = "hyprland"; # repo = "hyprland";
rev = "99a88fd21fac270bd999d4a26cf0f4a4222c58be"; # rev = "99a88fd21fac270bd999d4a26cf0f4a4222c58be";
sha256 = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8="; # sha256 = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8=";
} + /themes/${flavour}.conf); # } + /themes/${flavour}.conf);
}; };
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
@ -19,11 +19,14 @@
systemd.enable = true; systemd.enable = true;
package = hyprland.packages.${pkgs.system}.hyprland; package = hyprland.packages.${pkgs.system}.hyprland;
plugins = [ plugins = [
split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces hyprsplit.packages.${pkgs.system}.hyprsplit
]; ];
settings = { settings = {
source = source =
[ "~/.config/hypr/monitors.conf" "~/.config/hypr/catppuccino.conf" ]; [
"~/.config/hypr/monitors.conf"
#"~/.config/hypr/catppuccino.conf"
];
input = { input = {
kb_layout = "de"; kb_layout = "de";
kb_options = "caps:swapescape"; kb_options = "caps:swapescape";
@ -33,14 +36,17 @@
}; };
general = { general = {
gaps_in = 15; gaps_in = 15;
gaps_out = 15; gaps_out = 20;
border_size = 1; border_size = 2;
resize_on_border = true; resize_on_border = true;
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
"col.inactive_border" = "rgba(595959aa)"; "col.inactive_border" = "rgba(595959aa)";
layout = "master"; layout = "master";
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false;
}; };
misc = { misc = {
force_default_wallpaper = -1;
vfr = true; vfr = true;
vrr = 1; vrr = 1;
animate_manual_resizes = true; animate_manual_resizes = true;
@ -51,7 +57,11 @@
shadow_range = 4; shadow_range = 4;
shadow_render_power = 3; shadow_render_power = 3;
"col.shadow" = "rgba(1a1a1aee)"; "col.shadow" = "rgba(1a1a1aee)";
blur = { enabled = true; }; blur = {
enabled = true;
size = 3;
passes = 1;
};
}; };
animations = { animations = {
enabled = true; enabled = true;
@ -74,6 +84,7 @@
master = { master = {
new_is_master = false; new_is_master = false;
orientation = "center"; orientation = "center";
workspace = "w[g2] layoutopt:orientation:left";
always_center_master = true; always_center_master = true;
mfact = 0.5; mfact = 0.5;
special_scale_factor = 0.8; special_scale_factor = 0.8;
@ -86,12 +97,10 @@
bind = [ bind = [
"$mainMod, Q, exec, ${pkgs.kitty}/bin/kitty" "$mainMod, Q, exec, ${pkgs.kitty}/bin/kitty"
"$mainMod, C, killactive," "$mainMod, C, killactive,"
#"$mainMod, M, exit,"
"$mainMod, M, exec, ${pkgs.wlogout}/bin/wlogout" "$mainMod, M, exec, ${pkgs.wlogout}/bin/wlogout"
"$mainMod, E, exec, dolphin" "$mainMod, E, exec, dolphin"
"$mainMod, V, togglefloating," "$mainMod, V, togglefloating,"
"$mainMod, R, exec, ${pkgs.fuzzel}/bin/fuzzel" "$mainMod, R, exec, ${pkgs.fuzzel}/bin/fuzzel"
#"$mainMod, R, exec, ${pkgs.tofi}/bin/tofi-drun"
"$mainMod, P, pseudo," # dwindle "$mainMod, P, pseudo," # dwindle
"$mainMod, J, togglesplit," # dwindle "$mainMod, J, togglesplit," # dwindle
"$mainMod, T, togglegroup," "$mainMod, T, togglegroup,"
@ -102,7 +111,9 @@
# Screenshots # Screenshots
#"SHIFT, PRINT, exec, hyprshot -m region" #"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" "$mainMod SHIFT, L, exec, $lockscreen"
# Move focus # Move focus
"$mainMod, left, movefocus, l" "$mainMod, left, movefocus, l"
@ -119,31 +130,31 @@
"$mainMod SHIFT, T, lockactivegroup, toggle" "$mainMod SHIFT, T, lockactivegroup, toggle"
# Switch workspaces # Switch workspaces
"$mainMod, 1, split-workspace, 1" "$mainMod, 1, split:workspace, 1"
"$mainMod, 2, split-workspace, 2" "$mainMod, 2, split:workspace, 2"
"$mainMod, 3, split-workspace, 3" "$mainMod, 3, split:workspace, 3"
"$mainMod, 4, split-workspace, 4" "$mainMod, 4, split:workspace, 4"
"$mainMod, 5, split-workspace, 5" "$mainMod, 5, split:workspace, 5"
"$mainMod, 6, split-workspace, 6" "$mainMod, 6, split:workspace, 6"
"$mainMod, 7, split-workspace, 7" "$mainMod, 7, split:workspace, 7"
"$mainMod, 8, split-workspace, 8" "$mainMod, 8, split:workspace, 8"
"$mainMod, 9, split-workspace, 9" "$mainMod, 9, split:workspace, 9"
# Move windows to workspaces # Move windows to workspaces
"$mainMod SHIFT, 1, split-movetoworkspace, 1" "$mainMod SHIFT, 1, split:movetoworkspace, 1"
"$mainMod SHIFT, 2, split-movetoworkspace, 2" "$mainMod SHIFT, 2, split:movetoworkspace, 2"
"$mainMod SHIFT, 3, split-movetoworkspace, 3" "$mainMod SHIFT, 3, split:movetoworkspace, 3"
"$mainMod SHIFT, 4, split-movetoworkspace, 4" "$mainMod SHIFT, 4, split:movetoworkspace, 4"
"$mainMod SHIFT, 5, split-movetoworkspace, 5" "$mainMod SHIFT, 5, split:movetoworkspace, 5"
"$mainMod SHIFT, 6, split-movetoworkspace, 6" "$mainMod SHIFT, 6, split:movetoworkspace, 6"
"$mainMod SHIFT, 7, split-movetoworkspace, 7" "$mainMod SHIFT, 7, split:movetoworkspace, 7"
"$mainMod SHIFT, 8, split-movetoworkspace, 8" "$mainMod SHIFT, 8, split:movetoworkspace, 8"
"$mainMod SHIFT, 9, split-movetoworkspace, 9" "$mainMod SHIFT, 9, split:movetoworkspace, 9"
"$mainMod SHIFT, ß, split-movetoworkspace, special"
# Scroll through workspaces # Scroll through workspaces
"$mainMod, mouse_down, workspace, e+1" "$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1" "$mainMod, mouse_up, workspace, e-1"
# Special workspace # Special workspace
"SHIFT ALT, RETURN, togglespecialworkspace" "SHIFT ALT, RETURN, togglespecialworkspace"
"SHIFT, S, movetoworkspace, special"
]; ];
# Mouse bindings # Mouse bindings