diff options
Diffstat (limited to 'accounts')
-rw-r--r-- | accounts/gkleen@sif/default.nix | 9 | ||||
-rw-r--r-- | accounts/gkleen@sif/niri/default.nix | 50 | ||||
-rw-r--r-- | accounts/gkleen@sif/niri/mako.nix | 1 |
3 files changed, 45 insertions, 15 deletions
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 051427bd..6671e5c7 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix | |||
@@ -344,7 +344,7 @@ in { | |||
344 | font = "Fira Sans"; | 344 | font = "Fira Sans"; |
345 | }; | 345 | }; |
346 | colors = { | 346 | colors = { |
347 | background = "000000aa"; | 347 | background = "000000cc"; |
348 | text = "cdd6f4ff"; | 348 | text = "cdd6f4ff"; |
349 | match = "94e2d5ff"; | 349 | match = "94e2d5ff"; |
350 | selection = "585b70ff"; | 350 | selection = "585b70ff"; |
@@ -517,7 +517,7 @@ in { | |||
517 | libguestfs-with-appliance nerd-fonts.fira-mono | 517 | libguestfs-with-appliance nerd-fonts.fira-mono |
518 | nerd-fonts.symbols-only nerd-fonts.fira-code powerline-fonts | 518 | nerd-fonts.symbols-only nerd-fonts.fira-code powerline-fonts |
519 | swtpm (hunspellWithDicts (with hunspellDicts; [en_GB-large de_DE])) | 519 | swtpm (hunspellWithDicts (with hunspellDicts; [en_GB-large de_DE])) |
520 | libation | 520 | libation libqalculate |
521 | ] ++ mapAttrsToList (_name: pkg: pkgs.callPackage pkg {}) (customUtils.nixImport { dir = ./utils; }); | 521 | ] ++ mapAttrsToList (_name: pkg: pkgs.callPackage pkg {}) (customUtils.nixImport { dir = ./utils; }); |
522 | 522 | ||
523 | file = { | 523 | file = { |
@@ -577,6 +577,9 @@ in { | |||
577 | General = { | 577 | General = { |
578 | dot_as_separator = 0; | 578 | dot_as_separator = 0; |
579 | }; | 579 | }; |
580 | Mode = { | ||
581 | calculate_as_you_type = 1; | ||
582 | }; | ||
580 | }; | 583 | }; |
581 | }; | 584 | }; |
582 | "emacs/init.el".source = pkgs.substitute { | 585 | "emacs/init.el".source = pkgs.substitute { |
@@ -691,7 +694,7 @@ in { | |||
691 | exec -- \ | 694 | exec -- \ |
692 | ${lib.getExe' config.systemd.package "systemd-run"} --wait --user --slice-inherit \ | 695 | ${lib.getExe' config.systemd.package "systemd-run"} --wait --user --slice-inherit \ |
693 | --property 'CPUAccounting=yes' --property 'CPUQuotaPeriodSec=50ms' \ | 696 | --property 'CPUAccounting=yes' --property 'CPUQuotaPeriodSec=50ms' \ |
694 | --property 'Environment=DSCP=46' \ | 697 | -E DSCP=46 -E NIXOS_OZONE_WL \ |
695 | -- ${lib.getExe pkgs.dscp} ${lib.getExe' pkgs.google-chrome "google-chrome-stable"} \ | 698 | -- ${lib.getExe pkgs.dscp} ${lib.getExe' pkgs.google-chrome "google-chrome-stable"} \ |
696 | --class=Rainbow \ | 699 | --class=Rainbow \ |
697 | --app="https://web.openrainbow.com" \ | 700 | --app="https://web.openrainbow.com" \ |
diff --git a/accounts/gkleen@sif/niri/default.nix b/accounts/gkleen@sif/niri/default.nix index bf997b7d..158ac4d6 100644 --- a/accounts/gkleen@sif/niri/default.nix +++ b/accounts/gkleen@sif/niri/default.nix | |||
@@ -134,7 +134,7 @@ let | |||
134 | 134 | ||
135 | windows_json="$(niri msg -j windows)" | 135 | windows_json="$(niri msg -j windows)" |
136 | active_workspace="$(jq -r '.[] | select(.is_focused) | .workspace_id' <<<"$windows_json")" | 136 | active_workspace="$(jq -r '.[] | select(.is_focused) | .workspace_id' <<<"$windows_json")" |
137 | window_ix="$(gojq -r --arg active_workspace "$active_workspace" '.[] | select('"$window_select"') | "\(.title)\u0000icon\u001f\(.app_id)"' <<<"$windows_json" | fuzzel --log-level=warning --dmenu --index)" | 137 | window_ix="$(gojq -r --arg active_workspace "$active_workspace" '.[] | select('"$window_select"') | "\(.title)\u0000icon\u001f\(.app_id)"' <<<"$windows_json" | fuzzel --width=60 --log-level=warning --dmenu --index)" |
138 | # shellcheck disable=SC2016 | 138 | # shellcheck disable=SC2016 |
139 | window_json="$(gojq -rc --arg active_workspace "$active_workspace" --arg window_ix "$window_ix" 'map(select('"$window_select"')) | .[($window_ix | tonumber)]' <<<"$windows_json")" | 139 | window_json="$(gojq -rc --arg active_workspace "$active_workspace" --arg window_ix "$window_ix" 'map(select('"$window_select"')) | .[($window_ix | tonumber)]' <<<"$windows_json")" |
140 | 140 | ||
@@ -449,7 +449,7 @@ in { | |||
449 | { title = "^Access Request.*"; } | 449 | { title = "^Access Request.*"; } |
450 | { title = ".*Passkey credentials$"; } | 450 | { title = ".*Passkey credentials$"; } |
451 | ]; | 451 | ]; |
452 | windowRuleExtra = [ | 452 | windowRuleExtra = with kdl; [ |
453 | (kdl.leaf "open-focused" false) | 453 | (kdl.leaf "open-focused" false) |
454 | ]; | 454 | ]; |
455 | key = "Mod+Control+P"; | 455 | key = "Mod+Control+P"; |
@@ -477,6 +477,20 @@ in { | |||
477 | app-id = "com.github.wwmm.easyeffects"; | 477 | app-id = "com.github.wwmm.easyeffects"; |
478 | spawn = [ "easyeffects" ]; | 478 | spawn = [ "easyeffects" ]; |
479 | } | 479 | } |
480 | { name = "time"; | ||
481 | key = "Mod+Control+K"; | ||
482 | app-id = "chrome-kimai.yggdrasil.li__-Default"; | ||
483 | spawn = [ (toString (pkgs.resholve.writeScript "kimai" { | ||
484 | interpreter = pkgs.runtimeShell; | ||
485 | inputs = [ pkgs.dex ]; | ||
486 | execer = [ "cannot:${lib.getExe pkgs.dex}" ]; | ||
487 | } '' | ||
488 | exec dex $HOME/.local/state/nix/profile/share/applications/kimai.desktop | ||
489 | '')) ]; | ||
490 | windowRuleExtra = with kdl; [ | ||
491 | (leaf "block-out-from" "screencast") | ||
492 | ]; | ||
493 | } | ||
480 | ]; | 494 | ]; |
481 | programs.niri.config = | 495 | programs.niri.config = |
482 | let | 496 | let |
@@ -679,16 +693,10 @@ in { | |||
679 | (plain "window-rule" [ | 693 | (plain "window-rule" [ |
680 | (leaf "match" { app-id = "^thunderbird$"; }) | 694 | (leaf "match" { app-id = "^thunderbird$"; }) |
681 | (leaf "match" { app-id = "^Element$"; }) | 695 | (leaf "match" { app-id = "^Element$"; }) |
682 | (leaf "match" { app-id = "^Rainbow$"; }) | 696 | (leaf "match" { app-id = "^chrome-web\.openrainbow\.com__-Default$"; }) |
683 | (leaf "open-on-workspace" "comm") | 697 | (leaf "open-on-workspace" "comm") |
684 | ]) | 698 | ]) |
685 | (plain "window-rule" [ | 699 | (plain "window-rule" [ |
686 | (leaf "match" { app-id = "^Kimai$"; }) | ||
687 | (leaf "open-on-workspace" "comm") | ||
688 | (leaf "open-fullscreen" false) | ||
689 | (plain "default-column-width" [(leaf "proportion" (2. / 3.))]) | ||
690 | ]) | ||
691 | (plain "window-rule" [ | ||
692 | (leaf "match" { app-id = "^firefox$"; }) | 700 | (leaf "match" { app-id = "^firefox$"; }) |
693 | (leaf "open-on-workspace" "web") | 701 | (leaf "open-on-workspace" "web") |
694 | (leaf "open-maximized" true) | 702 | (leaf "open-maximized" true) |
@@ -803,12 +811,12 @@ in { | |||
803 | done < <(export LC_ALL=C.UTF-8; echo; find "$RESULTS_DIR" -type f -printf $'%T@ %p\n' | sort -n | cut -d' ' -f2- | xargs -r cat) | 811 | done < <(export LC_ALL=C.UTF-8; echo; find "$RESULTS_DIR" -type f -printf $'%T@ %p\n' | sort -n | cut -d' ' -f2- | xargs -r cat) |
804 | $FOUND || echo | 812 | $FOUND || echo |
805 | } | 813 | } |
806 | FUZZEL_RES=$(prev | fuzzel --dmenu --prompt "qalc> ") || exit $? | 814 | FUZZEL_RES=$(prev | fuzzel --dmenu --prompt "qalc> " --width=60) || exit $? |
807 | if [[ "$FUZZEL_RES" =~ .*\ =\ .* ]]; then | 815 | if [[ "$FUZZEL_RES" =~ .*\ =\ .* ]]; then |
808 | QALC_RES="$FUZZEL_RES" | 816 | QALC_RES="$FUZZEL_RES" |
809 | QALC_RET=0 | 817 | QALC_RET=0 |
810 | else | 818 | else |
811 | QALC_RES=$(qalc "$FUZZEL_RES" 2>&1) | 819 | QALC_RES=$(qalc -set "autocalc off" "$FUZZEL_RES" 2>&1) |
812 | QALC_RET=$? | 820 | QALC_RET=$? |
813 | fi | 821 | fi |
814 | [[ -n "$QALC_RES" ]] || exit 1 | 822 | [[ -n "$QALC_RES" ]] || exit 1 |
@@ -828,11 +836,26 @@ in { | |||
828 | notify-send "$QALC_RES" | 836 | notify-send "$QALC_RES" |
829 | ''; | 837 | ''; |
830 | })); | 838 | })); |
839 | "Mod+Shift+U".action = | ||
840 | let | ||
841 | qalcKitty = pkgs.symlinkJoin { | ||
842 | name = "qalc-kitty"; | ||
843 | paths = [ config.programs.kitty.package ]; | ||
844 | buildInputs = [ pkgs.makeWrapper ]; | ||
845 | postBuild = '' | ||
846 | wrapProgram $out/bin/kitty \ | ||
847 | --add-flags "--config ${pkgs.writeText "kitty.conf" '' | ||
848 | include $HOME/${config.xdg.configFile."kitty/kitty.conf".target} | ||
849 | shell ${lib.getExe pkgs.libqalculate} | ||
850 | ''}" | ||
851 | ''; | ||
852 | }; | ||
853 | in spawn (lib.getExe' qalcKitty "kitty"); | ||
831 | "Mod+E".action = spawn (lib.getExe (pkgs.writeShellApplication { | 854 | "Mod+E".action = spawn (lib.getExe (pkgs.writeShellApplication { |
832 | name = "emoji-fuzzel"; | 855 | name = "emoji-fuzzel"; |
833 | runtimeInputs = with pkgs; [ config.programs.fuzzel.package wtype wl-clipboard-rs ]; | 856 | runtimeInputs = with pkgs; [ config.programs.fuzzel.package wtype wl-clipboard-rs ]; |
834 | text = '' | 857 | text = '' |
835 | FUZZEL_RES=$(fuzzel --dmenu --prompt "emoji> " <"$HOME"/.local/share/emoji-data/list.txt) || exit $? | 858 | FUZZEL_RES=$(fuzzel --dmenu --prompt "emoji> " --cache "$HOME"/.cache/fuzzel-emoji --width=60 <"$HOME"/.local/share/emoji-data/list.txt) || exit $? |
836 | [[ -n "$FUZZEL_RES" ]] || exit 1 | 859 | [[ -n "$FUZZEL_RES" ]] || exit 1 |
837 | wl-copy "$(cut -d ':' -f 1 <<<"$FUZZEL_RES" | tr -d '\n')" && wtype -k XF86Paste | 860 | wl-copy "$(cut -d ':' -f 1 <<<"$FUZZEL_RES" | tr -d '\n')" && wtype -k XF86Paste |
838 | ''; | 861 | ''; |
@@ -973,6 +996,9 @@ in { | |||
973 | 996 | ||
974 | "Mod+D".action = with-urgent-window-action "{\"Action\":{\"FocusWindow\":{\"id\": .id}}}"; | 997 | "Mod+D".action = with-urgent-window-action "{\"Action\":{\"FocusWindow\":{\"id\": .id}}}"; |
975 | "Mod+Shift+D".action = with-focused-window-action "{\"Action\":{\"UnsetUrgent\":{\"id\": .id}}}"; | 998 | "Mod+Shift+D".action = with-focused-window-action "{\"Action\":{\"UnsetUrgent\":{\"id\": .id}}}"; |
999 | |||
1000 | "Mod+K".action = spawn (lib.getExe' pkgs.worktime "worktime-ui"); | ||
1001 | "Mod+Shift+K".action = spawn (lib.getExe' pkgs.worktime "worktime-stop"); | ||
976 | })) | 1002 | })) |
977 | (map ({ name, selector, spawn, key, ...}: if key != null && selector != null && spawn != null then bind key { action = focus-or-spawn-action selector name spawn; } else null) cfg.scratchspaces) | 1003 | (map ({ name, selector, spawn, key, ...}: if key != null && selector != null && spawn != null then bind key { action = focus-or-spawn-action selector name spawn; } else null) cfg.scratchspaces) |
978 | (map ({ name, moveKey, ...}: if moveKey != null then bind moveKey { action = kdl.magic-leaf "move-column-to-workspace" name; } else null) cfg.scratchspaces) | 1004 | (map ({ name, moveKey, ...}: if moveKey != null then bind moveKey { action = kdl.magic-leaf "move-column-to-workspace" name; } else null) cfg.scratchspaces) |
diff --git a/accounts/gkleen@sif/niri/mako.nix b/accounts/gkleen@sif/niri/mako.nix index 810bff89..eba26caa 100644 --- a/accounts/gkleen@sif/niri/mako.nix +++ b/accounts/gkleen@sif/niri/mako.nix | |||
@@ -25,6 +25,7 @@ | |||
25 | ignore-timeout = true; | 25 | ignore-timeout = true; |
26 | default-timeout = 2000; | 26 | default-timeout = 2000; |
27 | }; | 27 | }; |
28 | "app-name=worktime".history = false; | ||
28 | "mode=silent".invisible = true; | 29 | "mode=silent".invisible = true; |
29 | }; | 30 | }; |
30 | package = pkgs.symlinkJoin { | 31 | package = pkgs.symlinkJoin { |