Files
nixos/modules/packages/custom-browserprofiles.nix
T
2026-06-08 22:20:32 +02:00

38 lines
1.2 KiB
Nix

_: {
perSystem = {pkgs, ...}: {
# fzf librewolf profile selector
packages.custom-browserprofiles = pkgs.writeShellApplication {
name = "custom-browserprofiles";
runtimeInputs = with pkgs; [
zsh
fzf
tor-browser
];
text = ''
# List of profiles
profiles=("work" "other" "private window" "tor-browser")
# Use fzf to select
selected=$(printf "%s\n" "''${profiles[@]}" | fzf --height 6 --reverse --prompt="Select browser profile:")
# If user cancels, exit
[[ -z "$selected" ]] && exit 0
# Launch LibreWolf detached, keeping environment
if [[ "$selected" == "private window" ]]; then
setsid librewolf --private-window --no-remote >/dev/null 2>&1 &
pkill -f "kitty.*Select browser profile"
elif [[ "$selected" == "tor-browser" ]]; then
setsid tor-browser >/dev/null 2>&1 & pkill -f "kitty.*Select browser profile"
else
setsid librewolf -P "$selected" --no-remote >/dev/null 2>&1 &
pkill -f "kitty.*Select browser profile"
fi
# Exit the kitty terminal after selection
exit
'';
};
};
}