<?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.227</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.227"/>
	<link rel="alternate" type="text/html" href="https://wiki.htw.stura-dresden.de/index.php?title=Spezial:Beitr%C3%A4ge/198.167.207.227"/>
	<updated>2026-04-16T05:41:27Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.htw.stura-dresden.de/index.php?title=Benutzer_Diskussion:PaulRiegel/NixOS&amp;diff=43865</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=43865"/>
		<updated>2023-03-03T01:47:59Z</updated>

		<summary type="html">&lt;p&gt;198.167.207.227: /* System Configuration */&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;
: &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;
: &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;/div&gt;</summary>
		<author><name>198.167.207.227</name></author>
	</entry>
</feed>