diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2024-08-11 11:13:27 +0200 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2024-08-11 11:13:27 +0200 |
commit | 5786716a383254c256f109d38fda1c898456fb60 (patch) | |
tree | 43b4b5918eb58fd6ffc728fe0d4f21dc3431981d | |
parent | 148e387fe152242f472322218f1e0bd35afe67e8 (diff) | |
download | nixos-5786716a383254c256f109d38fda1c898456fb60.tar nixos-5786716a383254c256f109d38fda1c898456fb60.tar.gz nixos-5786716a383254c256f109d38fda1c898456fb60.tar.bz2 nixos-5786716a383254c256f109d38fda1c898456fb60.tar.xz nixos-5786716a383254c256f109d38fda1c898456fb60.zip |
sif: hyprland
-rw-r--r-- | _sources/generated.json | 20 | ||||
-rw-r--r-- | _sources/generated.nix | 14 | ||||
-rw-r--r-- | accounts/gkleen@sif/default.nix | 222 | ||||
-rw-r--r-- | accounts/gkleen@sif/dunst-settings.nix | 10 | ||||
-rw-r--r-- | accounts/gkleen@sif/dunstrc.d/20-kitty.conf | 3 | ||||
-rw-r--r-- | accounts/gkleen@sif/emacs.el | 4 | ||||
-rw-r--r-- | accounts/gkleen@sif/hyprland.nix | 229 | ||||
-rw-r--r-- | accounts/gkleen@sif/systemd.nix | 1 | ||||
-rw-r--r-- | accounts/gkleen@sif/zshrc | 4 | ||||
-rw-r--r-- | hosts/sif/default.nix | 29 | ||||
-rw-r--r-- | nvfetcher.toml | 4 |
11 files changed, 520 insertions, 20 deletions
diff --git a/_sources/generated.json b/_sources/generated.json index 87d6c357..a7dba77c 100644 --- a/_sources/generated.json +++ b/_sources/generated.json | |||
@@ -324,6 +324,26 @@ | |||
324 | }, | 324 | }, |
325 | "version": "2.3.0" | 325 | "version": "2.3.0" |
326 | }, | 326 | }, |
327 | "tomorrow-night-paradise-theme": { | ||
328 | "cargoLocks": null, | ||
329 | "date": "2012-06-04", | ||
330 | "extract": null, | ||
331 | "name": "tomorrow-night-paradise-theme", | ||
332 | "passthru": null, | ||
333 | "pinned": false, | ||
334 | "src": { | ||
335 | "deepClone": false, | ||
336 | "fetchSubmodules": false, | ||
337 | "leaveDotGit": false, | ||
338 | "name": null, | ||
339 | "rev": "70225a5bf90d495e13a9260bfdc268632ece0801", | ||
340 | "sha256": "sha256-5EhngRD5Xq8bUUeoY6Jmpsvszsk8fM8eQcfhbLs5WI8=", | ||
341 | "sparseCheckout": [], | ||
342 | "type": "git", | ||
343 | "url": "https://github.com/jimeh/tomorrow-night-paradise-theme.el" | ||
344 | }, | ||
345 | "version": "70225a5bf90d495e13a9260bfdc268632ece0801" | ||
346 | }, | ||
327 | "v4l2loopback": { | 347 | "v4l2loopback": { |
328 | "cargoLocks": null, | 348 | "cargoLocks": null, |
329 | "date": "2024-05-24", | 349 | "date": "2024-05-24", |
diff --git a/_sources/generated.nix b/_sources/generated.nix index cb6022ab..7050dab8 100644 --- a/_sources/generated.nix +++ b/_sources/generated.nix | |||
@@ -199,6 +199,20 @@ | |||
199 | sha256 = "sha256-+pRvc5mr2PEkG05IzPjUrE6Yr8EwG4zA/3DEU8GVA1E="; | 199 | sha256 = "sha256-+pRvc5mr2PEkG05IzPjUrE6Yr8EwG4zA/3DEU8GVA1E="; |
200 | }; | 200 | }; |
201 | }; | 201 | }; |
202 | tomorrow-night-paradise-theme = { | ||
203 | pname = "tomorrow-night-paradise-theme"; | ||
204 | version = "70225a5bf90d495e13a9260bfdc268632ece0801"; | ||
205 | src = fetchgit { | ||
206 | url = "https://github.com/jimeh/tomorrow-night-paradise-theme.el"; | ||
207 | rev = "70225a5bf90d495e13a9260bfdc268632ece0801"; | ||
208 | fetchSubmodules = false; | ||
209 | deepClone = false; | ||
210 | leaveDotGit = false; | ||
211 | sparseCheckout = [ ]; | ||
212 | sha256 = "sha256-5EhngRD5Xq8bUUeoY6Jmpsvszsk8fM8eQcfhbLs5WI8="; | ||
213 | }; | ||
214 | date = "2012-06-04"; | ||
215 | }; | ||
202 | v4l2loopback = { | 216 | v4l2loopback = { |
203 | pname = "v4l2loopback"; | 217 | pname = "v4l2loopback"; |
204 | version = "2d44c2f3a33844dfd9928dc536288283289bbc34"; | 218 | version = "2d44c2f3a33844dfd9928dc536288283289bbc34"; |
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 8e567a4f..5c90808c 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix | |||
@@ -41,7 +41,6 @@ let | |||
41 | wrapElectron = { package, bin ? package.meta.mainProgram or package.pname or (pkgs.lib.strings.nameFromURL package.name "-"), outBin ? bin, sandbox ? true }: pkgs.runCommand "${package.name}-wrapped" { buildInputs = with pkgs; [ makeWrapper ]; } '' | 41 | wrapElectron = { package, bin ? package.meta.mainProgram or package.pname or (pkgs.lib.strings.nameFromURL package.name "-"), outBin ? bin, sandbox ? true }: pkgs.runCommand "${package.name}-wrapped" { buildInputs = with pkgs; [ makeWrapper ]; } '' |
42 | mkdir -p "$out/bin" | 42 | mkdir -p "$out/bin" |
43 | makeWrapper ${package}/bin/${bin} $out/bin/${outBin} \ | 43 | makeWrapper ${package}/bin/${bin} $out/bin/${outBin} \ |
44 | --add-flags '--force-device-scale-factor=1.6' \ | ||
45 | ${optionalString (!sandbox) "--add-flags '--no-sandbox'"} | 44 | ${optionalString (!sandbox) "--add-flags '--no-sandbox'"} |
46 | ''; | 45 | ''; |
47 | 46 | ||
@@ -158,6 +157,7 @@ in { | |||
158 | 157 | ||
159 | emacs = { | 158 | emacs = { |
160 | enable = true; | 159 | enable = true; |
160 | package = pkgs.emacs29-pgtk; | ||
161 | extraPackages = epkgs: with epkgs; [ | 161 | extraPackages = epkgs: with epkgs; [ |
162 | evil evil-dvorak undo-tree magit haskell-mode nix-mode | 162 | evil evil-dvorak undo-tree magit haskell-mode nix-mode |
163 | yaml-mode json-mode shakespeare-mode smart-mode-line | 163 | yaml-mode json-mode shakespeare-mode smart-mode-line |
@@ -166,14 +166,19 @@ in { | |||
166 | use-package-ensure-system-package git-gutter emacsScratch | 166 | use-package-ensure-system-package git-gutter emacsScratch |
167 | edit-server mediawiki editorconfig typescript-mode | 167 | edit-server mediawiki editorconfig typescript-mode |
168 | markdown-mode nftables-mode rustic lsp-mode lsp-ui | 168 | markdown-mode nftables-mode rustic lsp-mode lsp-ui |
169 | direnv company projectile | 169 | direnv company projectile tomorrow-night-paradise-theme |
170 | ]; | 170 | ]; |
171 | overrides = self: super: { | ||
172 | tomorrow-night-paradise-theme = super.trivialBuild { | ||
173 | inherit (sources.tomorrow-night-paradise-theme) pname version src; | ||
174 | }; | ||
175 | }; | ||
171 | }; | 176 | }; |
172 | firefox = { | 177 | firefox = { |
173 | enable = true; | 178 | enable = true; |
174 | profiles.default = { | 179 | profiles.default = { |
175 | settings = { | 180 | settings = { |
176 | "layout.css.devPixelsPerPx" = "0.5833"; | 181 | # "layout.css.devPixelsPerPx" = "0.5833"; |
177 | "browser.tabs.drawInTitlebar" = false; | 182 | "browser.tabs.drawInTitlebar" = false; |
178 | "toolkit.legacyUserProfileCustomizations.stylesheets" = true; | 183 | "toolkit.legacyUserProfileCustomizations.stylesheets" = true; |
179 | "dom.security.https_only_mode" = true; | 184 | "dom.security.https_only_mode" = true; |
@@ -223,7 +228,7 @@ in { | |||
223 | docs = "$HOME/documents"; | 228 | docs = "$HOME/documents"; |
224 | dl = "$HOME/Downloads"; | 229 | dl = "$HOME/Downloads"; |
225 | scrot = "$HOME/screenshots"; | 230 | scrot = "$HOME/screenshots"; |
226 | flk = "$HOME/config/nixos-flakes"; | 231 | flk = "$HOME/projects/machines"; |
227 | rz = "$HOME/projects/rz"; | 232 | rz = "$HOME/projects/rz"; |
228 | pro = "$HOME/projects/pro"; | 233 | pro = "$HOME/projects/pro"; |
229 | }; | 234 | }; |
@@ -240,6 +245,150 @@ in { | |||
240 | gitProtocol = "ssh"; | 245 | gitProtocol = "ssh"; |
241 | }; | 246 | }; |
242 | }; | 247 | }; |
248 | |||
249 | kitty = { | ||
250 | enable = true; | ||
251 | font = { | ||
252 | package = pkgs.fira; | ||
253 | name = "FiraMono Nerd Font"; | ||
254 | size = 10; | ||
255 | }; | ||
256 | settings = { | ||
257 | enable_audio_bell = false; | ||
258 | update_check_interval = 0; | ||
259 | strip_trailing_spaces = "smart"; | ||
260 | focus_follows_mouse = true; | ||
261 | visual_bell_duration = "0.1"; | ||
262 | visual_bell_color = "#26240d"; | ||
263 | tab_bar_style = "powerline"; | ||
264 | tab_powerline_style = "slanted"; | ||
265 | notify_on_cmd_finish = "invisible 30.0"; | ||
266 | }; | ||
267 | }; | ||
268 | wofi = { | ||
269 | enable = true; | ||
270 | settings = { | ||
271 | location = "top"; | ||
272 | run-always_parse_args = true; | ||
273 | run-show_all = false; | ||
274 | }; | ||
275 | }; | ||
276 | waybar = { | ||
277 | enable = true; | ||
278 | systemd = { | ||
279 | enable = true; | ||
280 | target = "hyprland-session.target"; | ||
281 | }; | ||
282 | settings.mainBar = { | ||
283 | layer = "top"; | ||
284 | position = "top"; | ||
285 | height = 14; | ||
286 | output = [ "eDP-1" ]; | ||
287 | modules-left = [ "hyprland/workspaces" ]; | ||
288 | modules-center = [ "hyprland/window" ]; | ||
289 | modules-right = [ "clock" "tray" "battery" ]; | ||
290 | |||
291 | clock = { | ||
292 | interval = 1; | ||
293 | timezone = "Europe/Berlin"; | ||
294 | format = "W{:%V-%u %F %H:%M:%S%Ez}"; | ||
295 | tooltip-format = "<tt><small>{calendar}</small></tt>"; | ||
296 | calendar = { | ||
297 | mode = "year"; | ||
298 | mode-mon-col = 3; | ||
299 | week-pos = "right"; | ||
300 | on-scroll = 1; | ||
301 | format = { | ||
302 | months = "<span color='#ffead3'><b>{}</b></span>"; | ||
303 | days = "<span color='#ecc6d9'><b>{}</b></span>"; | ||
304 | weeks = "<span color='#99ffdd'><b>W{}</b></span>"; | ||
305 | weekdays = "<span color='#ffcc66'><b>{}</b></span>"; | ||
306 | today = "<span color='#ff6699'><b><u>{}</u></b></span>"; | ||
307 | }; | ||
308 | }; | ||
309 | }; | ||
310 | battery = { | ||
311 | format = "{icon}"; | ||
312 | format-icons = ["" "" "" "" ""]; | ||
313 | tooltip-format = "{capacity}% {timeTo}"; | ||
314 | }; | ||
315 | icon = { | ||
316 | icon-size = 12; | ||
317 | show-passive-items = true; | ||
318 | spacing = 2; | ||
319 | }; | ||
320 | }; | ||
321 | style = '' | ||
322 | * { | ||
323 | border: none; | ||
324 | font-family: "Fira Sans"; | ||
325 | font-size: 10pt; | ||
326 | min-height: 0; | ||
327 | } | ||
328 | |||
329 | window#waybar { | ||
330 | background-color: rgba(0, 0, 0, 0.5); | ||
331 | color: #ffffff; | ||
332 | } | ||
333 | |||
334 | label.module { | ||
335 | margin: 0 5px; | ||
336 | } | ||
337 | |||
338 | #workspaces button.visible { | ||
339 | color: @blue; | ||
340 | } | ||
341 | #workspaces button.active { | ||
342 | color: @green; | ||
343 | } | ||
344 | #workspaces button.urgent { | ||
345 | color: @red; | ||
346 | } | ||
347 | ''; | ||
348 | }; | ||
349 | wpaperd = { | ||
350 | enable = true; | ||
351 | settings.default = { | ||
352 | path = "~/.wallpapers"; | ||
353 | duration = "8h"; | ||
354 | mode = "center"; | ||
355 | }; | ||
356 | }; | ||
357 | hyprlock = { | ||
358 | enable = false; | ||
359 | settings = { | ||
360 | general = { | ||
361 | disable_loading_bar = false; | ||
362 | grace = 60; | ||
363 | hide_cursor = true; | ||
364 | no_fade_in = false; | ||
365 | }; | ||
366 | |||
367 | background = [ | ||
368 | { | ||
369 | path = "screenshot"; | ||
370 | blur_passes = 3; | ||
371 | blur_size = 8; | ||
372 | } | ||
373 | ]; | ||
374 | |||
375 | input-field = [ | ||
376 | { | ||
377 | size = "200, 50"; | ||
378 | position = "0, -80"; | ||
379 | monitor = ""; | ||
380 | dots_center = true; | ||
381 | fade_on_empty = false; | ||
382 | font_color = "rgb(202, 211, 245)"; | ||
383 | inner_color = "rgb(91, 96, 120)"; | ||
384 | outer_color = "rgb(24, 25, 38)"; | ||
385 | outline_thickness = 5; | ||
386 | placeholder_text = "'<span foreground=\"##cad3f5\">Password...</span>'"; | ||
387 | shadow_passes = 2; | ||
388 | } | ||
389 | ]; | ||
390 | }; | ||
391 | }; | ||
243 | }; | 392 | }; |
244 | 393 | ||
245 | services = { | 394 | services = { |
@@ -265,10 +414,10 @@ in { | |||
265 | ''; | 414 | ''; |
266 | }; | 415 | }; |
267 | taffybar = { | 416 | taffybar = { |
268 | enable = true; | 417 | enable = false; |
269 | package = import ./taffybar { haskellPackages = deHaskell; }; | 418 | package = import ./taffybar { haskellPackages = deHaskell; }; |
270 | }; | 419 | }; |
271 | status-notifier-watcher.enable = true; | 420 | # status-notifier-watcher.enable = true; |
272 | xembed-sni-proxy.enable = true; | 421 | xembed-sni-proxy.enable = true; |
273 | pasystray.enable = true; | 422 | pasystray.enable = true; |
274 | udiskie = { | 423 | udiskie = { |
@@ -284,7 +433,7 @@ in { | |||
284 | }; | 433 | }; |
285 | }; | 434 | }; |
286 | unclutter = { | 435 | unclutter = { |
287 | enable = true; | 436 | enable = false; |
288 | timeout = 5; | 437 | timeout = 5; |
289 | }; | 438 | }; |
290 | network-manager-applet.enable = true; | 439 | network-manager-applet.enable = true; |
@@ -324,7 +473,7 @@ in { | |||
324 | }; | 473 | }; |
325 | 474 | ||
326 | screen-locker = { | 475 | screen-locker = { |
327 | enable = true; | 476 | enable = false; |
328 | lockCmd = toString (pkgs.writeShellScript "lock" '' | 477 | lockCmd = toString (pkgs.writeShellScript "lock" '' |
329 | ${pkgs.playerctl}/bin/playerctl -a status | ${pkgs.gnugrep}/bin/grep -q "Playing" && exit 0 | 478 | ${pkgs.playerctl}/bin/playerctl -a status | ${pkgs.gnugrep}/bin/grep -q "Playing" && exit 0 |
330 | 479 | ||
@@ -344,6 +493,46 @@ in { | |||
344 | enable = true; | 493 | enable = true; |
345 | serverUrl = "https://etesync.yggdrasil.li"; | 494 | serverUrl = "https://etesync.yggdrasil.li"; |
346 | }; | 495 | }; |
496 | |||
497 | hypridle = { | ||
498 | enable = false; | ||
499 | settings = { | ||
500 | general = { | ||
501 | after_sleep_cmd = "hyprctl dispatch dpms on"; | ||
502 | before_sleep_cmd = "hyprlock"; | ||
503 | ignore_dbus_inhibit = false; | ||
504 | ignore_systemd_inhibit = false; | ||
505 | lock_cmd = "hyprlock"; | ||
506 | }; | ||
507 | |||
508 | listener = [ | ||
509 | { | ||
510 | timeout = 300; | ||
511 | on-timeout = "hyprlock"; | ||
512 | } | ||
513 | { | ||
514 | timeout = 600; | ||
515 | on-timeout = "hyprctl dispatch dpms off"; | ||
516 | on-resume = "hyprctl dispatch dpms on"; | ||
517 | } | ||
518 | ]; | ||
519 | }; | ||
520 | }; | ||
521 | swayidle = { | ||
522 | enable = true; | ||
523 | events = [ | ||
524 | { event = "before-sleep"; command = "${lib.getExe pkgs.gtklock} -d"; } | ||
525 | { event = "after-resume"; command = "${cfg.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms on"; } | ||
526 | { event = "lock"; command = "${lib.getExe pkgs.gtklock} -d"; } | ||
527 | ]; | ||
528 | timeouts = [ | ||
529 | { timeout = 300; | ||
530 | command = "${cfg.wayland.windowManager.hyprland.package}/binhyprctl dispatch dpms off"; | ||
531 | resumeCommand = "${cfg.wayland.windowManager.hyprland.package}/binhyprctl dispatch dpms on"; | ||
532 | } | ||
533 | { timeout = 330; command = "${lib.getExe pkgs.gtklock} -d"; } | ||
534 | ]; | ||
535 | }; | ||
347 | }; | 536 | }; |
348 | 537 | ||
349 | home.pointerCursor = { | 538 | home.pointerCursor = { |
@@ -363,7 +552,7 @@ in { | |||
363 | font = { | 552 | font = { |
364 | package = pkgs.fira; | 553 | package = pkgs.fira; |
365 | name = "Fira Sans"; | 554 | name = "Fira Sans"; |
366 | size = 6; | 555 | size = 10; |
367 | }; | 556 | }; |
368 | theme = { | 557 | theme = { |
369 | package = pkgs.equilux-theme; | 558 | package = pkgs.equilux-theme; |
@@ -402,7 +591,7 @@ in { | |||
402 | matrix-synapse-tools.synadm wrappedRocketChatDesktop | 591 | matrix-synapse-tools.synadm wrappedRocketChatDesktop |
403 | flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs | 592 | flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs |
404 | sieve-connect gimp inkscape udiskie glab scrot nitrokey-app | 593 | sieve-connect gimp inkscape udiskie glab scrot nitrokey-app |
405 | pynitrokey | 594 | pynitrokey gtklock wlrctl |
406 | ]; | 595 | ]; |
407 | 596 | ||
408 | file = { | 597 | file = { |
@@ -419,8 +608,8 @@ in { | |||
419 | }; | 608 | }; |
420 | 609 | ||
421 | sessionVariables = { | 610 | sessionVariables = { |
422 | GDK_SCALE = 96.0 / 282.0; | 611 | # GDK_SCALE = 96.0 / 282.0; |
423 | QT_AUTO_SCREEN_SCALE_FACTOR = 1; | 612 | # QT_AUTO_SCREEN_SCALE_FACTOR = 1; |
424 | QT_QPA_PLATFORMTHEME = "qt5ct"; | 613 | QT_QPA_PLATFORMTHEME = "qt5ct"; |
425 | LIBVIRT_DEFAULT_URI = "qemu:///system"; | 614 | LIBVIRT_DEFAULT_URI = "qemu:///system"; |
426 | STACK_XDG = 1; | 615 | STACK_XDG = 1; |
@@ -451,6 +640,10 @@ in { | |||
451 | recommend-stack-upgrade = false; | 640 | recommend-stack-upgrade = false; |
452 | }; | 641 | }; |
453 | }; | 642 | }; |
643 | "gtklock/config.ini" = { | ||
644 | source = (pkgs.formats.ini {}).generate "config.ini" { | ||
645 | }; | ||
646 | }; | ||
454 | }; | 647 | }; |
455 | 648 | ||
456 | xdg.dataFile = { | 649 | xdg.dataFile = { |
@@ -509,6 +702,11 @@ in { | |||
509 | color-scheme = "prefer-dark"; | 702 | color-scheme = "prefer-dark"; |
510 | }; | 703 | }; |
511 | }; | 704 | }; |
705 | |||
706 | wayland.windowManager.hyprland = { | ||
707 | enable = true; | ||
708 | settings = import ./hyprland.nix inputs; | ||
709 | }; | ||
512 | }; | 710 | }; |
513 | }; | 711 | }; |
514 | } | 712 | } |
diff --git a/accounts/gkleen@sif/dunst-settings.nix b/accounts/gkleen@sif/dunst-settings.nix index 61bd12a6..90fffcc5 100644 --- a/accounts/gkleen@sif/dunst-settings.nix +++ b/accounts/gkleen@sif/dunst-settings.nix | |||
@@ -1,14 +1,14 @@ | |||
1 | { pkgs, ... }: | 1 | { pkgs, ... }: |
2 | { | 2 | { |
3 | global = { | 3 | global = { |
4 | font = "Fira Sans 6"; | 4 | font = "Fira Sans 12"; |
5 | markup = "full"; | 5 | markup = "full"; |
6 | format = "<i>%s</i> %p\\n%b"; | 6 | format = "<i>%s</i> %p\\n%b"; |
7 | alignment = "left"; | 7 | alignment = "left"; |
8 | # geometry = "1216x10-32+64"; | 8 | # geometry = "1216x10-32+64"; |
9 | width = 250; | 9 | width = 500; |
10 | height = 50; | 10 | height = 100; |
11 | offset = "16x25"; | 11 | offset = "4x4"; |
12 | origin = "top-right"; | 12 | origin = "top-right"; |
13 | shrink = true; | 13 | shrink = true; |
14 | monitor = 0; | 14 | monitor = 0; |
@@ -33,7 +33,7 @@ | |||
33 | sort = false; | 33 | sort = false; |
34 | sticky_history = false; | 34 | sticky_history = false; |
35 | 35 | ||
36 | dmenu = "${pkgs.dmenu}/bin/dmenu"; | 36 | dmenu = "wofi --show dmenu"; |
37 | browser = "${pkgs.xdg-utils}/bin/xdg-open"; | 37 | browser = "${pkgs.xdg-utils}/bin/xdg-open"; |
38 | }; | 38 | }; |
39 | # shortcuts = { | 39 | # shortcuts = { |
diff --git a/accounts/gkleen@sif/dunstrc.d/20-kitty.conf b/accounts/gkleen@sif/dunstrc.d/20-kitty.conf new file mode 100644 index 00000000..b27ee27e --- /dev/null +++ b/accounts/gkleen@sif/dunstrc.d/20-kitty.conf | |||
@@ -0,0 +1,3 @@ | |||
1 | [kitty] | ||
2 | appname=kitty | ||
3 | urgency=low | ||
diff --git a/accounts/gkleen@sif/emacs.el b/accounts/gkleen@sif/emacs.el index 0eed3bce..48daa951 100644 --- a/accounts/gkleen@sif/emacs.el +++ b/accounts/gkleen@sif/emacs.el | |||
@@ -5,7 +5,9 @@ | |||
5 | (setq inhibit-startup-message t) | 5 | (setq inhibit-startup-message t) |
6 | (defalias 'yes-or-no-p 'y-or-n-p) | 6 | (defalias 'yes-or-no-p 'y-or-n-p) |
7 | 7 | ||
8 | (set-face-attribute 'default nil :font "Fira Code" :height 49) | 8 | ;; (set-face-attribute 'default nil :font "Fira Code" :height 49) |
9 | (set-frame-font "Fira Code 8" nil nil) | ||
10 | (load-theme 'modus-vivendi t) | ||
9 | 11 | ||
10 | (require 'package) | 12 | (require 'package) |
11 | (setq package-archives nil) | 13 | (setq package-archives nil) |
diff --git a/accounts/gkleen@sif/hyprland.nix b/accounts/gkleen@sif/hyprland.nix new file mode 100644 index 00000000..9b20f89e --- /dev/null +++ b/accounts/gkleen@sif/hyprland.nix | |||
@@ -0,0 +1,229 @@ | |||
1 | { pkgs, lib, ... }: | ||
2 | { | ||
3 | monitor = [ | ||
4 | ",preferred,auto,auto" | ||
5 | "eDP-1,3840x2160@59.99900,auto,1.5" | ||
6 | ]; | ||
7 | |||
8 | "$terminal" = "kitty"; | ||
9 | "$menu" = "wofi --show run"; | ||
10 | |||
11 | exec-once = [ | ||
12 | "wpaperd" | ||
13 | ]; | ||
14 | |||
15 | env = [ | ||
16 | # "XCURSOR_SIZE,12" | ||
17 | "NIXOS_OZONE_WL,1" | ||
18 | "QT_QPA_PLATFORM,wayland" | ||
19 | "GDK_BACKEND,wayland" | ||
20 | "GDK_SCALE,0.66" | ||
21 | "QT_AUTO_SCREEN_SCALE_FACTOR,1" | ||
22 | ]; | ||
23 | |||
24 | xwayland.force_zero_scaling = true; | ||
25 | |||
26 | general = { | ||
27 | gaps_in = 3; | ||
28 | gaps_out = 9; | ||
29 | "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; | ||
30 | "col.inactive_border" = "rgba(595959aa)"; | ||
31 | |||
32 | resize_on_border = false; | ||
33 | |||
34 | allow_tearing = false; | ||
35 | |||
36 | layout = "dwindle"; | ||
37 | }; | ||
38 | |||
39 | decoration = { | ||
40 | rounding = 5; | ||
41 | |||
42 | active_opacity = 1.0; | ||
43 | inactive_opacity = 1.0; | ||
44 | |||
45 | drop_shadow = false; | ||
46 | shadow_range = 4; | ||
47 | shadow_render_power = 3; | ||
48 | "col.shadow" = "rgba(1a1a1aee)"; | ||
49 | |||
50 | blur = { | ||
51 | enabled = true; | ||
52 | size = 3; | ||
53 | passes = 1; | ||
54 | |||
55 | vibrancy = 0.1696; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | animations = { | ||
60 | enabled = true; | ||
61 | bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; | ||
62 | animation = [ | ||
63 | "windows, 1, 3, default, popin 80%" | ||
64 | "windowsMove, 0" | ||
65 | # "windows, 1, 7, myBezier" | ||
66 | # "windowsOut, 1, 7, myBezier, popin 80%" | ||
67 | "border, 1, 10, default" | ||
68 | "borderangle, 1, 8, default" | ||
69 | "fade, 1, 3, default" | ||
70 | "workspaces, 1, 3, default, fade" | ||
71 | # "workspaces, 1, 6, default" | ||
72 | ]; | ||
73 | }; | ||
74 | |||
75 | dwindle = { | ||
76 | pseudotile = true; | ||
77 | preserve_split = true; | ||
78 | }; | ||
79 | |||
80 | master = { | ||
81 | new_status = "master"; | ||
82 | }; | ||
83 | |||
84 | misc = { | ||
85 | force_default_wallpaper = -1; | ||
86 | disable_hyprland_logo = false; | ||
87 | }; | ||
88 | |||
89 | input = { | ||
90 | kb_layout = "us,us"; | ||
91 | kb_variant = "dvp,"; | ||
92 | kb_model = ""; | ||
93 | kb_options = "compose:caps,grp:win_space_toggle"; | ||
94 | kb_rules = ""; | ||
95 | |||
96 | follow_mouse = 1; | ||
97 | |||
98 | sensitivity = 0; | ||
99 | |||
100 | touchpad = { | ||
101 | natural_scroll = false; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | device = [ | ||
106 | { name = "synaptics-tm3512-010"; | ||
107 | sensitivity = 0.4; | ||
108 | } | ||
109 | { name = "tpps/2-elan-trackpoint"; | ||
110 | sensitivity = 0.2; | ||
111 | } | ||
112 | ]; | ||
113 | |||
114 | gestures = { | ||
115 | workspace_swipe = false; | ||
116 | }; | ||
117 | |||
118 | dwindle = { | ||
119 | # no_gaps_when_only = 1; | ||
120 | }; | ||
121 | |||
122 | "$mainMod" = "SUPER"; | ||
123 | |||
124 | bind = [ | ||
125 | "$mainMod, Q, exec, $terminal" | ||
126 | "$mainMod, C, killactive" | ||
127 | "$mainMod, M, exit" | ||
128 | "$mainMod, V, togglefloating" | ||
129 | "$mainMod, R, exec, $menu" | ||
130 | "$mainMod, P, pseudo," | ||
131 | "$mainMod, J, togglesplit," | ||
132 | |||
133 | # "$mainMod SHIFT, L, exec, loginctl lock-session" | ||
134 | "$mainMod SHIFT, L, exec, gtklock -d" | ||
135 | "$mainMod SHIFT, S, exec, systemctl suspend" | ||
136 | |||
137 | "$mainMod, left, movefocus, l" | ||
138 | "$mainMod, right, movefocus, r" | ||
139 | "$mainMod, up, movefocus, u" | ||
140 | "$mainMod, down, movefocus, d" | ||
141 | "$mainMod SHIFT, left, swapwindow, l" | ||
142 | "$mainMod SHIFT, right, swapwindow, r" | ||
143 | "$mainMod SHIFT, up, swapwindow, u" | ||
144 | "$mainMod SHIFT, down, swapwindow, d" | ||
145 | |||
146 | "$mainMod, T, cyclenext" | ||
147 | |||
148 | "$mainMod SHIFT, N, movecurrentworkspacetomonitor, +1" | ||
149 | |||
150 | "$mainMod, F, fullscreen, 1" | ||
151 | "$mainMod SHIFT, F, fullscreen, 0" | ||
152 | |||
153 | "$mainMod, code:14, workspace, 1" | ||
154 | "$mainMod, code:17, workspace, 2" | ||
155 | "$mainMod, code:13, workspace, 3" | ||
156 | "$mainMod, code:18, workspace, 4" | ||
157 | "$mainMod, code:12, workspace, 5" | ||
158 | "$mainMod, code:19, workspace, 6" | ||
159 | "$mainMod, code:11, workspace, 7" | ||
160 | "$mainMod, code:20, workspace, 8" | ||
161 | "$mainMod, code:15, workspace, 9" | ||
162 | "$mainMod, code:16, workspace, 10" | ||
163 | |||
164 | "$mainMod SHIFT, code:14, movetoworkspacesilent, 1" | ||
165 | "$mainMod SHIFT, code:17, movetoworkspacesilent, 2" | ||
166 | "$mainMod SHIFT, code:13, movetoworkspacesilent, 3" | ||
167 | "$mainMod SHIFT, code:18, movetoworkspacesilent, 4" | ||
168 | "$mainMod SHIFT, code:12, movetoworkspacesilent, 5" | ||
169 | "$mainMod SHIFT, code:19, movetoworkspacesilent, 6" | ||
170 | "$mainMod SHIFT, code:11, movetoworkspacesilent, 7" | ||
171 | "$mainMod SHIFT, code:20, movetoworkspacesilent, 8" | ||
172 | "$mainMod SHIFT, code:15, movetoworkspacesilent, 9" | ||
173 | "$mainMod SHIFT, code:16, movetoworkspacesilent, 10" | ||
174 | |||
175 | "CTRL, space, exec, dunstctl close" | ||
176 | "CTRL SHIFT, space, exec, dunstctl close-all" | ||
177 | "CTRL, period, exec, dunstctl context" | ||
178 | "CTRL, comma, exec, dunstctl history-pop" | ||
179 | |||
180 | "$mainMod ALT, E, exec, emacsclient -c" | ||
181 | |||
182 | ", XF86MonBrightnessUp, exec, brightnessctl s +5%" | ||
183 | ", XF86MonBrightnessDown, exec, brightnessctl s 5%-" | ||
184 | ", XF86AudioRaiseVolume, exec, pamixer -i 2" | ||
185 | ", XF86AudioLowerVolume, exec, pamixer -d 2" | ||
186 | ", XF86AudioMute, exec, pamixer -t" | ||
187 | |||
188 | ", Print, exec, ${pkgs.writeShellScript "screenshot" '' | ||
189 | export PATH="${lib.makeBinPath (with pkgs; [ grim slurp wl-clipboard-rs coreutils ])}:$PATH" | ||
190 | |||
191 | outFile="$HOME/screenshots/$(date +"%Y-%m-%dT%H:%M:%S").png" | ||
192 | grim -g "$(slurp -b 00000080 -c FFFFFFFF -s 00000000 -w 1)" "$outFile" | ||
193 | wl-copy --type image/png <"$outFile" | ||
194 | ''}" | ||
195 | |||
196 | "$mainMod CTRL, return, togglespecialworkspace, term" | ||
197 | "$mainMod CTRL, e, togglespecialworkspace, edit" | ||
198 | "$mainMod CTRL, a, togglespecialworkspace, pavucontrol" | ||
199 | "$mainMod CTRL, o, togglespecialworkspace, easyeffects" | ||
200 | "$mainMod CTRL, b, togglespecialworkspace, blueman" | ||
201 | "$mainMod CTRL, p, togglespecialworkspace, keepass" | ||
202 | ]; | ||
203 | bindm = [ | ||
204 | "$mainMod, mouse:272, movewindow" | ||
205 | "$mainMod, mouse:273, resizewindow" | ||
206 | ]; | ||
207 | |||
208 | windowrulev2 = [ | ||
209 | "suppressevent maximize, class:.*" | ||
210 | "maximize, class:^(Element|thunderbird)$" | ||
211 | "workspace special:keepass, class:^org\.keepassxc\.KeePassXC$" | ||
212 | # "group set always lock invade, class:^Element$" | ||
213 | ]; | ||
214 | |||
215 | workspace = [ | ||
216 | "s[true], gapsout:200" | ||
217 | |||
218 | "special:term, on-created-empty:kitty" | ||
219 | "special:edit, on-created-empty:emacsclient -c" | ||
220 | "special:pavucontrol, on-created-empty:pavucontrol" | ||
221 | "special:easyeffects, on-created-empty:easyeffects" | ||
222 | "special:blueman, on-created-empty:blueman-manager" | ||
223 | "special:keepass, on-created-empty:keepassxc" | ||
224 | ]; | ||
225 | |||
226 | layerrule = [ | ||
227 | "blur, waybar" | ||
228 | ]; | ||
229 | } | ||
diff --git a/accounts/gkleen@sif/systemd.nix b/accounts/gkleen@sif/systemd.nix index fe69a757..1397ca62 100644 --- a/accounts/gkleen@sif/systemd.nix +++ b/accounts/gkleen@sif/systemd.nix | |||
@@ -149,6 +149,7 @@ in { | |||
149 | BusName = "org.keepassxc.KeePassXC.MainWindow"; | 149 | BusName = "org.keepassxc.KeePassXC.MainWindow"; |
150 | WorkingDirectory = "~"; | 150 | WorkingDirectory = "~"; |
151 | ExecStart = "${pkgs.keepassxc}/bin/keepassxc"; | 151 | ExecStart = "${pkgs.keepassxc}/bin/keepassxc"; |
152 | Environment = [ "QT_QPA_PLATFORM=wayland" ]; | ||
152 | }; | 153 | }; |
153 | Unit = { | 154 | Unit = { |
154 | Requires = ["graphical-session-pre.target"]; | 155 | Requires = ["graphical-session-pre.target"]; |
diff --git a/accounts/gkleen@sif/zshrc b/accounts/gkleen@sif/zshrc index 16079c89..83e86270 100644 --- a/accounts/gkleen@sif/zshrc +++ b/accounts/gkleen@sif/zshrc | |||
@@ -481,4 +481,6 @@ export EDITOR=emacsclient | |||
481 | 481 | ||
482 | bindkey -e | 482 | bindkey -e |
483 | bindkey ';5C' emacs-forward-word | 483 | bindkey ';5C' emacs-forward-word |
484 | bindkey ';5D' emacs-backward-word \ No newline at end of file | 484 | bindkey ';5D' emacs-backward-word |
485 | bindkey '^[[1;5C' emacs-forward-word | ||
486 | bindkey '^[[1;5D' emacs-backward-word \ No newline at end of file | ||
diff --git a/hosts/sif/default.nix b/hosts/sif/default.nix index f505874b..809e2ace 100644 --- a/hosts/sif/default.nix +++ b/hosts/sif/default.nix | |||
@@ -388,7 +388,7 @@ in { | |||
388 | exportConfiguration = true; | 388 | exportConfiguration = true; |
389 | 389 | ||
390 | displayManager.lightdm = { | 390 | displayManager.lightdm = { |
391 | enable = true; | 391 | enable = false; |
392 | greeters.gtk = { | 392 | greeters.gtk = { |
393 | clock-format = "%H:%M %a %b %_d"; | 393 | clock-format = "%H:%M %a %b %_d"; |
394 | indicators = ["~host" "~spacer" "~clock" "~session" "~power"]; | 394 | indicators = ["~host" "~spacer" "~clock" "~session" "~power"]; |
@@ -413,7 +413,32 @@ in { | |||
413 | }; | 413 | }; |
414 | }; | 414 | }; |
415 | libinput.enable = true; | 415 | libinput.enable = true; |
416 | |||
417 | greetd = { | ||
418 | enable = true; | ||
419 | }; | ||
420 | }; | ||
421 | |||
422 | programs.regreet = { | ||
423 | enable = true; | ||
424 | theme = { | ||
425 | package = pkgs.equilux-theme; | ||
426 | name = "Equilux-compact"; | ||
427 | }; | ||
428 | iconTheme = { | ||
429 | package = pkgs.paper-icon-theme; | ||
430 | name = "Paper"; | ||
431 | }; | ||
432 | font = { | ||
433 | package = pkgs.fira; | ||
434 | name = "Fira Sans"; | ||
435 | # size = 6; | ||
436 | }; | ||
437 | settings = { | ||
438 | GTK.application_prefer_dark_theme = true; | ||
439 | }; | ||
416 | }; | 440 | }; |
441 | programs.hyprland.enable = true; | ||
417 | 442 | ||
418 | systemd.tmpfiles.rules = [ | 443 | systemd.tmpfiles.rules = [ |
419 | "d /var/lib/lightdm/.cache/lightdm-gtk-greeter 1770 lightdm lightdm -" | 444 | "d /var/lib/lightdm/.cache/lightdm-gtk-greeter 1770 lightdm lightdm -" |
@@ -692,6 +717,8 @@ in { | |||
692 | ]; | 717 | ]; |
693 | }; | 718 | }; |
694 | 719 | ||
720 | security.pam.services.gtklock = {}; | ||
721 | |||
695 | system.stateVersion = "24.11"; | 722 | system.stateVersion = "24.11"; |
696 | }; | 723 | }; |
697 | } | 724 | } |
diff --git a/nvfetcher.toml b/nvfetcher.toml index bdde5795..d40a8d3a 100644 --- a/nvfetcher.toml +++ b/nvfetcher.toml | |||
@@ -89,3 +89,7 @@ fetch.tarball = "https://downloads.open-mesh.org/batman/stable/sources/batman-ad | |||
89 | src.github_tag = "bk2204/scutiger" | 89 | src.github_tag = "bk2204/scutiger" |
90 | src.prefix = "v" | 90 | src.prefix = "v" |
91 | fetch.tarball = "https://github.com/bk2204/scutiger/archive/refs/tags/v$ver.tar.gz" | 91 | fetch.tarball = "https://github.com/bk2204/scutiger/archive/refs/tags/v$ver.tar.gz" |
92 | |||
93 | [tomorrow-night-paradise-theme] | ||
94 | src.git = "https://github.com/jimeh/tomorrow-night-paradise-theme.el" | ||
95 | fetch.git = "https://github.com/jimeh/tomorrow-night-paradise-theme.el" | ||