librewolf profiles selector: added tor-browser

This commit is contained in:
2026-06-08 22:11:54 +02:00
parent cd3aa9b0dd
commit 5afc0acf77
3 changed files with 12 additions and 9 deletions
+1 -1
View File
@@ -7,7 +7,7 @@
environment.systemPackages = with pkgs; [
chromium # used only to flash the firmware on my framework laptop 16 (keyboard.frame.work) as only chromium based browser support webHID.
pkgs-unstable.tor-browser
self.packages.${pkgs.system}.custom-librewolfprofiles
self.packages.${pkgs.system}.custom-browserprofiles
];
};
flake.homeModules.librewolf = _: {
+2 -2
View File
@@ -74,7 +74,7 @@
"$editor" = "nvim";
"$notes" = "kitty --class \"custom-obsidianvaults\" --name \"Select Obsidian vault\" --hold custom-obsidianvaults";
"$file" = "dolphin";
"$browser" = "kitty --class \"custom-librewolfprofiles\" --name \"Select LibreWolf profile\" --hold custom-librewolfprofiles";
"$browser" = "kitty --class \"custom-browserprofiles\" --name \"Select browser profile\" --hold custom-browserprofiles";
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
animations = {
@@ -487,7 +487,7 @@
"float on, match:class ^(kitty)$, match:title ^(htop)$"
"float on, match:class ^(vlc)$"
"float on, match:class ^(eog)$"
"float on, size 400 225, match:class ^(custom-librewolfprofiles)$"
"float on, size 400 225, match:class ^(custom-browserprofiles)$"
"float on, size 1050 200, match:class ^(custom-changeAudioOutput)$"
"float on, size 400 175, match:class ^(custom-obsidianvaults)$"
"float on, size 600 600, match:initial_class ^(custom-pomodoro)$"
@@ -1,18 +1,19 @@
_: {
perSystem = {pkgs, ...}: {
# fzf librewolf profile selector
packages.custom-librewolfprofiles = pkgs.writeShellApplication {
name = "custom-librewolfprofiles";
packages.custom-browserprofiles = pkgs.writeShellApplication {
name = "custom-browserprofiles";
runtimeInputs = with pkgs; [
zsh
fzf
tor-browser
];
text = ''
# List of profiles
profiles=("work" "other" "private window")
profiles=("work" "other" "private window" "tor-browser)
# Use fzf to select
selected=$(printf "%s\n" "''${profiles[@]}" | fzf --height 6 --reverse --prompt="Select LibreWolf profile:")
selected=$(printf "%s\n" "''${profiles[@]}" | fzf --height 6 --reverse --prompt="Select browser profile:")
# If user cancels, exit
[[ -z "$selected" ]] && exit 0
@@ -20,10 +21,12 @@ _: {
# Launch LibreWolf detached, keeping environment
if [[ "$selected" == "private window" ]]; then
setsid librewolf --private-window --no-remote >/dev/null 2>&1 &
pkill -f "kitty.*Select LibreWolf profile"
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 LibreWolf profile"
pkill -f "kitty.*Select browser profile"
fi
# Exit the kitty terminal after selection