From 5afc0acf77c2f0bc079824a233572545e5ef869f 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 1/7] 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 From 99ab54cc8b80cad7db98642311425a24eff80de8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Mon, 8 Jun 2026 22:12:43 +0200 Subject: [PATCH 2/7] fix: home.file --- modules/utilities/nixGitCherryPicker.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/utilities/nixGitCherryPicker.nix b/modules/utilities/nixGitCherryPicker.nix index 44d2a5e..7578607 100644 --- a/modules/utilities/nixGitCherryPicker.nix +++ b/modules/utilities/nixGitCherryPicker.nix @@ -20,7 +20,7 @@ inputs.nix-git-cherry-picker.packages.${pkgs.system}.default ]; }; - home.file-".config/nix-git-cherry-picker/config.json" = { + home.file.".config/nix-git-cherry-picker/config.json" = { enable = true; text = '' { @@ -31,4 +31,4 @@ ''; force = true; }; -} \ No newline at end of file +} From abf652e21b8ed9d41d698bb894e84516136a96dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Mon, 8 Jun 2026 22:14:47 +0200 Subject: [PATCH 3/7] fix: cherry-picker-desktop --- modules/utilities/nixGitCherryPicker.nix | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/utilities/nixGitCherryPicker.nix b/modules/utilities/nixGitCherryPicker.nix index 7578607..37868a5 100644 --- a/modules/utilities/nixGitCherryPicker.nix +++ b/modules/utilities/nixGitCherryPicker.nix @@ -19,16 +19,16 @@ home.packages = [ inputs.nix-git-cherry-picker.packages.${pkgs.system}.default ]; - }; - home.file.".config/nix-git-cherry-picker/config.json" = { - enable = true; - text = '' - { - "localBranch": "desktop", - "remoteBranch": "laptop", - "nixConfigPath": "/home/tomasr/nixos/" - } - ''; - force = true; + home.file.".config/nix-git-cherry-picker/config.json" = { + enable = true; + text = '' + { + "localBranch": "desktop", + "remoteBranch": "laptop", + "nixConfigPath": "/home/tomasr/nixos/" + } + ''; + force = true; + }; }; } From e3089e1d5976d40f39e8d27e4849ba197fa5393b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Mon, 8 Jun 2026 22:20:24 +0200 Subject: [PATCH 4/7] fix: custom-browserprofiles --- modules/packages/custom-browserprofiles.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/packages/custom-browserprofiles.nix b/modules/packages/custom-browserprofiles.nix index cc5275e..fda0578 100644 --- a/modules/packages/custom-browserprofiles.nix +++ b/modules/packages/custom-browserprofiles.nix @@ -10,7 +10,7 @@ _: { ]; text = '' # List of profiles - profiles=("work" "other" "private window" "tor-browser) + profiles=("work" "other" "private window" "tor-browser") # Use fzf to select selected=$(printf "%s\n" "''${profiles[@]}" | fzf --height 6 --reverse --prompt="Select browser profile:") From 19adc625f10ad5c2ac11fde7930f28c6ce9f52ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Tue, 9 Jun 2026 11:51:52 +0200 Subject: [PATCH 5/7] patent: use flake.nix --- modules/utilities/development.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/utilities/development.nix b/modules/utilities/development.nix index d8cec56..49f46ce 100644 --- a/modules/utilities/development.nix +++ b/modules/utilities/development.nix @@ -35,6 +35,7 @@ gnupg pinentry-curses inputs.nixpkgs-notifier.packages.${pkgs.system}.default + inputs.patent.packages.${pkgs.system}.default ]; }; flake.homeModules.development = _: { From 4b6a5ffa59b4d77a37fed3ec46436b11c74d453f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Tue, 9 Jun 2026 16:18:15 +0200 Subject: [PATCH 6/7] patent in flake.nix --- flake.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/flake.nix b/flake.nix index 49139ac..a95a4ee 100644 --- a/flake.nix +++ b/flake.nix @@ -31,6 +31,11 @@ inputs.flake-utils.follows = "flake-utils"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; + patent = { + url = "github:r14dd/patent"; + inputs.flake-utils.follows = "flake-utils"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; caelestia-shell = { # based on quickshell. See https://github.com/caelestia-dots/shell url = "github:caelestia-dots/shell"; From 8b2a086a4d7e68754aead4034fbd2e6f9e7c2202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Tue, 9 Jun 2026 16:22:59 +0200 Subject: [PATCH 7/7] patent flake.lock --- flake.lock | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index f262f02..92c8dc5 100644 --- a/flake.lock +++ b/flake.lock @@ -338,6 +338,30 @@ "type": "github" } }, + "patent": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs-unstable" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1780942898, + "narHash": "sha256-cP4gUX4YE1kFe+15Zd1CbqL08XytPm1UXZuaXjYLG94=", + "owner": "r14dd", + "repo": "patent", + "rev": "bbad654b6b65264d2ba267b5c87e8be0bd89b78e", + "type": "github" + }, + "original": { + "owner": "r14dd", + "repo": "patent", + "type": "github" + } + }, "quickshell": { "inputs": { "nixpkgs": [ @@ -374,7 +398,29 @@ "nixpkgs-master": "nixpkgs-master", "nixpkgs-notifier": "nixpkgs-notifier", "nixpkgs-unstable": "nixpkgs-unstable", - "notewrapper": "notewrapper" + "notewrapper": "notewrapper", + "patent": "patent" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "patent", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1780888890, + "narHash": "sha256-MUQPFiskEENaJ2N82TRIqpKlHXGXJJkPfKH6W788oQo=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "7d5f8d75fc195a236b46633d7679139698aeb35f", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" } }, "systems": {