diff --git a/flake.nix b/flake.nix index 99fcaaf..2e4403a 100644 --- a/flake.nix +++ b/flake.nix @@ -10,20 +10,23 @@ outputs = inputs: - ( + { + overlays.default = import ./overlay; + } + // ( let system = "x86_64-linux"; pkgs = import inputs.nixpkgs { inherit system; config.allowUnfree = true; + overlays = [ inputs.self.overlays.default ]; }; treefmt = inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix; in { - lib.${system} = import ./lib { inherit pkgs; }; - + packages.${system} = pkgs; formatter.${system} = treefmt.config.build.wrapper; checks.${system}.formatting = treefmt.config.build.check inputs.self; } diff --git a/lib/default.nix b/lib/default.nix deleted file mode 100644 index f613ba1..0000000 --- a/lib/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -let - callPackage = pkgs.lib.callPackageWith { inherit pkgs; }; -in -{ - fetchers = callPackage ./fetchers { }; - runtime = callPackage ./runtime { }; -} diff --git a/lib/fetchers/default.nix b/lib/fetchers/default.nix deleted file mode 100644 index 4640293..0000000 --- a/lib/fetchers/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -let - callPackage = pkgs.lib.callPackageWith { inherit pkgs; }; -in -{ - sshKnownHosts = callPackage ./sshKnownHosts { }; -} diff --git a/lib/runtime/default.nix b/lib/runtime/default.nix deleted file mode 100644 index 27040c2..0000000 --- a/lib/runtime/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -let - callPackage = pkgs.lib.callPackageWith { inherit pkgs; }; -in -{ - merge = callPackage ./merge { }; -} diff --git a/lib/runtime/merge/default.nix b/lib/runtime/merge/default.nix deleted file mode 100644 index 9324954..0000000 --- a/lib/runtime/merge/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -let - callPackage = pkgs.lib.callPackageWith { inherit pkgs; }; -in -{ - keyValue = callPackage ./keyValue { }; -} diff --git a/overlay/default.nix b/overlay/default.nix new file mode 100644 index 0000000..658b7f3 --- /dev/null +++ b/overlay/default.nix @@ -0,0 +1,14 @@ +final: prev: +{ + lib = prev.lib.recursiveUpdate prev.lib { + fetchers = { + sshKnownHosts = import ./fetchers/sshKnownHosts final prev; + }; + + runtime = { + merge = { + keyValue = import ./runtime/merge/keyValue final prev; + }; + }; + }; +} diff --git a/lib/fetchers/sshKnownHosts/default.nix b/overlay/fetchers/sshKnownHosts/default.nix similarity index 71% rename from lib/fetchers/sshKnownHosts/default.nix rename to overlay/fetchers/sshKnownHosts/default.nix index 440c1c0..3532183 100644 --- a/lib/fetchers/sshKnownHosts/default.nix +++ b/overlay/fetchers/sshKnownHosts/default.nix @@ -1,5 +1,5 @@ -{ pkgs, ... }: -pkgs.lib.fetchers.withNormalizedHash { } ( +final: prev: +prev.lib.fetchers.withNormalizedHash { } ( { host, name ? "ssh-known-hosts-${host}", @@ -13,15 +13,15 @@ pkgs.lib.fetchers.withNormalizedHash { } ( ], }: let - keyTypeArgs = pkgs.lib.concatStringsSep "," keyTypes; + keyTypeArgs = prev.lib.concatStringsSep "," keyTypes; in - pkgs.runCommandLocal name + prev.runCommandLocal name { inherit outputHash outputHashAlgo; outputHashMode = "flat"; preferLocalBuild = true; - nativeBuildInputs = with pkgs; [ + nativeBuildInputs = with final; [ openssh gnugrep coreutils diff --git a/lib/runtime/merge/keyValue/default.nix b/overlay/runtime/merge/keyValue/default.nix similarity index 63% rename from lib/runtime/merge/keyValue/default.nix rename to overlay/runtime/merge/keyValue/default.nix index e4504c8..710c26f 100644 --- a/lib/runtime/merge/keyValue/default.nix +++ b/overlay/runtime/merge/keyValue/default.nix @@ -1,8 +1,8 @@ -{ pkgs, ... }: +final: prev: "${ - pkgs.writeShellApplication { + prev.writeShellApplication { name = "merge-key-value"; - runtimeInputs = with pkgs; [ + runtimeInputs = with final; [ coreutils gawk ]; diff --git a/lib/runtime/merge/keyValue/key-value.sh b/overlay/runtime/merge/keyValue/key-value.sh similarity index 100% rename from lib/runtime/merge/keyValue/key-value.sh rename to overlay/runtime/merge/keyValue/key-value.sh