feat: add inputs to callPackage

This commit is contained in:
Jake Hamilton 2022-12-28 23:18:18 -08:00
parent 2bc7d5fab3
commit 07d478036c
No known key found for this signature in database
GPG key ID: 9762169A1B35EA68
4 changed files with 38 additions and 6 deletions

View file

@ -38,7 +38,7 @@ cd config
2. Create a new flake with one of the templates from [@snowfallorg/templates](https://github.com/snowfallorg/templates).
| Name | Description |
|-----------|---------------------------------------------------|
| --------- | ------------------------------------------------- |
| `system` | A NixOS system and modules ready to modify. |
| `package` | A Nix Flake that exports packages and an overlay. |
| `module` | A Nix Flake that exports NixOS modules. |
@ -114,7 +114,7 @@ inputs.snowfall-lib.mkFlake {
};
```
See [`lib.mkFlake`](#lib.mkflake) for information on how to configure your flake's outputs.
See [`lib.mkFlake`](#libmkflake) for information on how to configure your flake's outputs.
## `lib`
@ -701,8 +701,11 @@ Result:
File system utilities.
#### `lib.snowfall.fs.is-file-kind`
#### `lib.snowfall.fs.is-symlink-kind`
#### `lib.snowfall.fs.is-directory-kind`
#### `lib.snowfall.fs.is-unknown-kind`
Matchers for file kinds. These are often used with `readDir`.
@ -1066,6 +1069,24 @@ Result:
false
```
#### `lib.snowfall.system.is-virtual`
Check whether a named system is virtual.
Type: `String -> Bool`
Usage:
```nix
is-linux "x86_64-iso"
```
Result:
```nix
true
```
#### `lib.snowfall.system.get-virtual-system-type`
Get the virtual system type of a system target.

View file

@ -27,6 +27,7 @@ in
drv = pkgs.callPackage package {
inherit channels;
lib = snowfall-lib.internal.system-lib;
inputs = snowfall-lib.flake.without-src user-inputs;
};
};
packages-metadata = builtins.map create-package-metadata user-packages;

View file

@ -25,7 +25,9 @@ in
{
name = builtins.unsafeDiscardStringContext (snowfall-lib.path.get-parent-directory shell);
drv = channels.nixpkgs.callPackage shell {
inherit channels;
lib = snowfall-lib.internal.system-lib;
inputs = snowfall-lib.flake.without-src user-inputs;
};
};
shells-metadata = builtins.map create-shell-metadata user-shells;

View file

@ -32,6 +32,13 @@ in
# result: false
is-linux = hasInfix "linux";
# Check whether a named system is virtual.
# Type: String -> Bool
# Usage: is-virtual "x86_64-iso"
# result: true
is-virtual = target:
(get-virtual-system-type target) != "";
# Get the virtual system type of a system target.
# Type: String -> String
# Usage: get-virtual-system-type "x86_64-iso"
@ -161,8 +168,9 @@ in
modules = [ path ] ++ modules;
specialArgs = specialArgs // {
inherit system name systems lib;
inherit target system name systems lib;
virtual = (get-virtual-system-type target) != "";
inputs = snowfall-lib.flake.without-src user-inputs;
};
};