From e42b1f97251e16ffda3a0100556d22a1937eb74c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Mon, 8 Jun 2026 22:11:54 +0200 Subject: [PATCH] librewolf profiles selector: added tor-browser --- modules/applications/browser.nix | 2 +- modules/applications/hyprland.nix | 4 ++-- ...olfprofiles.nix => custom-browserprofiles.nix} | 15 +++++++++------ 3 files changed, 12 insertions(+), 9 deletions(-) rename modules/packages/{custom-librewolfprofiles.nix => custom-browserprofiles.nix} (59%) diff --git a/modules/applications/browser.nix b/modules/applications/browser.nix index 6841165..8cad7d4 100644 --- a/modules/applications/browser.nix +++ b/modules/applications/browser.nix @@ -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 = _: { diff --git a/modules/applications/hyprland.nix b/modules/applications/hyprland.nix index 3c9f9fa..d2c3c4a 100644 --- a/modules/applications/hyprland.nix +++ b/modules/applications/hyprland.nix @@ -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)$" diff --git a/modules/packages/custom-librewolfprofiles.nix b/modules/packages/custom-browserprofiles.nix similarity index 59% rename from modules/packages/custom-librewolfprofiles.nix rename to modules/packages/custom-browserprofiles.nix index df79ed3..cc5275e 100644 --- a/modules/packages/custom-librewolfprofiles.nix +++ b/modules/packages/custom-browserprofiles.nix @@ -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