From 53f19f7183aae2e186edc4e6e39467f18a5a005a Mon Sep 17 00:00:00 2001
From: Jens Nolte <git@queezle.net>
Date: Fri, 2 Apr 2021 23:09:33 +0200
Subject: [PATCH] Enable discard on ssds during installation; disable
 compression

---
 bin/lib/installation.nix | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/bin/lib/installation.nix b/bin/lib/installation.nix
index dc00b13..a2a5466 100644
--- a/bin/lib/installation.nix
+++ b/bin/lib/installation.nix
@@ -130,7 +130,7 @@ assert (typeOf swap) == "string";
       ssd=true
     else
       ssd=false
-      print_warning "Discard failed"
+      print_warning "Discard failed, disabling ssd configuration"
     fi
 
     print_info "Creating partition table for bootloader ${template.bootloader}"
@@ -230,14 +230,21 @@ assert (typeOf swap) == "string";
 
     mkdir -p $mount_point
 
+    if $ssd
+    then
+      mountflags=noatime,discard=async
+    else
+      mountflags=noatime
+    fi
+
     # Create subvolumes
-    ${mount-bin} -o noatime,compress=zstd $root_partition $mount_point
+    ${mount-bin} -o $mountflags $root_partition $mount_point
     ${btrfs-bin} subvolume create $mount_point/${hostname}
     ${btrfs-bin} subvolume create $mount_point/${hostname}/nix
     ${umount-bin} $mount_point
 
     # Remount
-    ${mount-bin} -o subvol=/${hostname},noatime,compress=zstd $root_partition $mount_point
+    ${mount-bin} -o subvol=/${hostname},$mountflags $root_partition $mount_point
 
     mkdir -p $mount_point/boot
     ${mount-bin} -o noatime $esp_partition $mount_point/boot
-- 
GitLab