feat: many changes

This commit is contained in:
Kat Inskip 2025-07-05 15:45:37 -07:00
parent 4fc9fb9aaf
commit 385262f29b
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
14 changed files with 479 additions and 371 deletions

View file

@ -1,5 +1,7 @@
{
std,
parent,
lib,
pkgs,
inputs,
...
@ -19,7 +21,9 @@ in {
brightnessctl
playerctl
glib
pcmanfm
];
services.hyprpolkitagent.enable = true;
services.swww.enable = true;
wayland.windowManager.hyprland = let
import-gsettings = pkgs.writeShellScriptBin "import-gsettings" ''
@ -40,7 +44,7 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
in {
enable = true;
systemd = {
enable = true;
enable = false;
variables = ["--all"];
enableXdgAutostart = true;
extraCommands = [
@ -54,9 +58,30 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces
];
settings = {
# TODO: break it up
windowrule = let
in [
"suppressevent fullscreen, class:steam_app_default"
"workspace 2, class:steam_app_default"
"suppressevent maximize, class:.*"
"tile, class:battle\.net\.exe"
"renderunfocused, class:discord, initialTitle:Discord"
"unset, title:Wine System Tray"
"workspace special:hidden silent, title:Wine System Tray"
"noinitialfocus, title:Wine System Tray"
];
"$mod" = "SUPER";
input = {
kb_options = "ctrl:nocaps";
accel_profile = "flat";
sensitivity = 1.0;
scroll_factor = 1.0;
};
cursor = {
use_cpu_buffer = true;
};
workspace = let
commonOptions = "gapsin:0,gapsout:0,rounding:false";
@ -87,6 +112,7 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
"GDK_BACKEND,wayland,x11"
"CLUTTER_BACKEND,wayland"
];
render.direct_scanout = false;
debug.disable_logs = false;
exec-once = [
"${pkgs.swww}/bin/swww init"
@ -123,14 +149,22 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
"$mod, mouse:273, resizewindow"
"$mod ALT, mouse:272, resizewindow"
];
bindl = [
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
];
binde = [
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
", XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl -c backlight set 5%+"
", XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl -c backlight set 5%-"
];
bind =
[
bind = let
uwsmCmd = lib.optionalString parent.programs.uwsm.enable "uwsm app -- ";
uwsmApp = cmd: uwsmCmd + cmd;
uwsmSingleApp = cmd: "pgrep ${cmd} || ${uwsmCmd + cmd}";
in [
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause"
", XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next"
@ -138,12 +172,17 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
"$mod, R, exec, wofi -t wezterm -IS drun"
"$mod SHIFT, R, exec, wofi -t wezterm -IS run"
"$mod, Return, exec, wezterm"
", Print, exec, grimblast copy area"
"$mod, RETURN, exec, ${uwsmApp "wezterm"}"
"$mod, W, exec, ${uwsmApp "firefox"}"
"$mod, E, exec, ${uwsmApp "pcmanfm"}"
", Print, exec, ${uwsmSingleApp "grimblast"} copy area"
"CTRL ALT, DELETE, exec, ${uwsmApp "hyprctl kill"}"
"CTRL ALT SHIFT, DELETE, exec, loginctl terminate-user \"\""
"$mod SHIFT, E, exec, pkill Hyprland"
"$mod SHIFT, Q, killactive,"
"$mod, F, fullscreen,"
"$mod, F, fullscreenstate, 2 -1" # dont inform
"$mod SHIFT, F, fullscreenstate, -1 2" # do inform
"$mod, G, togglegroup,"
"$mod SHIFT, N, changegroupactive, f"
"$mod SHIFT, P, changegroupactive, b"
@ -152,7 +191,7 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
"$mod SHIFT, X, pseudo,"
"$mod ALT, ,resizeactive,"
"$mod, Escape, exec, wlogout -p layer-shell"
"$mod, L, exec, loginctl lock-session"
"$mod, L, exec, ${uwsmSingleApp "hyprlock"}"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
@ -169,11 +208,11 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
"$mod, P, exec, ${pkgs.hyprpicker}/bin/hyprpicker -na"
"CTRL, Print, exec, grimblast --notify --cursor copysave output"
"$mod SHIFT CTRL, R, exec, grimblast --notify --cursor copysave output"
"CTRL, Print, exec, ${uwsmSingleApp "grimblast"} --notify --cursor copysave output"
"$mod SHIFT CTRL, R, exec, ${uwsmSingleApp "grimblast"} --notify --cursor copysave output"
"ALT, Print, exec, grimblast --notify --cursor copysave screen"
"$mod SHIFT ALT, R, exec, grimblast --notify --cursor copysave screen"
"ALT, Print, exec, ${uwsmSingleApp "grimblast"} --notify --cursor copysave screen"
"$mod SHIFT ALT, R, exec, ${uwsmSingleApp "grimblast"} --notify --cursor copysave screen"
"$mod, bracketleft, workspace, m-1"
"$mod, bracketright, workspace, m+1"

View file

@ -1,5 +1,10 @@
_: {
{ inputs, pkgs, ... }: {
programs.hyprlock = {
enable = false;
enable = true;
package = inputs.hyprlock.packages.${pkgs.system}.hyprlock;
settings = {
animations.enabled = false;
};
};
}

View file

@ -0,0 +1,14 @@
_: {
xdg = {
enable = true;
autostart.enable = true;
mime.enable = true;
mimeApps = {
enable = true;
defaultApplications = {
"inode/directory" = "pcmanfm.desktop";
};
};
};
}

View file

@ -1,8 +0,0 @@
{ pkgs, ... }: {
home.pointerCursor = {
enable = true;
package = pkgs.graphite-cursors;
size = 16;
name = "graphite-dark";
};
}

View file

@ -1,63 +0,0 @@
{
inputs,
pkgs,
config,
...
}: let
konawallConfig = {
interval = 30 * 60;
rotate = true;
source = "e621";
tags = [
"rating:s"
"-five_nights_at_freddy's"
#"touhou"
"-large_breasts"
"-scalie"
#"-my_little_pony"
"-sonic_the_hedgehog"
"-amputee"
"-inflation"
"-pool_toy"
"-cuckold"
"-gore"
"-human"
"-animated"
"-hyper"
"-death"
"ratio:>=1.3"
"-muscular_male"
"-model_sheet"
"score:>=100"
"width:>=1500"
];
logging = {
file = "INFO";
console = "DEBUG";
};
};
in {
sops.secrets.konawall-py-env = {
sopsFile = ./konawall.yaml;
};
home.packages = [
inputs.konawall-py.packages.${pkgs.system}.konawall-py
];
xdg.configFile = {
"konawall/config.toml".source = (pkgs.formats.toml {}).generate "konawall-config" konawallConfig;
};
systemd.user.services.konawall-py = {
Unit = {
Description = "konawall-py";
X-Restart-Triggers = [(toString config.xdg.configFile."konawall/config.toml".source)];
After = ["graphical-session.target" "network-online.target"];
};
Service = {
ExecStart = "${inputs.konawall-py.packages.${pkgs.system}.konawall-py}/bin/konawall";
Restart = "on-failure";
RestartSec = "1s";
EnvironmentFile = config.sops.secrets.konawall-py-env.path;
};
Install = {WantedBy = ["graphical-session.target"];};
};
}

View file

@ -1,110 +0,0 @@
konawall-py-env: ENC[AES256_GCM,data:8SWQgZkKXffy+GfhbIkZAB3ZJ9a+q5yPmMdt3lgrzezguX23p7vqgRac9AHq1x8=,iv:K5Pj9FuLWbpah8WaD5TZwmomZUgJnuaCdzFlu7K4n/w=,tag:qTlbMlsTeTnXSm+lyDe1iw==,type:str]
sops:
shamir_threshold: 1
age:
- recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0UlgrSHRGR0dlQk9CRXBL
MVpmK3ExOUE2TXN1WDMzSHo0eHBHT0o1T1FBCnFPVXJOczFyYk9rNzk4YWNkbGh6
eWxlbG1pOFVPdHoxeDdEb2t6djlLdFUKLS0tIGczR0twcmNTZ1JrTnhBaDlRaWNM
STJ3cC80bW0zQWFtM0l1SnJIVDl5TmcKsSno/d3sAB416gN7PJF5wk1bZ4YYG7pW
3rRY8dnu8pG751dViBN8kiEm7hxsYHl5PLM92YSUoB2qbJU9sa/9AA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3L2tRYmQycXJHMHFmRGVJ
LzZCTzZRbW5DY1dmclptR3RLd0hyaVA4b1VVCjRzRXZDR09OaXJUaG4vUmVNWjlC
dTl6RGVibklrOE8yZkJ3RmlSSWxyYU0KLS0tIExZbjRWVElscm8rVlpTcVhCQ1FV
TVorVjJoVFE3Mlh4d055NnhDK1FRRVUKDjwINUxOtArvjqQ5XP9m3Dq+m9kcavLS
zllxC8AiQIgEAQY9R7KPHNQ1wk01UOeOo7MzdfXQOzFb4mph7+QhBg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1a0m73qr8hhuz8xemv4vymf4wmpghm2hst8wgrn3pn65ext5mf4ksk0vsdm
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2REVOY0xQNlB2WEo2M0t5
eFJvbVcxY0hQUHArSFlKS1Vtd003L3picDNJCk03cFdEcGFlamxCV3lPbkR1SHFu
WVpVcnJnQ3hzdzRuQTg5UGliQ282UTAKLS0tIFFlZXJGbkxJUXE5UHV1TnRZWTNV
dXNlQWljRVkzOUNiQ3hKaksxekY0S0kKnVB7FDTtzyG2U/6BeKWvlHzSF4st1amw
/nmZ9isatsELJJyPbMkIQBs8/MFwc4xKkbu0T/gh77ViAPYxoSQfTQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXRlRCOXpsb1FCU2pzZUtP
emliZVd1U1FkZEZqQ1BzZTFudTdhTzJldlI4CnN6eEZWUS82V3ltbHlMdVRJWDhY
NlB3NzRDbUovUGtMNjVPamxvUU53TlUKLS0tIE00NGxXUHljVXJodVVWYVRLUXpS
elZWV0c3aG5NL3RQamthaXZWalRaN0kK7GcmwR3N2wIV1+6QGADrCoq2tTjEgP6e
CSNys+qSYd1MRR84GE0S6KOa27MiC109fjL8Gsra6jXjq0LuRHKwww==
-----END AGE ENCRYPTED FILE-----
- recipient: age1xgy03g3vjydsxcl0qpdgm8rahjcjq95ucxfwlgr22zwjx3p7jf2s9jk6u5
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIZkdYV0VTZzVSWkhDZXFJ
c1dZQld0WStyWGhpQWV2bEk3ZzFKN2I3Tmg0ClZUZVpLVlJiMDV0WTU0YTF6bkQ1
dm5KUnZ3YXFyekNVcldBMVF1RW5zeEUKLS0tIGhvQnpoZVZnbUMrdWF3T29HKzFz
T1h6SkpqVEN2M2MxK2NuemdtSEpQZ0UKz1xv1baKX0z9ffDZxKSsXS6a3+p4rUhW
mQwpcJ6D7nJ1EHBUu6n/a/rbLbtPUSH1cZKFJcC1+SuWydaYnG/sEA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmWFFGWHMrY2N0MFZaM0ds
REdjdk1TQUJPRHRXemRZQldkZGViMHgrV0V3CnpSbm9mbi82NWRJWFZoQ3VuOS9S
bk9DcGNFaU05NmkrNVQwOTNnVldXYWsKLS0tIFN1RVVIbkIrMUhEQXU4cS9IaW9x
MjJqTUNSMklzeXpsaERBT0dVY1FuWEUK+KnpwIOa2xYZWtqYj5iWCIqDLM5BNOuV
qeSwbtBkLGaMUNuURg9Ut9G25wTxGxZC8A84eDUxqWVDR7YcT9e3Uw==
-----END AGE ENCRYPTED FILE-----
- recipient: age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAybEhYZ1NRUTdoTkc0S05m
SVJhMW1uQktvV1l5VHBIL1FjVzRNaTdsRVVRCmZLd1JUZVZGbjFkSWVBVWMyWXc1
TGVWY2hnMWI1R1RhVi8vV0VsOXRpa0UKLS0tIHVDanFTL2lYSzFhNWNORDVsQmxT
b1dwY01BdU4xbFppcUpuL2tiN0kvSHcKLnLHUB0sXbPNUC43Uh8sb15NjnTMkGAR
KlbXY247TtheYk20GL7M48iXTUtNQA6a0FtyiDI7gBKKbbslhkXJLw==
-----END AGE ENCRYPTED FILE-----
- recipient: age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArUzByQmh5cElrTG43dWFq
cENCWGJPeUNoT1dDWFZlaDBqWHJGRGltNFNnCmlDTUZxcUsrVGN4SEU3OEJsZWxX
U1I4SFRpWVpkY2RBa29VZWFEcTJubXcKLS0tICtob3VCc24wbHVGdFdwOEtyc2xM
MzhvaDhqMzVBZ0tTNmFJNG5nc3dUQjQKrh9RpV8nq06J/LyXwN1lVaBcfEvM+H1o
aIfU72FQiBN5QDCjHO7VyalyRewaqjCyf/yJW4gy2DKJP4/LXst5Jg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKTnFHT0RHc0NJZGFMb1pp
dTdBdGd5bUlZRmxxU0t6N1Evb2tqdDJPYmdFCkZqYlRiRzZucWoxSEFxdUpiTzBl
em15RXdTbXVjblVxSnZTYzA1UFBsR0kKLS0tICszSWhxQnU5dGUxYWM0VWJWMmpz
MGZLWHpnWW40NjF4dVB5YTh0MXZ0OHMKsjtyHbWLKNJ9x7XoKh1+vqFdPQIcORJS
lsvBhAeedFHmpc0cJTw+7Rjb7MTEM1mi8EbEZ/4xOgN5UkcnckoazQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-02-28T21:15:38Z"
mac: ENC[AES256_GCM,data:2QggqmZhRgx+kpvDZOBU/KBLruwxbD4F3NHTiNK2N8Ux133pgLDjP88HDmBy8ZRXmGFdkUK0IqOSx1Axy3qpy14DlSdOw9L/WQhOCybEX21ib+ANb90275FtD+7J8luIvOPbCtus9c9gpqYQIirlQMqwkMZ1QADv62ewmVUJD6w=,iv:4V9KA9oq1TR5+cFtZdEop7haPOavRaRd6wwgJDyJeXQ=,tag:MXwB98KN5kit4Oyl+qQFLw==,type:str]
pgp:
- created_at: "2025-06-27T20:11:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA82M54yws73UAQ//SqGFueUwSXKm4F0tpKa52aJxbpSXHflmW5XWaInLAq4H
LtUNVo9NgCkTGerr6UjawXlEZC8BrTsfrjeWL8tUegrTI7gKFOTvEcqtY1uMH3uc
TmnKYGA4H0NtjzbjFWNpPfASeDW1iBlWPXAPMGObhP2Dejyi5jh74JRr5HAL26o2
7zsNZR8OhZLPr1ShPgF5hSU5jdskIoOPfxn9u0e8pTinbJWPY9ZMuhydA9cmO6e4
IcE9Fu2kEi0+C96AQUdvExGxlvtKQkHD4+ps5nrHi1dvaE6YwClMmJqS5Nd5os0E
KdHBoAkNjgaZEBG8jkK25YN7cLt8HjWX4bElPwP0Q7LD0/+IOHgYeQJhbVMclblh
rfvvq1G5QYJ5IoJZOOtd2arxy0BUVjB7irJQ41yAxO48xL5tLdqq2ODKtunnyQnn
dhxDqfubyNohm5CLr7dpmgYe+I4d4DhcGQqD06m3M0ymVFo4Uvfta81jRGV/+gXk
teYYpZRhVG4+4en8Yoq/84r1LM5Roh+s2mp883+5zYE5YcZfihORmVuWVvP6357e
GmoTEh12O8mzbeXInlh0+DQEM9uUd2Z9QlzT5SyqNvLqQkNcDFo1ojADx0FvQmUm
cJIiNby5aJv5liNEQXUHslHOI9iS7m55oztZpxzRTdNdxWuFocKBccnr8fc8CD7S
XgEklZAZby3XIhlkeoviAAjAx9benYh/p5iSQJrQVDEP9Nx8p3TKmIaZeDqLh/Vl
/SmWyI3NnXFYEq5zTgihvv6idt/suVheRSZ6fXtGRSeWe5PRWklZbpGtz7QyByk=
=Q/Jq
-----END PGP MESSAGE-----
fp: CD8CE78CB0B3BDD4
unencrypted_suffix: _unencrypted
version: 3.9.4