Commit graph

198 commits

Author SHA1 Message Date
lassulus
0661bb800c types table: add deprecation warning 2024-02-17 05:31:02 +01:00
lassulus
c13d481b78 hybrid-mbr: cleanup test, wait for udev after paritioning 2024-02-17 04:06:51 +00:00
danjujan
f7424625dc
Rework Hybrid MBR https://github.com/nix-community/disko/pull/168 (#508)
Add hybrid MBR functionality to the gpt type
2024-01-26 21:59:23 +01:00
Ivan Shapovalov
036d480ae8 lib/types/gpt: do not hard-code alignment to 2048 sectors
On 4Kn disks, 2048-sector alignment is equivalent to 8 MiB which is
excessive. Moreover, there is no point in specifying _any_ alignment
at all because sgdisk defaults to 1 MiB already.

Fixes #497.
2024-01-14 11:28:10 +00:00
Wim de With
f78b6498f6 make-disk-image: optionally include ZFS module in kernel 2024-01-12 15:58:58 +00:00
Wim de With
b4afc8bab8 make-disk-image: set image format explicitly
QEMU warns if format=raw is implied, and protects block 0 from getting
overwritten.
2024-01-12 15:54:48 +00:00
Wim de With
c38f369ee4 make-disk-image: umount filesystems after install
The vmTools in nixpkgs shuts the VM down with poweroff -f, which does
not cleanly umount the filesystems. This may lead to filesystem
corruption on the newly created image.
2024-01-12 15:54:48 +00:00
misumisumi
fa5db12d76 zfs: Tolerate no mountable dataset 2024-01-11 23:54:13 +00:00
r-vdp
aef9a509db lib/types/gpt: accept GUID type to set the partition type
See [the wikipedia article on GUID types][wiki_guid]
and the sgdisk man page on `--typecode`.

[wiki_guid]: https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
2024-01-03 21:55:10 +00:00
0xadk
f772d2045e luks: apply flags set in config.settings 2024-01-01 01:16:28 +00:00
Michael Hoang
ce3b896151 zfs: respect canmount
Also refactor `zpool` type to use `zfs_fs` to construct the root dataset
for the zpool, which means we no longer need to duplicate the dataset
create and mount logic inside the `zpool` type.
2024-01-01 01:09:11 +00:00
Michael Hoang
2791cedcba zpool: only unmount when root dataset is mounted
Fixes #486
2024-01-01 01:09:11 +00:00
Michael Hoang
9f9ff673d1 zpool: fix default dataset getting shadowed
If the zpool's root dataset is not the rootfs and gets mounted on
creation, the actual rootfs will get mounted later and shadow the
current mountpoint.

Running `zfs unmount` is the easiest way to unmount the zpool's root
dataset on creation without messing up the value of the `mountpoint`
setting.
2023-12-19 23:49:30 +11:00
matthewcroughan
4c4634bbcb make-disk-image: allow extra dependencies to be passed into image builder 2023-12-14 14:24:37 +00:00
matthewcroughan
bb75ad0b1d make-disk-image: inherit kernel from nixosConfiguration 2023-12-14 14:05:13 +00:00
matthewcroughan
d5cf2e3d61 lib/types/gpt.nix: default = [] -> default = {}
This must have accidentally creeped in during a refactor
2023-12-14 13:55:39 +00:00
matthewcroughan
bd8fbc3f27 make-disk-image: make memSize configurable per disk
Sometimes the VM builder can run out of memory and fail to allocate memory when installing the system toplevel
2023-12-13 15:02:45 +00:00
Ctem
169e99dc3d fix: create btrfs subvolume parent directories
Fixes #409
2023-12-13 14:58:36 +00:00
Jörg Thalheim
1144887c6f lvm: update kernel modules when creating raid 2023-12-06 23:28:45 +00:00
Jörg Thalheim
3cb78c93e6 swap: don't activate random encrypted swap files
This requires more code and is not implemented just now.
2023-11-25 15:47:29 +00:00
Andrew Marshall
2d7d77878c Implement preMountHook & postMountHook
These options previously existed but had no effect. Now they are
implemented. They only affect mount during disko’s filesystem creation,
not during any later mounts.

