Move firefox (with addons) into Nix home manager flake
							parent
							
								
									a737b50284
								
							
						
					
					
						commit
						84e0c7f700
					
				| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
#!/usr/bin/env bash
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
for i in ~/.mozilla/firefox/*.*default*
 | 
					 | 
				
			||||||
  do ln -s "$XDG_CONFIG_HOME"/firefox/user.js "$i/user.js"
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,15 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * Note: has to be symlinked to profile directories for your
 | 
					 | 
				
			||||||
 *       firefox release
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * E.g.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * ```sh
 | 
					 | 
				
			||||||
 * ln -s user.js ~/.mozilla/firefox/*.default-release/user.js
 | 
					 | 
				
			||||||
 * ```
 | 
					 | 
				
			||||||
 * Or check out the `setup` script
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Set default download directory
 | 
					 | 
				
			||||||
user_pref("browser.download.dir", "/home/h/dl");
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,45 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "nodes": {
 | 
					  "nodes": {
 | 
				
			||||||
 | 
					    "firefox-addons": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "dir": "pkgs/firefox-addons",
 | 
				
			||||||
 | 
					        "lastModified": 1761478231,
 | 
				
			||||||
 | 
					        "narHash": "sha256-a6ROM73M0TSrooI+8/UMj5KWKOdaDFTycVeo8XJ3dk4=",
 | 
				
			||||||
 | 
					        "owner": "rycee",
 | 
				
			||||||
 | 
					        "repo": "nur-expressions",
 | 
				
			||||||
 | 
					        "rev": "ae968708476302f8781fb5e245d53f112ed04111",
 | 
				
			||||||
 | 
					        "type": "gitlab"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "dir": "pkgs/firefox-addons",
 | 
				
			||||||
 | 
					        "owner": "rycee",
 | 
				
			||||||
 | 
					        "repo": "nur-expressions",
 | 
				
			||||||
 | 
					        "type": "gitlab"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-utils": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "systems": "systems"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1731533236,
 | 
				
			||||||
 | 
					        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "home-manager": {
 | 
					    "home-manager": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "nixpkgs": [
 | 
					        "nixpkgs": [
 | 
				
			||||||
| 
						 | 
					@ -7,11 +47,11 @@
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1756991914,
 | 
					        "lastModified": 1761512215,
 | 
				
			||||||
        "narHash": "sha256-4ve/3ah5H/SpL2m3qmZ9GU+VinQYp2MN1G7GamimTds=",
 | 
					        "narHash": "sha256-QLL3lqw4eDYP8D6gmjX0rFBfg1tMcosGGvHXckb6aQE=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "home-manager",
 | 
					        "repo": "home-manager",
 | 
				
			||||||
        "rev": "b08f8737776f10920c330657bee8b95834b7a70f",
 | 
					        "rev": "2a9969b39c7f5f1dfbf5c5f1ca97151b40a1d36d",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -20,13 +60,47 @@
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "nixgl": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-utils": "flake-utils",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1752054764,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Ob/HuUhANoDs+nvYqyTKrkcPXf4ZgXoqMTQoCK0RFgQ=",
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "nixGL",
 | 
				
			||||||
 | 
					        "rev": "a8e1ce7d49a149ed70df676785b07f63288f53c5",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "nixGL",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "nixpkgs": {
 | 
					    "nixpkgs": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1756787288,
 | 
					        "lastModified": 1746378225,
 | 
				
			||||||
        "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
 | 
					        "narHash": "sha256-OeRSuL8PUjIfL3Q0fTbNJD/fmv1R+K2JAOqWJd3Oceg=",
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
 | 
					        "rev": "93e8cdce7afc64297cfec447c311470788131cd9",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs_2": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1761373498,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=",
 | 
				
			||||||
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -38,8 +112,25 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "root": {
 | 
					    "root": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "firefox-addons": "firefox-addons",
 | 
				
			||||||
        "home-manager": "home-manager",
 | 
					        "home-manager": "home-manager",
 | 
				
			||||||
        "nixpkgs": "nixpkgs"
 | 
					        "nixgl": "nixgl",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs_2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "systems": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1681028828,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,8 +6,12 @@
 | 
				
			||||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    nixgl.url = "github:nix-community/nixGL";
 | 
					    nixgl.url = "github:nix-community/nixGL";
 | 
				
			||||||
 | 
					    firefox-addons = {
 | 
				
			||||||
 | 
					      url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
 | 
				
			||||||
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  outputs = { nixpkgs, home-manager, nixgl, ... }:
 | 
					  outputs = { nixpkgs, home-manager, nixgl, ... }@inputs:
 | 
				
			||||||
    let
 | 
					    let
 | 
				
			||||||
      lib = nixpkgs.lib;
 | 
					      lib = nixpkgs.lib;
 | 
				
			||||||
      system = "x86_64-linux";
 | 
					      system = "x86_64-linux";
 | 
				
			||||||
| 
						 | 
					@ -21,7 +25,7 @@
 | 
				
			||||||
        work = home-manager.lib.homeManagerConfiguration {
 | 
					        work = home-manager.lib.homeManagerConfiguration {
 | 
				
			||||||
          inherit pkgs;
 | 
					          inherit pkgs;
 | 
				
			||||||
          extraSpecialArgs = {
 | 
					          extraSpecialArgs = {
 | 
				
			||||||
            inherit nixgl;
 | 
					            inherit inputs;
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
          modules = [ ./hosts/work ];
 | 
					          modules = [ ./hosts/work ];
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,13 @@
 | 
				
			||||||
{ pkgs, config, nixgl, ... }:
 | 
					{
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  inputs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nixGL = {
 | 
					  nixGL = {
 | 
				
			||||||
    packages = nixgl.packages;
 | 
					    packages = inputs.nixgl.packages;
 | 
				
			||||||
    defaultWrapper = "mesa";
 | 
					    defaultWrapper = "mesa";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,6 +15,70 @@
 | 
				
			||||||
  home.homeDirectory = "/home/hektor";
 | 
					  home.homeDirectory = "/home/hektor";
 | 
				
			||||||
  home.stateVersion = "25.05";
 | 
					  home.stateVersion = "25.05";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.firefox = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    nativeMessagingHosts = with pkgs; [
 | 
				
			||||||
 | 
					      tridactyl-native
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    policies = {
 | 
				
			||||||
 | 
					      DefaultDownloadDirectory = "\${home}/dl";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    profiles = {
 | 
				
			||||||
 | 
					      work = {
 | 
				
			||||||
 | 
					        settings = {
 | 
				
			||||||
 | 
					          "signon.rememberSignons" = false;
 | 
				
			||||||
 | 
					          "findbar.highlightAll" = true;
 | 
				
			||||||
 | 
					          "extensions.autoDisableScopes" = 0; # Enable extensions by default <https://nix-community.github.io/home-manager/options.xhtml#opt-programs.firefox.profiles._name_.extensions.packages>
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        extensions = {
 | 
				
			||||||
 | 
					          packages = with inputs.firefox-addons.packages.${pkgs.system}; [
 | 
				
			||||||
 | 
					            duckduckgo-privacy-essentials
 | 
				
			||||||
 | 
					            istilldontcareaboutcookies
 | 
				
			||||||
 | 
					            libredirect
 | 
				
			||||||
 | 
					            keepassxc-browser
 | 
				
			||||||
 | 
					            react-devtools
 | 
				
			||||||
 | 
					            sponsorblock
 | 
				
			||||||
 | 
					            tridactyl
 | 
				
			||||||
 | 
					            ublock-origin
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    policies = {
 | 
				
			||||||
 | 
					      ExtensionSettings = {
 | 
				
			||||||
 | 
					        "jid1-ZAdIEUB7XOzOJw@jetpack" = {
 | 
				
			||||||
 | 
					          default_area = "navbar";
 | 
				
			||||||
 | 
					          private_browsing = true;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        "idcac-pub@guus.ninja" = {
 | 
				
			||||||
 | 
					          default_area = "navbar";
 | 
				
			||||||
 | 
					          private_browsing = true;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        "7esoorv3@alefvanoon.anonaddy.me" = {
 | 
				
			||||||
 | 
					          default_area = "navbar";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        "keepassxc-browser@keepassxc.org" = {
 | 
				
			||||||
 | 
					          default_area = "navbar";
 | 
				
			||||||
 | 
					          private_browsing = true;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        "@react-devtools" = {
 | 
				
			||||||
 | 
					          default_area = "navbar";
 | 
				
			||||||
 | 
					          private_browsing = true;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        "sponsorBlocker@ajay.app" = {
 | 
				
			||||||
 | 
					          default_area = "navbar";
 | 
				
			||||||
 | 
					          private_browsing = true;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        "tridactyl.vim@cmcaine.co.uk".settings = {
 | 
				
			||||||
 | 
					          private_browsing = true;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        "uBlock0@raymondhill.net".settings = {
 | 
				
			||||||
 | 
					          default_area = "navbar";
 | 
				
			||||||
 | 
					          private_browsing = true;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
  home.packages = import ./packages.nix {
 | 
					  home.packages = import ./packages.nix {
 | 
				
			||||||
    inherit pkgs;
 | 
					    inherit pkgs;
 | 
				
			||||||
    inherit config;
 | 
					    inherit config;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue