<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.htw.stura-dresden.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=198.167.207.193</id>
	<title>Wiki StuRa HTW Dresden - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.htw.stura-dresden.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=198.167.207.193"/>
	<link rel="alternate" type="text/html" href="https://wiki.htw.stura-dresden.de/index.php?title=Spezial:Beitr%C3%A4ge/198.167.207.193"/>
	<updated>2026-04-16T13:11:09Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.htw.stura-dresden.de/index.php?title=Diskussion:Install-Party/Linux_Mint_Debian_Edition&amp;diff=44663</id>
		<title>Diskussion:Install-Party/Linux Mint Debian Edition</title>
		<link rel="alternate" type="text/html" href="https://wiki.htw.stura-dresden.de/index.php?title=Diskussion:Install-Party/Linux_Mint_Debian_Edition&amp;diff=44663"/>
		<updated>2024-05-28T23:48:36Z</updated>

		<summary type="html">&lt;p&gt;198.167.207.193: Neuer Abschnitt /* LMDE 6 meets ZFS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation mit Verschlüsselung ==&lt;br /&gt;
&lt;br /&gt;
; Fail!&lt;br /&gt;
: LMDE&amp;amp;nbsp;3 meets https://gitlab.com/pepa65/lmdescrypt/raw/master/lmdescrypt ?&lt;br /&gt;
&lt;br /&gt;
== (default) disk layout ==&lt;br /&gt;
&lt;br /&gt;
; Calamares meets Btrfs:&lt;br /&gt;
&lt;br /&gt;
(nach der manuellen Partitionierung und) Angabe beim Programm für die Installation&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/fstab: static file system information.&lt;br /&gt;
#&lt;br /&gt;
# Use &#039;blkid&#039; to print the universally unique identifier for a device; this may&lt;br /&gt;
# be used with UUID= as a more robust way to name devices that works even if&lt;br /&gt;
# disks are added and removed. See fstab(5).&lt;br /&gt;
#&lt;br /&gt;
# &amp;lt;file system&amp;gt;             &amp;lt;mount point&amp;gt;  &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;  &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
UUID=8f303b38-b7e7-4781-aa8e-f1559b5504d2 /boot          ext4    defaults,noatime 0 2&lt;br /&gt;
UUID=33436381-7031-48be-8785-a48061fcabd7 /              btrfs   subvol=@,defaults,noatime,space_cache,autodefrag 0 1&lt;br /&gt;
UUID=33436381-7031-48be-8785-a48061fcabd7 /home          btrfs   subvol=@home,defaults,noatime,space_cache,autodefrag 0 2&lt;br /&gt;
UUID=641494b3-d3a2-4c57-b022-cba4d00603f5 swap           swap    defaults,noatime 0 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/default/grub&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet resume=UUID=641494b3-d3a2-4c57-b022-cba4d00603f5&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/crypttab&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/crypttab: mappings for encrypted partitions.&lt;br /&gt;
#&lt;br /&gt;
# Each mapped device will be created in /dev/mapper, so your /etc/fstab&lt;br /&gt;
# should use the /dev/mapper/&amp;lt;name&amp;gt; paths for encrypted devices.&lt;br /&gt;
#&lt;br /&gt;
# See crypttab(5) for the supported syntax.&lt;br /&gt;
#&lt;br /&gt;
# NOTE: Do not list your root (/) partition here, it must be set up&lt;br /&gt;
#       beforehand by the initramfs (/etc/mkinitcpio.conf). The same applies&lt;br /&gt;
#       to encrypted swap, which should be set up with mkinitcpio-openswap&lt;br /&gt;
#       for resume support.&lt;br /&gt;
#&lt;br /&gt;
# &amp;lt;name&amp;gt;               &amp;lt;device&amp;gt;                         &amp;lt;password&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== btrfs meets luks ==&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
####vb&lt;br /&gt;
/dev/sda1               /boot   btrfs   defaults,errors=remount-ro      0    1&lt;br /&gt;
/dev/mapper/vg-lv--swap none    swap    sw                              0    0&lt;br /&gt;
/dev/mapper/vg-lv--root /       btrfs   defaults,errors=remount-ro      0    1&lt;br /&gt;
/dev/mapper/vg-lv--home /home   btrfs   defaults,compress=lzo           0    1&lt;br /&gt;
####ve&lt;br /&gt;
# UNCONFIGURED FSTAB FOR BASE SYSTEM&lt;br /&gt;
proc    /proc   proc    defaults        0       0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/crypttab&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
####vb&lt;br /&gt;
k-ot    UUID=8765dcba-ab12-cd34-ef56-123456abcdef       none    luks&lt;br /&gt;
####ve&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://www.howtoforge.com/a-beginners-guide-to-btrfs&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/default/grub&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
####vb&lt;br /&gt;
#GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet splash&amp;quot;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet splash kopt=root=/dev/mapper/vg-lv--root&amp;quot;&lt;br /&gt;
####ve&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== sbin fehlt beim PATH ==&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;dpkg -i linux-UFRII-drv-v500-de/64-bit_Driver/Debian/cnrdrvcups-ufr2-uk_5.00-1_amd64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Beachten Sie: PATH von root sollte normalerweise /usr/local/sbin, /usr/sbin und /sbin enthalten&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[LMDE]] 4 mit verschlüsselten Massenspeicher und btrfs subvolumes (möglichst noch als mirror von 2 Geräten für Massenspeicher) ==&lt;br /&gt;
&lt;br /&gt;
* https://www.paritybit.ca/blog/debian-with-btrfs&lt;br /&gt;
* https://forum.manjaro.org/t/116534&lt;br /&gt;
* https://ghost.cloud3cola.com/linux-mint-18-3-with-btrfs-luks/&lt;br /&gt;
* https://mutschler.eu/linux/install-guides/pop-os-btrfs/&lt;br /&gt;
* https://gist.github.com/ansulev/7cdf38a3d387599adf9addd248b09db8&lt;br /&gt;
&lt;br /&gt;
* https://forums.linuxmint.com/viewtopic.php?t=100659&lt;br /&gt;
* https://forums.linuxmint.com/viewtopic.php?t=67924&lt;br /&gt;
** https://forums.linuxmint.com/viewtopic.php?f=197&amp;amp;t=67924&lt;br /&gt;
* https://forums.linuxmint.com/viewtopic.php?t=314829&lt;br /&gt;
&lt;br /&gt;
* https://community.linuxmint.com/tutorial/view/2438&lt;br /&gt;
&lt;br /&gt;
== LMDE 6 &amp;quot;anderes Dateisystem&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
==== Vorkenntnisse vor LMDE 6 ====&lt;br /&gt;
&lt;br /&gt;
: [[website:members/PaulRiegel/os/lmde/installation-lmde-3-mit-verschluesslung]]&lt;br /&gt;
&lt;br /&gt;
==== Untersuchung Installation LMDE 6 ====&lt;br /&gt;
&lt;br /&gt;
===== standardmäßige Installation mit Verschlüsselung ext4 LMDE 6 =====&lt;br /&gt;
&lt;br /&gt;
; nach dem Neustart in die Installation:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/crypttab&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# &amp;lt;target name&amp;gt;	&amp;lt;source device&amp;gt;		&amp;lt;key file&amp;gt;	&amp;lt;options&amp;gt;&lt;br /&gt;
lvmlmde   UUID=3c96337f-bb08-4f9d-ba25-fe5d23afd680   none   luks,discard,tries=3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#### Static Filesystem Table File&lt;br /&gt;
proc	/proc	proc	defaults	0	0&lt;br /&gt;
# /dev/mapper/lvmlmde-root&lt;br /&gt;
UUID=ba9df8e4-a4fb-42f6-b3ef-682d8c3edd95 /  ext4 defaults 0 1&lt;br /&gt;
# /dev/mapper/lvmlmde-swap&lt;br /&gt;
UUID=9e412642-d11a-40f2-9c59-03f9a51f5e28 none   swap sw 0 0&lt;br /&gt;
# /dev/sda2&lt;br /&gt;
UUID=22a7ba7f-0999-43d8-90f2-34c85af6f167 /boot  ext4 defaults 0 1&lt;br /&gt;
# /dev/sda1&lt;br /&gt;
UUID=C002-8E9D /boot/efi  vfat defaults 0 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/default/grub.d/61_live-installer.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
GRUB_CMDLINE_LINUX=&amp;quot;cryptdevice=UUID=3c96337f-bb08-4f9d-ba25-fe5d23afd680:lvmlmde root=/dev/mapper/lvmlmde-root resume=/dev/mapper/lvmlmde-swap&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== standardmäßige Installation ohne Verschlüsselung btrfs LMDE 6 =====&lt;br /&gt;
&lt;br /&gt;
; während der Installation:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
udev on /dev type devtmpfs (rw,nosuid,relatime,size=3743316k,nr_inodes=935829,mode=755,inode64)&lt;br /&gt;
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)&lt;br /&gt;
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=757356k,mode=755,inode64)&lt;br /&gt;
/dev/sdb1 on /run/live/medium type iso9660 (ro,noatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8)&lt;br /&gt;
/dev/loop0 on /run/live/rootfs/filesystem.squashfs type squashfs (ro,noatime,errors=continue)&lt;br /&gt;
tmpfs on /run/live/overlay type tmpfs (rw,noatime,mode=755,inode64)&lt;br /&gt;
overlay on / type overlay (rw,noatime,lowerdir=/run/live/rootfs/filesystem.squashfs/,upperdir=/run/live/overlay/rw,workdir=/run/live/overlay/work,redirect_dir=on)&lt;br /&gt;
tmpfs on /usr/lib/live/mount type tmpfs (rw,nosuid,nodev,noexec,relatime,size=757356k,mode=755,inode64)&lt;br /&gt;
/dev/sdb1 on /usr/lib/live/mount/medium type iso9660 (ro,noatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8)&lt;br /&gt;
/dev/loop0 on /usr/lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime,errors=continue)&lt;br /&gt;
tmpfs on /usr/lib/live/mount/overlay type tmpfs (rw,noatime,mode=755,inode64)&lt;br /&gt;
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)&lt;br /&gt;
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64)&lt;br /&gt;
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)&lt;br /&gt;
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)&lt;br /&gt;
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12771)&lt;br /&gt;
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)&lt;br /&gt;
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
ramfs on /run/credentials/systemd-sysusers.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)&lt;br /&gt;
ramfs on /run/credentials/systemd-tmpfiles-setup-dev.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)&lt;br /&gt;
ramfs on /run/credentials/systemd-sysctl.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)&lt;br /&gt;
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,inode64)&lt;br /&gt;
ramfs on /run/credentials/systemd-tmpfiles-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)&lt;br /&gt;
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)&lt;br /&gt;
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=757356k,nr_inodes=189339,mode=700,uid=1000,gid=1000,inode64)&lt;br /&gt;
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)&lt;br /&gt;
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)&lt;br /&gt;
/dev/loop0 on /source type squashfs (ro,relatime,errors=continue)&lt;br /&gt;
/dev/sda3 on /target type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=256,subvol=/@)&lt;br /&gt;
/dev/sda3 on /target/home type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=257,subvol=/@home)&lt;br /&gt;
/dev/sda2 on /target/boot type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5,subvol=/)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; nach dem Neustart in die Installation:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/crypttab&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# &amp;lt;target name&amp;gt;	&amp;lt;source device&amp;gt;		&amp;lt;key file&amp;gt;	&amp;lt;options&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#### Static Filesystem Table File&lt;br /&gt;
proc	/proc	proc	defaults	0	0&lt;br /&gt;
# /dev/sda3&lt;br /&gt;
UUID=b84bec73-29b9-4e62-a830-5069650680af	/	btrfs	defaults,subvol=@	00&lt;br /&gt;
UUID=b84bec73-29b9-4e62-a830-5069650680af	/home	btrfs	defaults,subvol=@home	0	0&lt;br /&gt;
# /dev/sda2&lt;br /&gt;
UUID=dea84151-1736-439a-8127-a45f2a7feb75	/boot	btrfs	defaults	0	0&lt;br /&gt;
# /dev/sda1&lt;br /&gt;
UUID=FDD2-C26F	/boot/efi	vfat	defaults	0	1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;s&amp;gt;&amp;lt;code&amp;gt;cat /etc/default/grub.d/61_live-installer.cfg&amp;lt;/code&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Erarbeitung Verschlüsslung und btrfs ====&lt;br /&gt;
&lt;br /&gt;
https://forums.linuxmint.com/viewtopic.php?t=100659&lt;br /&gt;
: meets&lt;br /&gt;
https://linuxmint.com/rel_faye.php&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo live-installer-expert-mode&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;/target&amp;lt;/code&amp;gt; ist die das gewünschte Ziel!&lt;br /&gt;
Alles Nachfolgende wird aber noch mit &amp;lt;code&amp;gt;/mnt/target&amp;lt;/code&amp;gt; angegeben.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/target&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -o subvol=@ /dev/mapper/lvmlmde-root /mnt/target&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/target/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -o subvol=home /dev/mapper/lvmlmde-root /mnt/target/home&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo rsync -avz /run/live/medium/casper/filesystem.squashfs/ /mnt/target/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/loop0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/target/dev&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount --bind /dev /mnt/target/dev&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /dev/pts /mnt/target/dev/pts&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount --bind /dev/pts /mnt/target/dev/pts&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/target/dev/shm&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount --bind /dev/shm /mnt/target/dev/shm&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/target/proc&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount --bind /proc /mnt/target/proc&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/target/sys&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount --bind /sys /mnt/target/sys&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/target/tmp&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount --bind /tmp /mnt/target/tmp&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/target/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cp -f /etc/resolv.conf /mnt/target/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;chroot /mnt/target&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation Debian ====&lt;br /&gt;
und dann Wechsel zu [[LMDE]]&lt;br /&gt;
&lt;br /&gt;
https://forums.linuxmint.com/viewtopic.php?t=404823&lt;br /&gt;
&lt;br /&gt;
== (bevorzugte) Verwendung von zram aktivieren ==&lt;br /&gt;
&lt;br /&gt;
Bei einer standardmäßigen Installation (ohne Verschlüsselung) mit btrfs wird anscheinend keine Partition (und keine Datei) für SWAP erstellt. (Gut! Stattdessen kann - zeitgemäßer - [[wikipedia:en:zram|zram]] verwendet werden.)&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;apt install zram-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;systemctl status zramswap.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;systemctl is-enabled zramswap.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;systemctl is-active zramswap.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
active&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LMDE 6 meets ZFS ==&lt;br /&gt;
&lt;br /&gt;
mit dem Internet verbinden&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;whoami&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mint&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;uname -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Linux mint 6.1.0-12-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.52-1 (2023-09-07) x86_64 GNU/Linux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt -y install ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo systemctl status ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ersetzen vom nicht gesetzen Passwort&lt;br /&gt;
: &amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;ip a&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;ssh mint@321.321.321.321&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>198.167.207.193</name></author>
	</entry>
	<entry>
		<id>https://wiki.htw.stura-dresden.de/index.php?title=Benutzer_Diskussion:PaulRiegel/NixOS&amp;diff=44662</id>
		<title>Benutzer Diskussion:PaulRiegel/NixOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.htw.stura-dresden.de/index.php?title=Benutzer_Diskussion:PaulRiegel/NixOS&amp;diff=44662"/>
		<updated>2024-05-28T13:16:56Z</updated>

		<summary type="html">&lt;p&gt;198.167.207.193: /* 2024-05 Installation /etc/nixos/configuration.nix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== foo rund um die Installation ==&lt;br /&gt;
&lt;br /&gt;
; ZFS:&lt;br /&gt;
&lt;br /&gt;
Neben&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
muss wohl auch noch &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
angegeben werden.&lt;br /&gt;
Das ist für &#039;&#039;solaris porting layer&#039;&#039; [https://github.com/zfsonlinux/spl spl].&lt;br /&gt;
&lt;br /&gt;
running unstable&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  boot.zfs.enableUnstable = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Mic92/dotfiles/tree/master/nixos Mic&#039;s OS] ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Mic92/dotfiles/blob/master/nixos/images/install-iso.nix&lt;br /&gt;
* https://github.com/NixOS/nixpkgs/pull/29426&lt;br /&gt;
* https://d3g5gsiof5omrk.cloudfront.net/nixos/unstable/nixos-18.03pre115461.9e7db9a9f9&lt;br /&gt;
&lt;br /&gt;
== 17.09 meets zfs ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nano /etc/nixos/configuration.nix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nixos-rebuild switch&lt;br /&gt;
&lt;br /&gt;
modprobe zfs&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
fdisk /dev/sda&lt;br /&gt;
&lt;br /&gt;
sgdisk --zap-all /dev/sda&lt;br /&gt;
&lt;br /&gt;
sgdisk -a1 -n2:34:2047  -t2:EF02 /dev/sda&lt;br /&gt;
&lt;br /&gt;
sgdisk     -n1:0:0      -t1:BF01 /dev/sda&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
zpool create -o ashift=12 -o altroot=/mnt rpool /dev/sda2&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=none rpool/root&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=legacy rpool/root/nixos&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=legacy rpool/home&lt;br /&gt;
&lt;br /&gt;
zfs set compression=lz4 rpool/home&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
mount -t zfs rpool/root/nixos /mnt&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/home&lt;br /&gt;
&lt;br /&gt;
mount -t zfs rpool/home /mnt/home&lt;br /&gt;
&lt;br /&gt;
 ___&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
mkfs.ext4 -m 0 -L boot -j /dev/sda1&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/boot&lt;br /&gt;
&lt;br /&gt;
mount /dev/sda2 /mnt/boot&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nixos-generate-config --root /mnt&lt;br /&gt;
&lt;br /&gt;
less /mnt/etc/nixos/hardware-configuration.nix&lt;br /&gt;
&lt;br /&gt;
nano /mnt/etc/nixos/configuration.nix&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nano /mnt/etc/nixos/configuration.nix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Edit this configuration file to define what should be installed on&lt;br /&gt;
# your system.  Help is available in the configuration.nix(5) man page&lt;br /&gt;
# and in the NixOS manual (accessible by running ‘nixos-help’).&lt;br /&gt;
&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports =&lt;br /&gt;
    [ # Include the results of the hardware scan.&lt;br /&gt;
      ./hardware-configuration.nix&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  # Use the GRUB 2 boot loader.&lt;br /&gt;
  boot.loader.grub.enable = true;&lt;br /&gt;
  boot.loader.grub.version = 2;&lt;br /&gt;
  # boot.loader.grub.efiSupport = true;&lt;br /&gt;
  # boot.loader.grub.efiInstallAsRemovable = true;&lt;br /&gt;
  # boot.loader.efi.efiSysMountPoint = &amp;quot;/boot/efi&amp;quot;;&lt;br /&gt;
  # Define on which hard drive you want to install Grub.&lt;br /&gt;
  # boot.loader.grub.device = &amp;quot;/dev/sda&amp;quot;; # or &amp;quot;nodev&amp;quot; for efi only&lt;br /&gt;
        boot.loader.grub.device = &amp;quot;/dev/sda&amp;quot;;&lt;br /&gt;
        boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
####    config.networking.hostId = &amp;quot;70cccxx&amp;quot;;&lt;br /&gt;
####    networking.hostId = &amp;quot;70cccxx&amp;quot;;&lt;br /&gt;
####    networking.hostId = &amp;quot;$hostIdHex&amp;quot;;&lt;br /&gt;
        networking.hostId = &amp;quot;4e98920d&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  networking.hostName = &amp;quot;nixos&amp;quot;; # Define your hostname.&lt;br /&gt;
  networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.&lt;br /&gt;
&lt;br /&gt;
  # Select internationalisation properties.&lt;br /&gt;
  # i18n = {&lt;br /&gt;
  #   consoleFont = &amp;quot;Lat2-Terminus16&amp;quot;;&lt;br /&gt;
  #   consoleKeyMap = &amp;quot;us&amp;quot;;&lt;br /&gt;
  #   defaultLocale = &amp;quot;en_US.UTF-8&amp;quot;;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # Set your time zone.&lt;br /&gt;
  # time.timeZone = &amp;quot;Europe/Amsterdam&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # List packages installed in system profile. To search by name, run:&lt;br /&gt;
  # $ nix-env -qaP | grep wget&lt;br /&gt;
  environment.systemPackages = with pkgs; [&lt;br /&gt;
    wget vim&lt;br /&gt;
        nano&lt;br /&gt;
  ];&lt;br /&gt;
&lt;br /&gt;
  # Some programs need SUID wrappers, can be configured further or are&lt;br /&gt;
  # started in user sessions.&lt;br /&gt;
  # programs.bash.enableCompletion = true;&lt;br /&gt;
  # programs.mtr.enable = true;&lt;br /&gt;
  # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };&lt;br /&gt;
&lt;br /&gt;
  # List services that you want to enable:&lt;br /&gt;
&lt;br /&gt;
  # Enable the OpenSSH daemon.&lt;br /&gt;
  services.openssh.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Open ports in the firewall.&lt;br /&gt;
  # networking.firewall.allowedTCPPorts = [ ... ];&lt;br /&gt;
  # networking.firewall.allowedUDPPorts = [ ... ];&lt;br /&gt;
  # Or disable the firewall altogether.&lt;br /&gt;
  # networking.firewall.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # Enable CUPS to print documents.&lt;br /&gt;
  # services.printing.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable the X11 windowing system.&lt;br /&gt;
  services.xserver.enable = true;&lt;br /&gt;
  services.xserver.layout = &amp;quot;us&amp;quot;;&lt;br /&gt;
  services.xserver.xkbOptions = &amp;quot;eurosign:e&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Enable touchpad support.&lt;br /&gt;
  services.xserver.libinput.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable the KDE Desktop Environment.&lt;br /&gt;
  services.xserver.displayManager.sddm.enable = true;&lt;br /&gt;
  services.xserver.desktopManager.plasma5.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Define a user account. Don&#039;t forget to set a password with ‘passwd’.&lt;br /&gt;
  # users.extraUsers.guest = {&lt;br /&gt;
  #   isNormalUser = true;&lt;br /&gt;
  #   uid = 1000;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # This value determines the NixOS release with which your system is to be&lt;br /&gt;
  # compatible, in order to avoid breaking some software such as database&lt;br /&gt;
  # servers. You should change this only after NixOS release notes say you&lt;br /&gt;
  # should.&lt;br /&gt;
  system.stateVersion = &amp;quot;17.09&amp;quot;; # Did you read the comment?&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nixos-install&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== nixos mit zfs (uefi) ==&lt;br /&gt;
&lt;br /&gt;
1. Folgende Zeile, der configuration.nix des livesystems hinzufuegen:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2.  nixos-rebuild switch&lt;br /&gt;
&lt;br /&gt;
3.  nano /etc/nixos/configuration.nix&lt;br /&gt;
3.1 configuration.nix hinzufuegen: &lt;br /&gt;
         boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&lt;br /&gt;
4. nixos-rebuild switch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. modprobe zfs&lt;br /&gt;
&lt;br /&gt;
6. Partitionierung mit gdisk von sda:&lt;br /&gt;
   6.1 sda1 100MB boot partition mit code ef00&lt;br /&gt;
   6.2 sda2 restliche Platte eine Partition fstyp solaris /home (bf05)&lt;br /&gt;
7. zpool create -o ashift=12 -o altroot=/mnt rpool /dev/sda2&lt;br /&gt;
&lt;br /&gt;
8. zfs create -o mountpoint=none rpool/root&lt;br /&gt;
&lt;br /&gt;
9. zfs create -o mountpoint=legacy rpool/root/nixos&lt;br /&gt;
&lt;br /&gt;
10. zfs create -o mountpoint=legacy rpool/home&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11. zfs set compression=lz4 rpool/home&lt;br /&gt;
&lt;br /&gt;
12. mount -t zfs rpool/root/nixos /mnt&lt;br /&gt;
&lt;br /&gt;
13. mkdir /mnt/home&lt;br /&gt;
&lt;br /&gt;
14. mount -t zfs rpool/home /mnt/home&lt;br /&gt;
&lt;br /&gt;
15. mkfs.vfat /dev/sda1&lt;br /&gt;
&lt;br /&gt;
16. mkdir mnt/boot&lt;br /&gt;
&lt;br /&gt;
17. mount /dev/disk/by-id/&amp;quot;festplattenname&amp;quot;-part1 /mnt/boot&lt;br /&gt;
&lt;br /&gt;
18. nixos-generate-config --root /mnt&lt;br /&gt;
&lt;br /&gt;
19. nano /mnt/etc/nixos/hardware-configuration.nix&lt;br /&gt;
     19.1 sollte enthalten:&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;rpool/root/nixos&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/home&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;rpool/home&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
20. nano /mnt/etc/nixos/configuration.nix&lt;br /&gt;
    20.1 das einfuegen:&lt;br /&gt;
          boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
          networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
21. nixos-install&lt;br /&gt;
&lt;br /&gt;
== Durchführung einer erfolgreichen [https://nixos.wiki/wiki/NixOS_on_ZFS#Encrypted_ZFS Installation mit ZFS mit nativer Verschlüsslung] ==&lt;br /&gt;
: etwa beispielsweise für UEFI&lt;br /&gt;
&lt;br /&gt;
; Herunterladen des Abbildes (iso) von [https://nixos.org/releases/tmp/release-nixos-unstable-small/ NixOS unstable (18.03)]&lt;br /&gt;
&lt;br /&gt;
; Erstellen eines Speichers (USB-Stick) von dem gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
; Starten vom erstellten Speicher für die Installation von NixOS&lt;br /&gt;
&lt;br /&gt;
; Änderung der Konfiguration für die Verwendung von ZFS in der (zentralen) Datei zur Verwaltung von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports = [ &amp;lt;nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix&amp;gt; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	boot.zfs.enableUnstable = true;&lt;br /&gt;
	boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Anwenden der geänderten Konfigutation von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-rebuild switch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Hinzufügen des Moduls vom Kernel für die Verwendung von ZFS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;modprobe zfs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Partitionieren des Massenspeichers des Ziels der Installation&lt;br /&gt;
:* von /dev/sda&lt;br /&gt;
:* beispielsweise mit &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt;&lt;br /&gt;
: Üblicher Weise ist der Massenspeicher &#039;&#039;/dev/sda&#039;&#039;. Aber der Massenspeicher kann auch &#039;&#039;/dev/sdb&#039;&#039; oder anderes nachfolgendes Gerät sein, etwa wenn der Speicher von dem die Installation gestartet wurde &#039;&#039;/dev/sda&#039;&#039; ist.&lt;br /&gt;
:; Partitionieren eines Teils für das Booten (efi)&lt;br /&gt;
:: /dev/sda1 100MB code: ef00 (Boot-Partition)&lt;br /&gt;
:; Partitionieren eines Teils (restlichen) für alle anderen Daten (außer für das Booten (efi)) mit ZFS:&lt;br /&gt;
:: /dev/sda2 restliche Platte fstyp: solaris /home mit code: bf05 erhältlich (Pool)&lt;br /&gt;
&lt;br /&gt;
; Vollständig encrypted Pool anlegen (zroot kann auch anders benannt werden, ashift=12 für 4k Blocksize)&lt;br /&gt;
: &amp;lt;code&amp;gt;zpool create -o ashift=12 -o altroot=&amp;quot;/mnt&amp;quot; -O encryption=aes-256-gcm -O keyformat=passphrase zroot /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Erstellen der Datasets für ZFS&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=none zroot/root&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy -o sync=disabled zroot/root/tmp&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/nixos&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs set compression=lz4 zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Einhängen vom Dataset für ZFS, wo das Betriebssystem NixOS abgelegt sein soll, als Teil vom Ziel der Installation&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/nixos /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Unter /mnt die Ordner home, tmp und boot anlegen&lt;br /&gt;
: &amp;lt;code&amp;gt;mkdir /mnt/{home,tmp,boot}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Dateisystem (vfat) für die Boot-Partition /dev/sda1 festlegen und Mount von /dev/sda1 nach /mnt/boot&lt;br /&gt;
: &amp;lt;code&amp;gt;mkfs.vfat /dev/sda1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount /dev/sda1 /mnt/boot/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Die restlichen Verzeichnisse mounten&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/home /mnt/home/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/tmp /mnt/tmp/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; NixOs hardware-configuration.nix erzeugen&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-generate-config --root /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Diese sollte so ähnlich aussehen:&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/nixos&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/home&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/home&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/tmp&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/tmp&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Zum Schluss die configuration.nix im neuen System anpassen unter /mnt/etc/nixos/configuration.nix&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /mnt/etc/nixos/configuration.nix &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; folgende Zeilen einfügen (Reihenfolge entscheidend):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    boot.zfs.enableUnstable = true;&lt;br /&gt;
    boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
    networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Gegebenenfalls in dieser Datei die Zeile powerManagement auskommentieren&lt;br /&gt;
&lt;br /&gt;
; Starten des Durchführens der Installation:&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-install&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Durchführung einer [https://nixos.wiki/wiki/NixOS_on_ZFS#Encrypted_ZFS Installation mit ZFS mit nativer Verschlüsslung] als Spiegel ==&lt;br /&gt;
&lt;br /&gt;
; Herunterladen des Abbildes (iso) von [https://nixos.org/releases/tmp/release-nixos-unstable-small/ NixOS unstable (18.03)]&lt;br /&gt;
&lt;br /&gt;
; Erstellen eines Speichers (USB-Stick) von dem gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
; Starten vom erstellten Speicher für die Installation von NixOS&lt;br /&gt;
&lt;br /&gt;
; Änderung der Konfiguration für die Verwendung von ZFS in der (zentralen) Datei zur Verwaltung von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports = [ &amp;lt;nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix&amp;gt; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	boot.zfs.enableUnstable = true;&lt;br /&gt;
	boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Anwenden der geänderten Konfigutation von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-rebuild switch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Hinzufügen des Moduls vom Kernel für die Verwendung von ZFS (für den laufenden Betrieb):&lt;br /&gt;
:; Prüfen, on das Modul vom Kernel für die Verwendung von ZFS geladen ist:&lt;br /&gt;
:: &amp;lt;code&amp;gt;kmod list | grep zfs&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;modprobe zfs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Partitionieren des Massenspeichers des Ziels der Installation&lt;br /&gt;
:* von /dev/sda&lt;br /&gt;
:* beispielsweise mit &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt;&lt;br /&gt;
: Üblicher Weise ist der Massenspeicher &#039;&#039;/dev/sda&#039;&#039;. Aber der Massenspeicher kann auch &#039;&#039;/dev/sdb&#039;&#039; oder anderes nachfolgendes Gerät sein, etwa wenn der Speicher von dem die Installation gestartet wurde &#039;&#039;/dev/sda&#039;&#039; ist.&lt;br /&gt;
:; Partitionieren eines Teils für das Booten (efi)&lt;br /&gt;
:: /dev/sda1 100MB code: ef00 (Boot-Partition)&lt;br /&gt;
:: /dev/sdd1 100MB code: ef00 (Boot-Partition)&lt;br /&gt;
:; Partitionieren eines Teils (restlichen) für alle anderen Daten (außer für das Booten (efi)) mit ZFS:&lt;br /&gt;
:: /dev/sda2 restliche Platte fstyp: solaris /home mit code: bf05 erhältlich (Pool)&lt;br /&gt;
:: /dev/sdd2 restliche Platte fstyp: solaris /home mit code: bf05 erhältlich (Pool)&lt;br /&gt;
&lt;br /&gt;
; Vollständig encrypted Pool anlegen (zroot kann auch anders benannt werden, ashift=12 für 4k Blocksize)&lt;br /&gt;
: &amp;lt;code&amp;gt;zpool create -o ashift=12 -o altroot=&amp;quot;/mnt&amp;quot; -O encryption=aes-256-gcm -O keyformat=passphrase zroot mirror /dev/sda2 /dev/sdd2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Erstellen der Datasets für ZFS&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=none zroot/root&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy -o sync=disabled zroot/root/tmp&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/nixos&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs set compression=lz4 zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Einhängen vom Dataset für ZFS, wo das Betriebssystem NixOS abgelegt sein soll, als Teil vom Ziel der Installation&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/nixos /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Unter /mnt die Ordner home, tmp und boot anlegen&lt;br /&gt;
: &amp;lt;code&amp;gt;mkdir /mnt/{home,tmp,boot}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Dateisystem (vfat) für die Boot-Partition /dev/sda1 festlegen und Mount von /dev/sda1 nach /mnt/boot&lt;br /&gt;
: &amp;lt;code&amp;gt;mkfs.vfat /dev/sda1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount /dev/sda1 /mnt/boot/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mkfs.vfat /dev/sdd1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount /dev/sdd1 /mnt/boot/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Die restlichen Verzeichnisse mounten&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/home /mnt/home/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/tmp /mnt/tmp/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; NixOs hardware-configuration.nix erzeugen&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-generate-config --root /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Diese sollte so ähnlich aussehen:&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/nixos&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/home&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/home&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/tmp&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/tmp&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
  swapDevices =&lt;br /&gt;
    [ { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    nix.maxJobs = lib.mkDefault 4;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Zum Schluss die configuration.nix im neuen System anpassen unter /mnt/etc/nixos/configuration.nix&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /mnt/etc/nixos/configuration.nix &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; folgende Zeilen einfügen (Reihenfolge entscheidend):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    boot.loader.grub.devices = [ &amp;quot;/dev/sda&amp;quot; &amp;quot;/dev/sdd&amp;quot;];&lt;br /&gt;
    boot.zfs.enableUnstable = true;&lt;br /&gt;
    boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
    networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Gegebenenfalls in dieser Datei die Zeile powerManagement auskommentieren&lt;br /&gt;
&lt;br /&gt;
; Starten des Durchführens der Installation:&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-install&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Software RAID fuer &#039;&#039;/boot&#039;&#039; und boot loader ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Software_RAID_and_LVM&lt;br /&gt;
&lt;br /&gt;
; Test fur MBR:&lt;br /&gt;
&lt;br /&gt;
[root@nixos:~]# fdisk -l /dev/sda&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0x9&lt;br /&gt;
&lt;br /&gt;
Device     Boot  Start       End   Sectors   Size Id Type&lt;br /&gt;
/dev/sda1  *      2048    206847    204800   100M 83 Linux&lt;br /&gt;
/dev/sda2       206848 976773167 976566320 465.7G bf Solaris&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[root@nixos:~]# fdisk -l /dev/sdd&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk /dev/sdd: 465.8 GiB, 500107862016 bytes, 976773168 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0x6&lt;br /&gt;
&lt;br /&gt;
Device     Boot  Start       End   Sectors   Size Id Type&lt;br /&gt;
/dev/sdd1  *      2048    206847    204800   100M fd Linux raid autodetect&lt;br /&gt;
/dev/sdd2       206848 976773167 976566320 465.7G bf Solaris&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
mdadm --build /dev/md1 --metadata=0.90 --level=1 --raid-devices=2 /dev/sda1 /dev/sdd1&lt;br /&gt;
&lt;br /&gt;
mdadm --stop /dev/md1&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mdadm --create /dev/md1 --metadata=0.90 --level=1 --raid-devices=2 /dev/sda1 /dev/sdd1&lt;br /&gt;
&lt;br /&gt;
mkfs.ext4 -m 0 -L boot -j /dev/md1&lt;br /&gt;
&lt;br /&gt;
mount /dev/md1 /mnt/boot/&lt;br /&gt;
&lt;br /&gt;
; Test fur GPT:&lt;br /&gt;
&lt;br /&gt;
== 21.05 ZFS setup ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo zpool import -f -d /dev rpool&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zpool create -o ashift=12 -o altroot=&amp;quot;/mnt&amp;quot; -O mountpoint=none -O encryption=aes-256-gcm -O keyformat=passphrase zroot mirror /dev/sda3 /dev/sdb3&lt;br /&gt;
Enter new passphrase:&lt;br /&gt;
Re-enter new passphrase:&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ zpool status &lt;br /&gt;
  pool: zroot&lt;br /&gt;
 state: ONLINE&lt;br /&gt;
config:&lt;br /&gt;
&lt;br /&gt;
        NAME        STATE     READ WRITE CKSUM&lt;br /&gt;
        zroot       ONLINE       0     0     0&lt;br /&gt;
          mirror-0  ONLINE       0     0     0&lt;br /&gt;
            sda3    ONLINE       0     0     0&lt;br /&gt;
            sdb3    ONLINE       0     0     0&lt;br /&gt;
&lt;br /&gt;
errors: No known data errors&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o sync=disabled zroot/tmp&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/root&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/nix&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/home&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/var&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mkdir /mnt/{tmp,nix,home,var}&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/tmp /mnt/tmp&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/nix /mnt/nix&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/home /mnt/home&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/var /mnt/var&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo nixos-generate-config  --root /mnt&lt;br /&gt;
writing /mnt/etc/nixos/hardware-configuration.nix...&lt;br /&gt;
writing /mnt/etc/nixos/configuration.nix...&lt;br /&gt;
For more hardware-specific settings, see https://github.com/NixOS/nixos-hardware.&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ less /mnt/etc/nixos/hardware-configuration.nix&lt;br /&gt;
&lt;br /&gt;
== Installation Tuxedo ==&lt;br /&gt;
&lt;br /&gt;
==== [https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/Root%20on%20ZFS/1-preparation.html Preparation] ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;find /dev/disk/by-id/&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;cd /dev/disk/by-id/ &amp;amp;&amp;amp; ls -l &amp;amp;&amp;amp; cd -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;DISK=&#039;/dev/disk/by-id/ata-Samsung_SSD_850_EVO_1TB_S3LENB0JB00287Z /dev/disk/by-id/ata-Samsung_SSD_860_EVO_M.2_1TB_S415NB0M120414E&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;INST_PARTSIZE_SWAP=128&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;s&amp;gt;&amp;lt;code&amp;gt;INST_PARTSIZE_RPOOL=&amp;lt;/code&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/Root%20on%20ZFS/2-system-installation.html System Installation] ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# wipe flash-based storage device to improve performance.&lt;br /&gt;
# blkdiscard&lt;br /&gt;
!--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in ${DISK}; do&lt;br /&gt;
&lt;br /&gt;
  sudo blkdiscard -f $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk --zap-all $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -n1:1M:+1G -t1:EF00 $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -n2:0:+4G -t2:BE00 $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -n4:0:+${INST_PARTSIZE_SWAP}G -t4:8200 $i&lt;br /&gt;
&lt;br /&gt;
  if test -z $INST_PARTSIZE_RPOOL; then&lt;br /&gt;
    sudo sgdisk -n3:0:0   -t3:BF00 $i&lt;br /&gt;
  else&lt;br /&gt;
    sudo sgdisk -n3:0:+${INST_PARTSIZE_RPOOL}G -t3:BF00 $i&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -a1 -n5:24K:+1000K -t5:EF02 $i&lt;br /&gt;
&lt;br /&gt;
  sync &amp;amp;&amp;amp; udevadm settle &amp;amp;&amp;amp; sleep 3&lt;br /&gt;
&lt;br /&gt;
  sudo cryptsetup open --type plain --key-file /dev/random $i-part4 ${i##*/}-part4&lt;br /&gt;
  sudo mkswap /dev/mapper/${i##*/}-part4&lt;br /&gt;
  sudo swapon /dev/mapper/${i##*/}-part4&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
blkdiscard: Operation forced, data will be lost!&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
GPT data structures destroyed! You may now partition the disk using fdisk or&lt;br /&gt;
other utilities.&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
Setting up swapspace version 1, size = 128 GiB (137438949376 bytes)&lt;br /&gt;
no label, UUID=20cea8d9-b934-45d3-bf9d-9ab130df604a&lt;br /&gt;
blkdiscard: Operation forced, data will be lost!&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
GPT data structures destroyed! You may now partition the disk using fdisk or&lt;br /&gt;
other utilities.&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
Setting up swapspace version 1, size = 128 GiB (137438949376 bytes)&lt;br /&gt;
no label, UUID=8084a830-66c5-44d9-b47d-1c8b4933116b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo \&lt;br /&gt;
  zpool create \&lt;br /&gt;
    -o compatibility=grub2 \&lt;br /&gt;
    -o ashift=12 \&lt;br /&gt;
    -o autotrim=on \&lt;br /&gt;
    -O acltype=posixacl \&lt;br /&gt;
    -O canmount=off \&lt;br /&gt;
    -O compression=lz4 \&lt;br /&gt;
    -O devices=off \&lt;br /&gt;
    -O normalization=formD \&lt;br /&gt;
    -O relatime=on \&lt;br /&gt;
    -O xattr=sa \&lt;br /&gt;
    -O mountpoint=/boot \&lt;br /&gt;
    -R /mnt \&lt;br /&gt;
    bpool \&lt;br /&gt;
    mirror \&lt;br /&gt;
    $(for i in ${DISK}; do&lt;br /&gt;
       printf &amp;quot;$i-part2 &amp;quot;;&lt;br /&gt;
      done)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo \&lt;br /&gt;
  zpool create \&lt;br /&gt;
    -o ashift=12 \&lt;br /&gt;
    -o autotrim=on \&lt;br /&gt;
    -R /mnt \&lt;br /&gt;
    -O acltype=posixacl \&lt;br /&gt;
    -O canmount=off \&lt;br /&gt;
    -O compression=zstd \&lt;br /&gt;
    -O dnodesize=auto \&lt;br /&gt;
    -O normalization=formD \&lt;br /&gt;
    -O relatime=on \&lt;br /&gt;
    -O xattr=sa \&lt;br /&gt;
    -O mountpoint=/ \&lt;br /&gt;
    rpool \&lt;br /&gt;
    mirror \&lt;br /&gt;
    $(for i in ${DISK}; do&lt;br /&gt;
      printf &amp;quot;$i-part3 &amp;quot;;&lt;br /&gt;
    done)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;PASSWORD=&#039;p4ssw0rd&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo ${PASSWORD} | \&lt;br /&gt;
sudo \&lt;br /&gt;
  zfs create \&lt;br /&gt;
    -o canmount=off \&lt;br /&gt;
    -o mountpoint=none \&lt;br /&gt;
    -o encryption=on \&lt;br /&gt;
    -o keylocation=prompt \&lt;br /&gt;
    -o keyformat=passphrase \&lt;br /&gt;
    rpool/nixos&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/root&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/var&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/var/lib&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/var/log&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=none   bpool/nixos&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy bpool/nixos/root&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/empty&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs snapshot rpool/nixos/empty@start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -t zfs rpool/nixos/root /mnt/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -t zfs rpool/nixos/home /mnt/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/boot&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -t zfs bpool/nixos/root /mnt/boot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in ${DISK}; do&lt;br /&gt;
  sudo mkfs.vfat -n EFI ${i}-part1&lt;br /&gt;
  sudo mkdir -p /mnt/boot/efis/${i##*/}-part1&lt;br /&gt;
  sudo mount -t vfat ${i}-part1 /mnt/boot/efis/${i##*/}-part1&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkfs.fat 4.2 (2021-01-31)&lt;br /&gt;
mkfs.fat 4.2 (2021-01-31)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/Root%20on%20ZFS/3-system-configuration.html System Configuration] ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir -p /mnt/etc/nixos/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo curl -o /mnt/etc/nixos/configuration.nix -L &amp;lt;nowiki&amp;gt;https://github.com/openzfs/openzfs-docs/raw/master/docs/Getting%20Started/NixOS/Root%20on%20ZFS/configuration.nix&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;s&amp;gt;&amp;lt;code&amp;gt;curl -o /tmp/openzfs.default.configuration.nix -L &amp;lt;nowiki&amp;gt;https://github.com/openzfs/openzfs-docs/raw/master/docs/Getting%20Started/NixOS/Root%20on%20ZFS/configuration.nix &amp;amp;&amp;amp; sudo mv /tmp/openzfs.default.configuration.nix /mnt/etc/nixos/configuration.nix&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in $DISK; do&lt;br /&gt;
  sudo sed -i \&lt;br /&gt;
    &amp;quot;s|PLACEHOLDER_FOR_DEV_NODE_PATH|\&amp;quot;${i%/*}/\&amp;quot;|&amp;quot; \&lt;br /&gt;
    /mnt/etc/nixos/configuration.nix&lt;br /&gt;
  break&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
diskNames=&amp;quot;&amp;quot;&lt;br /&gt;
for i in $DISK; do&lt;br /&gt;
  diskNames=&amp;quot;$diskNames \&amp;quot;${i##*/}\&amp;quot;&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
sudo tee -a /mnt/etc/nixos/machine.nix &amp;lt;&amp;lt;EOF&lt;br /&gt;
{&lt;br /&gt;
  bootDevices = [ $diskNames ];&lt;br /&gt;
}&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;rootPwd=$(mkpasswd -m SHA-512 -s)&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo sed -i \&lt;br /&gt;
&amp;quot;s|PLACEHOLDER_FOR_ROOT_PWD_HASH|\&amp;quot;&amp;quot;${rootPwd}&amp;quot;\&amp;quot;|&amp;quot; \&lt;br /&gt;
/mnt/etc/nixos/configuration.nix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
: &amp;lt;code&amp;gt;sed /mnt/etc/nixos/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
configuration.nix  machine.nix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Edit this configuration file to define what should be installed on&lt;br /&gt;
# your system.  Help is available in the configuration.nix(5) man page&lt;br /&gt;
# and in the NixOS manual (accessible by running ‘nixos-help’).&lt;br /&gt;
{ config, lib, pkgs, modulesPath, ... }:&lt;br /&gt;
&lt;br /&gt;
let&lt;br /&gt;
  zfsRoot.partitionScheme = {&lt;br /&gt;
    biosBoot = &amp;quot;-part5&amp;quot;;&lt;br /&gt;
    efiBoot = &amp;quot;-part1&amp;quot;;&lt;br /&gt;
    swap = &amp;quot;-part4&amp;quot;;&lt;br /&gt;
    bootPool = &amp;quot;-part2&amp;quot;;&lt;br /&gt;
    rootPool = &amp;quot;-part3&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
  zfsRoot.devNodes = &amp;quot;/dev/disk/by-id/&amp;quot;; # MUST have trailing slash! /dev/disk/by-id/&lt;br /&gt;
  zfsRoot.bootDevices = (import ./machine.nix).bootDevices;&lt;br /&gt;
  zfsRoot.mirroredEfi = &amp;quot;/boot/efis/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
in {&lt;br /&gt;
  # adjust according to your platform, such as&lt;br /&gt;
  imports = [&lt;br /&gt;
    # (modulesPath + &amp;quot;/profiles/qemu-guest.nix&amp;quot;)&lt;br /&gt;
    # (modulesPath + &amp;quot;/profiles/all-hardware.nix&amp;quot;)&lt;br /&gt;
    (modulesPath + &amp;quot;/installer/scan/not-detected.nix&amp;quot;)&lt;br /&gt;
  ];&lt;br /&gt;
  systemd.services.zfs-mount.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # networking.hostName = &amp;quot;nixos&amp;quot;; # Define your hostname.&lt;br /&gt;
  # Pick only one of the below networking options.&lt;br /&gt;
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.&lt;br /&gt;
  # networking.networkmanager.enable = true;  # Easiest to use and most distros use this by default.&lt;br /&gt;
&lt;br /&gt;
  # Set your time zone.&lt;br /&gt;
  # time.timeZone = &amp;quot;Europe/Amsterdam&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Configure network proxy if necessary&lt;br /&gt;
  # networking.proxy.default = &amp;quot;http://user:password@proxy:port/&amp;quot;;&lt;br /&gt;
  # networking.proxy.noProxy = &amp;quot;127.0.0.1,localhost,internal.domain&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Select internationalisation properties.&lt;br /&gt;
  # i18n.defaultLocale = &amp;quot;en_US.UTF-8&amp;quot;;&lt;br /&gt;
  # console = {&lt;br /&gt;
  #   font = &amp;quot;Lat2-Terminus16&amp;quot;;&lt;br /&gt;
  #   keyMap = &amp;quot;us&amp;quot;;&lt;br /&gt;
  #   useXkbConfig = true; # use xkbOptions in tty.&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # Configure keymap in X11&lt;br /&gt;
  # services.xserver.layout = &amp;quot;us&amp;quot;;&lt;br /&gt;
  # services.xserver.xkbOptions = {&lt;br /&gt;
  #   &amp;quot;eurosign:e&amp;quot;;&lt;br /&gt;
  #   &amp;quot;caps:escape&amp;quot; # map caps to escape.&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # Enable CUPS to print documents.&lt;br /&gt;
  # services.printing.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable sound.&lt;br /&gt;
  # sound.enable = true;&lt;br /&gt;
  # hardware.pulseaudio.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable touchpad support (enabled default in most desktopManager).&lt;br /&gt;
&lt;br /&gt;
  # Define a user account. Don&#039;t forget to set a password with ‘passwd’.&lt;br /&gt;
  # users.users.alice = {&lt;br /&gt;
  #   isNormalUser = true;&lt;br /&gt;
  #   extraGroups = [ &amp;quot;wheel&amp;quot; ]; # Enable ‘sudo’ for the user.&lt;br /&gt;
  #   packages = with pkgs; [&lt;br /&gt;
  #     firefox&lt;br /&gt;
  #     thunderbird&lt;br /&gt;
  #   ];&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # List packages installed in system profile. To search, run:&lt;br /&gt;
  # $ nix search wget&lt;br /&gt;
  environment.systemPackages = with pkgs;&lt;br /&gt;
    [&lt;br /&gt;
      #   vim&lt;br /&gt;
      ## Do not forget to add an editor to edit configuration.nix!&lt;br /&gt;
      ## The Nano editor is also installed by default.&lt;br /&gt;
      #   wget&lt;br /&gt;
      mg&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  # Some programs need SUID wrappers, can be configured further or are&lt;br /&gt;
  # started in user sessions.&lt;br /&gt;
  # programs.mtr.enable = true;&lt;br /&gt;
  # programs.gnupg.agent = {&lt;br /&gt;
  #   enable = true;&lt;br /&gt;
  #   enableSSHSupport = true;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # List services that you want to enable:&lt;br /&gt;
&lt;br /&gt;
  # Enable the OpenSSH daemon.&lt;br /&gt;
  services.openssh.enable = false;&lt;br /&gt;
  users.users.root = {&lt;br /&gt;
    ##hash: mkpasswd -m SHA-512 -s&lt;br /&gt;
    initialHashedPassword = &amp;quot;$6$OYQ1J8P/eJcD.D/nAeF.Gq8IPRrZfu.EGZkYJ3kYpmzhTq1QNVwraZboxoGaQxVmMpEq.Zrz0bgV$Vm/oMUobWh7VpNYtt4baExd960&amp;quot;;&lt;br /&gt;
    openssh.authorizedKeys.keys = [&lt;br /&gt;
    ];&lt;br /&gt;
  };&lt;br /&gt;
  programs.git.enable = true;&lt;br /&gt;
  # Open ports in the firewall.&lt;br /&gt;
  # networking.firewall.allowedTCPPorts = [ ... ];&lt;br /&gt;
  # networking.firewall.allowedUDPPorts = [ ... ];&lt;br /&gt;
  # Or disable the firewall altogether.&lt;br /&gt;
  # networking.firewall.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # Copy the NixOS configuration file and link it from the resulting system&lt;br /&gt;
  # (/run/current-system/configuration.nix). This is useful in case you&lt;br /&gt;
  # accidentally delete configuration.nix.&lt;br /&gt;
  system.copySystemConfiguration = true;&lt;br /&gt;
&lt;br /&gt;
  # This value determines the NixOS release from which the default&lt;br /&gt;
  # settings for stateful data, like file locations and database versions&lt;br /&gt;
  # on your system were taken. It‘s perfectly fine and recommended to leave&lt;br /&gt;
  # this value at the release version of the first install of this system.&lt;br /&gt;
  # Before changing this value read the documentation for this option&lt;br /&gt;
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).&lt;br /&gt;
  system.stateVersion = &amp;quot;22.11&amp;quot;; # Did you read the comment?&lt;br /&gt;
&lt;br /&gt;
  boot.initrd.availableKernelModules = [&lt;br /&gt;
    &amp;quot;ahci&amp;quot;&lt;br /&gt;
    &amp;quot;xhci_pci&amp;quot;&lt;br /&gt;
    &amp;quot;virtio_pci&amp;quot;&lt;br /&gt;
    &amp;quot;virtio_blk&amp;quot;&lt;br /&gt;
    &amp;quot;ehci_pci&amp;quot;&lt;br /&gt;
    &amp;quot;nvme&amp;quot;&lt;br /&gt;
    &amp;quot;uas&amp;quot;&lt;br /&gt;
    &amp;quot;sd_mod&amp;quot;&lt;br /&gt;
    &amp;quot;sr_mod&amp;quot;&lt;br /&gt;
    &amp;quot;sdhci_pci&amp;quot;&lt;br /&gt;
  ];&lt;br /&gt;
  boot.initrd.kernelModules = [ ];&lt;br /&gt;
  boot.kernelModules = [ &amp;quot;kvm-intel&amp;quot; &amp;quot;kvm-amd&amp;quot; ];&lt;br /&gt;
  boot.extraModulePackages = [ ];&lt;br /&gt;
&lt;br /&gt;
  fileSystems = {&lt;br /&gt;
    &amp;quot;/&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/root&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/home&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/home&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/var/lib&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/var/lib&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/var/log&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/var/log&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/boot&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;bpool/nixos/root&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
  } // (builtins.listToAttrs (map (diskName: {&lt;br /&gt;
    name = zfsRoot.mirroredEfi + diskName + zfsRoot.partitionScheme.efiBoot;&lt;br /&gt;
    value = {&lt;br /&gt;
      device = zfsRoot.devNodes + diskName + zfsRoot.partitionScheme.efiBoot;&lt;br /&gt;
      fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      options = [&lt;br /&gt;
        &amp;quot;x-systemd.idle-timeout=1min&amp;quot;&lt;br /&gt;
        &amp;quot;x-systemd.automount&amp;quot;&lt;br /&gt;
        &amp;quot;noauto&amp;quot;&lt;br /&gt;
        &amp;quot;nofail&amp;quot;&lt;br /&gt;
      ];&lt;br /&gt;
    };&lt;br /&gt;
  }) zfsRoot.bootDevices));&lt;br /&gt;
&lt;br /&gt;
  swapDevices = (map (diskName: {&lt;br /&gt;
    device = zfsRoot.devNodes + diskName + zfsRoot.partitionScheme.swap;&lt;br /&gt;
    discardPolicy = &amp;quot;both&amp;quot;;&lt;br /&gt;
    randomEncryption = {&lt;br /&gt;
      enable = true;&lt;br /&gt;
      allowDiscards = true;&lt;br /&gt;
    };&lt;br /&gt;
  }) zfsRoot.bootDevices);&lt;br /&gt;
&lt;br /&gt;
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking&lt;br /&gt;
  # (the default) this is the recommended approach. When using systemd-networkd it&#039;s&lt;br /&gt;
  # still possible to use this option, but it&#039;s recommended to use it in conjunction&lt;br /&gt;
  # with explicit per-interface declarations with `networking.interfaces.&amp;lt;interface&amp;gt;.useDHCP`.&lt;br /&gt;
  networking.useDHCP = lib.mkDefault true;&lt;br /&gt;
  # networking.networkmanager.enable = true;&lt;br /&gt;
  # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;&lt;br /&gt;
&lt;br /&gt;
  nixpkgs.hostPlatform = lib.mkDefault &amp;quot;x86_64-linux&amp;quot;;&lt;br /&gt;
  hardware.cpu.intel.updateMicrocode =&lt;br /&gt;
    lib.mkDefault config.hardware.enableRedistributableFirmware;&lt;br /&gt;
  hardware.cpu.amd.updateMicrocode =&lt;br /&gt;
    lib.mkDefault config.hardware.enableRedistributableFirmware;&lt;br /&gt;
&lt;br /&gt;
  boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
  networking.hostId = &amp;quot;abcd1234&amp;quot;;&lt;br /&gt;
  boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;&lt;br /&gt;
  boot.loader.efi.efiSysMountPoint = with builtins;&lt;br /&gt;
    (zfsRoot.mirroredEfi + (head zfsRoot.bootDevices) + zfsRoot.partitionScheme.efiBoot);&lt;br /&gt;
  boot.zfs.devNodes = zfsRoot.devNodes;&lt;br /&gt;
  boot.loader.efi.canTouchEfiVariables = false;&lt;br /&gt;
  boot.loader.generationsDir.copyKernels = true;&lt;br /&gt;
  boot.loader.grub.efiInstallAsRemovable = true;&lt;br /&gt;
  boot.loader.grub.enable = true;&lt;br /&gt;
  boot.loader.grub.version = 2;&lt;br /&gt;
  boot.loader.grub.copyKernels = true;&lt;br /&gt;
  boot.loader.grub.efiSupport = true;&lt;br /&gt;
  boot.loader.grub.zfsSupport = true;&lt;br /&gt;
  boot.loader.grub.extraInstallCommands = with builtins;&lt;br /&gt;
    (toString (map (diskName:&lt;br /&gt;
      &amp;quot;cp -r &amp;quot; + config.boot.loader.efi.efiSysMountPoint + &amp;quot;/EFI&amp;quot; + &amp;quot; &amp;quot;&lt;br /&gt;
      + zfsRoot.mirroredEfi + diskName + zfsRoot.partitionScheme.efiBoot + &amp;quot;\n&amp;quot;)&lt;br /&gt;
      (tail zfsRoot.bootDevices)));&lt;br /&gt;
  boot.loader.grub.devices =&lt;br /&gt;
    (map (diskName: zfsRoot.devNodes + diskName) zfsRoot.bootDevices);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/machine.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  bootDevices = [  &amp;quot;ata-Samsung_SSD_850_EVO_1TB_S3LENB0JB00287Z&amp;quot; &amp;quot;ata-Samsung_SSD_860_EVO_M.2_1TB_S415NB0M120414E&amp;quot; ];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo nano /mnt/etc/nixos/configuration.nix &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo nixos-install --no-root-passwd --root /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Coda =====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo umount -Rl /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zpool export -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anleitungen ZFS ==&lt;br /&gt;
&lt;br /&gt;
https://mazzo.li/posts/hetzner-zfs.html&lt;br /&gt;
&lt;br /&gt;
== 2024-05 2024-05-04 ==&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 download ====&lt;br /&gt;
&lt;br /&gt;
[https://channels.nixos.org/nixos-unstable/latest-nixos-plasma5-x86_64-linux.iso latest-nixos-plasma5-x86_64-linux.iso]&lt;br /&gt;
&lt;br /&gt;
[https://releases.nixos.org/nixos/unstable/nixos-24.05pre619660.63c3a29ca824/nixos-plasma5-24.05pre619660.63c3a29ca824-x86_64-linux.iso nixos-plasma5-24.05pre619660.63c3a29ca824-x86_64-linux.iso]&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 partitioning ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env bash&lt;br /&gt;
&lt;br /&gt;
#MNT=$(mktemp -d)&lt;br /&gt;
MNT=/mnt&lt;br /&gt;
&lt;br /&gt;
DISK=&#039;/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R /dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500&amp;gt;&lt;br /&gt;
SWAPSIZE=64&lt;br /&gt;
UNUSEDSIZE=64&lt;br /&gt;
&lt;br /&gt;
partition_disk () {&lt;br /&gt;
&lt;br /&gt;
  local disk=&amp;quot;${1}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  blkdiscard -f &amp;quot;${disk}&amp;quot; || true&lt;br /&gt;
&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mklabel gpt&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mkpart EFI 1MiB 4GiB&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mkpart rpool 4GiB -$((SWAPSIZE + UNUSEDSIZE))GiB&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mkpart swap  -$((SWAPSIZE + UNUSEDSIZE))GiB -&amp;quot;${UNUSEDSIZE}&amp;quot;GiB&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; set 1 esp on&lt;br /&gt;
&lt;br /&gt;
  sudo  partprobe &amp;quot;${disk}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for i in ${DISK}; do&lt;br /&gt;
  partition_disk &amp;quot;${i}&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://aldoborrero.com/posts/2023/01/15/setting-up-my-machines-nix-style/&lt;br /&gt;
&lt;br /&gt;
https://github.com/nix-community/disko/blob/master/docs/HowTo.md&lt;br /&gt;
&lt;br /&gt;
https://oblivious.observer/posts/nixos-zfs-install-script/&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 Installation &amp;lt;code&amp;gt;/etc/nixos/configuration.nix&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Edit this configuration file to define what should be installed on&lt;br /&gt;
# your system.  Help is available in the configuration.nix(5) man page&lt;br /&gt;
# and in the NixOS manual (accessible by running ‘nixos-help’).&lt;br /&gt;
&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports =&lt;br /&gt;
    [ # Include the results of the hardware scan.&lt;br /&gt;
      ./hardware-configuration.nix&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
####    Hardware&lt;br /&gt;
&lt;br /&gt;
  console.keyMap = &amp;quot;de&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
####    System&lt;br /&gt;
&lt;br /&gt;
  boot.loader.systemd-boot.enable = true;&lt;br /&gt;
  boot.loader.efi.canTouchEfiVariables = true;&lt;br /&gt;
&lt;br /&gt;
  networking.hostName = &amp;quot;nixos&amp;quot;;&lt;br /&gt;
  # networking.wireless.enable = true;&lt;br /&gt;
  networking.networkmanager.enable = true;&lt;br /&gt;
&lt;br /&gt;
  time.timeZone = &amp;quot;Europe/London&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  i18n.defaultLocale = &amp;quot;en_US.UTF-8&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  i18n.extraLocaleSettings = {&lt;br /&gt;
    LC_ADDRESS = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_IDENTIFICATION = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_MEASUREMENT = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_MONETARY = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_NAME = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_NUMERIC = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_PAPER = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_TELEPHONE = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_TIME = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
####    GUI&lt;br /&gt;
&lt;br /&gt;
  services.xserver.enable = true;&lt;br /&gt;
&lt;br /&gt;
  services.xserver.xkb.layout = &amp;quot;${config.console.keyMap}&amp;quot;;&lt;br /&gt;
  services.xserver.xkb.variant = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  services.desktopManager.plasma6.enable = true;&lt;br /&gt;
  services.displayManager.sddm.enable = true;&lt;br /&gt;
  services.displayManager.sddm.wayland.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable CUPS to print documents.&lt;br /&gt;
#  services.printing.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable sound with pipewire.&lt;br /&gt;
  sound.enable = true;&lt;br /&gt;
  hardware.pulseaudio.enable = false;&lt;br /&gt;
  security.rtkit.enable = true;&lt;br /&gt;
  services.pipewire = {&lt;br /&gt;
    enable = true;&lt;br /&gt;
    alsa.enable = true;&lt;br /&gt;
    alsa.support32Bit = true;&lt;br /&gt;
    pulse.enable = true;&lt;br /&gt;
    #jack.enable = true;#&lt;br /&gt;
    #media-session.enable = true;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  # Enable touchpad support (enabled default in most desktopManager).&lt;br /&gt;
  # services.xserver.libinput.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Define a user account. Don&#039;t forget to set a password with ‘passwd’.&lt;br /&gt;
  users.users.k-ot = {&lt;br /&gt;
    isNormalUser = true;&lt;br /&gt;
    description = &amp;quot;K-oT&amp;quot;;&lt;br /&gt;
    extraGroups = [ &amp;quot;networkmanager&amp;quot; &amp;quot;wheel&amp;quot; ];&lt;br /&gt;
    packages = with pkgs; [&lt;br /&gt;
      kate&lt;br /&gt;
    #  thunderbird&lt;br /&gt;
    ];&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  # Enable automatic login for the user.&lt;br /&gt;
#  services.xserver.displayManager.autoLogin.enable = true;&lt;br /&gt;
#  services.xserver.displayManager.autoLogin.user = &amp;quot;k-ot&amp;quot;;&lt;br /&gt;
  services.displayManager.autoLogin.enable = true;&lt;br /&gt;
  services.displayManager.autoLogin.user = &amp;quot;k-ot&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Install firefox.&lt;br /&gt;
  programs.firefox.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Allow unfree packages&lt;br /&gt;
  nixpkgs.config.allowUnfree = true;&lt;br /&gt;
&lt;br /&gt;
  # List packages installed in system profile. To search, run:&lt;br /&gt;
  # $ nix search wget&lt;br /&gt;
  environment.systemPackages = with pkgs; [&lt;br /&gt;
  #  vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.&lt;br /&gt;
  #  wget&lt;br /&gt;
    gparted&lt;br /&gt;
  ];&lt;br /&gt;
&lt;br /&gt;
  # Some programs need SUID wrappers, can be configured further or are&lt;br /&gt;
  # started in user sessions.&lt;br /&gt;
  # programs.mtr.enable = true;&lt;br /&gt;
  # programs.gnupg.agent = {&lt;br /&gt;
  #   enable = true;&lt;br /&gt;
  #   enableSSHSupport = true;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # List services that you want to enable:&lt;br /&gt;
&lt;br /&gt;
  # Enable the OpenSSH daemon.&lt;br /&gt;
  # services.openssh.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Open ports in the firewall.&lt;br /&gt;
  # networking.firewall.allowedTCPPorts = [ ... ];&lt;br /&gt;
  # networking.firewall.allowedUDPPorts = [ ... ];&lt;br /&gt;
  # Or disable the firewall altogether.&lt;br /&gt;
  # networking.firewall.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # This value determines the NixOS release from which the default&lt;br /&gt;
  # settings for stateful data, like file locations and database versions&lt;br /&gt;
  # on your system were taken. It‘s perfectly fine and recommended to leave&lt;br /&gt;
  # this value at the release version of the first install of this system.&lt;br /&gt;
  # Before changing this value read the documentation for this option&lt;br /&gt;
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).&lt;br /&gt;
  system.stateVersion = &amp;quot;24.05&amp;quot;; # Did you read the comment?&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NAME                                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS&lt;br /&gt;
sda                                             8:0    0 465,8G  0 disk  &lt;br /&gt;
├─sda1                                          8:1    0   512M  0 part  /boot&lt;br /&gt;
├─sda2                                          8:2    0 456,5G  0 part  &lt;br /&gt;
│ └─luks-8543211f-4aaf-41bf-8c39-456683aa0181 254:0    0 456,4G  0 crypt /nix/store&lt;br /&gt;
│                                                                        /&lt;br /&gt;
└─sda3                                          8:3    0   8,8G  0 part  [SWAP]&lt;br /&gt;
sdb                                             8:16   0 465,8G  0 disk  &lt;br /&gt;
├─sdb1                                          8:17   0   512M  0 part  &lt;br /&gt;
├─sdb2                                          8:18   0 456,5G  0 part  &lt;br /&gt;
└─sdb3                                          8:19   0   8,8G  0 part  [SWAP]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;ls -al /dev/disk/by-uuid/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
total 0&lt;br /&gt;
drwxr-xr-x 2 root root 180 May 28 14:04 .&lt;br /&gt;
drwxr-xr-x 9 root root 180 May 28 14:03 ..&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 0D65-373B -&amp;gt; ../../sda1&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:04 243465e3-da8a-41eb-9b02-54ee9df2b35b -&amp;gt; ../../dm-0&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 27AE-D209 -&amp;gt; ../../sdb1&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 8543211f-4aaf-41bf-8c39-456683aa0181 -&amp;gt; ../../sda2&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 b4cbc87e-57f4-4f13-8a2c-7f27e3bd9620 -&amp;gt; ../../sdb2&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 c61979cf-4943-423f-9041-ec2b3274a6b6 -&amp;gt; ../../sdb3&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 e3163631-7da7-47c3-9534-1bfd8022fac2 -&amp;gt; ../../sda3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;ls -al /dev/disk/by-id/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
total 0&lt;br /&gt;
drwxr-xr-x 2 root root 400 May 28 14:04 .&lt;br /&gt;
drwxr-xr-x 9 root root 180 May 28 14:03 ..&lt;br /&gt;
lrwxrwxrwx 1 root root   9 May 28 14:03 ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R -&amp;gt; ../../sda&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part1 -&amp;gt; ../../sda1&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 -&amp;gt; ../../sda2&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part3 -&amp;gt; ../../sda3&lt;br /&gt;
lrwxrwxrwx 1 root root   9 May 28 14:03 ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M -&amp;gt; ../../sdb&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part1 -&amp;gt; ../../sdb1&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 -&amp;gt; ../../sdb2&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part3 -&amp;gt; ../../sdb3&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:04 dm-name-luks-8543211f-4aaf-41bf-8c39-456683aa0181 -&amp;gt; ../../dm-0&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:04 dm-uuid-CRYPT-LUKS2-8543211f4aaf41bf8c39456683aa0181-luks-8543211f-4aaf-41bf-8c39-456683aa0181 -&amp;gt; ../../dm-0&lt;br /&gt;
lrwxrwxrwx 1 root root   9 May 28 14:03 wwn-0x5002538d41306eb7 -&amp;gt; ../../sdb&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 wwn-0x5002538d41306eb7-part1 -&amp;gt; ../../sdb1&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 wwn-0x5002538d41306eb7-part2 -&amp;gt; ../../sdb2&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 wwn-0x5002538d41306eb7-part3 -&amp;gt; ../../sdb3&lt;br /&gt;
lrwxrwxrwx 1 root root   9 May 28 14:03 wwn-0x5002538d702e43f9 -&amp;gt; ../../sda&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 wwn-0x5002538d702e43f9-part1 -&amp;gt; ../../sda1&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 wwn-0x5002538d702e43f9-part2 -&amp;gt; ../../sda2&lt;br /&gt;
lrwxrwxrwx 1 root root  10 May 28 14:03 wwn-0x5002538d702e43f9-part3 -&amp;gt; ../../sda3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 Installation &amp;lt;code&amp;gt;/etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Do not modify this file!  It was generated by ‘nixos-generate-config’&lt;br /&gt;
# and may be overwritten by future invocations.  Please make changes&lt;br /&gt;
# to /etc/nixos/configuration.nix instead.&lt;br /&gt;
{ config, lib, pkgs, modulesPath, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports =&lt;br /&gt;
    [ (modulesPath + &amp;quot;/installer/scan/not-detected.nix&amp;quot;)&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  boot.initrd.availableKernelModules = [ &amp;quot;xhci_pci&amp;quot; &amp;quot;ahci&amp;quot; &amp;quot;usb_storage&amp;quot; &amp;quot;sd_mod&amp;quot; ];&lt;br /&gt;
  boot.initrd.kernelModules = [ ];&lt;br /&gt;
  boot.kernelModules = [ &amp;quot;kvm-intel&amp;quot; ];&lt;br /&gt;
  boot.extraModulePackages = [ ];&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;/dev/disk/by-uuid/243465e3-da8a-41eb-9b02-54ee9df2b35b&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;ext4&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  boot.initrd.luks.devices.&amp;quot;luks-8543211f-4aaf-41bf-8c39-456683aa0181&amp;quot;.device = &amp;quot;/dev/disk/by-uuid/8543211f-4aaf-41bf-8c39-456683aa0181&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;/dev/disk/by-uuid/0D65-373B&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;fmask=0022&amp;quot; &amp;quot;dmask=0022&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  swapDevices =&lt;br /&gt;
    [ { device = &amp;quot;/dev/disk/by-uuid/e3163631-7da7-47c3-9534-1bfd8022fac2&amp;quot;; }&lt;br /&gt;
      { device = &amp;quot;/dev/disk/by-uuid/c61979cf-4943-423f-9041-ec2b3274a6b6&amp;quot;; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking&lt;br /&gt;
  # (the default) this is the recommended approach. When using systemd-networkd it&#039;s&lt;br /&gt;
  # still possible to use this option, but it&#039;s recommended to use it in conjunction&lt;br /&gt;
  # with explicit per-interface declarations with `networking.interfaces.&amp;lt;interface&amp;gt;.useDHCP`.&lt;br /&gt;
  networking.useDHCP = lib.mkDefault true;&lt;br /&gt;
  # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;&lt;br /&gt;
&lt;br /&gt;
  nixpkgs.hostPlatform = lib.mkDefault &amp;quot;x86_64-linux&amp;quot;;&lt;br /&gt;
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>198.167.207.193</name></author>
	</entry>
	<entry>
		<id>https://wiki.htw.stura-dresden.de/index.php?title=Benutzer_Diskussion:PaulRiegel/NixOS&amp;diff=44661</id>
		<title>Benutzer Diskussion:PaulRiegel/NixOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.htw.stura-dresden.de/index.php?title=Benutzer_Diskussion:PaulRiegel/NixOS&amp;diff=44661"/>
		<updated>2024-05-28T13:14:32Z</updated>

		<summary type="html">&lt;p&gt;198.167.207.193: /* 2024-05 Installation /etc/nixos/configuration.nix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== foo rund um die Installation ==&lt;br /&gt;
&lt;br /&gt;
; ZFS:&lt;br /&gt;
&lt;br /&gt;
Neben&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
muss wohl auch noch &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
angegeben werden.&lt;br /&gt;
Das ist für &#039;&#039;solaris porting layer&#039;&#039; [https://github.com/zfsonlinux/spl spl].&lt;br /&gt;
&lt;br /&gt;
running unstable&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  boot.zfs.enableUnstable = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Mic92/dotfiles/tree/master/nixos Mic&#039;s OS] ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Mic92/dotfiles/blob/master/nixos/images/install-iso.nix&lt;br /&gt;
* https://github.com/NixOS/nixpkgs/pull/29426&lt;br /&gt;
* https://d3g5gsiof5omrk.cloudfront.net/nixos/unstable/nixos-18.03pre115461.9e7db9a9f9&lt;br /&gt;
&lt;br /&gt;
== 17.09 meets zfs ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nano /etc/nixos/configuration.nix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nixos-rebuild switch&lt;br /&gt;
&lt;br /&gt;
modprobe zfs&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
fdisk /dev/sda&lt;br /&gt;
&lt;br /&gt;
sgdisk --zap-all /dev/sda&lt;br /&gt;
&lt;br /&gt;
sgdisk -a1 -n2:34:2047  -t2:EF02 /dev/sda&lt;br /&gt;
&lt;br /&gt;
sgdisk     -n1:0:0      -t1:BF01 /dev/sda&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
zpool create -o ashift=12 -o altroot=/mnt rpool /dev/sda2&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=none rpool/root&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=legacy rpool/root/nixos&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=legacy rpool/home&lt;br /&gt;
&lt;br /&gt;
zfs set compression=lz4 rpool/home&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
mount -t zfs rpool/root/nixos /mnt&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/home&lt;br /&gt;
&lt;br /&gt;
mount -t zfs rpool/home /mnt/home&lt;br /&gt;
&lt;br /&gt;
 ___&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
mkfs.ext4 -m 0 -L boot -j /dev/sda1&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/boot&lt;br /&gt;
&lt;br /&gt;
mount /dev/sda2 /mnt/boot&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nixos-generate-config --root /mnt&lt;br /&gt;
&lt;br /&gt;
less /mnt/etc/nixos/hardware-configuration.nix&lt;br /&gt;
&lt;br /&gt;
nano /mnt/etc/nixos/configuration.nix&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nano /mnt/etc/nixos/configuration.nix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Edit this configuration file to define what should be installed on&lt;br /&gt;
# your system.  Help is available in the configuration.nix(5) man page&lt;br /&gt;
# and in the NixOS manual (accessible by running ‘nixos-help’).&lt;br /&gt;
&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports =&lt;br /&gt;
    [ # Include the results of the hardware scan.&lt;br /&gt;
      ./hardware-configuration.nix&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  # Use the GRUB 2 boot loader.&lt;br /&gt;
  boot.loader.grub.enable = true;&lt;br /&gt;
  boot.loader.grub.version = 2;&lt;br /&gt;
  # boot.loader.grub.efiSupport = true;&lt;br /&gt;
  # boot.loader.grub.efiInstallAsRemovable = true;&lt;br /&gt;
  # boot.loader.efi.efiSysMountPoint = &amp;quot;/boot/efi&amp;quot;;&lt;br /&gt;
  # Define on which hard drive you want to install Grub.&lt;br /&gt;
  # boot.loader.grub.device = &amp;quot;/dev/sda&amp;quot;; # or &amp;quot;nodev&amp;quot; for efi only&lt;br /&gt;
        boot.loader.grub.device = &amp;quot;/dev/sda&amp;quot;;&lt;br /&gt;
        boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
####    config.networking.hostId = &amp;quot;70cccxx&amp;quot;;&lt;br /&gt;
####    networking.hostId = &amp;quot;70cccxx&amp;quot;;&lt;br /&gt;
####    networking.hostId = &amp;quot;$hostIdHex&amp;quot;;&lt;br /&gt;
        networking.hostId = &amp;quot;4e98920d&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  networking.hostName = &amp;quot;nixos&amp;quot;; # Define your hostname.&lt;br /&gt;
  networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.&lt;br /&gt;
&lt;br /&gt;
  # Select internationalisation properties.&lt;br /&gt;
  # i18n = {&lt;br /&gt;
  #   consoleFont = &amp;quot;Lat2-Terminus16&amp;quot;;&lt;br /&gt;
  #   consoleKeyMap = &amp;quot;us&amp;quot;;&lt;br /&gt;
  #   defaultLocale = &amp;quot;en_US.UTF-8&amp;quot;;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # Set your time zone.&lt;br /&gt;
  # time.timeZone = &amp;quot;Europe/Amsterdam&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # List packages installed in system profile. To search by name, run:&lt;br /&gt;
  # $ nix-env -qaP | grep wget&lt;br /&gt;
  environment.systemPackages = with pkgs; [&lt;br /&gt;
    wget vim&lt;br /&gt;
        nano&lt;br /&gt;
  ];&lt;br /&gt;
&lt;br /&gt;
  # Some programs need SUID wrappers, can be configured further or are&lt;br /&gt;
  # started in user sessions.&lt;br /&gt;
  # programs.bash.enableCompletion = true;&lt;br /&gt;
  # programs.mtr.enable = true;&lt;br /&gt;
  # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };&lt;br /&gt;
&lt;br /&gt;
  # List services that you want to enable:&lt;br /&gt;
&lt;br /&gt;
  # Enable the OpenSSH daemon.&lt;br /&gt;
  services.openssh.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Open ports in the firewall.&lt;br /&gt;
  # networking.firewall.allowedTCPPorts = [ ... ];&lt;br /&gt;
  # networking.firewall.allowedUDPPorts = [ ... ];&lt;br /&gt;
  # Or disable the firewall altogether.&lt;br /&gt;
  # networking.firewall.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # Enable CUPS to print documents.&lt;br /&gt;
  # services.printing.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable the X11 windowing system.&lt;br /&gt;
  services.xserver.enable = true;&lt;br /&gt;
  services.xserver.layout = &amp;quot;us&amp;quot;;&lt;br /&gt;
  services.xserver.xkbOptions = &amp;quot;eurosign:e&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Enable touchpad support.&lt;br /&gt;
  services.xserver.libinput.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable the KDE Desktop Environment.&lt;br /&gt;
  services.xserver.displayManager.sddm.enable = true;&lt;br /&gt;
  services.xserver.desktopManager.plasma5.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Define a user account. Don&#039;t forget to set a password with ‘passwd’.&lt;br /&gt;
  # users.extraUsers.guest = {&lt;br /&gt;
  #   isNormalUser = true;&lt;br /&gt;
  #   uid = 1000;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # This value determines the NixOS release with which your system is to be&lt;br /&gt;
  # compatible, in order to avoid breaking some software such as database&lt;br /&gt;
  # servers. You should change this only after NixOS release notes say you&lt;br /&gt;
  # should.&lt;br /&gt;
  system.stateVersion = &amp;quot;17.09&amp;quot;; # Did you read the comment?&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nixos-install&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== nixos mit zfs (uefi) ==&lt;br /&gt;
&lt;br /&gt;
1. Folgende Zeile, der configuration.nix des livesystems hinzufuegen:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2.  nixos-rebuild switch&lt;br /&gt;
&lt;br /&gt;
3.  nano /etc/nixos/configuration.nix&lt;br /&gt;
3.1 configuration.nix hinzufuegen: &lt;br /&gt;
         boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&lt;br /&gt;
4. nixos-rebuild switch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. modprobe zfs&lt;br /&gt;
&lt;br /&gt;
6. Partitionierung mit gdisk von sda:&lt;br /&gt;
   6.1 sda1 100MB boot partition mit code ef00&lt;br /&gt;
   6.2 sda2 restliche Platte eine Partition fstyp solaris /home (bf05)&lt;br /&gt;
7. zpool create -o ashift=12 -o altroot=/mnt rpool /dev/sda2&lt;br /&gt;
&lt;br /&gt;
8. zfs create -o mountpoint=none rpool/root&lt;br /&gt;
&lt;br /&gt;
9. zfs create -o mountpoint=legacy rpool/root/nixos&lt;br /&gt;
&lt;br /&gt;
10. zfs create -o mountpoint=legacy rpool/home&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11. zfs set compression=lz4 rpool/home&lt;br /&gt;
&lt;br /&gt;
12. mount -t zfs rpool/root/nixos /mnt&lt;br /&gt;
&lt;br /&gt;
13. mkdir /mnt/home&lt;br /&gt;
&lt;br /&gt;
14. mount -t zfs rpool/home /mnt/home&lt;br /&gt;
&lt;br /&gt;
15. mkfs.vfat /dev/sda1&lt;br /&gt;
&lt;br /&gt;
16. mkdir mnt/boot&lt;br /&gt;
&lt;br /&gt;
17. mount /dev/disk/by-id/&amp;quot;festplattenname&amp;quot;-part1 /mnt/boot&lt;br /&gt;
&lt;br /&gt;
18. nixos-generate-config --root /mnt&lt;br /&gt;
&lt;br /&gt;
19. nano /mnt/etc/nixos/hardware-configuration.nix&lt;br /&gt;
     19.1 sollte enthalten:&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;rpool/root/nixos&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/home&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;rpool/home&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
20. nano /mnt/etc/nixos/configuration.nix&lt;br /&gt;
    20.1 das einfuegen:&lt;br /&gt;
          boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
          networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
21. nixos-install&lt;br /&gt;
&lt;br /&gt;
== Durchführung einer erfolgreichen [https://nixos.wiki/wiki/NixOS_on_ZFS#Encrypted_ZFS Installation mit ZFS mit nativer Verschlüsslung] ==&lt;br /&gt;
: etwa beispielsweise für UEFI&lt;br /&gt;
&lt;br /&gt;
; Herunterladen des Abbildes (iso) von [https://nixos.org/releases/tmp/release-nixos-unstable-small/ NixOS unstable (18.03)]&lt;br /&gt;
&lt;br /&gt;
; Erstellen eines Speichers (USB-Stick) von dem gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
; Starten vom erstellten Speicher für die Installation von NixOS&lt;br /&gt;
&lt;br /&gt;
; Änderung der Konfiguration für die Verwendung von ZFS in der (zentralen) Datei zur Verwaltung von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports = [ &amp;lt;nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix&amp;gt; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	boot.zfs.enableUnstable = true;&lt;br /&gt;
	boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Anwenden der geänderten Konfigutation von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-rebuild switch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Hinzufügen des Moduls vom Kernel für die Verwendung von ZFS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;modprobe zfs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Partitionieren des Massenspeichers des Ziels der Installation&lt;br /&gt;
:* von /dev/sda&lt;br /&gt;
:* beispielsweise mit &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt;&lt;br /&gt;
: Üblicher Weise ist der Massenspeicher &#039;&#039;/dev/sda&#039;&#039;. Aber der Massenspeicher kann auch &#039;&#039;/dev/sdb&#039;&#039; oder anderes nachfolgendes Gerät sein, etwa wenn der Speicher von dem die Installation gestartet wurde &#039;&#039;/dev/sda&#039;&#039; ist.&lt;br /&gt;
:; Partitionieren eines Teils für das Booten (efi)&lt;br /&gt;
:: /dev/sda1 100MB code: ef00 (Boot-Partition)&lt;br /&gt;
:; Partitionieren eines Teils (restlichen) für alle anderen Daten (außer für das Booten (efi)) mit ZFS:&lt;br /&gt;
:: /dev/sda2 restliche Platte fstyp: solaris /home mit code: bf05 erhältlich (Pool)&lt;br /&gt;
&lt;br /&gt;
; Vollständig encrypted Pool anlegen (zroot kann auch anders benannt werden, ashift=12 für 4k Blocksize)&lt;br /&gt;
: &amp;lt;code&amp;gt;zpool create -o ashift=12 -o altroot=&amp;quot;/mnt&amp;quot; -O encryption=aes-256-gcm -O keyformat=passphrase zroot /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Erstellen der Datasets für ZFS&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=none zroot/root&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy -o sync=disabled zroot/root/tmp&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/nixos&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs set compression=lz4 zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Einhängen vom Dataset für ZFS, wo das Betriebssystem NixOS abgelegt sein soll, als Teil vom Ziel der Installation&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/nixos /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Unter /mnt die Ordner home, tmp und boot anlegen&lt;br /&gt;
: &amp;lt;code&amp;gt;mkdir /mnt/{home,tmp,boot}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Dateisystem (vfat) für die Boot-Partition /dev/sda1 festlegen und Mount von /dev/sda1 nach /mnt/boot&lt;br /&gt;
: &amp;lt;code&amp;gt;mkfs.vfat /dev/sda1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount /dev/sda1 /mnt/boot/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Die restlichen Verzeichnisse mounten&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/home /mnt/home/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/tmp /mnt/tmp/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; NixOs hardware-configuration.nix erzeugen&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-generate-config --root /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Diese sollte so ähnlich aussehen:&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/nixos&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/home&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/home&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/tmp&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/tmp&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Zum Schluss die configuration.nix im neuen System anpassen unter /mnt/etc/nixos/configuration.nix&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /mnt/etc/nixos/configuration.nix &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; folgende Zeilen einfügen (Reihenfolge entscheidend):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    boot.zfs.enableUnstable = true;&lt;br /&gt;
    boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
    networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Gegebenenfalls in dieser Datei die Zeile powerManagement auskommentieren&lt;br /&gt;
&lt;br /&gt;
; Starten des Durchführens der Installation:&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-install&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Durchführung einer [https://nixos.wiki/wiki/NixOS_on_ZFS#Encrypted_ZFS Installation mit ZFS mit nativer Verschlüsslung] als Spiegel ==&lt;br /&gt;
&lt;br /&gt;
; Herunterladen des Abbildes (iso) von [https://nixos.org/releases/tmp/release-nixos-unstable-small/ NixOS unstable (18.03)]&lt;br /&gt;
&lt;br /&gt;
; Erstellen eines Speichers (USB-Stick) von dem gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
; Starten vom erstellten Speicher für die Installation von NixOS&lt;br /&gt;
&lt;br /&gt;
; Änderung der Konfiguration für die Verwendung von ZFS in der (zentralen) Datei zur Verwaltung von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports = [ &amp;lt;nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix&amp;gt; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	boot.zfs.enableUnstable = true;&lt;br /&gt;
	boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Anwenden der geänderten Konfigutation von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-rebuild switch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Hinzufügen des Moduls vom Kernel für die Verwendung von ZFS (für den laufenden Betrieb):&lt;br /&gt;
:; Prüfen, on das Modul vom Kernel für die Verwendung von ZFS geladen ist:&lt;br /&gt;
:: &amp;lt;code&amp;gt;kmod list | grep zfs&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;modprobe zfs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Partitionieren des Massenspeichers des Ziels der Installation&lt;br /&gt;
:* von /dev/sda&lt;br /&gt;
:* beispielsweise mit &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt;&lt;br /&gt;
: Üblicher Weise ist der Massenspeicher &#039;&#039;/dev/sda&#039;&#039;. Aber der Massenspeicher kann auch &#039;&#039;/dev/sdb&#039;&#039; oder anderes nachfolgendes Gerät sein, etwa wenn der Speicher von dem die Installation gestartet wurde &#039;&#039;/dev/sda&#039;&#039; ist.&lt;br /&gt;
:; Partitionieren eines Teils für das Booten (efi)&lt;br /&gt;
:: /dev/sda1 100MB code: ef00 (Boot-Partition)&lt;br /&gt;
:: /dev/sdd1 100MB code: ef00 (Boot-Partition)&lt;br /&gt;
:; Partitionieren eines Teils (restlichen) für alle anderen Daten (außer für das Booten (efi)) mit ZFS:&lt;br /&gt;
:: /dev/sda2 restliche Platte fstyp: solaris /home mit code: bf05 erhältlich (Pool)&lt;br /&gt;
:: /dev/sdd2 restliche Platte fstyp: solaris /home mit code: bf05 erhältlich (Pool)&lt;br /&gt;
&lt;br /&gt;
; Vollständig encrypted Pool anlegen (zroot kann auch anders benannt werden, ashift=12 für 4k Blocksize)&lt;br /&gt;
: &amp;lt;code&amp;gt;zpool create -o ashift=12 -o altroot=&amp;quot;/mnt&amp;quot; -O encryption=aes-256-gcm -O keyformat=passphrase zroot mirror /dev/sda2 /dev/sdd2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Erstellen der Datasets für ZFS&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=none zroot/root&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy -o sync=disabled zroot/root/tmp&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/nixos&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs set compression=lz4 zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Einhängen vom Dataset für ZFS, wo das Betriebssystem NixOS abgelegt sein soll, als Teil vom Ziel der Installation&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/nixos /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Unter /mnt die Ordner home, tmp und boot anlegen&lt;br /&gt;
: &amp;lt;code&amp;gt;mkdir /mnt/{home,tmp,boot}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Dateisystem (vfat) für die Boot-Partition /dev/sda1 festlegen und Mount von /dev/sda1 nach /mnt/boot&lt;br /&gt;
: &amp;lt;code&amp;gt;mkfs.vfat /dev/sda1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount /dev/sda1 /mnt/boot/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mkfs.vfat /dev/sdd1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount /dev/sdd1 /mnt/boot/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Die restlichen Verzeichnisse mounten&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/home /mnt/home/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/tmp /mnt/tmp/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; NixOs hardware-configuration.nix erzeugen&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-generate-config --root /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Diese sollte so ähnlich aussehen:&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/nixos&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/home&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/home&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/tmp&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/tmp&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
  swapDevices =&lt;br /&gt;
    [ { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    nix.maxJobs = lib.mkDefault 4;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Zum Schluss die configuration.nix im neuen System anpassen unter /mnt/etc/nixos/configuration.nix&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /mnt/etc/nixos/configuration.nix &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; folgende Zeilen einfügen (Reihenfolge entscheidend):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    boot.loader.grub.devices = [ &amp;quot;/dev/sda&amp;quot; &amp;quot;/dev/sdd&amp;quot;];&lt;br /&gt;
    boot.zfs.enableUnstable = true;&lt;br /&gt;
    boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
    networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Gegebenenfalls in dieser Datei die Zeile powerManagement auskommentieren&lt;br /&gt;
&lt;br /&gt;
; Starten des Durchführens der Installation:&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-install&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Software RAID fuer &#039;&#039;/boot&#039;&#039; und boot loader ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Software_RAID_and_LVM&lt;br /&gt;
&lt;br /&gt;
; Test fur MBR:&lt;br /&gt;
&lt;br /&gt;
[root@nixos:~]# fdisk -l /dev/sda&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0x9&lt;br /&gt;
&lt;br /&gt;
Device     Boot  Start       End   Sectors   Size Id Type&lt;br /&gt;
/dev/sda1  *      2048    206847    204800   100M 83 Linux&lt;br /&gt;
/dev/sda2       206848 976773167 976566320 465.7G bf Solaris&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[root@nixos:~]# fdisk -l /dev/sdd&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk /dev/sdd: 465.8 GiB, 500107862016 bytes, 976773168 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0x6&lt;br /&gt;
&lt;br /&gt;
Device     Boot  Start       End   Sectors   Size Id Type&lt;br /&gt;
/dev/sdd1  *      2048    206847    204800   100M fd Linux raid autodetect&lt;br /&gt;
/dev/sdd2       206848 976773167 976566320 465.7G bf Solaris&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
mdadm --build /dev/md1 --metadata=0.90 --level=1 --raid-devices=2 /dev/sda1 /dev/sdd1&lt;br /&gt;
&lt;br /&gt;
mdadm --stop /dev/md1&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mdadm --create /dev/md1 --metadata=0.90 --level=1 --raid-devices=2 /dev/sda1 /dev/sdd1&lt;br /&gt;
&lt;br /&gt;
mkfs.ext4 -m 0 -L boot -j /dev/md1&lt;br /&gt;
&lt;br /&gt;
mount /dev/md1 /mnt/boot/&lt;br /&gt;
&lt;br /&gt;
; Test fur GPT:&lt;br /&gt;
&lt;br /&gt;
== 21.05 ZFS setup ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo zpool import -f -d /dev rpool&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zpool create -o ashift=12 -o altroot=&amp;quot;/mnt&amp;quot; -O mountpoint=none -O encryption=aes-256-gcm -O keyformat=passphrase zroot mirror /dev/sda3 /dev/sdb3&lt;br /&gt;
Enter new passphrase:&lt;br /&gt;
Re-enter new passphrase:&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ zpool status &lt;br /&gt;
  pool: zroot&lt;br /&gt;
 state: ONLINE&lt;br /&gt;
config:&lt;br /&gt;
&lt;br /&gt;
        NAME        STATE     READ WRITE CKSUM&lt;br /&gt;
        zroot       ONLINE       0     0     0&lt;br /&gt;
          mirror-0  ONLINE       0     0     0&lt;br /&gt;
            sda3    ONLINE       0     0     0&lt;br /&gt;
            sdb3    ONLINE       0     0     0&lt;br /&gt;
&lt;br /&gt;
errors: No known data errors&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o sync=disabled zroot/tmp&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/root&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/nix&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/home&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/var&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mkdir /mnt/{tmp,nix,home,var}&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/tmp /mnt/tmp&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/nix /mnt/nix&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/home /mnt/home&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/var /mnt/var&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo nixos-generate-config  --root /mnt&lt;br /&gt;
writing /mnt/etc/nixos/hardware-configuration.nix...&lt;br /&gt;
writing /mnt/etc/nixos/configuration.nix...&lt;br /&gt;
For more hardware-specific settings, see https://github.com/NixOS/nixos-hardware.&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ less /mnt/etc/nixos/hardware-configuration.nix&lt;br /&gt;
&lt;br /&gt;
== Installation Tuxedo ==&lt;br /&gt;
&lt;br /&gt;
==== [https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/Root%20on%20ZFS/1-preparation.html Preparation] ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;find /dev/disk/by-id/&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;cd /dev/disk/by-id/ &amp;amp;&amp;amp; ls -l &amp;amp;&amp;amp; cd -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;DISK=&#039;/dev/disk/by-id/ata-Samsung_SSD_850_EVO_1TB_S3LENB0JB00287Z /dev/disk/by-id/ata-Samsung_SSD_860_EVO_M.2_1TB_S415NB0M120414E&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;INST_PARTSIZE_SWAP=128&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;s&amp;gt;&amp;lt;code&amp;gt;INST_PARTSIZE_RPOOL=&amp;lt;/code&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/Root%20on%20ZFS/2-system-installation.html System Installation] ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# wipe flash-based storage device to improve performance.&lt;br /&gt;
# blkdiscard&lt;br /&gt;
!--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in ${DISK}; do&lt;br /&gt;
&lt;br /&gt;
  sudo blkdiscard -f $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk --zap-all $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -n1:1M:+1G -t1:EF00 $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -n2:0:+4G -t2:BE00 $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -n4:0:+${INST_PARTSIZE_SWAP}G -t4:8200 $i&lt;br /&gt;
&lt;br /&gt;
  if test -z $INST_PARTSIZE_RPOOL; then&lt;br /&gt;
    sudo sgdisk -n3:0:0   -t3:BF00 $i&lt;br /&gt;
  else&lt;br /&gt;
    sudo sgdisk -n3:0:+${INST_PARTSIZE_RPOOL}G -t3:BF00 $i&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -a1 -n5:24K:+1000K -t5:EF02 $i&lt;br /&gt;
&lt;br /&gt;
  sync &amp;amp;&amp;amp; udevadm settle &amp;amp;&amp;amp; sleep 3&lt;br /&gt;
&lt;br /&gt;
  sudo cryptsetup open --type plain --key-file /dev/random $i-part4 ${i##*/}-part4&lt;br /&gt;
  sudo mkswap /dev/mapper/${i##*/}-part4&lt;br /&gt;
  sudo swapon /dev/mapper/${i##*/}-part4&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
blkdiscard: Operation forced, data will be lost!&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
GPT data structures destroyed! You may now partition the disk using fdisk or&lt;br /&gt;
other utilities.&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
Setting up swapspace version 1, size = 128 GiB (137438949376 bytes)&lt;br /&gt;
no label, UUID=20cea8d9-b934-45d3-bf9d-9ab130df604a&lt;br /&gt;
blkdiscard: Operation forced, data will be lost!&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
GPT data structures destroyed! You may now partition the disk using fdisk or&lt;br /&gt;
other utilities.&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
Setting up swapspace version 1, size = 128 GiB (137438949376 bytes)&lt;br /&gt;
no label, UUID=8084a830-66c5-44d9-b47d-1c8b4933116b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo \&lt;br /&gt;
  zpool create \&lt;br /&gt;
    -o compatibility=grub2 \&lt;br /&gt;
    -o ashift=12 \&lt;br /&gt;
    -o autotrim=on \&lt;br /&gt;
    -O acltype=posixacl \&lt;br /&gt;
    -O canmount=off \&lt;br /&gt;
    -O compression=lz4 \&lt;br /&gt;
    -O devices=off \&lt;br /&gt;
    -O normalization=formD \&lt;br /&gt;
    -O relatime=on \&lt;br /&gt;
    -O xattr=sa \&lt;br /&gt;
    -O mountpoint=/boot \&lt;br /&gt;
    -R /mnt \&lt;br /&gt;
    bpool \&lt;br /&gt;
    mirror \&lt;br /&gt;
    $(for i in ${DISK}; do&lt;br /&gt;
       printf &amp;quot;$i-part2 &amp;quot;;&lt;br /&gt;
      done)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo \&lt;br /&gt;
  zpool create \&lt;br /&gt;
    -o ashift=12 \&lt;br /&gt;
    -o autotrim=on \&lt;br /&gt;
    -R /mnt \&lt;br /&gt;
    -O acltype=posixacl \&lt;br /&gt;
    -O canmount=off \&lt;br /&gt;
    -O compression=zstd \&lt;br /&gt;
    -O dnodesize=auto \&lt;br /&gt;
    -O normalization=formD \&lt;br /&gt;
    -O relatime=on \&lt;br /&gt;
    -O xattr=sa \&lt;br /&gt;
    -O mountpoint=/ \&lt;br /&gt;
    rpool \&lt;br /&gt;
    mirror \&lt;br /&gt;
    $(for i in ${DISK}; do&lt;br /&gt;
      printf &amp;quot;$i-part3 &amp;quot;;&lt;br /&gt;
    done)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;PASSWORD=&#039;p4ssw0rd&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo ${PASSWORD} | \&lt;br /&gt;
sudo \&lt;br /&gt;
  zfs create \&lt;br /&gt;
    -o canmount=off \&lt;br /&gt;
    -o mountpoint=none \&lt;br /&gt;
    -o encryption=on \&lt;br /&gt;
    -o keylocation=prompt \&lt;br /&gt;
    -o keyformat=passphrase \&lt;br /&gt;
    rpool/nixos&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/root&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/var&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/var/lib&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/var/log&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=none   bpool/nixos&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy bpool/nixos/root&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/empty&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs snapshot rpool/nixos/empty@start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -t zfs rpool/nixos/root /mnt/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -t zfs rpool/nixos/home /mnt/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/boot&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -t zfs bpool/nixos/root /mnt/boot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in ${DISK}; do&lt;br /&gt;
  sudo mkfs.vfat -n EFI ${i}-part1&lt;br /&gt;
  sudo mkdir -p /mnt/boot/efis/${i##*/}-part1&lt;br /&gt;
  sudo mount -t vfat ${i}-part1 /mnt/boot/efis/${i##*/}-part1&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkfs.fat 4.2 (2021-01-31)&lt;br /&gt;
mkfs.fat 4.2 (2021-01-31)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/Root%20on%20ZFS/3-system-configuration.html System Configuration] ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir -p /mnt/etc/nixos/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo curl -o /mnt/etc/nixos/configuration.nix -L &amp;lt;nowiki&amp;gt;https://github.com/openzfs/openzfs-docs/raw/master/docs/Getting%20Started/NixOS/Root%20on%20ZFS/configuration.nix&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;s&amp;gt;&amp;lt;code&amp;gt;curl -o /tmp/openzfs.default.configuration.nix -L &amp;lt;nowiki&amp;gt;https://github.com/openzfs/openzfs-docs/raw/master/docs/Getting%20Started/NixOS/Root%20on%20ZFS/configuration.nix &amp;amp;&amp;amp; sudo mv /tmp/openzfs.default.configuration.nix /mnt/etc/nixos/configuration.nix&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in $DISK; do&lt;br /&gt;
  sudo sed -i \&lt;br /&gt;
    &amp;quot;s|PLACEHOLDER_FOR_DEV_NODE_PATH|\&amp;quot;${i%/*}/\&amp;quot;|&amp;quot; \&lt;br /&gt;
    /mnt/etc/nixos/configuration.nix&lt;br /&gt;
  break&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
diskNames=&amp;quot;&amp;quot;&lt;br /&gt;
for i in $DISK; do&lt;br /&gt;
  diskNames=&amp;quot;$diskNames \&amp;quot;${i##*/}\&amp;quot;&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
sudo tee -a /mnt/etc/nixos/machine.nix &amp;lt;&amp;lt;EOF&lt;br /&gt;
{&lt;br /&gt;
  bootDevices = [ $diskNames ];&lt;br /&gt;
}&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;rootPwd=$(mkpasswd -m SHA-512 -s)&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo sed -i \&lt;br /&gt;
&amp;quot;s|PLACEHOLDER_FOR_ROOT_PWD_HASH|\&amp;quot;&amp;quot;${rootPwd}&amp;quot;\&amp;quot;|&amp;quot; \&lt;br /&gt;
/mnt/etc/nixos/configuration.nix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
: &amp;lt;code&amp;gt;sed /mnt/etc/nixos/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
configuration.nix  machine.nix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Edit this configuration file to define what should be installed on&lt;br /&gt;
# your system.  Help is available in the configuration.nix(5) man page&lt;br /&gt;
# and in the NixOS manual (accessible by running ‘nixos-help’).&lt;br /&gt;
{ config, lib, pkgs, modulesPath, ... }:&lt;br /&gt;
&lt;br /&gt;
let&lt;br /&gt;
  zfsRoot.partitionScheme = {&lt;br /&gt;
    biosBoot = &amp;quot;-part5&amp;quot;;&lt;br /&gt;
    efiBoot = &amp;quot;-part1&amp;quot;;&lt;br /&gt;
    swap = &amp;quot;-part4&amp;quot;;&lt;br /&gt;
    bootPool = &amp;quot;-part2&amp;quot;;&lt;br /&gt;
    rootPool = &amp;quot;-part3&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
  zfsRoot.devNodes = &amp;quot;/dev/disk/by-id/&amp;quot;; # MUST have trailing slash! /dev/disk/by-id/&lt;br /&gt;
  zfsRoot.bootDevices = (import ./machine.nix).bootDevices;&lt;br /&gt;
  zfsRoot.mirroredEfi = &amp;quot;/boot/efis/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
in {&lt;br /&gt;
  # adjust according to your platform, such as&lt;br /&gt;
  imports = [&lt;br /&gt;
    # (modulesPath + &amp;quot;/profiles/qemu-guest.nix&amp;quot;)&lt;br /&gt;
    # (modulesPath + &amp;quot;/profiles/all-hardware.nix&amp;quot;)&lt;br /&gt;
    (modulesPath + &amp;quot;/installer/scan/not-detected.nix&amp;quot;)&lt;br /&gt;
  ];&lt;br /&gt;
  systemd.services.zfs-mount.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # networking.hostName = &amp;quot;nixos&amp;quot;; # Define your hostname.&lt;br /&gt;
  # Pick only one of the below networking options.&lt;br /&gt;
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.&lt;br /&gt;
  # networking.networkmanager.enable = true;  # Easiest to use and most distros use this by default.&lt;br /&gt;
&lt;br /&gt;
  # Set your time zone.&lt;br /&gt;
  # time.timeZone = &amp;quot;Europe/Amsterdam&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Configure network proxy if necessary&lt;br /&gt;
  # networking.proxy.default = &amp;quot;http://user:password@proxy:port/&amp;quot;;&lt;br /&gt;
  # networking.proxy.noProxy = &amp;quot;127.0.0.1,localhost,internal.domain&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Select internationalisation properties.&lt;br /&gt;
  # i18n.defaultLocale = &amp;quot;en_US.UTF-8&amp;quot;;&lt;br /&gt;
  # console = {&lt;br /&gt;
  #   font = &amp;quot;Lat2-Terminus16&amp;quot;;&lt;br /&gt;
  #   keyMap = &amp;quot;us&amp;quot;;&lt;br /&gt;
  #   useXkbConfig = true; # use xkbOptions in tty.&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # Configure keymap in X11&lt;br /&gt;
  # services.xserver.layout = &amp;quot;us&amp;quot;;&lt;br /&gt;
  # services.xserver.xkbOptions = {&lt;br /&gt;
  #   &amp;quot;eurosign:e&amp;quot;;&lt;br /&gt;
  #   &amp;quot;caps:escape&amp;quot; # map caps to escape.&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # Enable CUPS to print documents.&lt;br /&gt;
  # services.printing.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable sound.&lt;br /&gt;
  # sound.enable = true;&lt;br /&gt;
  # hardware.pulseaudio.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable touchpad support (enabled default in most desktopManager).&lt;br /&gt;
&lt;br /&gt;
  # Define a user account. Don&#039;t forget to set a password with ‘passwd’.&lt;br /&gt;
  # users.users.alice = {&lt;br /&gt;
  #   isNormalUser = true;&lt;br /&gt;
  #   extraGroups = [ &amp;quot;wheel&amp;quot; ]; # Enable ‘sudo’ for the user.&lt;br /&gt;
  #   packages = with pkgs; [&lt;br /&gt;
  #     firefox&lt;br /&gt;
  #     thunderbird&lt;br /&gt;
  #   ];&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # List packages installed in system profile. To search, run:&lt;br /&gt;
  # $ nix search wget&lt;br /&gt;
  environment.systemPackages = with pkgs;&lt;br /&gt;
    [&lt;br /&gt;
      #   vim&lt;br /&gt;
      ## Do not forget to add an editor to edit configuration.nix!&lt;br /&gt;
      ## The Nano editor is also installed by default.&lt;br /&gt;
      #   wget&lt;br /&gt;
      mg&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  # Some programs need SUID wrappers, can be configured further or are&lt;br /&gt;
  # started in user sessions.&lt;br /&gt;
  # programs.mtr.enable = true;&lt;br /&gt;
  # programs.gnupg.agent = {&lt;br /&gt;
  #   enable = true;&lt;br /&gt;
  #   enableSSHSupport = true;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # List services that you want to enable:&lt;br /&gt;
&lt;br /&gt;
  # Enable the OpenSSH daemon.&lt;br /&gt;
  services.openssh.enable = false;&lt;br /&gt;
  users.users.root = {&lt;br /&gt;
    ##hash: mkpasswd -m SHA-512 -s&lt;br /&gt;
    initialHashedPassword = &amp;quot;$6$OYQ1J8P/eJcD.D/nAeF.Gq8IPRrZfu.EGZkYJ3kYpmzhTq1QNVwraZboxoGaQxVmMpEq.Zrz0bgV$Vm/oMUobWh7VpNYtt4baExd960&amp;quot;;&lt;br /&gt;
    openssh.authorizedKeys.keys = [&lt;br /&gt;
    ];&lt;br /&gt;
  };&lt;br /&gt;
  programs.git.enable = true;&lt;br /&gt;
  # Open ports in the firewall.&lt;br /&gt;
  # networking.firewall.allowedTCPPorts = [ ... ];&lt;br /&gt;
  # networking.firewall.allowedUDPPorts = [ ... ];&lt;br /&gt;
  # Or disable the firewall altogether.&lt;br /&gt;
  # networking.firewall.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # Copy the NixOS configuration file and link it from the resulting system&lt;br /&gt;
  # (/run/current-system/configuration.nix). This is useful in case you&lt;br /&gt;
  # accidentally delete configuration.nix.&lt;br /&gt;
  system.copySystemConfiguration = true;&lt;br /&gt;
&lt;br /&gt;
  # This value determines the NixOS release from which the default&lt;br /&gt;
  # settings for stateful data, like file locations and database versions&lt;br /&gt;
  # on your system were taken. It‘s perfectly fine and recommended to leave&lt;br /&gt;
  # this value at the release version of the first install of this system.&lt;br /&gt;
  # Before changing this value read the documentation for this option&lt;br /&gt;
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).&lt;br /&gt;
  system.stateVersion = &amp;quot;22.11&amp;quot;; # Did you read the comment?&lt;br /&gt;
&lt;br /&gt;
  boot.initrd.availableKernelModules = [&lt;br /&gt;
    &amp;quot;ahci&amp;quot;&lt;br /&gt;
    &amp;quot;xhci_pci&amp;quot;&lt;br /&gt;
    &amp;quot;virtio_pci&amp;quot;&lt;br /&gt;
    &amp;quot;virtio_blk&amp;quot;&lt;br /&gt;
    &amp;quot;ehci_pci&amp;quot;&lt;br /&gt;
    &amp;quot;nvme&amp;quot;&lt;br /&gt;
    &amp;quot;uas&amp;quot;&lt;br /&gt;
    &amp;quot;sd_mod&amp;quot;&lt;br /&gt;
    &amp;quot;sr_mod&amp;quot;&lt;br /&gt;
    &amp;quot;sdhci_pci&amp;quot;&lt;br /&gt;
  ];&lt;br /&gt;
  boot.initrd.kernelModules = [ ];&lt;br /&gt;
  boot.kernelModules = [ &amp;quot;kvm-intel&amp;quot; &amp;quot;kvm-amd&amp;quot; ];&lt;br /&gt;
  boot.extraModulePackages = [ ];&lt;br /&gt;
&lt;br /&gt;
  fileSystems = {&lt;br /&gt;
    &amp;quot;/&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/root&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/home&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/home&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/var/lib&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/var/lib&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/var/log&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/var/log&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/boot&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;bpool/nixos/root&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
  } // (builtins.listToAttrs (map (diskName: {&lt;br /&gt;
    name = zfsRoot.mirroredEfi + diskName + zfsRoot.partitionScheme.efiBoot;&lt;br /&gt;
    value = {&lt;br /&gt;
      device = zfsRoot.devNodes + diskName + zfsRoot.partitionScheme.efiBoot;&lt;br /&gt;
      fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      options = [&lt;br /&gt;
        &amp;quot;x-systemd.idle-timeout=1min&amp;quot;&lt;br /&gt;
        &amp;quot;x-systemd.automount&amp;quot;&lt;br /&gt;
        &amp;quot;noauto&amp;quot;&lt;br /&gt;
        &amp;quot;nofail&amp;quot;&lt;br /&gt;
      ];&lt;br /&gt;
    };&lt;br /&gt;
  }) zfsRoot.bootDevices));&lt;br /&gt;
&lt;br /&gt;
  swapDevices = (map (diskName: {&lt;br /&gt;
    device = zfsRoot.devNodes + diskName + zfsRoot.partitionScheme.swap;&lt;br /&gt;
    discardPolicy = &amp;quot;both&amp;quot;;&lt;br /&gt;
    randomEncryption = {&lt;br /&gt;
      enable = true;&lt;br /&gt;
      allowDiscards = true;&lt;br /&gt;
    };&lt;br /&gt;
  }) zfsRoot.bootDevices);&lt;br /&gt;
&lt;br /&gt;
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking&lt;br /&gt;
  # (the default) this is the recommended approach. When using systemd-networkd it&#039;s&lt;br /&gt;
  # still possible to use this option, but it&#039;s recommended to use it in conjunction&lt;br /&gt;
  # with explicit per-interface declarations with `networking.interfaces.&amp;lt;interface&amp;gt;.useDHCP`.&lt;br /&gt;
  networking.useDHCP = lib.mkDefault true;&lt;br /&gt;
  # networking.networkmanager.enable = true;&lt;br /&gt;
  # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;&lt;br /&gt;
&lt;br /&gt;
  nixpkgs.hostPlatform = lib.mkDefault &amp;quot;x86_64-linux&amp;quot;;&lt;br /&gt;
  hardware.cpu.intel.updateMicrocode =&lt;br /&gt;
    lib.mkDefault config.hardware.enableRedistributableFirmware;&lt;br /&gt;
  hardware.cpu.amd.updateMicrocode =&lt;br /&gt;
    lib.mkDefault config.hardware.enableRedistributableFirmware;&lt;br /&gt;
&lt;br /&gt;
  boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
  networking.hostId = &amp;quot;abcd1234&amp;quot;;&lt;br /&gt;
  boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;&lt;br /&gt;
  boot.loader.efi.efiSysMountPoint = with builtins;&lt;br /&gt;
    (zfsRoot.mirroredEfi + (head zfsRoot.bootDevices) + zfsRoot.partitionScheme.efiBoot);&lt;br /&gt;
  boot.zfs.devNodes = zfsRoot.devNodes;&lt;br /&gt;
  boot.loader.efi.canTouchEfiVariables = false;&lt;br /&gt;
  boot.loader.generationsDir.copyKernels = true;&lt;br /&gt;
  boot.loader.grub.efiInstallAsRemovable = true;&lt;br /&gt;
  boot.loader.grub.enable = true;&lt;br /&gt;
  boot.loader.grub.version = 2;&lt;br /&gt;
  boot.loader.grub.copyKernels = true;&lt;br /&gt;
  boot.loader.grub.efiSupport = true;&lt;br /&gt;
  boot.loader.grub.zfsSupport = true;&lt;br /&gt;
  boot.loader.grub.extraInstallCommands = with builtins;&lt;br /&gt;
    (toString (map (diskName:&lt;br /&gt;
      &amp;quot;cp -r &amp;quot; + config.boot.loader.efi.efiSysMountPoint + &amp;quot;/EFI&amp;quot; + &amp;quot; &amp;quot;&lt;br /&gt;
      + zfsRoot.mirroredEfi + diskName + zfsRoot.partitionScheme.efiBoot + &amp;quot;\n&amp;quot;)&lt;br /&gt;
      (tail zfsRoot.bootDevices)));&lt;br /&gt;
  boot.loader.grub.devices =&lt;br /&gt;
    (map (diskName: zfsRoot.devNodes + diskName) zfsRoot.bootDevices);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/machine.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  bootDevices = [  &amp;quot;ata-Samsung_SSD_850_EVO_1TB_S3LENB0JB00287Z&amp;quot; &amp;quot;ata-Samsung_SSD_860_EVO_M.2_1TB_S415NB0M120414E&amp;quot; ];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo nano /mnt/etc/nixos/configuration.nix &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo nixos-install --no-root-passwd --root /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Coda =====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo umount -Rl /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zpool export -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anleitungen ZFS ==&lt;br /&gt;
&lt;br /&gt;
https://mazzo.li/posts/hetzner-zfs.html&lt;br /&gt;
&lt;br /&gt;
== 2024-05 2024-05-04 ==&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 download ====&lt;br /&gt;
&lt;br /&gt;
[https://channels.nixos.org/nixos-unstable/latest-nixos-plasma5-x86_64-linux.iso latest-nixos-plasma5-x86_64-linux.iso]&lt;br /&gt;
&lt;br /&gt;
[https://releases.nixos.org/nixos/unstable/nixos-24.05pre619660.63c3a29ca824/nixos-plasma5-24.05pre619660.63c3a29ca824-x86_64-linux.iso nixos-plasma5-24.05pre619660.63c3a29ca824-x86_64-linux.iso]&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 partitioning ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env bash&lt;br /&gt;
&lt;br /&gt;
#MNT=$(mktemp -d)&lt;br /&gt;
MNT=/mnt&lt;br /&gt;
&lt;br /&gt;
DISK=&#039;/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R /dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500&amp;gt;&lt;br /&gt;
SWAPSIZE=64&lt;br /&gt;
UNUSEDSIZE=64&lt;br /&gt;
&lt;br /&gt;
partition_disk () {&lt;br /&gt;
&lt;br /&gt;
  local disk=&amp;quot;${1}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  blkdiscard -f &amp;quot;${disk}&amp;quot; || true&lt;br /&gt;
&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mklabel gpt&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mkpart EFI 1MiB 4GiB&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mkpart rpool 4GiB -$((SWAPSIZE + UNUSEDSIZE))GiB&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mkpart swap  -$((SWAPSIZE + UNUSEDSIZE))GiB -&amp;quot;${UNUSEDSIZE}&amp;quot;GiB&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; set 1 esp on&lt;br /&gt;
&lt;br /&gt;
  sudo  partprobe &amp;quot;${disk}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for i in ${DISK}; do&lt;br /&gt;
  partition_disk &amp;quot;${i}&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://aldoborrero.com/posts/2023/01/15/setting-up-my-machines-nix-style/&lt;br /&gt;
&lt;br /&gt;
https://github.com/nix-community/disko/blob/master/docs/HowTo.md&lt;br /&gt;
&lt;br /&gt;
https://oblivious.observer/posts/nixos-zfs-install-script/&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 Installation &amp;lt;code&amp;gt;/etc/nixos/configuration.nix&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Edit this configuration file to define what should be installed on&lt;br /&gt;
# your system.  Help is available in the configuration.nix(5) man page&lt;br /&gt;
# and in the NixOS manual (accessible by running ‘nixos-help’).&lt;br /&gt;
&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports =&lt;br /&gt;
    [ # Include the results of the hardware scan.&lt;br /&gt;
      ./hardware-configuration.nix&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
####    Hardware&lt;br /&gt;
&lt;br /&gt;
  console.keyMap = &amp;quot;de&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
####    System&lt;br /&gt;
&lt;br /&gt;
  boot.loader.systemd-boot.enable = true;&lt;br /&gt;
  boot.loader.efi.canTouchEfiVariables = true;&lt;br /&gt;
&lt;br /&gt;
  networking.hostName = &amp;quot;nixos&amp;quot;;&lt;br /&gt;
  # networking.wireless.enable = true;&lt;br /&gt;
  networking.networkmanager.enable = true;&lt;br /&gt;
&lt;br /&gt;
  time.timeZone = &amp;quot;Europe/London&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  i18n.defaultLocale = &amp;quot;en_US.UTF-8&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  i18n.extraLocaleSettings = {&lt;br /&gt;
    LC_ADDRESS = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_IDENTIFICATION = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_MEASUREMENT = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_MONETARY = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_NAME = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_NUMERIC = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_PAPER = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_TELEPHONE = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_TIME = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
####    GUI&lt;br /&gt;
&lt;br /&gt;
  services.xserver.enable = true;&lt;br /&gt;
&lt;br /&gt;
  services.xserver.xkb.layout = &amp;quot;${config.console.keyMap}&amp;quot;;&lt;br /&gt;
  services.xserver.xkb.variant = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  services.desktopManager.plasma6.enable = true;&lt;br /&gt;
  services.displayManager.sddm.enable = true;&lt;br /&gt;
  services.displayManager.sddm.wayland.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable CUPS to print documents.&lt;br /&gt;
#  services.printing.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable sound with pipewire.&lt;br /&gt;
  sound.enable = true;&lt;br /&gt;
  hardware.pulseaudio.enable = false;&lt;br /&gt;
  security.rtkit.enable = true;&lt;br /&gt;
  services.pipewire = {&lt;br /&gt;
    enable = true;&lt;br /&gt;
    alsa.enable = true;&lt;br /&gt;
    alsa.support32Bit = true;&lt;br /&gt;
    pulse.enable = true;&lt;br /&gt;
    #jack.enable = true;#&lt;br /&gt;
    #media-session.enable = true;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  # Enable touchpad support (enabled default in most desktopManager).&lt;br /&gt;
  # services.xserver.libinput.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Define a user account. Don&#039;t forget to set a password with ‘passwd’.&lt;br /&gt;
  users.users.k-ot = {&lt;br /&gt;
    isNormalUser = true;&lt;br /&gt;
    description = &amp;quot;K-oT&amp;quot;;&lt;br /&gt;
    extraGroups = [ &amp;quot;networkmanager&amp;quot; &amp;quot;wheel&amp;quot; ];&lt;br /&gt;
    packages = with pkgs; [&lt;br /&gt;
      kate&lt;br /&gt;
    #  thunderbird&lt;br /&gt;
    ];&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  # Enable automatic login for the user.&lt;br /&gt;
#  services.xserver.displayManager.autoLogin.enable = true;&lt;br /&gt;
#  services.xserver.displayManager.autoLogin.user = &amp;quot;k-ot&amp;quot;;&lt;br /&gt;
  services.displayManager.autoLogin.enable = true;&lt;br /&gt;
  services.displayManager.autoLogin.user = &amp;quot;k-ot&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Install firefox.&lt;br /&gt;
  programs.firefox.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Allow unfree packages&lt;br /&gt;
  nixpkgs.config.allowUnfree = true;&lt;br /&gt;
&lt;br /&gt;
  # List packages installed in system profile. To search, run:&lt;br /&gt;
  # $ nix search wget&lt;br /&gt;
  environment.systemPackages = with pkgs; [&lt;br /&gt;
  #  vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.&lt;br /&gt;
  #  wget&lt;br /&gt;
    gparted&lt;br /&gt;
  ];&lt;br /&gt;
&lt;br /&gt;
  # Some programs need SUID wrappers, can be configured further or are&lt;br /&gt;
  # started in user sessions.&lt;br /&gt;
  # programs.mtr.enable = true;&lt;br /&gt;
  # programs.gnupg.agent = {&lt;br /&gt;
  #   enable = true;&lt;br /&gt;
  #   enableSSHSupport = true;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # List services that you want to enable:&lt;br /&gt;
&lt;br /&gt;
  # Enable the OpenSSH daemon.&lt;br /&gt;
  # services.openssh.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Open ports in the firewall.&lt;br /&gt;
  # networking.firewall.allowedTCPPorts = [ ... ];&lt;br /&gt;
  # networking.firewall.allowedUDPPorts = [ ... ];&lt;br /&gt;
  # Or disable the firewall altogether.&lt;br /&gt;
  # networking.firewall.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # This value determines the NixOS release from which the default&lt;br /&gt;
  # settings for stateful data, like file locations and database versions&lt;br /&gt;
  # on your system were taken. It‘s perfectly fine and recommended to leave&lt;br /&gt;
  # this value at the release version of the first install of this system.&lt;br /&gt;
  # Before changing this value read the documentation for this option&lt;br /&gt;
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).&lt;br /&gt;
  system.stateVersion = &amp;quot;24.05&amp;quot;; # Did you read the comment?&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NAME                                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS&lt;br /&gt;
sda                                             8:0    0 465,8G  0 disk  &lt;br /&gt;
├─sda1                                          8:1    0   512M  0 part  /boot&lt;br /&gt;
├─sda2                                          8:2    0 456,5G  0 part  &lt;br /&gt;
│ └─luks-8543211f-4aaf-41bf-8c39-456683aa0181 254:0    0 456,4G  0 crypt /nix/store&lt;br /&gt;
│                                                                        /&lt;br /&gt;
└─sda3                                          8:3    0   8,8G  0 part  [SWAP]&lt;br /&gt;
sdb                                             8:16   0 465,8G  0 disk  &lt;br /&gt;
├─sdb1                                          8:17   0   512M  0 part  &lt;br /&gt;
├─sdb2                                          8:18   0 456,5G  0 part  &lt;br /&gt;
└─sdb3                                          8:19   0   8,8G  0 part  [SWAP]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 Installation &amp;lt;code&amp;gt;/etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Do not modify this file!  It was generated by ‘nixos-generate-config’&lt;br /&gt;
# and may be overwritten by future invocations.  Please make changes&lt;br /&gt;
# to /etc/nixos/configuration.nix instead.&lt;br /&gt;
{ config, lib, pkgs, modulesPath, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports =&lt;br /&gt;
    [ (modulesPath + &amp;quot;/installer/scan/not-detected.nix&amp;quot;)&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  boot.initrd.availableKernelModules = [ &amp;quot;xhci_pci&amp;quot; &amp;quot;ahci&amp;quot; &amp;quot;usb_storage&amp;quot; &amp;quot;sd_mod&amp;quot; ];&lt;br /&gt;
  boot.initrd.kernelModules = [ ];&lt;br /&gt;
  boot.kernelModules = [ &amp;quot;kvm-intel&amp;quot; ];&lt;br /&gt;
  boot.extraModulePackages = [ ];&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;/dev/disk/by-uuid/243465e3-da8a-41eb-9b02-54ee9df2b35b&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;ext4&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  boot.initrd.luks.devices.&amp;quot;luks-8543211f-4aaf-41bf-8c39-456683aa0181&amp;quot;.device = &amp;quot;/dev/disk/by-uuid/8543211f-4aaf-41bf-8c39-456683aa0181&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;/dev/disk/by-uuid/0D65-373B&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;fmask=0022&amp;quot; &amp;quot;dmask=0022&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  swapDevices =&lt;br /&gt;
    [ { device = &amp;quot;/dev/disk/by-uuid/e3163631-7da7-47c3-9534-1bfd8022fac2&amp;quot;; }&lt;br /&gt;
      { device = &amp;quot;/dev/disk/by-uuid/c61979cf-4943-423f-9041-ec2b3274a6b6&amp;quot;; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking&lt;br /&gt;
  # (the default) this is the recommended approach. When using systemd-networkd it&#039;s&lt;br /&gt;
  # still possible to use this option, but it&#039;s recommended to use it in conjunction&lt;br /&gt;
  # with explicit per-interface declarations with `networking.interfaces.&amp;lt;interface&amp;gt;.useDHCP`.&lt;br /&gt;
  networking.useDHCP = lib.mkDefault true;&lt;br /&gt;
  # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;&lt;br /&gt;
&lt;br /&gt;
  nixpkgs.hostPlatform = lib.mkDefault &amp;quot;x86_64-linux&amp;quot;;&lt;br /&gt;
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>198.167.207.193</name></author>
	</entry>
	<entry>
		<id>https://wiki.htw.stura-dresden.de/index.php?title=Benutzer_Diskussion:PaulRiegel/NixOS&amp;diff=44660</id>
		<title>Benutzer Diskussion:PaulRiegel/NixOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.htw.stura-dresden.de/index.php?title=Benutzer_Diskussion:PaulRiegel/NixOS&amp;diff=44660"/>
		<updated>2024-05-28T13:12:17Z</updated>

		<summary type="html">&lt;p&gt;198.167.207.193: /* 2024-05 2024-05-04 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== foo rund um die Installation ==&lt;br /&gt;
&lt;br /&gt;
; ZFS:&lt;br /&gt;
&lt;br /&gt;
Neben&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
muss wohl auch noch &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
angegeben werden.&lt;br /&gt;
Das ist für &#039;&#039;solaris porting layer&#039;&#039; [https://github.com/zfsonlinux/spl spl].&lt;br /&gt;
&lt;br /&gt;
running unstable&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  boot.zfs.enableUnstable = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Mic92/dotfiles/tree/master/nixos Mic&#039;s OS] ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Mic92/dotfiles/blob/master/nixos/images/install-iso.nix&lt;br /&gt;
* https://github.com/NixOS/nixpkgs/pull/29426&lt;br /&gt;
* https://d3g5gsiof5omrk.cloudfront.net/nixos/unstable/nixos-18.03pre115461.9e7db9a9f9&lt;br /&gt;
&lt;br /&gt;
== 17.09 meets zfs ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nano /etc/nixos/configuration.nix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nixos-rebuild switch&lt;br /&gt;
&lt;br /&gt;
modprobe zfs&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
fdisk /dev/sda&lt;br /&gt;
&lt;br /&gt;
sgdisk --zap-all /dev/sda&lt;br /&gt;
&lt;br /&gt;
sgdisk -a1 -n2:34:2047  -t2:EF02 /dev/sda&lt;br /&gt;
&lt;br /&gt;
sgdisk     -n1:0:0      -t1:BF01 /dev/sda&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
zpool create -o ashift=12 -o altroot=/mnt rpool /dev/sda2&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=none rpool/root&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=legacy rpool/root/nixos&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=legacy rpool/home&lt;br /&gt;
&lt;br /&gt;
zfs set compression=lz4 rpool/home&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
mount -t zfs rpool/root/nixos /mnt&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/home&lt;br /&gt;
&lt;br /&gt;
mount -t zfs rpool/home /mnt/home&lt;br /&gt;
&lt;br /&gt;
 ___&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
mkfs.ext4 -m 0 -L boot -j /dev/sda1&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/boot&lt;br /&gt;
&lt;br /&gt;
mount /dev/sda2 /mnt/boot&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nixos-generate-config --root /mnt&lt;br /&gt;
&lt;br /&gt;
less /mnt/etc/nixos/hardware-configuration.nix&lt;br /&gt;
&lt;br /&gt;
nano /mnt/etc/nixos/configuration.nix&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nano /mnt/etc/nixos/configuration.nix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Edit this configuration file to define what should be installed on&lt;br /&gt;
# your system.  Help is available in the configuration.nix(5) man page&lt;br /&gt;
# and in the NixOS manual (accessible by running ‘nixos-help’).&lt;br /&gt;
&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports =&lt;br /&gt;
    [ # Include the results of the hardware scan.&lt;br /&gt;
      ./hardware-configuration.nix&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  # Use the GRUB 2 boot loader.&lt;br /&gt;
  boot.loader.grub.enable = true;&lt;br /&gt;
  boot.loader.grub.version = 2;&lt;br /&gt;
  # boot.loader.grub.efiSupport = true;&lt;br /&gt;
  # boot.loader.grub.efiInstallAsRemovable = true;&lt;br /&gt;
  # boot.loader.efi.efiSysMountPoint = &amp;quot;/boot/efi&amp;quot;;&lt;br /&gt;
  # Define on which hard drive you want to install Grub.&lt;br /&gt;
  # boot.loader.grub.device = &amp;quot;/dev/sda&amp;quot;; # or &amp;quot;nodev&amp;quot; for efi only&lt;br /&gt;
        boot.loader.grub.device = &amp;quot;/dev/sda&amp;quot;;&lt;br /&gt;
        boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
####    config.networking.hostId = &amp;quot;70cccxx&amp;quot;;&lt;br /&gt;
####    networking.hostId = &amp;quot;70cccxx&amp;quot;;&lt;br /&gt;
####    networking.hostId = &amp;quot;$hostIdHex&amp;quot;;&lt;br /&gt;
        networking.hostId = &amp;quot;4e98920d&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  networking.hostName = &amp;quot;nixos&amp;quot;; # Define your hostname.&lt;br /&gt;
  networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.&lt;br /&gt;
&lt;br /&gt;
  # Select internationalisation properties.&lt;br /&gt;
  # i18n = {&lt;br /&gt;
  #   consoleFont = &amp;quot;Lat2-Terminus16&amp;quot;;&lt;br /&gt;
  #   consoleKeyMap = &amp;quot;us&amp;quot;;&lt;br /&gt;
  #   defaultLocale = &amp;quot;en_US.UTF-8&amp;quot;;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # Set your time zone.&lt;br /&gt;
  # time.timeZone = &amp;quot;Europe/Amsterdam&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # List packages installed in system profile. To search by name, run:&lt;br /&gt;
  # $ nix-env -qaP | grep wget&lt;br /&gt;
  environment.systemPackages = with pkgs; [&lt;br /&gt;
    wget vim&lt;br /&gt;
        nano&lt;br /&gt;
  ];&lt;br /&gt;
&lt;br /&gt;
  # Some programs need SUID wrappers, can be configured further or are&lt;br /&gt;
  # started in user sessions.&lt;br /&gt;
  # programs.bash.enableCompletion = true;&lt;br /&gt;
  # programs.mtr.enable = true;&lt;br /&gt;
  # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };&lt;br /&gt;
&lt;br /&gt;
  # List services that you want to enable:&lt;br /&gt;
&lt;br /&gt;
  # Enable the OpenSSH daemon.&lt;br /&gt;
  services.openssh.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Open ports in the firewall.&lt;br /&gt;
  # networking.firewall.allowedTCPPorts = [ ... ];&lt;br /&gt;
  # networking.firewall.allowedUDPPorts = [ ... ];&lt;br /&gt;
  # Or disable the firewall altogether.&lt;br /&gt;
  # networking.firewall.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # Enable CUPS to print documents.&lt;br /&gt;
  # services.printing.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable the X11 windowing system.&lt;br /&gt;
  services.xserver.enable = true;&lt;br /&gt;
  services.xserver.layout = &amp;quot;us&amp;quot;;&lt;br /&gt;
  services.xserver.xkbOptions = &amp;quot;eurosign:e&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Enable touchpad support.&lt;br /&gt;
  services.xserver.libinput.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable the KDE Desktop Environment.&lt;br /&gt;
  services.xserver.displayManager.sddm.enable = true;&lt;br /&gt;
  services.xserver.desktopManager.plasma5.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Define a user account. Don&#039;t forget to set a password with ‘passwd’.&lt;br /&gt;
  # users.extraUsers.guest = {&lt;br /&gt;
  #   isNormalUser = true;&lt;br /&gt;
  #   uid = 1000;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # This value determines the NixOS release with which your system is to be&lt;br /&gt;
  # compatible, in order to avoid breaking some software such as database&lt;br /&gt;
  # servers. You should change this only after NixOS release notes say you&lt;br /&gt;
  # should.&lt;br /&gt;
  system.stateVersion = &amp;quot;17.09&amp;quot;; # Did you read the comment?&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
nixos-install&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== nixos mit zfs (uefi) ==&lt;br /&gt;
&lt;br /&gt;
1. Folgende Zeile, der configuration.nix des livesystems hinzufuegen:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2.  nixos-rebuild switch&lt;br /&gt;
&lt;br /&gt;
3.  nano /etc/nixos/configuration.nix&lt;br /&gt;
3.1 configuration.nix hinzufuegen: &lt;br /&gt;
         boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&lt;br /&gt;
4. nixos-rebuild switch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. modprobe zfs&lt;br /&gt;
&lt;br /&gt;
6. Partitionierung mit gdisk von sda:&lt;br /&gt;
   6.1 sda1 100MB boot partition mit code ef00&lt;br /&gt;
   6.2 sda2 restliche Platte eine Partition fstyp solaris /home (bf05)&lt;br /&gt;
7. zpool create -o ashift=12 -o altroot=/mnt rpool /dev/sda2&lt;br /&gt;
&lt;br /&gt;
8. zfs create -o mountpoint=none rpool/root&lt;br /&gt;
&lt;br /&gt;
9. zfs create -o mountpoint=legacy rpool/root/nixos&lt;br /&gt;
&lt;br /&gt;
10. zfs create -o mountpoint=legacy rpool/home&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11. zfs set compression=lz4 rpool/home&lt;br /&gt;
&lt;br /&gt;
12. mount -t zfs rpool/root/nixos /mnt&lt;br /&gt;
&lt;br /&gt;
13. mkdir /mnt/home&lt;br /&gt;
&lt;br /&gt;
14. mount -t zfs rpool/home /mnt/home&lt;br /&gt;
&lt;br /&gt;
15. mkfs.vfat /dev/sda1&lt;br /&gt;
&lt;br /&gt;
16. mkdir mnt/boot&lt;br /&gt;
&lt;br /&gt;
17. mount /dev/disk/by-id/&amp;quot;festplattenname&amp;quot;-part1 /mnt/boot&lt;br /&gt;
&lt;br /&gt;
18. nixos-generate-config --root /mnt&lt;br /&gt;
&lt;br /&gt;
19. nano /mnt/etc/nixos/hardware-configuration.nix&lt;br /&gt;
     19.1 sollte enthalten:&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;rpool/root/nixos&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/home&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;rpool/home&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
20. nano /mnt/etc/nixos/configuration.nix&lt;br /&gt;
    20.1 das einfuegen:&lt;br /&gt;
          boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
          networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
21. nixos-install&lt;br /&gt;
&lt;br /&gt;
== Durchführung einer erfolgreichen [https://nixos.wiki/wiki/NixOS_on_ZFS#Encrypted_ZFS Installation mit ZFS mit nativer Verschlüsslung] ==&lt;br /&gt;
: etwa beispielsweise für UEFI&lt;br /&gt;
&lt;br /&gt;
; Herunterladen des Abbildes (iso) von [https://nixos.org/releases/tmp/release-nixos-unstable-small/ NixOS unstable (18.03)]&lt;br /&gt;
&lt;br /&gt;
; Erstellen eines Speichers (USB-Stick) von dem gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
; Starten vom erstellten Speicher für die Installation von NixOS&lt;br /&gt;
&lt;br /&gt;
; Änderung der Konfiguration für die Verwendung von ZFS in der (zentralen) Datei zur Verwaltung von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports = [ &amp;lt;nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix&amp;gt; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	boot.zfs.enableUnstable = true;&lt;br /&gt;
	boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Anwenden der geänderten Konfigutation von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-rebuild switch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Hinzufügen des Moduls vom Kernel für die Verwendung von ZFS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;modprobe zfs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Partitionieren des Massenspeichers des Ziels der Installation&lt;br /&gt;
:* von /dev/sda&lt;br /&gt;
:* beispielsweise mit &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt;&lt;br /&gt;
: Üblicher Weise ist der Massenspeicher &#039;&#039;/dev/sda&#039;&#039;. Aber der Massenspeicher kann auch &#039;&#039;/dev/sdb&#039;&#039; oder anderes nachfolgendes Gerät sein, etwa wenn der Speicher von dem die Installation gestartet wurde &#039;&#039;/dev/sda&#039;&#039; ist.&lt;br /&gt;
:; Partitionieren eines Teils für das Booten (efi)&lt;br /&gt;
:: /dev/sda1 100MB code: ef00 (Boot-Partition)&lt;br /&gt;
:; Partitionieren eines Teils (restlichen) für alle anderen Daten (außer für das Booten (efi)) mit ZFS:&lt;br /&gt;
:: /dev/sda2 restliche Platte fstyp: solaris /home mit code: bf05 erhältlich (Pool)&lt;br /&gt;
&lt;br /&gt;
; Vollständig encrypted Pool anlegen (zroot kann auch anders benannt werden, ashift=12 für 4k Blocksize)&lt;br /&gt;
: &amp;lt;code&amp;gt;zpool create -o ashift=12 -o altroot=&amp;quot;/mnt&amp;quot; -O encryption=aes-256-gcm -O keyformat=passphrase zroot /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Erstellen der Datasets für ZFS&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=none zroot/root&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy -o sync=disabled zroot/root/tmp&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/nixos&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs set compression=lz4 zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Einhängen vom Dataset für ZFS, wo das Betriebssystem NixOS abgelegt sein soll, als Teil vom Ziel der Installation&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/nixos /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Unter /mnt die Ordner home, tmp und boot anlegen&lt;br /&gt;
: &amp;lt;code&amp;gt;mkdir /mnt/{home,tmp,boot}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Dateisystem (vfat) für die Boot-Partition /dev/sda1 festlegen und Mount von /dev/sda1 nach /mnt/boot&lt;br /&gt;
: &amp;lt;code&amp;gt;mkfs.vfat /dev/sda1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount /dev/sda1 /mnt/boot/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Die restlichen Verzeichnisse mounten&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/home /mnt/home/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/tmp /mnt/tmp/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; NixOs hardware-configuration.nix erzeugen&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-generate-config --root /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Diese sollte so ähnlich aussehen:&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/nixos&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/home&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/home&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/tmp&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/tmp&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Zum Schluss die configuration.nix im neuen System anpassen unter /mnt/etc/nixos/configuration.nix&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /mnt/etc/nixos/configuration.nix &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; folgende Zeilen einfügen (Reihenfolge entscheidend):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    boot.zfs.enableUnstable = true;&lt;br /&gt;
    boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
    networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Gegebenenfalls in dieser Datei die Zeile powerManagement auskommentieren&lt;br /&gt;
&lt;br /&gt;
; Starten des Durchführens der Installation:&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-install&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Durchführung einer [https://nixos.wiki/wiki/NixOS_on_ZFS#Encrypted_ZFS Installation mit ZFS mit nativer Verschlüsslung] als Spiegel ==&lt;br /&gt;
&lt;br /&gt;
; Herunterladen des Abbildes (iso) von [https://nixos.org/releases/tmp/release-nixos-unstable-small/ NixOS unstable (18.03)]&lt;br /&gt;
&lt;br /&gt;
; Erstellen eines Speichers (USB-Stick) von dem gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
; Starten vom erstellten Speicher für die Installation von NixOS&lt;br /&gt;
&lt;br /&gt;
; Änderung der Konfiguration für die Verwendung von ZFS in der (zentralen) Datei zur Verwaltung von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports = [ &amp;lt;nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix&amp;gt; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	boot.zfs.enableUnstable = true;&lt;br /&gt;
	boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Anwenden der geänderten Konfigutation von NixOS (für den laufenden Betrieb)&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-rebuild switch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Hinzufügen des Moduls vom Kernel für die Verwendung von ZFS (für den laufenden Betrieb):&lt;br /&gt;
:; Prüfen, on das Modul vom Kernel für die Verwendung von ZFS geladen ist:&lt;br /&gt;
:: &amp;lt;code&amp;gt;kmod list | grep zfs&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;modprobe zfs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Partitionieren des Massenspeichers des Ziels der Installation&lt;br /&gt;
:* von /dev/sda&lt;br /&gt;
:* beispielsweise mit &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt;&lt;br /&gt;
: Üblicher Weise ist der Massenspeicher &#039;&#039;/dev/sda&#039;&#039;. Aber der Massenspeicher kann auch &#039;&#039;/dev/sdb&#039;&#039; oder anderes nachfolgendes Gerät sein, etwa wenn der Speicher von dem die Installation gestartet wurde &#039;&#039;/dev/sda&#039;&#039; ist.&lt;br /&gt;
:; Partitionieren eines Teils für das Booten (efi)&lt;br /&gt;
:: /dev/sda1 100MB code: ef00 (Boot-Partition)&lt;br /&gt;
:: /dev/sdd1 100MB code: ef00 (Boot-Partition)&lt;br /&gt;
:; Partitionieren eines Teils (restlichen) für alle anderen Daten (außer für das Booten (efi)) mit ZFS:&lt;br /&gt;
:: /dev/sda2 restliche Platte fstyp: solaris /home mit code: bf05 erhältlich (Pool)&lt;br /&gt;
:: /dev/sdd2 restliche Platte fstyp: solaris /home mit code: bf05 erhältlich (Pool)&lt;br /&gt;
&lt;br /&gt;
; Vollständig encrypted Pool anlegen (zroot kann auch anders benannt werden, ashift=12 für 4k Blocksize)&lt;br /&gt;
: &amp;lt;code&amp;gt;zpool create -o ashift=12 -o altroot=&amp;quot;/mnt&amp;quot; -O encryption=aes-256-gcm -O keyformat=passphrase zroot mirror /dev/sda2 /dev/sdd2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Erstellen der Datasets für ZFS&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=none zroot/root&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy -o sync=disabled zroot/root/tmp&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/nixos&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs create -o mountpoint=legacy zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;zfs set compression=lz4 zroot/root/home&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Einhängen vom Dataset für ZFS, wo das Betriebssystem NixOS abgelegt sein soll, als Teil vom Ziel der Installation&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/nixos /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Unter /mnt die Ordner home, tmp und boot anlegen&lt;br /&gt;
: &amp;lt;code&amp;gt;mkdir /mnt/{home,tmp,boot}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Dateisystem (vfat) für die Boot-Partition /dev/sda1 festlegen und Mount von /dev/sda1 nach /mnt/boot&lt;br /&gt;
: &amp;lt;code&amp;gt;mkfs.vfat /dev/sda1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount /dev/sda1 /mnt/boot/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mkfs.vfat /dev/sdd1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount /dev/sdd1 /mnt/boot/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Die restlichen Verzeichnisse mounten&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/home /mnt/home/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;mount -t zfs zroot/root/tmp /mnt/tmp/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; NixOs hardware-configuration.nix erzeugen&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-generate-config --root /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Diese sollte so ähnlich aussehen:&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/nixos&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/home&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/home&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/tmp&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;zpool/root/tmp&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
    fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
      { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;;&lt;br /&gt;
        fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
  swapDevices =&lt;br /&gt;
    [ { device = &amp;quot;/dev/disk/by-uuid/...&amp;quot;; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    nix.maxJobs = lib.mkDefault 4;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Zum Schluss die configuration.nix im neuen System anpassen unter /mnt/etc/nixos/configuration.nix&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /mnt/etc/nixos/configuration.nix &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; folgende Zeilen einfügen (Reihenfolge entscheidend):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    boot.loader.grub.devices = [ &amp;quot;/dev/sda&amp;quot; &amp;quot;/dev/sdd&amp;quot;];&lt;br /&gt;
    boot.zfs.enableUnstable = true;&lt;br /&gt;
    boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
    networking.hostId = &amp;quot;ac174b52&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Gegebenenfalls in dieser Datei die Zeile powerManagement auskommentieren&lt;br /&gt;
&lt;br /&gt;
; Starten des Durchführens der Installation:&lt;br /&gt;
: &amp;lt;code&amp;gt;nixos-install&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Software RAID fuer &#039;&#039;/boot&#039;&#039; und boot loader ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Software_RAID_and_LVM&lt;br /&gt;
&lt;br /&gt;
; Test fur MBR:&lt;br /&gt;
&lt;br /&gt;
[root@nixos:~]# fdisk -l /dev/sda&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0x9&lt;br /&gt;
&lt;br /&gt;
Device     Boot  Start       End   Sectors   Size Id Type&lt;br /&gt;
/dev/sda1  *      2048    206847    204800   100M 83 Linux&lt;br /&gt;
/dev/sda2       206848 976773167 976566320 465.7G bf Solaris&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[root@nixos:~]# fdisk -l /dev/sdd&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk /dev/sdd: 465.8 GiB, 500107862016 bytes, 976773168 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0x6&lt;br /&gt;
&lt;br /&gt;
Device     Boot  Start       End   Sectors   Size Id Type&lt;br /&gt;
/dev/sdd1  *      2048    206847    204800   100M fd Linux raid autodetect&lt;br /&gt;
/dev/sdd2       206848 976773167 976566320 465.7G bf Solaris&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
mdadm --build /dev/md1 --metadata=0.90 --level=1 --raid-devices=2 /dev/sda1 /dev/sdd1&lt;br /&gt;
&lt;br /&gt;
mdadm --stop /dev/md1&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mdadm --create /dev/md1 --metadata=0.90 --level=1 --raid-devices=2 /dev/sda1 /dev/sdd1&lt;br /&gt;
&lt;br /&gt;
mkfs.ext4 -m 0 -L boot -j /dev/md1&lt;br /&gt;
&lt;br /&gt;
mount /dev/md1 /mnt/boot/&lt;br /&gt;
&lt;br /&gt;
; Test fur GPT:&lt;br /&gt;
&lt;br /&gt;
== 21.05 ZFS setup ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo zpool import -f -d /dev rpool&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zpool create -o ashift=12 -o altroot=&amp;quot;/mnt&amp;quot; -O mountpoint=none -O encryption=aes-256-gcm -O keyformat=passphrase zroot mirror /dev/sda3 /dev/sdb3&lt;br /&gt;
Enter new passphrase:&lt;br /&gt;
Re-enter new passphrase:&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ zpool status &lt;br /&gt;
  pool: zroot&lt;br /&gt;
 state: ONLINE&lt;br /&gt;
config:&lt;br /&gt;
&lt;br /&gt;
        NAME        STATE     READ WRITE CKSUM&lt;br /&gt;
        zroot       ONLINE       0     0     0&lt;br /&gt;
          mirror-0  ONLINE       0     0     0&lt;br /&gt;
            sda3    ONLINE       0     0     0&lt;br /&gt;
            sdb3    ONLINE       0     0     0&lt;br /&gt;
&lt;br /&gt;
errors: No known data errors&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o sync=disabled zroot/tmp&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/root&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/nix&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/home&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true zroot/var&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mkdir /mnt/{tmp,nix,home,var}&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/tmp /mnt/tmp&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/nix /mnt/nix&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/home /mnt/home&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo mount -t zfs zroot/var /mnt/var&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ sudo nixos-generate-config  --root /mnt&lt;br /&gt;
writing /mnt/etc/nixos/hardware-configuration.nix...&lt;br /&gt;
writing /mnt/etc/nixos/configuration.nix...&lt;br /&gt;
For more hardware-specific settings, see https://github.com/NixOS/nixos-hardware.&lt;br /&gt;
&lt;br /&gt;
[nixos@nixos:~]$ less /mnt/etc/nixos/hardware-configuration.nix&lt;br /&gt;
&lt;br /&gt;
== Installation Tuxedo ==&lt;br /&gt;
&lt;br /&gt;
==== [https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/Root%20on%20ZFS/1-preparation.html Preparation] ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;find /dev/disk/by-id/&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;cd /dev/disk/by-id/ &amp;amp;&amp;amp; ls -l &amp;amp;&amp;amp; cd -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;DISK=&#039;/dev/disk/by-id/ata-Samsung_SSD_850_EVO_1TB_S3LENB0JB00287Z /dev/disk/by-id/ata-Samsung_SSD_860_EVO_M.2_1TB_S415NB0M120414E&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;INST_PARTSIZE_SWAP=128&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;s&amp;gt;&amp;lt;code&amp;gt;INST_PARTSIZE_RPOOL=&amp;lt;/code&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/Root%20on%20ZFS/2-system-installation.html System Installation] ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# wipe flash-based storage device to improve performance.&lt;br /&gt;
# blkdiscard&lt;br /&gt;
!--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in ${DISK}; do&lt;br /&gt;
&lt;br /&gt;
  sudo blkdiscard -f $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk --zap-all $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -n1:1M:+1G -t1:EF00 $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -n2:0:+4G -t2:BE00 $i&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -n4:0:+${INST_PARTSIZE_SWAP}G -t4:8200 $i&lt;br /&gt;
&lt;br /&gt;
  if test -z $INST_PARTSIZE_RPOOL; then&lt;br /&gt;
    sudo sgdisk -n3:0:0   -t3:BF00 $i&lt;br /&gt;
  else&lt;br /&gt;
    sudo sgdisk -n3:0:+${INST_PARTSIZE_RPOOL}G -t3:BF00 $i&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  sudo sgdisk -a1 -n5:24K:+1000K -t5:EF02 $i&lt;br /&gt;
&lt;br /&gt;
  sync &amp;amp;&amp;amp; udevadm settle &amp;amp;&amp;amp; sleep 3&lt;br /&gt;
&lt;br /&gt;
  sudo cryptsetup open --type plain --key-file /dev/random $i-part4 ${i##*/}-part4&lt;br /&gt;
  sudo mkswap /dev/mapper/${i##*/}-part4&lt;br /&gt;
  sudo swapon /dev/mapper/${i##*/}-part4&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
blkdiscard: Operation forced, data will be lost!&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
GPT data structures destroyed! You may now partition the disk using fdisk or&lt;br /&gt;
other utilities.&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
Setting up swapspace version 1, size = 128 GiB (137438949376 bytes)&lt;br /&gt;
no label, UUID=20cea8d9-b934-45d3-bf9d-9ab130df604a&lt;br /&gt;
blkdiscard: Operation forced, data will be lost!&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
GPT data structures destroyed! You may now partition the disk using fdisk or&lt;br /&gt;
other utilities.&lt;br /&gt;
Creating new GPT entries in memory.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
Setting up swapspace version 1, size = 128 GiB (137438949376 bytes)&lt;br /&gt;
no label, UUID=8084a830-66c5-44d9-b47d-1c8b4933116b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo \&lt;br /&gt;
  zpool create \&lt;br /&gt;
    -o compatibility=grub2 \&lt;br /&gt;
    -o ashift=12 \&lt;br /&gt;
    -o autotrim=on \&lt;br /&gt;
    -O acltype=posixacl \&lt;br /&gt;
    -O canmount=off \&lt;br /&gt;
    -O compression=lz4 \&lt;br /&gt;
    -O devices=off \&lt;br /&gt;
    -O normalization=formD \&lt;br /&gt;
    -O relatime=on \&lt;br /&gt;
    -O xattr=sa \&lt;br /&gt;
    -O mountpoint=/boot \&lt;br /&gt;
    -R /mnt \&lt;br /&gt;
    bpool \&lt;br /&gt;
    mirror \&lt;br /&gt;
    $(for i in ${DISK}; do&lt;br /&gt;
       printf &amp;quot;$i-part2 &amp;quot;;&lt;br /&gt;
      done)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo \&lt;br /&gt;
  zpool create \&lt;br /&gt;
    -o ashift=12 \&lt;br /&gt;
    -o autotrim=on \&lt;br /&gt;
    -R /mnt \&lt;br /&gt;
    -O acltype=posixacl \&lt;br /&gt;
    -O canmount=off \&lt;br /&gt;
    -O compression=zstd \&lt;br /&gt;
    -O dnodesize=auto \&lt;br /&gt;
    -O normalization=formD \&lt;br /&gt;
    -O relatime=on \&lt;br /&gt;
    -O xattr=sa \&lt;br /&gt;
    -O mountpoint=/ \&lt;br /&gt;
    rpool \&lt;br /&gt;
    mirror \&lt;br /&gt;
    $(for i in ${DISK}; do&lt;br /&gt;
      printf &amp;quot;$i-part3 &amp;quot;;&lt;br /&gt;
    done)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;PASSWORD=&#039;p4ssw0rd&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo ${PASSWORD} | \&lt;br /&gt;
sudo \&lt;br /&gt;
  zfs create \&lt;br /&gt;
    -o canmount=off \&lt;br /&gt;
    -o mountpoint=none \&lt;br /&gt;
    -o encryption=on \&lt;br /&gt;
    -o keylocation=prompt \&lt;br /&gt;
    -o keyformat=passphrase \&lt;br /&gt;
    rpool/nixos&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/root&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/var&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/var/lib&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/var/log&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=none   bpool/nixos&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy bpool/nixos/root&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs create -o mountpoint=legacy rpool/nixos/empty&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zfs snapshot rpool/nixos/empty@start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -t zfs rpool/nixos/root /mnt/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -t zfs rpool/nixos/home /mnt/home&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir /mnt/boot&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mount -t zfs bpool/nixos/root /mnt/boot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in ${DISK}; do&lt;br /&gt;
  sudo mkfs.vfat -n EFI ${i}-part1&lt;br /&gt;
  sudo mkdir -p /mnt/boot/efis/${i##*/}-part1&lt;br /&gt;
  sudo mount -t vfat ${i}-part1 /mnt/boot/efis/${i##*/}-part1&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkfs.fat 4.2 (2021-01-31)&lt;br /&gt;
mkfs.fat 4.2 (2021-01-31)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/Root%20on%20ZFS/3-system-configuration.html System Configuration] ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo mkdir -p /mnt/etc/nixos/&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo curl -o /mnt/etc/nixos/configuration.nix -L &amp;lt;nowiki&amp;gt;https://github.com/openzfs/openzfs-docs/raw/master/docs/Getting%20Started/NixOS/Root%20on%20ZFS/configuration.nix&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;s&amp;gt;&amp;lt;code&amp;gt;curl -o /tmp/openzfs.default.configuration.nix -L &amp;lt;nowiki&amp;gt;https://github.com/openzfs/openzfs-docs/raw/master/docs/Getting%20Started/NixOS/Root%20on%20ZFS/configuration.nix &amp;amp;&amp;amp; sudo mv /tmp/openzfs.default.configuration.nix /mnt/etc/nixos/configuration.nix&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in $DISK; do&lt;br /&gt;
  sudo sed -i \&lt;br /&gt;
    &amp;quot;s|PLACEHOLDER_FOR_DEV_NODE_PATH|\&amp;quot;${i%/*}/\&amp;quot;|&amp;quot; \&lt;br /&gt;
    /mnt/etc/nixos/configuration.nix&lt;br /&gt;
  break&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
diskNames=&amp;quot;&amp;quot;&lt;br /&gt;
for i in $DISK; do&lt;br /&gt;
  diskNames=&amp;quot;$diskNames \&amp;quot;${i##*/}\&amp;quot;&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
sudo tee -a /mnt/etc/nixos/machine.nix &amp;lt;&amp;lt;EOF&lt;br /&gt;
{&lt;br /&gt;
  bootDevices = [ $diskNames ];&lt;br /&gt;
}&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;rootPwd=$(mkpasswd -m SHA-512 -s)&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo sed -i \&lt;br /&gt;
&amp;quot;s|PLACEHOLDER_FOR_ROOT_PWD_HASH|\&amp;quot;&amp;quot;${rootPwd}&amp;quot;\&amp;quot;|&amp;quot; \&lt;br /&gt;
/mnt/etc/nixos/configuration.nix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
: &amp;lt;code&amp;gt;sed /mnt/etc/nixos/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
configuration.nix  machine.nix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Edit this configuration file to define what should be installed on&lt;br /&gt;
# your system.  Help is available in the configuration.nix(5) man page&lt;br /&gt;
# and in the NixOS manual (accessible by running ‘nixos-help’).&lt;br /&gt;
{ config, lib, pkgs, modulesPath, ... }:&lt;br /&gt;
&lt;br /&gt;
let&lt;br /&gt;
  zfsRoot.partitionScheme = {&lt;br /&gt;
    biosBoot = &amp;quot;-part5&amp;quot;;&lt;br /&gt;
    efiBoot = &amp;quot;-part1&amp;quot;;&lt;br /&gt;
    swap = &amp;quot;-part4&amp;quot;;&lt;br /&gt;
    bootPool = &amp;quot;-part2&amp;quot;;&lt;br /&gt;
    rootPool = &amp;quot;-part3&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
  zfsRoot.devNodes = &amp;quot;/dev/disk/by-id/&amp;quot;; # MUST have trailing slash! /dev/disk/by-id/&lt;br /&gt;
  zfsRoot.bootDevices = (import ./machine.nix).bootDevices;&lt;br /&gt;
  zfsRoot.mirroredEfi = &amp;quot;/boot/efis/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
in {&lt;br /&gt;
  # adjust according to your platform, such as&lt;br /&gt;
  imports = [&lt;br /&gt;
    # (modulesPath + &amp;quot;/profiles/qemu-guest.nix&amp;quot;)&lt;br /&gt;
    # (modulesPath + &amp;quot;/profiles/all-hardware.nix&amp;quot;)&lt;br /&gt;
    (modulesPath + &amp;quot;/installer/scan/not-detected.nix&amp;quot;)&lt;br /&gt;
  ];&lt;br /&gt;
  systemd.services.zfs-mount.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # networking.hostName = &amp;quot;nixos&amp;quot;; # Define your hostname.&lt;br /&gt;
  # Pick only one of the below networking options.&lt;br /&gt;
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.&lt;br /&gt;
  # networking.networkmanager.enable = true;  # Easiest to use and most distros use this by default.&lt;br /&gt;
&lt;br /&gt;
  # Set your time zone.&lt;br /&gt;
  # time.timeZone = &amp;quot;Europe/Amsterdam&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Configure network proxy if necessary&lt;br /&gt;
  # networking.proxy.default = &amp;quot;http://user:password@proxy:port/&amp;quot;;&lt;br /&gt;
  # networking.proxy.noProxy = &amp;quot;127.0.0.1,localhost,internal.domain&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Select internationalisation properties.&lt;br /&gt;
  # i18n.defaultLocale = &amp;quot;en_US.UTF-8&amp;quot;;&lt;br /&gt;
  # console = {&lt;br /&gt;
  #   font = &amp;quot;Lat2-Terminus16&amp;quot;;&lt;br /&gt;
  #   keyMap = &amp;quot;us&amp;quot;;&lt;br /&gt;
  #   useXkbConfig = true; # use xkbOptions in tty.&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # Configure keymap in X11&lt;br /&gt;
  # services.xserver.layout = &amp;quot;us&amp;quot;;&lt;br /&gt;
  # services.xserver.xkbOptions = {&lt;br /&gt;
  #   &amp;quot;eurosign:e&amp;quot;;&lt;br /&gt;
  #   &amp;quot;caps:escape&amp;quot; # map caps to escape.&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # Enable CUPS to print documents.&lt;br /&gt;
  # services.printing.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable sound.&lt;br /&gt;
  # sound.enable = true;&lt;br /&gt;
  # hardware.pulseaudio.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable touchpad support (enabled default in most desktopManager).&lt;br /&gt;
&lt;br /&gt;
  # Define a user account. Don&#039;t forget to set a password with ‘passwd’.&lt;br /&gt;
  # users.users.alice = {&lt;br /&gt;
  #   isNormalUser = true;&lt;br /&gt;
  #   extraGroups = [ &amp;quot;wheel&amp;quot; ]; # Enable ‘sudo’ for the user.&lt;br /&gt;
  #   packages = with pkgs; [&lt;br /&gt;
  #     firefox&lt;br /&gt;
  #     thunderbird&lt;br /&gt;
  #   ];&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # List packages installed in system profile. To search, run:&lt;br /&gt;
  # $ nix search wget&lt;br /&gt;
  environment.systemPackages = with pkgs;&lt;br /&gt;
    [&lt;br /&gt;
      #   vim&lt;br /&gt;
      ## Do not forget to add an editor to edit configuration.nix!&lt;br /&gt;
      ## The Nano editor is also installed by default.&lt;br /&gt;
      #   wget&lt;br /&gt;
      mg&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  # Some programs need SUID wrappers, can be configured further or are&lt;br /&gt;
  # started in user sessions.&lt;br /&gt;
  # programs.mtr.enable = true;&lt;br /&gt;
  # programs.gnupg.agent = {&lt;br /&gt;
  #   enable = true;&lt;br /&gt;
  #   enableSSHSupport = true;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # List services that you want to enable:&lt;br /&gt;
&lt;br /&gt;
  # Enable the OpenSSH daemon.&lt;br /&gt;
  services.openssh.enable = false;&lt;br /&gt;
  users.users.root = {&lt;br /&gt;
    ##hash: mkpasswd -m SHA-512 -s&lt;br /&gt;
    initialHashedPassword = &amp;quot;$6$OYQ1J8P/eJcD.D/nAeF.Gq8IPRrZfu.EGZkYJ3kYpmzhTq1QNVwraZboxoGaQxVmMpEq.Zrz0bgV$Vm/oMUobWh7VpNYtt4baExd960&amp;quot;;&lt;br /&gt;
    openssh.authorizedKeys.keys = [&lt;br /&gt;
    ];&lt;br /&gt;
  };&lt;br /&gt;
  programs.git.enable = true;&lt;br /&gt;
  # Open ports in the firewall.&lt;br /&gt;
  # networking.firewall.allowedTCPPorts = [ ... ];&lt;br /&gt;
  # networking.firewall.allowedUDPPorts = [ ... ];&lt;br /&gt;
  # Or disable the firewall altogether.&lt;br /&gt;
  # networking.firewall.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # Copy the NixOS configuration file and link it from the resulting system&lt;br /&gt;
  # (/run/current-system/configuration.nix). This is useful in case you&lt;br /&gt;
  # accidentally delete configuration.nix.&lt;br /&gt;
  system.copySystemConfiguration = true;&lt;br /&gt;
&lt;br /&gt;
  # This value determines the NixOS release from which the default&lt;br /&gt;
  # settings for stateful data, like file locations and database versions&lt;br /&gt;
  # on your system were taken. It‘s perfectly fine and recommended to leave&lt;br /&gt;
  # this value at the release version of the first install of this system.&lt;br /&gt;
  # Before changing this value read the documentation for this option&lt;br /&gt;
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).&lt;br /&gt;
  system.stateVersion = &amp;quot;22.11&amp;quot;; # Did you read the comment?&lt;br /&gt;
&lt;br /&gt;
  boot.initrd.availableKernelModules = [&lt;br /&gt;
    &amp;quot;ahci&amp;quot;&lt;br /&gt;
    &amp;quot;xhci_pci&amp;quot;&lt;br /&gt;
    &amp;quot;virtio_pci&amp;quot;&lt;br /&gt;
    &amp;quot;virtio_blk&amp;quot;&lt;br /&gt;
    &amp;quot;ehci_pci&amp;quot;&lt;br /&gt;
    &amp;quot;nvme&amp;quot;&lt;br /&gt;
    &amp;quot;uas&amp;quot;&lt;br /&gt;
    &amp;quot;sd_mod&amp;quot;&lt;br /&gt;
    &amp;quot;sr_mod&amp;quot;&lt;br /&gt;
    &amp;quot;sdhci_pci&amp;quot;&lt;br /&gt;
  ];&lt;br /&gt;
  boot.initrd.kernelModules = [ ];&lt;br /&gt;
  boot.kernelModules = [ &amp;quot;kvm-intel&amp;quot; &amp;quot;kvm-amd&amp;quot; ];&lt;br /&gt;
  boot.extraModulePackages = [ ];&lt;br /&gt;
&lt;br /&gt;
  fileSystems = {&lt;br /&gt;
    &amp;quot;/&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/root&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/home&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/home&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/var/lib&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/var/lib&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/var/log&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;rpool/nixos/var/log&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;/boot&amp;quot; = {&lt;br /&gt;
      device = &amp;quot;bpool/nixos/root&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;zfs&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;X-mount.mkdir&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
  } // (builtins.listToAttrs (map (diskName: {&lt;br /&gt;
    name = zfsRoot.mirroredEfi + diskName + zfsRoot.partitionScheme.efiBoot;&lt;br /&gt;
    value = {&lt;br /&gt;
      device = zfsRoot.devNodes + diskName + zfsRoot.partitionScheme.efiBoot;&lt;br /&gt;
      fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      options = [&lt;br /&gt;
        &amp;quot;x-systemd.idle-timeout=1min&amp;quot;&lt;br /&gt;
        &amp;quot;x-systemd.automount&amp;quot;&lt;br /&gt;
        &amp;quot;noauto&amp;quot;&lt;br /&gt;
        &amp;quot;nofail&amp;quot;&lt;br /&gt;
      ];&lt;br /&gt;
    };&lt;br /&gt;
  }) zfsRoot.bootDevices));&lt;br /&gt;
&lt;br /&gt;
  swapDevices = (map (diskName: {&lt;br /&gt;
    device = zfsRoot.devNodes + diskName + zfsRoot.partitionScheme.swap;&lt;br /&gt;
    discardPolicy = &amp;quot;both&amp;quot;;&lt;br /&gt;
    randomEncryption = {&lt;br /&gt;
      enable = true;&lt;br /&gt;
      allowDiscards = true;&lt;br /&gt;
    };&lt;br /&gt;
  }) zfsRoot.bootDevices);&lt;br /&gt;
&lt;br /&gt;
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking&lt;br /&gt;
  # (the default) this is the recommended approach. When using systemd-networkd it&#039;s&lt;br /&gt;
  # still possible to use this option, but it&#039;s recommended to use it in conjunction&lt;br /&gt;
  # with explicit per-interface declarations with `networking.interfaces.&amp;lt;interface&amp;gt;.useDHCP`.&lt;br /&gt;
  networking.useDHCP = lib.mkDefault true;&lt;br /&gt;
  # networking.networkmanager.enable = true;&lt;br /&gt;
  # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;&lt;br /&gt;
&lt;br /&gt;
  nixpkgs.hostPlatform = lib.mkDefault &amp;quot;x86_64-linux&amp;quot;;&lt;br /&gt;
  hardware.cpu.intel.updateMicrocode =&lt;br /&gt;
    lib.mkDefault config.hardware.enableRedistributableFirmware;&lt;br /&gt;
  hardware.cpu.amd.updateMicrocode =&lt;br /&gt;
    lib.mkDefault config.hardware.enableRedistributableFirmware;&lt;br /&gt;
&lt;br /&gt;
  boot.supportedFilesystems = [ &amp;quot;zfs&amp;quot; ];&lt;br /&gt;
  networking.hostId = &amp;quot;abcd1234&amp;quot;;&lt;br /&gt;
  boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;&lt;br /&gt;
  boot.loader.efi.efiSysMountPoint = with builtins;&lt;br /&gt;
    (zfsRoot.mirroredEfi + (head zfsRoot.bootDevices) + zfsRoot.partitionScheme.efiBoot);&lt;br /&gt;
  boot.zfs.devNodes = zfsRoot.devNodes;&lt;br /&gt;
  boot.loader.efi.canTouchEfiVariables = false;&lt;br /&gt;
  boot.loader.generationsDir.copyKernels = true;&lt;br /&gt;
  boot.loader.grub.efiInstallAsRemovable = true;&lt;br /&gt;
  boot.loader.grub.enable = true;&lt;br /&gt;
  boot.loader.grub.version = 2;&lt;br /&gt;
  boot.loader.grub.copyKernels = true;&lt;br /&gt;
  boot.loader.grub.efiSupport = true;&lt;br /&gt;
  boot.loader.grub.zfsSupport = true;&lt;br /&gt;
  boot.loader.grub.extraInstallCommands = with builtins;&lt;br /&gt;
    (toString (map (diskName:&lt;br /&gt;
      &amp;quot;cp -r &amp;quot; + config.boot.loader.efi.efiSysMountPoint + &amp;quot;/EFI&amp;quot; + &amp;quot; &amp;quot;&lt;br /&gt;
      + zfsRoot.mirroredEfi + diskName + zfsRoot.partitionScheme.efiBoot + &amp;quot;\n&amp;quot;)&lt;br /&gt;
      (tail zfsRoot.bootDevices)));&lt;br /&gt;
  boot.loader.grub.devices =&lt;br /&gt;
    (map (diskName: zfsRoot.devNodes + diskName) zfsRoot.bootDevices);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;cat /mnt/etc/nixos/machine.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  bootDevices = [  &amp;quot;ata-Samsung_SSD_850_EVO_1TB_S3LENB0JB00287Z&amp;quot; &amp;quot;ata-Samsung_SSD_860_EVO_M.2_1TB_S415NB0M120414E&amp;quot; ];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo nano /mnt/etc/nixos/configuration.nix &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo nixos-install --no-root-passwd --root /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Coda =====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo umount -Rl /mnt&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo zpool export -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anleitungen ZFS ==&lt;br /&gt;
&lt;br /&gt;
https://mazzo.li/posts/hetzner-zfs.html&lt;br /&gt;
&lt;br /&gt;
== 2024-05 2024-05-04 ==&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 download ====&lt;br /&gt;
&lt;br /&gt;
[https://channels.nixos.org/nixos-unstable/latest-nixos-plasma5-x86_64-linux.iso latest-nixos-plasma5-x86_64-linux.iso]&lt;br /&gt;
&lt;br /&gt;
[https://releases.nixos.org/nixos/unstable/nixos-24.05pre619660.63c3a29ca824/nixos-plasma5-24.05pre619660.63c3a29ca824-x86_64-linux.iso nixos-plasma5-24.05pre619660.63c3a29ca824-x86_64-linux.iso]&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 partitioning ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env bash&lt;br /&gt;
&lt;br /&gt;
#MNT=$(mktemp -d)&lt;br /&gt;
MNT=/mnt&lt;br /&gt;
&lt;br /&gt;
DISK=&#039;/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R /dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500&amp;gt;&lt;br /&gt;
SWAPSIZE=64&lt;br /&gt;
UNUSEDSIZE=64&lt;br /&gt;
&lt;br /&gt;
partition_disk () {&lt;br /&gt;
&lt;br /&gt;
  local disk=&amp;quot;${1}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  blkdiscard -f &amp;quot;${disk}&amp;quot; || true&lt;br /&gt;
&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mklabel gpt&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mkpart EFI 1MiB 4GiB&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mkpart rpool 4GiB -$((SWAPSIZE + UNUSEDSIZE))GiB&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; -- mkpart swap  -$((SWAPSIZE + UNUSEDSIZE))GiB -&amp;quot;${UNUSEDSIZE}&amp;quot;GiB&lt;br /&gt;
  sudo parted --script --align=optimal &amp;quot;${disk}&amp;quot; set 1 esp on&lt;br /&gt;
&lt;br /&gt;
  sudo  partprobe &amp;quot;${disk}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for i in ${DISK}; do&lt;br /&gt;
  partition_disk &amp;quot;${i}&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://aldoborrero.com/posts/2023/01/15/setting-up-my-machines-nix-style/&lt;br /&gt;
&lt;br /&gt;
https://github.com/nix-community/disko/blob/master/docs/HowTo.md&lt;br /&gt;
&lt;br /&gt;
https://oblivious.observer/posts/nixos-zfs-install-script/&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 Installation &amp;lt;code&amp;gt;/etc/nixos/configuration.nix&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Edit this configuration file to define what should be installed on&lt;br /&gt;
# your system.  Help is available in the configuration.nix(5) man page&lt;br /&gt;
# and in the NixOS manual (accessible by running ‘nixos-help’).&lt;br /&gt;
&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports =&lt;br /&gt;
    [ # Include the results of the hardware scan.&lt;br /&gt;
      ./hardware-configuration.nix&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
####    Hardware&lt;br /&gt;
&lt;br /&gt;
  console.keyMap = &amp;quot;de&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
####    System&lt;br /&gt;
&lt;br /&gt;
  boot.loader.systemd-boot.enable = true;&lt;br /&gt;
  boot.loader.efi.canTouchEfiVariables = true;&lt;br /&gt;
&lt;br /&gt;
  networking.hostName = &amp;quot;nixos&amp;quot;;&lt;br /&gt;
  # networking.wireless.enable = true;&lt;br /&gt;
  networking.networkmanager.enable = true;&lt;br /&gt;
&lt;br /&gt;
  time.timeZone = &amp;quot;Europe/London&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  i18n.defaultLocale = &amp;quot;en_US.UTF-8&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  i18n.extraLocaleSettings = {&lt;br /&gt;
    LC_ADDRESS = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_IDENTIFICATION = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_MEASUREMENT = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_MONETARY = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_NAME = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_NUMERIC = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_PAPER = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_TELEPHONE = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
    LC_TIME = &amp;quot;en_DK.UTF-8&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
####    GUI&lt;br /&gt;
&lt;br /&gt;
  services.xserver.enable = true;&lt;br /&gt;
&lt;br /&gt;
  services.xserver.xkb.layout = &amp;quot;${config.console.keyMap}&amp;quot;;&lt;br /&gt;
  services.xserver.xkb.variant = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  services.desktopManager.plasma6.enable = true;&lt;br /&gt;
  services.displayManager.sddm.enable = true;&lt;br /&gt;
  services.displayManager.sddm.wayland.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable CUPS to print documents.&lt;br /&gt;
#  services.printing.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Enable sound with pipewire.&lt;br /&gt;
  sound.enable = true;&lt;br /&gt;
  hardware.pulseaudio.enable = false;&lt;br /&gt;
  security.rtkit.enable = true;&lt;br /&gt;
  services.pipewire = {&lt;br /&gt;
    enable = true;&lt;br /&gt;
    alsa.enable = true;&lt;br /&gt;
    alsa.support32Bit = true;&lt;br /&gt;
    pulse.enable = true;&lt;br /&gt;
    #jack.enable = true;#&lt;br /&gt;
    #media-session.enable = true;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  # Enable touchpad support (enabled default in most desktopManager).&lt;br /&gt;
  # services.xserver.libinput.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Define a user account. Don&#039;t forget to set a password with ‘passwd’.&lt;br /&gt;
  users.users.k-ot = {&lt;br /&gt;
    isNormalUser = true;&lt;br /&gt;
    description = &amp;quot;K-oT&amp;quot;;&lt;br /&gt;
    extraGroups = [ &amp;quot;networkmanager&amp;quot; &amp;quot;wheel&amp;quot; ];&lt;br /&gt;
    packages = with pkgs; [&lt;br /&gt;
      kate&lt;br /&gt;
    #  thunderbird&lt;br /&gt;
    ];&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  # Enable automatic login for the user.&lt;br /&gt;
#  services.xserver.displayManager.autoLogin.enable = true;&lt;br /&gt;
#  services.xserver.displayManager.autoLogin.user = &amp;quot;k-ot&amp;quot;;&lt;br /&gt;
  services.displayManager.autoLogin.enable = true;&lt;br /&gt;
  services.displayManager.autoLogin.user = &amp;quot;k-ot&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  # Install firefox.&lt;br /&gt;
  programs.firefox.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Allow unfree packages&lt;br /&gt;
  nixpkgs.config.allowUnfree = true;&lt;br /&gt;
&lt;br /&gt;
  # List packages installed in system profile. To search, run:&lt;br /&gt;
  # $ nix search wget&lt;br /&gt;
  environment.systemPackages = with pkgs; [&lt;br /&gt;
  #  vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.&lt;br /&gt;
  #  wget&lt;br /&gt;
    gparted&lt;br /&gt;
  ];&lt;br /&gt;
&lt;br /&gt;
  # Some programs need SUID wrappers, can be configured further or are&lt;br /&gt;
  # started in user sessions.&lt;br /&gt;
  # programs.mtr.enable = true;&lt;br /&gt;
  # programs.gnupg.agent = {&lt;br /&gt;
  #   enable = true;&lt;br /&gt;
  #   enableSSHSupport = true;&lt;br /&gt;
  # };&lt;br /&gt;
&lt;br /&gt;
  # List services that you want to enable:&lt;br /&gt;
&lt;br /&gt;
  # Enable the OpenSSH daemon.&lt;br /&gt;
  # services.openssh.enable = true;&lt;br /&gt;
&lt;br /&gt;
  # Open ports in the firewall.&lt;br /&gt;
  # networking.firewall.allowedTCPPorts = [ ... ];&lt;br /&gt;
  # networking.firewall.allowedUDPPorts = [ ... ];&lt;br /&gt;
  # Or disable the firewall altogether.&lt;br /&gt;
  # networking.firewall.enable = false;&lt;br /&gt;
&lt;br /&gt;
  # This value determines the NixOS release from which the default&lt;br /&gt;
  # settings for stateful data, like file locations and database versions&lt;br /&gt;
  # on your system were taken. It‘s perfectly fine and recommended to leave&lt;br /&gt;
  # this value at the release version of the first install of this system.&lt;br /&gt;
  # Before changing this value read the documentation for this option&lt;br /&gt;
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).&lt;br /&gt;
  system.stateVersion = &amp;quot;24.05&amp;quot;; # Did you read the comment?&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 2024-05 Installation &amp;lt;code&amp;gt;/etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;nano /etc/nixos/hardware-configuration.nix&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Do not modify this file!  It was generated by ‘nixos-generate-config’&lt;br /&gt;
# and may be overwritten by future invocations.  Please make changes&lt;br /&gt;
# to /etc/nixos/configuration.nix instead.&lt;br /&gt;
{ config, lib, pkgs, modulesPath, ... }:&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  imports =&lt;br /&gt;
    [ (modulesPath + &amp;quot;/installer/scan/not-detected.nix&amp;quot;)&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  boot.initrd.availableKernelModules = [ &amp;quot;xhci_pci&amp;quot; &amp;quot;ahci&amp;quot; &amp;quot;usb_storage&amp;quot; &amp;quot;sd_mod&amp;quot; ];&lt;br /&gt;
  boot.initrd.kernelModules = [ ];&lt;br /&gt;
  boot.kernelModules = [ &amp;quot;kvm-intel&amp;quot; ];&lt;br /&gt;
  boot.extraModulePackages = [ ];&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;/dev/disk/by-uuid/243465e3-da8a-41eb-9b02-54ee9df2b35b&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;ext4&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  boot.initrd.luks.devices.&amp;quot;luks-8543211f-4aaf-41bf-8c39-456683aa0181&amp;quot;.device = &amp;quot;/dev/disk/by-uuid/8543211f-4aaf-41bf-8c39-456683aa0181&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  fileSystems.&amp;quot;/boot&amp;quot; =&lt;br /&gt;
    { device = &amp;quot;/dev/disk/by-uuid/0D65-373B&amp;quot;;&lt;br /&gt;
      fsType = &amp;quot;vfat&amp;quot;;&lt;br /&gt;
      options = [ &amp;quot;fmask=0022&amp;quot; &amp;quot;dmask=0022&amp;quot; ];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  swapDevices =&lt;br /&gt;
    [ { device = &amp;quot;/dev/disk/by-uuid/e3163631-7da7-47c3-9534-1bfd8022fac2&amp;quot;; }&lt;br /&gt;
      { device = &amp;quot;/dev/disk/by-uuid/c61979cf-4943-423f-9041-ec2b3274a6b6&amp;quot;; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking&lt;br /&gt;
  # (the default) this is the recommended approach. When using systemd-networkd it&#039;s&lt;br /&gt;
  # still possible to use this option, but it&#039;s recommended to use it in conjunction&lt;br /&gt;
  # with explicit per-interface declarations with `networking.interfaces.&amp;lt;interface&amp;gt;.useDHCP`.&lt;br /&gt;
  networking.useDHCP = lib.mkDefault true;&lt;br /&gt;
  # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;&lt;br /&gt;
&lt;br /&gt;
  nixpkgs.hostPlatform = lib.mkDefault &amp;quot;x86_64-linux&amp;quot;;&lt;br /&gt;
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>198.167.207.193</name></author>
	</entry>
</feed>