forked from auxolotl/labs
refactor: types.package renamed to types.derivation, add lib extend
This commit is contained in:
parent
d9fe1ff418
commit
284b8de0d5
|
@ -11,4 +11,4 @@
|
|||
];
|
||||
};
|
||||
in
|
||||
result.config.exports.resolved
|
||||
result.config.exports.resolved.packages
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"lib": {
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-nJ4WxMYE8OFaW6EhJDULMaBaTtXiVtR/MhIvZ4BMqbU=",
|
||||
"narHash": "sha256-vaPypHCYtWP6e0APNsV3ttoW9D2PlL2WpMytd6LdOmk=",
|
||||
"path": "../lib",
|
||||
"type": "path"
|
||||
},
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
in {
|
||||
options.aux.foundation.builders.bash.boot = {
|
||||
build = lib.options.create {
|
||||
type = lib.types.function lib.types.package;
|
||||
type = lib.types.function lib.types.derivation;
|
||||
description = "Builds a package using the kaem builder.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -13,7 +13,7 @@ in {
|
|||
|
||||
options.aux.foundation.builders.bash = {
|
||||
build = lib.options.create {
|
||||
type = lib.types.function lib.types.package;
|
||||
type = lib.types.function lib.types.derivation;
|
||||
description = "Builds a package using the bash builder.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
in {
|
||||
options.aux.foundation.builders.file.text = {
|
||||
build = lib.options.create {
|
||||
type = lib.types.function lib.types.package;
|
||||
type = lib.types.function lib.types.derivation;
|
||||
description = "Builds a package using the text file builder.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
in {
|
||||
options.aux.foundation.builders.kaem = {
|
||||
build = lib.options.create {
|
||||
type = lib.types.function lib.types.package;
|
||||
type = lib.types.function lib.types.derivation;
|
||||
description = "Builds a package using the kaem builder.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
in {
|
||||
options.aux.foundation.builders.raw = {
|
||||
build = lib.options.create {
|
||||
type = lib.types.function lib.types.package;
|
||||
type = lib.types.function lib.types.derivation;
|
||||
description = "Builds a package using the raw builder.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
packages = lib.options.create {
|
||||
default.value = {};
|
||||
|
||||
type = lib.types.attrs.of lib.types.package;
|
||||
type = lib.types.attrs.of lib.types.derivation;
|
||||
};
|
||||
|
||||
extras = lib.options.create {
|
||||
|
|
|
@ -40,7 +40,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for kaem.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for mescc-tools-extra.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -134,7 +134,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for mescc-tools.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -46,7 +46,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for hex0.";
|
||||
};
|
||||
|
||||
|
@ -59,7 +59,7 @@ in {
|
|||
};
|
||||
|
||||
executable = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The derivation to use to build hex0.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -39,7 +39,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for hex1.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -40,7 +40,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for hex2-0.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -41,7 +41,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for catm.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -41,7 +41,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for M0.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -42,7 +42,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for cc_arch.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -43,7 +43,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for M2.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -44,7 +44,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for blood-elf.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -45,7 +45,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for M1-0.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -46,7 +46,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for hex2-1.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -47,7 +47,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for M1.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -46,7 +46,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for hex2.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -46,7 +46,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for kaem-unwrapped.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -37,7 +37,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for bash-boot.";
|
||||
};
|
||||
|
||||
|
@ -47,7 +47,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for bash.";
|
||||
};
|
||||
|
||||
|
@ -58,7 +58,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for binutils.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for bison.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -39,7 +39,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for bzip2.";
|
||||
};
|
||||
|
||||
|
@ -49,7 +49,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.coreutils.boot = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for coreutils-boot.";
|
||||
};
|
||||
|
||||
|
@ -20,7 +20,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -42,7 +42,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for coreutils.";
|
||||
};
|
||||
|
||||
|
@ -52,7 +52,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for diffutils.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for findutils.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.gawk.boot = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnutar-boot.";
|
||||
};
|
||||
|
||||
|
@ -21,7 +21,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gawk.";
|
||||
};
|
||||
|
||||
|
@ -58,7 +58,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -44,7 +44,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gcc.";
|
||||
};
|
||||
|
||||
|
@ -54,20 +54,20 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
|
||||
cc = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The cc source for the package.";
|
||||
};
|
||||
};
|
||||
|
||||
gmp = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The gmp source for the package.";
|
||||
};
|
||||
|
||||
|
@ -79,7 +79,7 @@ in {
|
|||
|
||||
mpfr = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The mpfr source for the package.";
|
||||
};
|
||||
|
||||
|
@ -91,7 +91,7 @@ in {
|
|||
|
||||
mpc = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The mpc source for the package.";
|
||||
};
|
||||
|
||||
|
@ -103,7 +103,7 @@ in {
|
|||
|
||||
isl = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The isl source for the package.";
|
||||
};
|
||||
version = lib.options.create {
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.gcc.v46.cxx = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gcc-cxx.";
|
||||
};
|
||||
|
||||
|
@ -21,20 +21,20 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
|
||||
cc = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The cc source for the package.";
|
||||
};
|
||||
};
|
||||
|
||||
gmp = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The gmp source for the package.";
|
||||
};
|
||||
|
||||
|
@ -46,7 +46,7 @@ in {
|
|||
|
||||
mpfr = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The mpfr source for the package.";
|
||||
};
|
||||
|
||||
|
@ -58,7 +58,7 @@ in {
|
|||
|
||||
mpc = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The mpc source for the package.";
|
||||
};
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.gcc.v46 = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gcc.";
|
||||
};
|
||||
|
||||
|
@ -21,20 +21,20 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
|
||||
cc = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The cc source for the package.";
|
||||
};
|
||||
};
|
||||
|
||||
gmp = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The gmp source for the package.";
|
||||
};
|
||||
|
||||
|
@ -46,7 +46,7 @@ in {
|
|||
|
||||
mpfr = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The mpfr source for the package.";
|
||||
};
|
||||
|
||||
|
@ -58,7 +58,7 @@ in {
|
|||
|
||||
mpc = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The mpc source for the package.";
|
||||
};
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.gcc.v8 = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gcc.";
|
||||
};
|
||||
|
||||
|
@ -21,20 +21,20 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
|
||||
cc = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The cc source for the package.";
|
||||
};
|
||||
};
|
||||
|
||||
gmp = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The gmp source for the package.";
|
||||
};
|
||||
|
||||
|
@ -46,7 +46,7 @@ in {
|
|||
|
||||
mpfr = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The mpfr source for the package.";
|
||||
};
|
||||
|
||||
|
@ -58,7 +58,7 @@ in {
|
|||
|
||||
mpc = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The mpc source for the package.";
|
||||
};
|
||||
|
||||
|
@ -70,7 +70,7 @@ in {
|
|||
|
||||
isl = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The isl source for the package.";
|
||||
};
|
||||
version = lib.options.create {
|
||||
|
|
|
@ -43,7 +43,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnugrep.";
|
||||
};
|
||||
|
||||
|
@ -53,7 +53,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnum4.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.gnumake.boot = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnumake.";
|
||||
};
|
||||
|
||||
|
@ -20,7 +20,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -42,7 +42,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnumake.";
|
||||
};
|
||||
|
||||
|
@ -52,7 +52,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -37,7 +37,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnupatch.";
|
||||
};
|
||||
|
||||
|
@ -47,7 +47,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.gnused.boot = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnused-boot.";
|
||||
};
|
||||
|
||||
|
@ -20,7 +20,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnused.";
|
||||
};
|
||||
|
||||
|
@ -58,7 +58,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.gnutar.boot = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnutar-boot.";
|
||||
};
|
||||
|
||||
|
@ -21,7 +21,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -49,7 +49,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnutar.";
|
||||
};
|
||||
|
||||
|
@ -59,7 +59,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.gnutar.musl = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnutar-musl.";
|
||||
};
|
||||
|
||||
|
@ -21,7 +21,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -37,7 +37,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gzip.";
|
||||
};
|
||||
|
||||
|
@ -47,7 +47,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -53,7 +53,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for heirloom.";
|
||||
};
|
||||
|
||||
|
@ -63,7 +63,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.heirloom.devtools = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for heirloom-devtools.";
|
||||
};
|
||||
|
||||
|
@ -23,7 +23,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for linux-headers.";
|
||||
};
|
||||
|
||||
|
@ -42,7 +42,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for ln-boot.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -39,7 +39,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for the mes compiler.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -15,7 +15,7 @@ in {
|
|||
|
||||
options.aux.foundation.stages.stage1.mes = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for mes-libc.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -39,12 +39,12 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for mes libs.";
|
||||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
in {
|
||||
options.aux.foundation.stages.stage1.musl.boot = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for musl-boot.";
|
||||
};
|
||||
|
||||
|
@ -21,7 +21,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -43,7 +43,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for musl.";
|
||||
};
|
||||
|
||||
|
@ -53,7 +53,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -40,12 +40,12 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for nyacc.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for python.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -42,14 +42,14 @@ in {
|
|||
|
||||
compiler = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for the tinycc-boot compiler.";
|
||||
};
|
||||
};
|
||||
|
||||
libs = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for the tinycc-boot libs.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -15,14 +15,14 @@ in {
|
|||
options.aux.foundation.stages.stage1.tinycc.mes = {
|
||||
compiler = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for the tinycc-mes compiler.";
|
||||
};
|
||||
};
|
||||
|
||||
libs = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for the tinycc-mes libs.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -15,14 +15,14 @@ in {
|
|||
options.aux.foundation.stages.stage1.tinycc.musl = {
|
||||
compiler = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for the tinycc-musl compiler.";
|
||||
};
|
||||
};
|
||||
|
||||
libs = {
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for the tinycc-musl libs.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -41,7 +41,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for xz.";
|
||||
};
|
||||
|
||||
|
@ -51,7 +51,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for zlib.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -44,7 +44,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for bash.";
|
||||
};
|
||||
|
||||
|
@ -54,7 +54,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for binutils.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -39,7 +39,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for busybox.";
|
||||
};
|
||||
|
||||
|
@ -49,7 +49,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -39,7 +39,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for bzip2.";
|
||||
};
|
||||
|
||||
|
@ -49,7 +49,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for coreutils.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for diffutils.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for findutils.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -44,7 +44,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gawk.";
|
||||
};
|
||||
|
||||
|
@ -54,7 +54,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gcc.";
|
||||
};
|
||||
|
||||
|
@ -48,20 +48,20 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
|
||||
cc = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The cc source for the package.";
|
||||
};
|
||||
};
|
||||
|
||||
gmp = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The gmp source for the package.";
|
||||
};
|
||||
|
||||
|
@ -73,7 +73,7 @@ in {
|
|||
|
||||
mpfr = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The mpfr source for the package.";
|
||||
};
|
||||
|
||||
|
@ -85,7 +85,7 @@ in {
|
|||
|
||||
mpc = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The mpc source for the package.";
|
||||
};
|
||||
|
||||
|
@ -97,7 +97,7 @@ in {
|
|||
|
||||
isl = {
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The isl source for the package.";
|
||||
};
|
||||
version = lib.options.create {
|
||||
|
|
|
@ -39,7 +39,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for glibc.";
|
||||
};
|
||||
|
||||
|
@ -49,7 +49,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -44,7 +44,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnugrep.";
|
||||
};
|
||||
|
||||
|
@ -54,7 +54,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -39,7 +39,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnumake.";
|
||||
};
|
||||
|
||||
|
@ -49,7 +49,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnupatch.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -44,7 +44,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnused.";
|
||||
};
|
||||
|
||||
|
@ -54,7 +54,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -44,7 +44,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gnutar.";
|
||||
};
|
||||
|
||||
|
@ -54,7 +54,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for gzip.";
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -39,7 +39,7 @@ in {
|
|||
};
|
||||
|
||||
package = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "The package to use for patchelf.";
|
||||
};
|
||||
|
||||
|
@ -49,7 +49,7 @@ in {
|
|||
};
|
||||
|
||||
src = lib.options.create {
|
||||
type = lib.types.package;
|
||||
type = lib.types.derivation;
|
||||
description = "Source for the package.";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -4,6 +4,7 @@ let
|
|||
root = ./.;
|
||||
|
||||
files = [
|
||||
./src/default.test.nix
|
||||
./src/attrs/default.test.nix
|
||||
./src/bools/default.test.nix
|
||||
./src/errors/default.test.nix
|
||||
|
|
|
@ -74,4 +74,4 @@ let
|
|||
builtins.foldl' merge {} libs
|
||||
);
|
||||
in
|
||||
lib
|
||||
lib.points.withExtend (lib.fp.const lib)
|
||||
|
|
18
lib/src/default.test.nix
Normal file
18
lib/src/default.test.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
let
|
||||
lib = import ./../default.nix;
|
||||
in {
|
||||
"extend" = {
|
||||
"lib is extensible" = let
|
||||
result = lib.extend (final: prev: prev // {
|
||||
__injected__ = true;
|
||||
|
||||
fp = prev.fp // {
|
||||
__injected__ = true;
|
||||
};
|
||||
});
|
||||
in
|
||||
result ? __injected__
|
||||
&& result.fp ? __injected__
|
||||
&& result.fp ? const;
|
||||
};
|
||||
}
|
|
@ -46,9 +46,9 @@ lib: {
|
|||
]
|
||||
value;
|
||||
|
||||
## Get an output of a package.
|
||||
## Get an output of a derivation.
|
||||
##
|
||||
## @type String -> Package -> String
|
||||
## @type String -> Derivation -> String
|
||||
getOutput = output: package:
|
||||
if ! package ? outputSpecified || !package.outputSpecified
|
||||
then package.${output} or package.out or package
|
||||
|
|
|
@ -44,7 +44,7 @@ lib: {
|
|||
|
||||
## Create a search path from a list of packages.
|
||||
##
|
||||
## @type String -> [Package] -> String
|
||||
## @type String -> [Derivation] -> String
|
||||
searchFromOutput = output: target: packages:
|
||||
lib.paths.search
|
||||
target
|
||||
|
@ -52,17 +52,17 @@ lib: {
|
|||
|
||||
## Create a search path for the binary output of a package.
|
||||
##
|
||||
## @type [Package] -> String
|
||||
## @type [Derivation] -> String
|
||||
bin = lib.paths.searchFromOutput "bin" "bin";
|
||||
|
||||
## Create a search path for the library output of a package.
|
||||
##
|
||||
## @type [Package] -> String
|
||||
## @type [Derivation] -> String
|
||||
lib = lib.paths.searchFromOutput "lib" "lib";
|
||||
|
||||
## Create a search path for the include output of a package.
|
||||
##
|
||||
## @type [Package] -> String
|
||||
## @type [Derivation] -> String
|
||||
include = lib.paths.searchFromOutput "dev" "include";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -26,5 +26,27 @@ lib: {
|
|||
};
|
||||
in
|
||||
x;
|
||||
|
||||
## Extend a function's output with an additional function. This is the basis for
|
||||
## features like overlays.
|
||||
##
|
||||
## @type (a -> b -> c) -> (a -> b) -> a -> b & c
|
||||
extends = g: f: self: let
|
||||
previous = f self;
|
||||
next = g self previous;
|
||||
in
|
||||
previous // next;
|
||||
|
||||
## Add an `extend` method to the result of a function.
|
||||
##
|
||||
## @type (a -> b) -> b & { extend :: (a -> b -> c) -> b & c }
|
||||
withExtend = f: let
|
||||
create = self:
|
||||
(f self)
|
||||
// {
|
||||
extend = g: lib.points.withExtend (lib.points.extends g f);
|
||||
};
|
||||
in
|
||||
lib.points.fix' create;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,3 +1,60 @@
|
|||
let
|
||||
lib = import ./../default.nix;
|
||||
in {}
|
||||
in {
|
||||
"fix" = {
|
||||
"calculates a fixed point" = let
|
||||
expected = {
|
||||
original = 0;
|
||||
calculated = 1;
|
||||
};
|
||||
actual = lib.points.fix (
|
||||
self: {
|
||||
original = 0;
|
||||
calculated = self.original + 1;
|
||||
}
|
||||
);
|
||||
in
|
||||
actual == expected;
|
||||
};
|
||||
|
||||
"fix'" = {
|
||||
"allows unfixing a fixed point" = let
|
||||
expected = {
|
||||
original = 0;
|
||||
calculated = 6;
|
||||
};
|
||||
result = lib.points.fix' (
|
||||
self: {
|
||||
original = 0;
|
||||
calculated = self.original + 1;
|
||||
}
|
||||
);
|
||||
actual = result.__unfix__ {
|
||||
original = 5;
|
||||
};
|
||||
in
|
||||
actual == expected;
|
||||
};
|
||||
|
||||
"extends" = {
|
||||
"overlays two functions' return values" = let
|
||||
first = self: previous: {
|
||||
z = 3;
|
||||
};
|
||||
|
||||
second = self: {
|
||||
y = 2;
|
||||
};
|
||||
|
||||
expected = {
|
||||
y = 2;
|
||||
z = 3;
|
||||
};
|
||||
|
||||
actual = lib.points.extends first second {
|
||||
x = 1;
|
||||
};
|
||||
in
|
||||
actual == expected;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -533,12 +533,12 @@ lib: {
|
|||
};
|
||||
};
|
||||
|
||||
## A type that allows a package (derivation or store path).
|
||||
## A type that allows a derivation (or store path).
|
||||
##
|
||||
## @type Attrs
|
||||
package = lib.types.create {
|
||||
name = "Package";
|
||||
description = "package";
|
||||
derivation = lib.types.create {
|
||||
name = "Derivation";
|
||||
description = "derivation";
|
||||
check = value: lib.packages.isDerivation value || lib.paths.validate.store value;
|
||||
merge = location: definitions: let
|
||||
merged = lib.options.merge.one location definitions;
|
||||
|
|
29
potluck/default.nix
Normal file
29
potluck/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
lib ? import ./../lib,
|
||||
foundation ? import ./../foundation {system = "i686-linux";},
|
||||
}: let
|
||||
modules = import ./src/modules.nix;
|
||||
|
||||
result = lib.modules.run {
|
||||
modules =
|
||||
modules
|
||||
++ [
|
||||
{
|
||||
__file__ = ./default.nix;
|
||||
|
||||
options.aux.packages.foundation = {
|
||||
raw = lib.options.create {
|
||||
type = lib.types.attrs.of lib.types.package;
|
||||
internal = true;
|
||||
description = "The foundational packages used to construct the larger package set.";
|
||||
};
|
||||
};
|
||||
|
||||
config.aux.packages.foundation = {
|
||||
raw = foundation;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
in
|
||||
result.config.exported
|
20
potluck/flake.nix
Normal file
20
potluck/flake.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
inputs = {
|
||||
lib = {
|
||||
url = "path:../lib";
|
||||
};
|
||||
|
||||
foundation = {
|
||||
url = "path:../foundation";
|
||||
inputs.lib.follows = "lib";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = inputs: let
|
||||
exports = import ./default.nix {
|
||||
lib = inputs.lib.lib;
|
||||
foundation = inputs.foundation.packages.i686-linux;
|
||||
};
|
||||
in
|
||||
exports;
|
||||
}
|
5
potluck/src/exports/default.nix
Normal file
5
potluck/src/exports/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
includes = [
|
||||
./packages.nix
|
||||
];
|
||||
}
|
15
potluck/src/exports/packages.nix
Normal file
15
potluck/src/exports/packages.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
}: let
|
||||
in {
|
||||
options = {
|
||||
exports.packages = lib.options.create {
|
||||
default.value = {};
|
||||
};
|
||||
|
||||
exported.packages = lib.options.create {
|
||||
default.value = {};
|
||||
};
|
||||
};
|
||||
}
|
1
potluck/src/modules.nix
Normal file
1
potluck/src/modules.nix
Normal file
|
@ -0,0 +1 @@
|
|||
[]
|
Loading…
Reference in a new issue