This commit is contained in:
lassulus 2024-07-21 16:44:30 +02:00
parent e8e8d9a3a9
commit 6208b31a73
5 changed files with 49 additions and 45 deletions

View file

@ -41,9 +41,9 @@ recursive layouts.
Disko doesn't require installation: it can be run directly from nix-community
repository. The [Quickstart Guide](./docs/quickstart.md) documents how to run
Disko in its simplest form when installing NixOS. Alternatively, you can
also use the new [disko-install](./docs/disko-install.md) tool, which combines
the `disko` and `nixos-install` into one step.
Disko in its simplest form when installing NixOS. Alternatively, you can also
use the new [disko-install](./docs/disko-install.md) tool, which combines the
`disko` and `nixos-install` into one step.
For information on other use cases, including upgrading from an older version of
**disko**, using **disko** without NixOS and downloading the module, see the

View file

@ -15,7 +15,8 @@ existing partitions. Dual booting with other operating systems is not supported.
### Step 1: Choose a Disk Configuration
Real-world templates are provided in this [repository](https://github.com/nix-community/disko-templates).
Real-world templates are provided in this
[repository](https://github.com/nix-community/disko-templates).
More disk layouts for all filesystems can be also found in the
[example](https://github.com/nix-community/disko/tree/master/example) directory

View file

@ -45,7 +45,8 @@ in
};
priority = lib.mkOption {
type = lib.types.int;
default = if partition.config.size or "" == "100%" then
default =
if partition.config.size or "" == "100%" then
9001
else if partition.config.type == "EF02" then
# Boot partition should be created first, because some BIOS implementations require it.

View file

@ -59,7 +59,8 @@
# important to prevent accidental shadowing of mount points
# since (create order != mount order)
# -p creates parents automatically
default = let
default =
let
createOptions = (lib.optionalAttrs (config.mountpoint != null) { mountpoint = config.mountpoint; }) // config.options;
# All options defined as PROP_ONETIME or PROP_ONETIME_DEFAULT in https://github.com/openzfs/zfs/blob/master/module/zcommon/zfs_prop.c
onetimeProperties = [
@ -74,7 +75,8 @@
];
updateOptions = builtins.removeAttrs config.options onetimeProperties;
mountpoint = config.options.mountpoint or config.mountpoint;
in ''
in
''
if ! zfs get type ${config._name} >/dev/null 2>&1; then
zfs create -up ${config._name} \
${lib.concatStringsSep " " (lib.mapAttrsToList (n: v: "-o ${n}=${v}") (createOptions))}