From 11d958c8b29ad0b75077c1b2cd4e45730954586b Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Sun, 7 Jun 2026 00:17:54 +0200 Subject: [PATCH] crazy shit --- home-manager/home.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/home-manager/home.nix b/home-manager/home.nix index 7c268ee..34e7b32 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -8,6 +8,22 @@ }: let customPkgs = import ../custom-pkgs/default.nix pkgs; + fuzzel-launch-prefix = (pkgs.writeShellApplication { + name = "fuzzel-launch-prefix"; + text = '' + name=$(basename "$1") + + # https://stackoverflow.com/questions/13043344/search-and-replace-in-bash-using-regular-expressions + # https://github.com/niri-wm/niri/blob/f717ae030fe56fc52522ebef69f17f3f09064ac4/src/utils/spawning.rs#L429 + re='(.*)[^a-zA-Z0-9:_\.]+(.*)' + while [[ $name =~ $re ]]; do + # niri doesn't just yeet it out but encode it but that's too complicated for us + name="$${BASH_REMATCH[1]}$${BASH_REMATCH[2]}" + done + + exec systemd-run --scope --user --unit "app-$name" "$@" + ''; + }); in { # You can import other home-manager modules here @@ -71,7 +87,7 @@ in (pkgs.writeShellApplication { name = "fuzzel-in-niri"; text = '' - ${lib.getExe pkgs.fuzzel} --launch-prefix "${lib.getExe pkgs.niri} msg action spawn --" + ${lib.getExe pkgs.fuzzel} --launch-prefix "${lib.getExe fuzzel-launch-prefix}" ''; }) (pkgs.writeShellApplication {