diff --git a/flake.nix b/flake.nix index adda46f..c7af3f4 100644 --- a/flake.nix +++ b/flake.nix @@ -71,6 +71,23 @@ in flake-parts.lib.mkFlake { inherit inputs; } { systems = flake-utils.lib.defaultSystems; + perSystem = ( + { pkgs, system, ... }@args: + { + _module.args.pkgs = import inputs.nixpkgs { + inherit system; + config = { + allowUnfree = true; + }; + }; + packages = import ./pkgs ( + args + // { + inherit inputs; + } + ); + } + ); flake = { nix.settings = { diff --git a/home/david/configurations/Tytonidae/firefox.nix b/home/david/configurations/Tytonidae/firefox.nix index 25c2c32..f85ac31 100644 --- a/home/david/configurations/Tytonidae/firefox.nix +++ b/home/david/configurations/Tytonidae/firefox.nix @@ -1,4 +1,10 @@ -{ pkgs, inputs, ... }: +{ + pkgs, + inputs, + outputs, + system, + ... +}: { programs.firefox = { enable = true; @@ -9,13 +15,9 @@ profiles.default = { name = "default"; isDefault = true; - extensions = - let - addons = (pkgs.callPackage inputs.firefox-addons { }).firefox-addons; - in - [ - addons.immersive-translate - ]; + extensions = [ + outputs.packages."${system}".immersive-translate + ]; search = { force = true; default = "DuckDuckGo"; diff --git a/pkgs/default.nix b/pkgs/default.nix index 535d998..63219be 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,7 +1,9 @@ { - pkgs ? (import ./../nixpkgs.nix) { }, + pkgs, + inputs, ... }: { - # example = pkgs.callPackage ./example.nix { }; + immersive-translate = + (pkgs.callPackage "${inputs.firefox-addons}/default.nix" { }).firefox-addons.immersive-translate; }