From 41240db5c99088cc879200b60c704a82a4e8482d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20Schwarz=C3=A4ugl?= Date: Tue, 21 Oct 2025 13:18:32 +0200 Subject: [PATCH] feat[client]: improve tridactyl binds --- SwarselSystems.org | 5 +- files/firefox/tridactyl/tridactylrc | 5 +- index.html | 549 +++++++++++++++++----------- 3 files changed, 342 insertions(+), 217 deletions(-) diff --git a/SwarselSystems.org b/SwarselSystems.org index 84c56c6..f5e95c2 100644 --- a/SwarselSystems.org +++ b/SwarselSystems.org @@ -22204,10 +22204,13 @@ bind gd tabdetach bind gD composite tabduplicate; tabdetach bind d composite tabprev; tabclose # bind D tabclose -bind c hint +bind c hint -J bindurl ^http(s)?://www\.google\.com c hint -Jc [class="LC20lb MBeuO DKV0Md"],[class="YmvwI"],[class="YyVfkd"],[class="fl"] bindurl ^http(s)?://news\.ycombinator\.com c hint -Jc [class="titleline"],[class="age"] bindurl ^http(s)?://lobste\.rs c hint -Jc [class="u-url"],[class="comments_label"] +bindurl ^http(s)?://reddit\.com c hint -Jc [class="title may-blank loggedin"],[class="bylink comments may-blank"] +bindurl ^http(s)?://github\.com c hint -Jc [class="Link--primary"],[class="AppHeader-button Button--secondary Button--medium Button p-0 color-fg-muted"],[class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"],[class="prc-ActionList-ItemLabel-TmBhn"],[class="PRIVATE_TreeView-item-content-text prc-TreeView-TreeViewItemContentText-smZM-"] +bindurl ^http(s)?://vbc\.atlassian\.net\/wiki c hint -Jc [class="_1reo15vq _18m915vq _1bto1l2s _kqswh2mm _o5721q9c _syaz1fxt"],[class="_11c81ixg _1reo15vq _18m915vq _18s81b66 _kqswh2mm _k48p1wq8 _o5721q9c _1bto1l2s _u5f31b66"],[class="_1r04ze3t _kqswstnw"],[class="css-a61etj"],[class="jira-macro-table-underline-pdfexport"] bindurl ^http(s)?://www\.google\.com gi composite focusinput -l ; text.end_of_line " Work diff --git a/files/firefox/tridactyl/tridactylrc b/files/firefox/tridactyl/tridactylrc index f87a332..b3ef65a 100644 --- a/files/firefox/tridactyl/tridactylrc +++ b/files/firefox/tridactyl/tridactylrc @@ -25,10 +25,13 @@ bind gd tabdetach bind gD composite tabduplicate; tabdetach bind d composite tabprev; tabclose # bind D tabclose -bind c hint +bind c hint -J bindurl ^http(s)?://www\.google\.com c hint -Jc [class="LC20lb MBeuO DKV0Md"],[class="YmvwI"],[class="YyVfkd"],[class="fl"] bindurl ^http(s)?://news\.ycombinator\.com c hint -Jc [class="titleline"],[class="age"] bindurl ^http(s)?://lobste\.rs c hint -Jc [class="u-url"],[class="comments_label"] +bindurl ^http(s)?://reddit\.com c hint -Jc [class="title may-blank loggedin"],[class="bylink comments may-blank"] +bindurl ^http(s)?://github\.com c hint -Jc [class="Link--primary"],[class="AppHeader-button Button--secondary Button--medium Button p-0 color-fg-muted"],[class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"],[class="prc-ActionList-ItemLabel-TmBhn"],[class="PRIVATE_TreeView-item-content-text prc-TreeView-TreeViewItemContentText-smZM-"] +bindurl ^http(s)?://vbc\.atlassian\.net\/wiki c hint -Jc [class="_1reo15vq _18m915vq _1bto1l2s _kqswh2mm _o5721q9c _syaz1fxt"],[class="_11c81ixg _1reo15vq _18m915vq _18s81b66 _kqswh2mm _k48p1wq8 _o5721q9c _1bto1l2s _u5f31b66"],[class="_1r04ze3t _kqswstnw"],[class="css-a61etj"],[class="jira-macro-table-underline-pdfexport"] bindurl ^http(s)?://www\.google\.com gi composite focusinput -l ; text.end_of_line " Work diff --git a/index.html b/index.html index 3cd10b7..28c698b 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + SwarselSystems: NixOS + Emacs Configurationo @@ -443,8 +443,8 @@
  • 3.2.5.8. Hibernation
  • 3.2.5.9. BTRFS
  • 3.2.5.10. work
  • -
  • 3.2.5.11. microvm-host
  • -
  • 3.2.5.12. microvm-guest
  • +
  • 3.2.5.11. microvm-host
  • +
  • 3.2.5.12. microvm-guest
  • @@ -472,7 +472,7 @@
  • 3.3.1.12. Sourcing environment variables
  • 3.3.1.13. General Programs: bottom, imv, less, lesspipe, sioyek, bat, carapace, wlogout, swayr, yt-dlp, mpv, jq, nix-index, ripgrep, pandoc, fzf, zoxide, timidity
  • 3.3.1.14. nix-index
  • -
  • 3.3.1.15. nix-your-shell
  • +
  • 3.3.1.15. nix-your-shell
  • 3.3.1.16. password-store
  • 3.3.1.17. direnv
  • 3.3.1.18. eza
  • @@ -495,12 +495,12 @@
  • 3.3.1.31.3. Mako
  • 3.3.1.31.4. SwayOSD
  • 3.3.1.31.5. yubikey-touch-detector
  • -
  • 3.3.1.31.6. blueman-applet
  • -
  • 3.3.1.31.7. network-manager-applet
  • -
  • 3.3.1.31.8. obsidian service for tray
  • -
  • 3.3.1.31.9. anki service for tray
  • -
  • 3.3.1.31.10. element service for tray
  • -
  • 3.3.1.31.11. vesktop service for tray
  • +
  • 3.3.1.31.6. blueman-applet
  • +
  • 3.3.1.31.7. network-manager-applet
  • +
  • 3.3.1.31.8. obsidian service for tray
  • +
  • 3.3.1.31.9. anki service for tray
  • +
  • 3.3.1.31.10. element service for tray
  • +
  • 3.3.1.31.11. vesktop service for tray
  • 3.3.1.32. Sway
  • @@ -509,17 +509,17 @@
  • 3.3.1.35. gpg-agent
  • 3.3.1.36. gammastep
  • 3.3.1.37. Spicetify
  • -
  • 3.3.1.38. Obsidian
  • -
  • 3.3.1.39. Anki
  • -
  • 3.3.1.40. Element-desktop
  • -
  • 3.3.1.41. Hexchat
  • -
  • 3.3.1.42. obs-studio
  • -
  • 3.3.1.43. spotify-player
  • -
  • 3.3.1.44. vesktop
  • -
  • 3.3.1.45. batsignal
  • -
  • 3.3.1.46. autotiling
  • -
  • 3.3.1.47. swayidle
  • -
  • 3.3.1.48. swaylock
  • +
  • 3.3.1.38. Obsidian
  • +
  • 3.3.1.39. Anki
  • +
  • 3.3.1.40. Element-desktop
  • +
  • 3.3.1.41. Hexchat
  • +
  • 3.3.1.42. obs-studio
  • +
  • 3.3.1.43. spotify-player
  • +
  • 3.3.1.44. vesktop
  • +
  • 3.3.1.45. batsignal
  • +
  • 3.3.1.46. autotiling
  • +
  • 3.3.1.47. swayidle
  • +
  • 3.3.1.48. swaylock
  • 3.3.2. Server @@ -584,7 +584,8 @@
  • 3.5.31. swarsel-build
  • 3.5.32. swarsel-instantiate
  • 3.5.33. sshrm
  • -
  • 3.5.34. endme
  • +
  • 3.5.34. endme
  • +
  • 3.5.35. git-replace
  • 3.6. Profiles @@ -593,7 +594,7 @@ @@ -917,7 +918,7 @@ system-configuration-options
    ---prefix=/nix/store/qrqw5n6fivwcqfpg83x28bj1klpgfzg8-emacs-git-pgtk-20250928.0 --disable-build-details --with-modules --with-pgtk --with-compress-install --with-toolkit-scroll-bars --with-native-compilation --without-imagemagick --with-mailutils --without-small-ja-dic --with-tree-sitter --without-xinput2 --without-xwidgets --with-dbus --with-selinux
    +--prefix=/nix/store/x7csgsyxznfca0sn3mank9rp0xd7dh5n-emacs-git-pgtk-20251013.0 --disable-build-details --with-modules --with-pgtk --disable-gc-mark-trace --with-compress-install --with-toolkit-scroll-bars --with-native-compilation --without-imagemagick --with-mailutils --without-small-ja-dic --with-tree-sitter --without-xinput2 --without-xwidgets --with-dbus --with-selinux
     
    @@ -1352,8 +1353,9 @@ This provides devshell support for flake-parts
  • swarsel-modules.url = "github:Swarsel/swarsel-modules/main"; swarsel-nix.url = "github:Swarsel/swarsel-nix/main"; home-manager = { - url = "github:nix-community/home-manager"; - # url = "github:Swarsel/home-manager/module/pizauth"; + # url = "github:nix-community/home-manager"; + # url = "github:Swarsel/home-manager/main"; + url = "github:JuneStepp/home-manager/anki-fix-booleans"; inputs.nixpkgs.follows = "nixpkgs"; }; swarsel.url = "github:Swarsel/.dotfiles"; @@ -3074,8 +3076,8 @@ in # ''; boot = { - # kernelPackages = lib.mkDefault pkgs.kernel.linuxPackages; - kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; + kernelPackages = lib.mkDefault pkgs.kernel.linuxPackages; + # kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; binfmt.emulatedSystems = [ "aarch64-linux" ]; initrd = { availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "cryptd" "usbhid" "sd_mod" "r8152" ]; @@ -3091,7 +3093,8 @@ in kernelModules = [ "kvm-amd" ]; kernelParams = [ - "mem_sleep_default=deep" + # deep sleep is discontinued by amd + # "mem_sleep_default=deep" # supposedly, this helps save power on laptops # in reality (at least on this model), this just generate excessive heat on the CPUs # "amd_pstate=passive" @@ -5372,6 +5375,7 @@ We enable the use of home-manager as a NixoS module. A nice trick h useGlobalPkgs = true; useUserPackages = true; verbose = true; + backupFileExtension = "hm-bak"; users.${config.swarselsystems.mainUser}.imports = [ inputs.nix-index-database.homeModules.nix-index inputs.sops-nix.homeManagerModules.sops @@ -5896,6 +5900,9 @@ Mostly used to install some compilers and lsp's that I want to have available wh "jitsi-meet-1.0.8043" "electron-29.4.6" "SDL_ttf-2.0.11" + # audacity? + "mbedtls-2.28.10" + # "qtwebengine-5.15.19" ]; }; } @@ -11830,29 +11837,36 @@ This holds configuration that is specific to framework laptops.
    { lib, config, ... }:
    -{
    -  options.swarselmodules.optional.hibernation = lib.mkEnableOption "optional amd gpu settings";
    -  options.swarselsystems = {
    -    hibernation = {
    -      offset = lib.mkOption {
    -        type = lib.types.int;
    -        default = 0;
    -      };
    -      resumeDevice = lib.mkOption {
    -        type = lib.types.str;
    -        default = "/dev/disk/by-label/nixos";
    +  {
    +    options.swarselmodules.optional.hibernation = lib.mkEnableOption "optional amd gpu settings";
    +    options.swarselsystems = {
    +      hibernation = {
    +        offset = lib.mkOption {
    +          type = lib.types.int;
    +          default = 0;
    +        };
    +        resumeDevice = lib.mkOption {
    +          type = lib.types.str;
    +          default = "/dev/disk/by-label/nixos";
    +        };
           };
         };
    -  };
    -  config = lib.mkIf config.swarselmodules.optional.hibernation {
    -    boot = {
    -      kernelParams = [
    -        "resume_offset=${builtins.toString config.swarselsystems.hibernation.offset}"
    -      ];
    -      inherit (config.swarselsystems.hibernation) resumeDevice;
    +    config = lib.mkIf config.swarselmodules.optional.hibernation {
    +      boot = {
    +        kernelParams = [
    +          "resume_offset=${builtins.toString config.swarselsystems.hibernation.offset}"
    +          # "mem_sleep_default=deep"
    +        ];
    +        inherit (config.swarselsystems.hibernation) resumeDevice;
    +      };
    +      systemd.services."systemd-suspend-then-hibernate".aliases = [ "systemd-suspend.service" ];
    +      powerManagement.enable = true;
    +      systemd.sleep.extraConfig = ''
    +        HibernateDelaySec=120m
    +        SuspendState=freeze
    +      '';
         };
    -  };
    -}
    +  }
     
    @@ -11978,11 +11992,13 @@ in id = "VBC"; type = "wifi"; autoconnect-priority = "500"; + uuid = "3988f10e-6451-381f-9330-a12e66f45051"; secondaries = "48d09de4-0521-47d7-9bd5-43f97e23ff82"; # vpn uuid }; ipv4 = { method = "auto"; }; ipv6 = { - addr-gen-mode = "default"; + # addr-gen-mode = "default"; + addr-gen-mode = "stable-privacy"; method = "auto"; }; proxy = { }; @@ -11995,7 +12011,7 @@ in ssid = "VBC"; }; wifi-security = { - auth-alg = "open"; + # auth-alg = "open"; key-mgmt = "wpa-eap"; }; }; @@ -12025,20 +12041,22 @@ in runAsRoot = true; swtpm.enable = true; vhostUserPackages = with pkgs; [ virtiofsd ]; - ovmf = { - enable = true; - packages = [ - (pkgs.OVMFFull.override { - secureBoot = true; - tpmSupport = true; - }).fd - ]; - }; + # ovmf = { + # enable = true; + # packages = [ + # (pkgs.OVMFFull.override { + # secureBoot = true; + # tpmSupport = true; + # }).fd + # ]; + # }; }; }; }; environment.systemPackages = with pkgs; [ + remmina + # gp-onsaml-gui stable24_11.python39 qemu packer @@ -12092,6 +12110,7 @@ in }; }; + # ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.kanshi}/bin/kanshictl switch laptoponly" udev.extraRules = '' # lock screen when yubikey removed ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.systemd}/bin/systemctl suspend" @@ -12115,8 +12134,8 @@ in -
    -
    3.2.5.11. microvm-host
    +
    +
    3.2.5.11. microvm-host

    Some standard options that should be set for every microvm host. @@ -12142,8 +12161,8 @@ Some standard options that should be set for every microvm host.

    -
    -
    3.2.5.12. microvm-guest
    +
    +
    3.2.5.12. microvm-guest

    Some standard options that should be set vor every microvm guest. We set the default @@ -12672,6 +12691,7 @@ This is just a separate container for derivations defined in

    { lib, config, pkgs, ... }:
    -{
    -  options.swarselmodules.programs = lib.mkEnableOption "programs settings";
    -  config = lib.mkIf config.swarselmodules.programs {
    -    programs = {
    -      bat = {
    -        enable = true;
    -        extraPackages = with pkgs.bat-extras; [ batdiff batman batgrep batwatch ];
    +    {
    +      options.swarselmodules.programs = lib.mkEnableOption "programs settings";
    +      config = lib.mkIf config.swarselmodules.programs {
    +        programs = {
    +          bat = {
    +            enable = true;
    +            extraPackages = with pkgs.bat-extras; [ batdiff batman batgrep batwatch ];
    +          };
    +          bottom.enable = true;
    +          carapace.enable = true;
    +          fzf = {
    +            enable = true;
    +            enableBashIntegration = false;
    +            enableZshIntegration = false;
    +          };
    +          imv.enable = true;
    +          jq.enable = true;
    +          less.enable = true;
    +          lesspipe.enable = true;
    +          mpv.enable = true;
    +          pandoc.enable = true;
    +          rclone.enable = true;
    +          ripgrep.enable = true;
    +          sioyek.enable = true;
    +          swayr.enable = true;
    +          timidity.enable = true;
    +          wlogout ={
    +            enable = true;
    +            layout = [
    +              {
    +                label = "lock";
    +                action = "loginctl lock-session";
    +                text = "Lock";
    +                keybind = "l";
    +                circular = true;
    +              }
    +              {
    +                label = "hibernate";
    +                action = "systemctl hibernate";
    +                text = "Hibernate";
    +                keybind = "h";
    +                circular = true;
    +              }
    +              {
    +                label = "logout";
    +                action = "loginctl terminate-user $USER";
    +                text = "Logout";
    +                keybind = "u";
    +                circular = true;
    +              }
    +              {
    +                label = "shutdown";
    +                action = "systemctl poweroff";
    +                text = "Shutdown";
    +                keybind = "p";
    +                circular = true;
    +              }
    +              {
    +                label = "suspend";
    +                action = "systemctl suspend";
    +                text = "Suspend";
    +                keybind = "s";
    +                circular = true;
    +              }
    +              {
    +                label = "reboot";
    +                action = "systemctl reboot";
    +                text = "Reboot";
    +                keybind = "r";
    +                circular = true;
    +              }
    +            ];
    +          };
    +          yt-dlp.enable = true;
    +          zoxide = {
    +            enable = true;
    +            enableZshIntegration = true;
    +            options = [
    +              "--cmd cd"
    +            ];
    +          };
    +        };
           };
    -      bottom.enable = true;
    -      carapace.enable = true;
    -      fzf = {
    -        enable = true;
    -        enableBashIntegration = false;
    -        enableZshIntegration = false;
    -      };
    -      imv.enable = true;
    -      jq.enable = true;
    -      less.enable = true;
    -      lesspipe.enable = true;
    -      mpv.enable = true;
    -      pandoc.enable = true;
    -      rclone.enable = true;
    -      ripgrep.enable = true;
    -      sioyek.enable = true;
    -      swayr.enable = true;
    -      timidity.enable = true;
    -      wlogout.enable = true;
    -      yt-dlp.enable = true;
    -      zoxide = {
    -        enable = true;
    -        enableZshIntegration = true;
    -        options = [
    -          "--cmd cd"
    -        ];
    -      };
    -    };
    -  };
    -}
    +    }
     
    @@ -13163,8 +13232,8 @@ nix-index provides a way to find out which packages are provided by which deriva
    -
    -
    3.3.1.15. nix-your-shell
    +
    +
    3.3.1.15. nix-your-shell
    { lib, config, ... }:
    @@ -14877,8 +14946,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.6. blueman-applet
    +
    +
    3.3.1.31.6. blueman-applet
    { lib, config, ... }:
    @@ -14892,8 +14961,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.7. network-manager-applet
    +
    +
    3.3.1.31.7. network-manager-applet
    { lib, config, ... }:
    @@ -14908,8 +14977,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.8. obsidian service for tray
    +
    +
    3.3.1.31.8. obsidian service for tray
    { lib, config, ... }:
    @@ -14943,8 +15012,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.9. anki service for tray
    +
    +
    3.3.1.31.9. anki service for tray
    { lib, config, ... }:
    @@ -14982,8 +15051,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.10. element service for tray
    +
    +
    3.3.1.31.10. element service for tray
    { lib, config, pkgs, ... }:
    @@ -15017,8 +15086,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.11. vesktop service for tray
    +
    +
    3.3.1.31.11. vesktop service for tray
    { lib, config, pkgs, ... }:
    @@ -15311,10 +15380,9 @@ Currently, I am too lazy to explain every option here, but most of it is very se
                   { command = "sleep 60; kitty -T spotifytui -o confirm_os_window_close=0 spotify_player"; }
                 ];
                 seat = {
    -              "*" = [
    -                { hide_cursor = "when-typing enable"; }
    -                { hide_cursor = "2000"; }
    -              ];
    +              "*" = {
    +                hide_cursor = "when-typing enable";
    +              };
                 };
                 window = {
                   border = 1;
    @@ -15481,7 +15549,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se
                 exec systemctl --user import-environment
                 # exec swayidle -w
     
    -            # seat * hide_cursor 2000
    +            seat * hide_cursor 2000
     
                 exec_always kill -1 $(pidof kanshi)
     
    @@ -15768,7 +15836,10 @@ Currently, I am too lazy to explain every option here, but most of it is very se
                 in
                 {
                   name = "lidopen";
    -              exec = [ "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/standwp.png --mode ${config.stylix.imageScalingMode}" ];
    +              exec = [
    +                "${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
    +                "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/standwp.png --mode ${config.stylix.imageScalingMode}"
    +              ];
                   outputs = [
                     {
                       criteria = config.swarselsystems.sharescreen;
    @@ -15914,7 +15985,7 @@ in
         programs.spicetify = {
           enable = true;
           # spotifyPackage = pkgs.stable24_11.spotify;
    -      spotifyPackage = pkgs.spotify;
    +      spotifyPackage = pkgs.stable.spotify;
           enabledExtensions = with spicePkgs.extensions; [
             fullAppDisplay
             shuffle
    @@ -15930,22 +16001,27 @@ in
     
    -
    -
    3.3.1.38. Obsidian
    +
    +
    3.3.1.38. Obsidian
    { lib, config, pkgs, nixosConfig ? config, ... }:
       let
         moduleName = "obsidian";
         inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
    +    name = "Main";
       in
       {
         options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
         config = lib.mkIf config.swarselmodules.${moduleName} {
    +
    +      home.file = {
    +        "${config.programs.obsidian.vaults.${name}.target}/.obsidian/app.json".force = true;
    +        "${config.programs.obsidian.vaults.${name}.target}/.obsidian/appearance.json".force = true;
    +        "${config.programs.obsidian.vaults.${name}.target}/.obsidian/core-plugins.json".force = true;
    +      };
    +
           programs.obsidian =
    -        let
    -          name = "Main";
    -        in
             {
               enable = true;
               package = pkgs.obsidian;
    @@ -16070,8 +16146,8 @@ in
     
    -
    -
    3.3.1.39. Anki
    +
    +
    3.3.1.39. Anki
    { lib, config, pkgs, globals, nixosConfig ? config, ... }:
    @@ -16092,7 +16168,7 @@ in
     
         programs.anki = {
           enable = true;
    -      package = pkgs.anki;
    +      # # package = pkgs.anki;
           hideBottomBar = true;
           hideBottomBarMode = "always";
           hideTopBar = true;
    @@ -16103,6 +16179,7 @@ in
           sync = {
             autoSync = false; # sync on profile close will delay system shutdown
             syncMedia = true;
    +        autoSyncMediaMinutes = 5;
             url = "https://${globals.services.ankisync.domain}";
             usernameFile = nixosConfig.sops.secrets.anki-user.path;
             # this is not the password but the syncKey
    @@ -16142,8 +16219,8 @@ in
     
    -
    -
    3.3.1.40. Element-desktop
    +
    +
    3.3.1.40. Element-desktop
    { lib, config, ... }:
    @@ -16179,8 +16256,8 @@ in
     
    -
    -
    3.3.1.41. Hexchat
    +
    +
    3.3.1.41. Hexchat
    { lib, config, nixosConfig ? config, ... }:
    @@ -16204,8 +16281,8 @@ in
     
    -
    -
    3.3.1.42. obs-studio
    +
    +
    3.3.1.42. obs-studio
    { lib, config, ... }:
    @@ -16225,8 +16302,8 @@ in
     
    -
    -
    3.3.1.43. spotify-player
    +
    +
    3.3.1.43. spotify-player
    { lib, config, ... }:
    @@ -16246,8 +16323,8 @@ in
     
    -
    -
    3.3.1.44. vesktop
    +
    +
    3.3.1.44. vesktop
    { lib, config, ... }:
    @@ -16333,29 +16410,41 @@ in
     
    -
    -
    3.3.1.45. batsignal
    +
    +
    3.3.1.45. batsignal
    { lib, config, ... }:
     let
       moduleName = "batsignal";
     in
    -{
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    services.${moduleName} = {
    -      enable = true;
    +  {
    +    options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    +    config = lib.mkIf config.swarselmodules.${moduleName} {
    +      services.${moduleName} = {
    +        enable = true;
    +        extraArgs = [
    +          "-W"
    +          " Consider charging the battery"
    +          "-C"
    +          " Battery is low; plug in charger now"
    +          "-D"
    +          " Device will lose power in a few seconds"
    +          "-c"
    +          "10"
    +          "-d"
    +          "5"
    +        ];
    +      };
         };
    -  };
     
    -}
    +  }
     
    -
    -
    3.3.1.46. autotiling
    +
    +
    3.3.1.46. autotiling
    { lib, config, ... }:
    @@ -16376,8 +16465,8 @@ in
     
    -
    -
    3.3.1.47. swayidle
    +
    +
    3.3.1.47. swayidle
    { lib, config, pkgs, ... }:
    @@ -16391,7 +16480,7 @@ in
           let
             brightnessctl = "${lib.getExe pkgs.brightnessctl}";
             swaylock = "${lib.getExe pkgs.swaylock-effects}";
    -        suspend = "${pkgs.systemd}/bin/systemctl";
    +        suspend = "${pkgs.systemd}/bin/systemctl suspend";
           in
           {
             enable = true;
    @@ -16406,6 +16495,7 @@ in
             ];
             events = [
               # { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
    +          # { event = "after-resume"; command = "${swaylock} -f "; }
               { event = "before-sleep"; command = "${swaylock} -f "; }
               { event = "lock"; command = "${swaylock} -f "; }
             ];
    @@ -16417,8 +16507,8 @@ in
     
    - -
    -
    3.6.1.3. Optionals
    +
    +
    3.6.1.3. Optionals
    { lib, config, ... }:
    @@ -24088,10 +24204,13 @@ bind gd tabdetach
     bind gD composite tabduplicate; tabdetach
     bind d composite tabprev; tabclose #
     bind D tabclose
    -bind c hint
    +bind c hint -J
     bindurl ^http(s)?://www\.google\.com c hint -Jc [class="LC20lb MBeuO DKV0Md"],[class="YmvwI"],[class="YyVfkd"],[class="fl"]
     bindurl ^http(s)?://news\.ycombinator\.com c hint -Jc [class="titleline"],[class="age"]
     bindurl ^http(s)?://lobste\.rs c hint -Jc [class="u-url"],[class="comments_label"]
    +bindurl ^http(s)?://reddit\.com c hint -Jc [class="title may-blank loggedin"],[class="bylink comments may-blank"]
    +bindurl ^http(s)?://github\.com c hint -Jc [class="Link--primary"],[class="AppHeader-button Button--secondary Button--medium Button p-0 color-fg-muted"],[class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"],[class="prc-ActionList-ItemLabel-TmBhn"],[class="PRIVATE_TreeView-item-content-text prc-TreeView-TreeViewItemContentText-smZM-"]
    +bindurl ^http(s)?://vbc\.atlassian\.net\/wiki c hint -Jc [class="_1reo15vq _18m915vq _1bto1l2s _kqswh2mm _o5721q9c _syaz1fxt"],[class="_11c81ixg _1reo15vq _18m915vq _18s81b66 _kqswh2mm _k48p1wq8 _o5721q9c _1bto1l2s _u5f31b66"],[class="_1r04ze3t _kqswstnw"],[class="css-a61etj"],[class="jira-macro-table-underline-pdfexport"]
     bindurl ^http(s)?://www\.google\.com gi composite focusinput -l ; text.end_of_line
     
     " Work
    @@ -26874,7 +26993,7 @@ similarly, there exists an version that starts from the right.