.
This commit is contained in:
parent
e12e7e4ad2
commit
9067a856af
4 changed files with 132 additions and 71 deletions
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
|
@ -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
109
home.nix
|
@ -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";
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue