There are still two issues: The type of "topology" in zpool is not
created, and gpt_partitions_options_hybrid_options for some reason
contains a `_create: "_create"` entry. This is an issue with the nix
evaluation, though, not with the code generator.
I'm fixing these issues manually to have some state I can start working
from.
This requires a lot of restructuring. The .nix files have to be bundled
together with the python files, so they need to follow python's module
system structure.
I ran `nix-fast-build --no-link -j 2 --eval-workers 3 --flake .#checks`
and it succeeded, so I'm reasonably confident I changed everything as
required.
Fixes#745
This adds a script to create a release. Running it will create two
commits that would appear like this in `git log --oneline`:
67b5fff (master) release: reset released flag
0b808f3 (tag: v1.8.1) release: v1.8.1
100d2f3 docs: last change before release
It also re-creates the `version.nix` file, which is used by the flake
to determine the final version the disko CLI will print.
If `disko --version` is run from exactly the commit tagged `v1.8.1`, it
will print `1.8.1`. If it is run from any commit past that (like
master), it will print `1.8.1-67b5fff`, and if it is run from a local
folder with uncommitted changes, it will print `1.8.1-67b5fff-dirty`.
nixos deduplicate imports according to files.
By importing a file instead of an anonymous function,
we can import the same file multiple times without creating conflicts.
The option `disko.devices.lvm_vg.<name>.lvs.<name>.priority` depends on
a different option that's unset by default breaking the manual build
like this:
… while evaluating the attribute 'optionalValue.value'
at /nix/store/lwyjz70qh12nq6cb7fixl85vryzxqm3c-source/lib/modules.nix:856:5:
855|
856| optionalValue =
| ^
857| if isDefined then { value = mergedValue; }
… while evaluating a branch condition
at /nix/store/lwyjz70qh12nq6cb7fixl85vryzxqm3c-source/lib/modules.nix:857:7:
856| optionalValue =
857| if isDefined then { value = mergedValue; }
| ^
858| else {};
(stack trace truncated; use '--show-trace' to show the full trace)
error: The option `disko.devices.lvm_vg.<name>.lvs.<name>.size' is used but not defined.
This is especially noticeable when using `documentation.nixos.includeAllModules` locally.
Fixed the issue itself by adding a `defaultText` and added the
`disko-doc` job to the `checks` output so that CI hopefully catches this
from now on.
disko-install combines disko and nixos-install into a single command.
Example usage:
sudo ./disko-install --flake /someflake#eva --disk sda /dev/zvol/zroot/test
Apply standard formatting and some statix conventions using;
```sh
nixpkgs-fmt **.nix && statix fix .
```
With the intent of making contribution a bit easier and reducing mental
load in hand formatting (in the same vein as [black]).
[black]: https://github.com/psf/black#the-uncompromising-code-formatter