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 = {
systemd.enable = true;
luks.devices."crypted" = {
preLVM = lib.mkForce false;
crypttabExtraOpts = [ "fido2-device=auto" ];
device = "/dev/disk/by-partlabel/disk-main-luks";
};

View file

@ -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";

109
home.nix
View file

@ -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 = "<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 = {
# 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";

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";
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