diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2025-06-22 21:13:23 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2025-06-22 21:13:23 +0200 |
| commit | ba907ef7b4f5962a11c20adb4036b6ddad26a000 (patch) | |
| tree | 25f1aa3d84ef13a69afa9fc1f648822224429de6 /accounts/gkleen@sif | |
| parent | 173f53c48c42fbf8efc23b1393a71e9e688bfcec (diff) | |
| download | nixos-ba907ef7b4f5962a11c20adb4036b6ddad26a000.tar nixos-ba907ef7b4f5962a11c20adb4036b6ddad26a000.tar.gz nixos-ba907ef7b4f5962a11c20adb4036b6ddad26a000.tar.bz2 nixos-ba907ef7b4f5962a11c20adb4036b6ddad26a000.tar.xz nixos-ba907ef7b4f5962a11c20adb4036b6ddad26a000.zip | |
...
Diffstat (limited to 'accounts/gkleen@sif')
| -rw-r--r-- | accounts/gkleen@sif/niri/default.nix | 221 | ||||
| -rw-r--r-- | accounts/gkleen@sif/systemd.nix | 2 | ||||
| -rw-r--r-- | accounts/gkleen@sif/zshrc | 4 |
3 files changed, 112 insertions, 115 deletions
diff --git a/accounts/gkleen@sif/niri/default.nix b/accounts/gkleen@sif/niri/default.nix index 8752f3e3..35a3d799 100644 --- a/accounts/gkleen@sif/niri/default.nix +++ b/accounts/gkleen@sif/niri/default.nix | |||
| @@ -3,6 +3,7 @@ let | |||
| 3 | cfg = config.programs.niri; | 3 | cfg = config.programs.niri; |
| 4 | 4 | ||
| 5 | kdl = flakeInputs.niri-flake.lib.kdl; | 5 | kdl = flakeInputs.niri-flake.lib.kdl; |
| 6 | sleaf = name: arg: kdl.node name [arg] []; | ||
| 6 | 7 | ||
| 7 | niri = cfg.package; | 8 | niri = cfg.package; |
| 8 | terminal = lib.getExe config.programs.kitty.package; | 9 | terminal = lib.getExe config.programs.kitty.package; |
| @@ -450,7 +451,7 @@ in { | |||
| 450 | { title = ".*Passkey credentials$"; } | 451 | { title = ".*Passkey credentials$"; } |
| 451 | ]; | 452 | ]; |
| 452 | windowRuleExtra = with kdl; [ | 453 | windowRuleExtra = with kdl; [ |
| 453 | (kdl.leaf "open-focused" false) | 454 | (sleaf "open-focused" false) |
| 454 | ]; | 455 | ]; |
| 455 | key = "Mod+Control+P"; | 456 | key = "Mod+Control+P"; |
| 456 | app-id = "org.keepassxc.KeePassXC"; | 457 | app-id = "org.keepassxc.KeePassXC"; |
| @@ -488,7 +489,7 @@ in { | |||
| 488 | exec dex $HOME/.local/state/nix/profile/share/applications/kimai.desktop | 489 | exec dex $HOME/.local/state/nix/profile/share/applications/kimai.desktop |
| 489 | '')) ]; | 490 | '')) ]; |
| 490 | windowRuleExtra = with kdl; [ | 491 | windowRuleExtra = with kdl; [ |
| 491 | (leaf "block-out-from" "screencast") | 492 | (sleaf "block-out-from" "screencast") |
| 492 | ]; | 493 | ]; |
| 493 | } | 494 | } |
| 494 | ]; | 495 | ]; |
| @@ -500,10 +501,12 @@ in { | |||
| 500 | then v | 501 | then v |
| 501 | else null; | 502 | else null; |
| 502 | opt-props = lib.filterAttrs (lib.const (value: value != null)); | 503 | opt-props = lib.filterAttrs (lib.const (value: value != null)); |
| 504 | normalize-nodes = nodes: lib.remove null (lib.flatten nodes); | ||
| 503 | in | 505 | in |
| 504 | [ (flag "prefer-no-csd") | 506 | normalize-nodes [ |
| 507 | (flag "prefer-no-csd") | ||
| 505 | 508 | ||
| 506 | (leaf "screenshot-path" "~/screenshots/%Y-%m-%dT%H:%M:%S.png") | 509 | (sleaf "screenshot-path" "~/screenshots/%Y-%m-%dT%H:%M:%S.png") |
| 507 | 510 | ||
| 508 | (plain "hotkey-overlay" [ | 511 | (plain "hotkey-overlay" [ |
| 509 | (flag "skip-at-startup") | 512 | (flag "skip-at-startup") |
| @@ -511,27 +514,27 @@ in { | |||
| 511 | 514 | ||
| 512 | (plain "input" [ | 515 | (plain "input" [ |
| 513 | (plain "keyboard" [ | 516 | (plain "keyboard" [ |
| 514 | (leaf "repeat-delay" 300) | 517 | (sleaf "repeat-delay" 300) |
| 515 | (leaf "repeat-rate" 50) | 518 | (sleaf "repeat-rate" 50) |
| 516 | 519 | ||
| 517 | (plain "xkb" [ | 520 | (plain "xkb" [ |
| 518 | (leaf "layout" "us,us") | 521 | (sleaf "layout" "us,us") |
| 519 | (leaf "variant" "dvp,") | 522 | (sleaf "variant" "dvp,") |
| 520 | (leaf "options" "compose:caps,grp:win_space_toggle") | 523 | (sleaf "options" "compose:caps,grp:win_space_toggle") |
| 521 | ]) | 524 | ]) |
| 522 | ]) | 525 | ]) |
| 523 | 526 | ||
| 524 | (flag "workspace-auto-back-and-forth") | 527 | (flag "workspace-auto-back-and-forth") |
| 525 | # (leaf "focus-follows-mouse" {}) | 528 | # (sleaf "focus-follows-mouse" {}) |
| 526 | # (flag "warp-mouse-to-focus") | 529 | # (flag "warp-mouse-to-focus") |
| 527 | 530 | ||
| 528 | # (plain "touchpad" [ (flag "off") ]) | 531 | # (plain "touchpad" [ (flag "off") ]) |
| 529 | (plain "trackball" [ | 532 | (plain "trackball" [ |
| 530 | (leaf "scroll-method" "on-button-down") | 533 | (sleaf "scroll-method" "on-button-down") |
| 531 | (leaf "scroll-button" 278) | 534 | (sleaf "scroll-button" 278) |
| 532 | ]) | 535 | ]) |
| 533 | (plain "touch" [ | 536 | (plain "touch" [ |
| 534 | (leaf "map-to-output" "eDP-1") | 537 | (sleaf "map-to-output" "eDP-1") |
| 535 | ]) | 538 | ]) |
| 536 | ]) | 539 | ]) |
| 537 | 540 | ||
| @@ -539,7 +542,7 @@ in { | |||
| 539 | (plain "hot-corners" [(flag "off")]) | 542 | (plain "hot-corners" [(flag "off")]) |
| 540 | ]) | 543 | ]) |
| 541 | 544 | ||
| 542 | (plain "environment" (lib.mapAttrsToList leaf { | 545 | (plain "environment" (lib.mapAttrsToList sleaf { |
| 543 | NIXOS_OZONE_WL = "1"; | 546 | NIXOS_OZONE_WL = "1"; |
| 544 | QT_QPA_PLATFORM = "wayland"; | 547 | QT_QPA_PLATFORM = "wayland"; |
| 545 | QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; | 548 | QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; |
| @@ -552,47 +555,47 @@ in { | |||
| 552 | SUDO_ASKPASS = lib.getExe pkgs.kdePackages.ksshaskpass; | 555 | SUDO_ASKPASS = lib.getExe pkgs.kdePackages.ksshaskpass; |
| 553 | })) | 556 | })) |
| 554 | 557 | ||
| 555 | (node "output" "eDP-1" [ | 558 | (node "output" ["eDP-1"] [ |
| 556 | (leaf "scale" 1.5) | 559 | (sleaf "scale" 1.5) |
| 557 | (leaf "position" { x = 0; y = 0; }) | 560 | (sleaf "position" { x = 0; y = 0; }) |
| 558 | ]) | 561 | ]) |
| 559 | (node "output" "Ancor Communications Inc ASUS PB287Q 0x0000DD9B" [ | 562 | (node "output" ["Ancor Communications Inc ASUS PB287Q 0x0000DD9B"] [ |
| 560 | (leaf "scale" 1.5) | 563 | (sleaf "scale" 1.5) |
| 561 | (leaf "position" { x = 2560; y = 0; }) | 564 | (sleaf "position" { x = 2560; y = 0; }) |
| 562 | ]) | 565 | ]) |
| 563 | (node "output" "HP Inc. HP 727pu CN4417143K" [ | 566 | (node "output" ["HP Inc. HP 727pu CN4417143K"] [ |
| 564 | (leaf "mode" "2560x1440@119.998") | 567 | (sleaf "mode" "2560x1440@119.998") |
| 565 | (leaf "scale" 1) | 568 | (sleaf "scale" 1) |
| 566 | (leaf "position" { x = 2560; y = 0; }) | 569 | (sleaf "position" { x = 2560; y = 0; }) |
| 567 | (flag "variable-refresh-rate") | 570 | (flag "variable-refresh-rate") |
| 568 | ]) | 571 | ]) |
| 569 | 572 | ||
| 570 | (plain "debug" [ | 573 | (plain "debug" [ |
| 571 | (leaf "render-drm-device" "/dev/dri/by-path/pci-0000:00:02.0-render") | 574 | (sleaf "render-drm-device" "/dev/dri/by-path/pci-0000:00:02.0-render") |
| 572 | ]) | 575 | ]) |
| 573 | 576 | ||
| 574 | (plain "animations" [ | 577 | (plain "animations" [ |
| 575 | (leaf "slowdown" 0.5) | 578 | (sleaf "slowdown" 0.5) |
| 576 | (plain "workspace-switch" [(flag "off")]) | 579 | (plain "workspace-switch" [(flag "off")]) |
| 577 | ]) | 580 | ]) |
| 578 | 581 | ||
| 579 | (plain "layout" [ | 582 | (plain "layout" [ |
| 580 | (leaf "gaps" 8) | 583 | (sleaf "gaps" 8) |
| 581 | (plain "struts" [ | 584 | (plain "struts" [ |
| 582 | (leaf "left" 26) | 585 | (sleaf "left" 26) |
| 583 | (leaf "right" 26) | 586 | (sleaf "right" 26) |
| 584 | (leaf "top" 0) | 587 | (sleaf "top" 0) |
| 585 | (leaf "bottom" 0) | 588 | (sleaf "bottom" 0) |
| 586 | ]) | 589 | ]) |
| 587 | (plain "border" [ | 590 | (plain "border" [ |
| 588 | (leaf "width" 2) | 591 | (sleaf "width" 2) |
| 589 | (leaf "active-gradient" { | 592 | (sleaf "active-gradient" { |
| 590 | from = "hsla(195 100% 45% 1)"; | 593 | from = "hsla(195 100% 45% 1)"; |
| 591 | to = "hsla(155 100% 37.5% 1)"; | 594 | to = "hsla(155 100% 37.5% 1)"; |
| 592 | angle = 29; | 595 | angle = 29; |
| 593 | relative-to = "workspace-view"; | 596 | relative-to = "workspace-view"; |
| 594 | }) | 597 | }) |
| 595 | (leaf "inactive-gradient" { | 598 | (sleaf "inactive-gradient" { |
| 596 | from = "hsla(0 0% 27.7% 1)"; | 599 | from = "hsla(0 0% 27.7% 1)"; |
| 597 | to = "hsla(0 0% 23% 1)"; | 600 | to = "hsla(0 0% 23% 1)"; |
| 598 | angle = 29; | 601 | angle = 29; |
| @@ -603,29 +606,29 @@ in { | |||
| 603 | (flag "off") | 606 | (flag "off") |
| 604 | ]) | 607 | ]) |
| 605 | 608 | ||
| 606 | (plain "preset-column-widths" (map (prop: leaf "proportion" prop) [ | 609 | (plain "preset-column-widths" (map (prop: sleaf "proportion" prop) [ |
| 607 | (1. / 4.) (1. / 3.) (1. / 2.) (2. / 3.) (3. / 4.) (1.) | 610 | (1. / 4.) (1. / 3.) (1. / 2.) (2. / 3.) (3. / 4.) (1.) |
| 608 | ])) | 611 | ])) |
| 609 | (plain "default-column-width" [ (leaf "proportion" (1. / 2.)) ]) | 612 | (plain "default-column-width" [ (sleaf "proportion" (1. / 2.)) ]) |
| 610 | (plain "preset-window-heights" (map (prop: leaf "proportion" prop) [ | 613 | (plain "preset-window-heights" (map (prop: sleaf "proportion" prop) [ |
| 611 | (1. / 3.) (1. / 2.) (2. / 3.) (1.) | 614 | (1. / 3.) (1. / 2.) (2. / 3.) (1.) |
| 612 | ])) | 615 | ])) |
| 613 | 616 | ||
| 614 | (flag "always-center-single-column") | 617 | (flag "always-center-single-column") |
| 615 | 618 | ||
| 616 | (plain "tab-indicator" [ | 619 | (plain "tab-indicator" [ |
| 617 | (leaf "gap" 4) | 620 | (sleaf "gap" 4) |
| 618 | (leaf "width" 8) | 621 | (sleaf "width" 8) |
| 619 | (leaf "gaps-between-tabs" 4) | 622 | (sleaf "gaps-between-tabs" 4) |
| 620 | (flag "place-within-column") | 623 | (flag "place-within-column") |
| 621 | (leaf "length" { total-proportion = 1.; }) | 624 | (sleaf "length" { total-proportion = 1.; }) |
| 622 | (leaf "active-gradient" { | 625 | (sleaf "active-gradient" { |
| 623 | from = "hsla(195 100% 60% 0.75)"; | 626 | from = "hsla(195 100% 60% 0.75)"; |
| 624 | to = "hsla(155 100% 50% 0.75)"; | 627 | to = "hsla(155 100% 50% 0.75)"; |
| 625 | angle = 29; | 628 | angle = 29; |
| 626 | relative-to = "workspace-view"; | 629 | relative-to = "workspace-view"; |
| 627 | }) | 630 | }) |
| 628 | (leaf "inactive-gradient" { | 631 | (sleaf "inactive-gradient" { |
| 629 | from = "hsla(0 0% 42% 0.66)"; | 632 | from = "hsla(0 0% 42% 0.66)"; |
| 630 | to = "hsla(0 0% 35% 0.66)"; | 633 | to = "hsla(0 0% 35% 0.66)"; |
| 631 | angle = 29; | 634 | angle = 29; |
| @@ -639,129 +642,121 @@ in { | |||
| 639 | ]) | 642 | ]) |
| 640 | 643 | ||
| 641 | (map (name: | 644 | (map (name: |
| 642 | (node "workspace" name [ | 645 | (node "workspace" [name] [ |
| 643 | (leaf "open-on-output" "eDP-1") | 646 | (sleaf "open-on-output" "eDP-1") |
| 644 | ]) | 647 | ]) |
| 645 | ) (map ({name, ...}: name) cfg.scratchspaces)) | 648 | ) (map ({name, ...}: name) cfg.scratchspaces)) |
| 646 | (map (name: | 649 | (map (name: |
| 647 | (leaf "workspace" name) | 650 | (sleaf "workspace" name) |
| 648 | ) ["comm" "web" "vid" "bmr"]) | 651 | ) ["comm" "web" "vid" "bmr"]) |
| 649 | 652 | ||
| 650 | (plain "window-rule" [ | 653 | (plain "window-rule" [ |
| 651 | (leaf "clip-to-geometry" true) | 654 | (sleaf "clip-to-geometry" true) |
| 652 | ]) | 655 | ]) |
| 653 | 656 | ||
| 654 | (plain "window-rule" [ | 657 | (plain "window-rule" [ |
| 655 | (leaf "match" { is-floating = true; }) | 658 | (sleaf "match" { is-floating = true; }) |
| 656 | (leaf "geometry-corner-radius" 8) | 659 | (sleaf "geometry-corner-radius" 8) |
| 657 | (plain "shadow" [ (flag "on") ]) | 660 | (plain "shadow" [ (flag "on") ]) |
| 658 | ]) | 661 | ]) |
| 659 | 662 | ||
| 660 | (plain "window-rule" [ | 663 | (plain "window-rule" [ |
| 661 | (leaf "match" { app-id = "^org\\.keepassxc\\.KeePassXC$"; }) | 664 | (sleaf "match" { app-id = "^org\\.keepassxc\\.KeePassXC$"; }) |
| 662 | (leaf "block-out-from" "screencast") | 665 | (sleaf "block-out-from" "screencast") |
| 663 | ]) | 666 | ]) |
| 664 | (plain "window-rule" [ | 667 | (plain "window-rule" (normalize-nodes [ |
| 665 | (map (title: | 668 | (map (title: |
| 666 | (leaf "match" { app-id = "^org\\.keepassxc\\.KeePassXC$"; inherit title; }) | 669 | (sleaf "match" { app-id = "^org\\.keepassxc\\.KeePassXC$"; inherit title; }) |
| 667 | ) ["^Unlock Database.*" "^Access Request.*" ".*Passkey credentials$" "Browser Access Request$"]) | 670 | ) ["^Unlock Database.*" "^Access Request.*" ".*Passkey credentials$" "Browser Access Request$"]) |
| 668 | (leaf "open-focused" true) | 671 | (sleaf "open-focused" true) |
| 669 | (leaf "open-floating" true) | 672 | (sleaf "open-floating" true) |
| 670 | ]) | 673 | ])) |
| 671 | 674 | ||
| 672 | (map ({ name, match, exclude, windowRuleExtra, ... }: | 675 | (map ({ name, match, exclude, windowRuleExtra, ... }: |
| 673 | (optional-node (match != []) (plain "window-rule" [ | 676 | (optional-node (match != []) (plain "window-rule" (normalize-nodes [ |
| 674 | (map (leaf "match") match) | 677 | (map (sleaf "match") match) |
| 675 | (map (leaf "exclude") exclude) | 678 | (map (sleaf "exclude") exclude) |
| 676 | (leaf "open-on-workspace" name) | 679 | (sleaf "open-on-workspace" name) |
| 677 | (leaf "open-maximized" true) | 680 | (sleaf "open-maximized" true) |
| 678 | windowRuleExtra | 681 | windowRuleExtra |
| 679 | ])) | 682 | ]))) |
| 680 | ) cfg.scratchspaces) | 683 | ) cfg.scratchspaces) |
| 681 | 684 | ||
| 682 | (plain "window-rule" [ | 685 | (plain "window-rule" [ |
| 683 | (leaf "match" { app-id = "^emacs$"; }) | 686 | (sleaf "match" { app-id = "^emacs$"; }) |
| 684 | (leaf "match" { app-id = "^firefox$"; }) | 687 | (sleaf "match" { app-id = "^firefox$"; }) |
| 685 | (plain "default-column-width" [(leaf "proportion" (2. / 3.))]) | 688 | (plain "default-column-width" [(sleaf "proportion" (2. / 3.))]) |
| 686 | ]) | 689 | ]) |
| 687 | (plain "window-rule" [ | 690 | (plain "window-rule" [ |
| 688 | (leaf "match" { app-id = "^kitty$"; }) | 691 | (sleaf "match" { app-id = "^kitty$"; }) |
| 689 | (leaf "match" { app-id = "^kitty-play$"; }) | 692 | (sleaf "match" { app-id = "^kitty-play$"; }) |
| 690 | (plain "default-column-width" [(leaf "proportion" (1. / 3.))]) | 693 | (plain "default-column-width" [(sleaf "proportion" (1. / 3.))]) |
| 691 | ]) | 694 | ]) |
| 692 | 695 | ||
| 693 | (plain "window-rule" [ | 696 | (plain "window-rule" [ |
| 694 | (leaf "match" { app-id = "^thunderbird$"; }) | 697 | (sleaf "match" { app-id = "^thunderbird$"; }) |
| 695 | (leaf "match" { app-id = "^Element$"; }) | 698 | (sleaf "match" { app-id = "^Element$"; }) |
| 696 | (leaf "match" { app-id = "^chrome-web\.openrainbow\.com__-Default$"; }) | 699 | (sleaf "match" { app-id = "^chrome-web\.openrainbow\.com__-Default$"; }) |
| 697 | (leaf "open-on-workspace" "comm") | 700 | (sleaf "open-on-workspace" "comm") |
| 698 | ]) | 701 | ]) |
| 699 | (plain "window-rule" [ | 702 | (plain "window-rule" [ |
| 700 | (leaf "match" { app-id = "^firefox$"; }) | 703 | (sleaf "match" { app-id = "^firefox$"; }) |
| 701 | (leaf "open-on-workspace" "web") | 704 | (sleaf "open-on-workspace" "web") |
| 702 | (leaf "open-maximized" true) | 705 | (sleaf "open-maximized" true) |
| 703 | ]) | 706 | ]) |
| 704 | (plain "window-rule" [ | 707 | (plain "window-rule" [ |
| 705 | (leaf "match" { app-id = "^mpv$"; }) | 708 | (sleaf "match" { app-id = "^mpv$"; }) |
| 706 | (leaf "open-on-workspace" "vid") | 709 | (sleaf "open-on-workspace" "vid") |
| 707 | (plain "default-column-width" [(leaf "proportion" 1.)]) | 710 | (plain "default-column-width" [(sleaf "proportion" 1.)]) |
| 708 | ]) | 711 | ]) |
| 709 | (plain "window-rule" [ | 712 | (plain "window-rule" [ |
| 710 | (leaf "match" { app-id = "^kitty-play$"; }) | 713 | (sleaf "match" { app-id = "^kitty-play$"; }) |
| 711 | (leaf "open-on-workspace" "vid") | 714 | (sleaf "open-on-workspace" "vid") |
| 712 | (leaf "open-focused" false) | 715 | (sleaf "open-focused" false) |
| 713 | ]) | 716 | ]) |
| 714 | (plain "window-rule" [ | 717 | (plain "window-rule" [ |
| 715 | (leaf "match" { app-id = "^chrome-audiobookshelf\.yggdrasil\.li__-Default$"; }) | 718 | (sleaf "match" { app-id = "^chrome-audiobookshelf\.yggdrasil\.li__-Default$"; }) |
| 716 | (leaf "match" { app-id = "^YouTube Music Desktop App$"; }) | 719 | (sleaf "match" { app-id = "^YouTube Music Desktop App$"; }) |
| 717 | (leaf "open-on-workspace" "vid") | 720 | (sleaf "open-on-workspace" "vid") |
| 718 | ]) | 721 | ]) |
| 719 | (plain "window-rule" [ | 722 | (plain "window-rule" [ |
| 720 | (leaf "match" { app-id = "^pdfpc$"; }) | 723 | (sleaf "match" { app-id = "^pdfpc$"; }) |
| 721 | (plain "default-column-width" [(leaf "proportion" 1.)]) | 724 | (plain "default-column-width" [(sleaf "proportion" 1.)]) |
| 722 | ]) | 725 | ]) |
| 723 | (plain "window-rule" [ | 726 | (plain "window-rule" [ |
| 724 | (leaf "match" { app-id = "^pdfpc$"; title = "^.*presentation.*$"; }) | 727 | (sleaf "match" { app-id = "^pdfpc$"; title = "^.*presentation.*$"; }) |
| 725 | (plain "default-column-width" [(leaf "proportion" 1.)]) | 728 | (plain "default-column-width" [(sleaf "proportion" 1.)]) |
| 726 | (leaf "open-fullscreen" true) | 729 | (sleaf "open-fullscreen" true) |
| 727 | (leaf "open-on-workspace" "bmr") | 730 | (sleaf "open-on-workspace" "bmr") |
| 728 | (leaf "open-focused" false) | 731 | (sleaf "open-focused" false) |
| 729 | ]) | 732 | ]) |
| 730 | (plain "window-rule" [ | 733 | (plain "window-rule" (normalize-nodes [ |
| 731 | (map (leaf "match") [ | 734 | (map (sleaf "match") [ |
| 732 | { app-id = "^Gimp-"; title = "^Quit GIMP$"; } | 735 | { app-id = "^Gimp-"; title = "^Quit GIMP$"; } |
| 733 | { app-id = "^org\\.kde\\.polkit-kde-authentication-agent-1$"; } | 736 | { app-id = "^org\\.kde\\.polkit-kde-authentication-agent-1$"; } |
| 734 | { app-id = "^xdg-desktop-portal-gtk$"; } | 737 | { app-id = "^xdg-desktop-portal-gtk$"; } |
| 735 | ]) | 738 | ]) |
| 736 | (leaf "open-floating" true) | 739 | (sleaf "open-floating" true) |
| 737 | ]) | 740 | ])) |
| 738 | (plain "window-rule" [ | 741 | (plain "window-rule" [ |
| 739 | (leaf "match" { app-id = "^org\\.pwmt\\.zathura$"; }) | 742 | (sleaf "match" { app-id = "^org\\.pwmt\\.zathura$"; }) |
| 740 | (leaf "match" { app-id = "^evince$"; }) | 743 | (sleaf "match" { app-id = "^evince$"; }) |
| 741 | (leaf "match" { app-id = "^org\\.gnome\\.Papers$"; }) | 744 | (sleaf "match" { app-id = "^org\\.gnome\\.Papers$"; }) |
| 742 | (leaf "default-column-display" "tabbed") | 745 | (sleaf "default-column-display" "tabbed") |
| 743 | ]) | 746 | ]) |
| 744 | 747 | ||
| 745 | (plain "layer-rule" [ | 748 | (plain "layer-rule" [ |
| 746 | (leaf "match" { namespace = "^notifications$"; }) | 749 | (sleaf "match" { namespace = "^notifications$"; }) |
| 747 | (leaf "match" { namespace = "^waybar$"; }) | 750 | (sleaf "match" { namespace = "^waybar$"; }) |
| 748 | (leaf "match" { namespace = "^launcher$"; }) | 751 | (sleaf "match" { namespace = "^launcher$"; }) |
| 749 | (leaf "block-out-from" "screencast") | 752 | (sleaf "block-out-from" "screencast") |
| 750 | ]) | 753 | ]) |
| 751 | 754 | ||
| 752 | (plain "binds" | 755 | (plain "binds" |
| 753 | (let | 756 | (let |
| 754 | bind = name: cfg: node name (opt-props { | 757 | bind = name: cfg: node name [(lib.removeAttrs cfg ["action"])] (lib.mapAttrsToList leaf (lib.removeAttrs cfg.action ["__functor"])); |
| 755 | cooldown-ms = cfg.cooldown-ms or null; | ||
| 756 | } | ||
| 757 | // (lib.optionalAttrs (!(cfg.repeat or true)) { | ||
| 758 | repeat = false; | ||
| 759 | }) | ||
| 760 | // (lib.optionalAttrs (cfg.allow-when-locked or false) { | ||
| 761 | allow-when-locked = true; | ||
| 762 | })) (lib.mapAttrsToList leaf (lib.removeAttrs cfg.action ["__functor"])); | ||
| 763 | in | 758 | in |
| 764 | [ | 759 | normalize-nodes [ |
| 765 | (lib.mapAttrsToList bind (with config.lib.niri.actions; { | 760 | (lib.mapAttrsToList bind (with config.lib.niri.actions; { |
| 766 | "Mod+Slash".action = show-hotkey-overlay; | 761 | "Mod+Slash".action = show-hotkey-overlay; |
| 767 | 762 | ||
diff --git a/accounts/gkleen@sif/systemd.nix b/accounts/gkleen@sif/systemd.nix index 90cccc58..18c2315f 100644 --- a/accounts/gkleen@sif/systemd.nix +++ b/accounts/gkleen@sif/systemd.nix | |||
| @@ -385,6 +385,8 @@ in { | |||
| 385 | }; | 385 | }; |
| 386 | Service = { | 386 | Service = { |
| 387 | ExecStart = "${config.systemd.package}/lib/systemd/systemd-socket-proxyd --exit-idle-time=60s 127.0.0.1:${toString (port + 1)}"; | 387 | ExecStart = "${config.systemd.package}/lib/systemd/systemd-socket-proxyd --exit-idle-time=60s 127.0.0.1:${toString (port + 1)}"; |
| 388 | Restart = "always"; | ||
| 389 | RestartSec = "23s"; | ||
| 388 | }; | 390 | }; |
| 389 | }) [{ host = "proxy.ssh.math.lmu.de"; port = 8118; } { host = "proxy.vidhar"; port = 8120; } { host = "proxy.mathw0h"; port = 8122; } { host = "proxy.mathw0e"; port = 8124; }]); | 391 | }) [{ host = "proxy.ssh.math.lmu.de"; port = 8118; } { host = "proxy.vidhar"; port = 8120; } { host = "proxy.mathw0h"; port = 8122; } { host = "proxy.mathw0e"; port = 8124; }]); |
| 390 | sockets = listToAttrs (map (port: nameValuePair "proxy-to-autossh-socks@${toString port}" { | 392 | sockets = listToAttrs (map (port: nameValuePair "proxy-to-autossh-socks@${toString port}" { |
diff --git a/accounts/gkleen@sif/zshrc b/accounts/gkleen@sif/zshrc index abc200c6..b24ff257 100644 --- a/accounts/gkleen@sif/zshrc +++ b/accounts/gkleen@sif/zshrc | |||
| @@ -93,7 +93,7 @@ dir() { | |||
| 93 | if [[ $curlArchive = "true" ]]; then | 93 | if [[ $curlArchive = "true" ]]; then |
| 94 | archiveFile=$(mktemp -t "archive.XXXXXXXXXX.${templateArchive:t}") | 94 | archiveFile=$(mktemp -t "archive.XXXXXXXXXX.${templateArchive:t}") |
| 95 | 95 | ||
| 96 | curl -L -o ${archiveFile} ${templateArchive} | 96 | curl -SfL -o ${archiveFile} ${templateArchive} |
| 97 | 97 | ||
| 98 | templateArchive=${archiveFile} | 98 | templateArchive=${archiveFile} |
| 99 | fi | 99 | fi |
| @@ -231,7 +231,7 @@ clock() { | |||
| 231 | } | 231 | } |
| 232 | 232 | ||
| 233 | public-ip() { | 233 | public-ip() { |
| 234 | curl -s -H 'Accept: application/json' $@ ifconfig.co | jq -r '.ip' | 234 | curl -sSf -H 'Accept: application/json' $@ ifconfig.co | jq -r '.ip' |
| 235 | } | 235 | } |
| 236 | 236 | ||
| 237 | swap() { | 237 | swap() { |