Adding test case to existing “complex” example and test mostly because
couldn’t think of any better place to put it.
2023-11-12 09:36:50 +00:00
Janik H
4fec5f515c make-disk-image: make generating the image more efficent 2023-11-11 16:14:15 +01:00
Janik H
b6fb19891f make-disk-image: add --build-memory 2023-11-11 16:14:15 +01:00
Janik H
da38eb67aa make-disk-image: improve --help 2023-11-11 16:14:15 +01:00
Aleksander Heintz
72bc152626 add btrfs swap support 2023-11-08 22:36:40 +00:00
Felix Buehler
548962c50b luks: use allowDiscards option 2023-11-04 12:09:41 +00:00
williamvds
4122a18340 Fix read shellcheck warning SC2162
Use `-r` to avoid mangling backslashes, use `IFS=` to not discard leading and
trailing whitespace.
2023-10-22 17:30:12 +00:00
Maximilian Bosch
e738cac18e luks: fix interactive mount
Before that it was only attempted to unlock luks with the key from
`$password`, however that variable didn't exist before.
2023-10-13 20:52:36 +00:00
lassulus
0d39ae5a5b types luks: add password prompt 2023-10-02 16:57:23 +00:00
Jörg Thalheim
b18f43a9c2 luks: don't leak secret in debug logs 2023-09-27 05:52:36 +00:00
lassulus
2bf4fc166b flake: deprecate .lib.lib 2023-09-26 14:00:14 +00:00
lassulus
d48930701c lib.makeDiskImages: also execute postVM 2023-09-26 13:29:13 +00:00
Janik H
fbfd7567c2 make-disk-image: allow secrets-pre-install but after portioning 2023-09-25 16:45:37 +00:00
cvoges12
4a4d77a9ae added raid5 and raid6 to lvm 2023-09-25 14:09:47 +00:00
Sam Hug
a14a3fb0a8 zfs_volume: fix /dev/zvol/ symlink race 2023-09-25 08:57:40 +00:00
lassulus
98a6ab9b52 make-disk-image: fix pre/post files with empty glob 2023-09-22 10:56:30 +00:00
lassulus
9f29cedac7 rename makeDiskImage -> makeDiskImages 2023-09-18 12:16:33 +00:00
Jörg Thalheim
9ab96378f8 reformat tree 2023-09-17 04:43:25 +00:00
David Arnold
0faae8adf6 fix: avoid external probing effects from other devices 2023-09-15 20:04:52 +00:00
Rudolf Vesely
8aa6ec5ff2 Changing how to open LUKS. 2023-09-15 07:39:16 +00:00
Rudolf Vesely
91af5b4a53 Add extra args into swap. 2023-09-14 17:02:49 +00:00
lassulus
689873ae4f types *: run udevadm settle after partprobe 2023-09-13 22:07:35 +00:00
Rudolf Vesely
38daf3c84a Specify alignment for sgdisk. 2023-09-13 21:53:35 +00:00
lassulus
79785c1cfc add pkgs.parted where partprobe is needed 2023-09-12 09:45:57 +00:00
lassulus
7036bb8b30 disk-deactivate: execute directly instead of echoing script 2023-09-12 08:41:56 +00:00
Rudolf Vesely
fc6f863fe1 Fix problem with missing part. labels. 2023-09-11 19:42:40 +00:00
DavHau
321d75becb types/zpool: use enum type for mode 2023-09-04 23:02:33 +02:00
Jörg Thalheim
ecfb74e5cf remove another instance of hostId 2023-09-02 17:55:49 +00:00
Jörg Thalheim
a4bf32f6f0
Merge pull request #341 from nix-community/zfs-hostid
do not set networking.hostId in vm tests by default
2023-09-02 18:41:18 +02:00
Jörg Thalheim
c4f2de908d fix evaluation of checks on non-x86_64-linux
run nix fmt
2023-09-02 18:37:01 +02:00
Jörg Thalheim
9de99e174c run nix-fmt 2023-09-02 18:08:41 +02:00
Jörg Thalheim
de50df482e do not set networking.hostId in vm tests by default
This will conflict with the user defaults otherwise
2023-09-02 14:16:18 +02:00
Florian Engel
bf50636a65 Remove trialing newline in passwordFile 2023-08-16 15:19:21 +00:00
Florian Engel
3eb703b7bc Rename keyFile to passwordFile and dedeprecate 2023-08-16 15:19:21 +00:00
Jörg Thalheim
358b87fd44 make tests risv64 compatible 2023-08-13 18:30:15 +00:00
Jörg Thalheim
241c878d4b drop deprecated boot.initrd.services.swraid.enable option 2023-08-11 08:45:46 +00:00
Jörg Thalheim
b32f0e2876 apply treefmt 2023-08-11 08:45:46 +00:00
ktrinh-anduril
ceabbec315
Added missing dependency to destroyScript (#318)
* Added bash to destroScript dep

* Added jq directly as dep for destroyScript
2023-08-10 22:29:40 +02:00
lassulus
32e7d56c08 make-disk-image: get nixos-install from the instantiated system 2023-08-10 15:08:59 +02:00
lassulus
491e567d47 tests: enable swraid, add luks-on-mdadm test 2023-08-10 11:03:58 +00:00
lassulus
ab5f8eea75 make-disk-image: add impure variant 2023-08-07 15:57:14 +00:00
Jörg Thalheim
493b347d8f disko: drop binPrefix when building destroyScript
This seems to cause eval errors and I also don't know where this is supposed to come from
2023-08-06 16:28:59 +00:00
a-kenji
4015740375 fix: typos 2023-07-30 17:43:54 +00:00
lassulus
5e253d949f makeDiskImage: add extraPostVM arg 2023-07-28 12:43:42 +00:00
lassulus
8edfd2295c fixup! types disk: add imageSize for makeDiskImage 2023-07-28 12:43:42 +00:00
lassulus
578ad4ef34 types disk: add imageSize for makeDiskImage 2023-07-28 12:43:42 +00:00
lassulus
a8834f94f3 lib: add makeDiskImage 2023-07-28 12:43:42 +00:00
lassulus
5c5279567f types mdadm: enable swraid 2023-07-28 12:43:42 +00:00
lassulus
0e40d07f86 lib/tests: cleanup 2023-07-28 12:43:42 +00:00
lassulus
0d2ae00b00 testLib.makeDiskoTest: remove base & minimal profile 2023-07-28 12:43:42 +00:00
rogarb
140edd2d01 fix(btrfs): automatic setting of fileSystems
Subvolumes without a mountpoint shouldn't be declared as fileSystems.
2023-07-27 08:55:04 +00:00
rogarb
818207b99b fix(btrfs): add warning for subvolume mounts 2023-07-27 08:55:04 +00:00
rogarb
4f1cc11c51 fix(btrfs): subvolume mount behaviour
Since subvolumes appear automatically when their parent is mounted, no
action is required until the user wants them to be mounted somewhere
else.
This allows access to the volume manager capabilities of BTRFS.
2023-07-27 08:55:04 +00:00
Jared Baur
5b19fb2e74 Fix msdos partition table creation
The partition fs-type was specified twice on partition creation when the
msdos partition table type is used. Fix this to only be specified once.
2023-07-25 09:44:19 +00:00
rogarb
78eee2c7b2
fix(luks): type error with keyfile size/offset 2023-07-21 23:11:32 +02:00
lassulus
7a37b47634 lib makeDiskoTest: create -> format 2023-07-21 14:25:51 +02:00
lassulus
737a21794c lib makeDiskoTest: set networking.hostId to non null value 2023-07-20 21:51:54 +02:00
lassulus
1ddcff717c module: pass makeTest and eval-config to diskoLib 2023-07-20 21:32:53 +02:00
lassulus
2800cf502a tests cli: use direct mode 2023-07-20 19:17:11 +02:00
lassulus
2b728ffe02 libTests prepareDisks: set grub.devices to nodev if empty 2023-07-20 19:03:26 +02:00
lassulus
4df1400b38 makeDiskoTest: remove deprecated grub-devices 2023-07-20 18:31:53 +02:00
lassulus
fc98920ef5 lib makeDiskoTest: use systemd-boot if efi is enabled 2023-07-20 18:31:17 +02:00
lassulus
815d018e2f lib makeDiskoTest: allow passing of extendModules 2023-07-20 18:30:55 +02:00
lassulus
97b09a791f lib toplevel._scripts: set mountScriptNoDeps in correct namespace 2023-07-20 18:05:23 +02:00
lassulus
260c0023db types gpt: set grub.devices automatically 2023-07-20 18:04:41 +02:00
lassulus
774ce7df25 types disk: cleanup name 2023-07-19 19:07:40 +00:00
Sandro Jäckel
b7f3ee8e14 zpool: deduplicate root mount option 2023-07-19 19:07:40 +00:00
lassulus
9191c0ed48 types mdadm: fix typo 2023-07-19 19:07:40 +00:00
lassulus
480d61c3f7 lib: rename umount to destroy 2023-07-19 19:07:40 +00:00
lassulus
04452cfd2b tests: refactor to not use args and to use gpt type 2023-07-19 19:07:40 +00:00
lassulus
c77e66cea1 types swap: check real path of the device before mount 2023-07-19 19:07:40 +00:00
lassulus
96815862d8 types.mdadm: zap raid after creation 2023-07-19 19:07:40 +00:00
lassulus
715c211dd7 testLib.makeDiskoTest: split extraConfig into nixos-config, extraSystemConfig & extraInstallerConfig 2023-07-19 19:07:40 +00:00
lassulus
056637d3c9 move tests/lib.nix into diskoLib.testLib 2023-07-19 19:07:40 +00:00
lassulus
cdaff66b57 lib: refactor outputs into toplevel 2023-07-19 19:07:40 +00:00
arch
7eb0940839 add additionalKeyFiles option to luks 2023-07-14 08:51:17 +00:00
rogarb
68eb09b183 feat(luks): Add settings submodule
The settings submodule mirrors the options which can be set for
boot.initrd.luks.devices.<name>.

The keyFile option is now deprecated and should be declared under settings.
2023-07-13 09:17:50 +00:00
lassulus
86e90d0fdb types luks: pass keyFile to nixos config 2023-07-10 19:04:15 +02:00
Technofab
3200614b9f fix(swap): rename dev to config.device
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
2023-07-04 21:35:38 +00:00
Technofab
57622c4a68 feat(swap): add resumeDevice option which sets boot.resumeDevice 2023-07-04 21:35:38 +00:00