From f08de9b408b9aef905b21e9bf73fc822e84358f7 Mon Sep 17 00:00:00 2001 From: Username404-59 Date: Mon, 22 Jun 2026 20:57:45 +0200 Subject: [PATCH] Add filesystems.nix to avoid modifying hardware-config.nix --- configuration.nix | 4 ++++ local.nix | 19 ++----------------- modules/filesystems.nix | 25 +++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 17 deletions(-) create mode 100644 modules/filesystems.nix diff --git a/configuration.nix b/configuration.nix index cde90c1..6682b53 100644 --- a/configuration.nix +++ b/configuration.nix @@ -11,6 +11,9 @@ To fix problems sometimes: sudo nixos-rebuild switch -I nixos-config=/etc/nixos/configuration.nix + + To make an ISO: + sudo nixos-rebuild build-image */ let nixtamal = import ./tamal { @@ -45,6 +48,7 @@ in [ ./local.nix ./hardware-configuration.nix # Results of the hardware scan ("nixos-generate-config" command) + ./modules/filesystems.nix "${nixtamal.home-manager}/nixos" "${nixtamal.catppuccin}/modules/nixos" "${nixtamal.nix-cachyos-settings}/module.nix" diff --git a/local.nix b/local.nix index 1b06ae2..0d44b60 100644 --- a/local.nix +++ b/local.nix @@ -42,7 +42,7 @@ in boot.loader.limine.extraEntries = lib.mkIf (!isLaptop) '' /Windows protocol: efi - path: uuid(F19E62C8-6ED1-4482-976A-6CCF5F561FDD):/EFI/Microsoft/Boot/bootmgfw.efi + path: label(windows_efi):/EFI/Microsoft/Boot/bootmgfw.efi ''; powerManagement.cpuFreqGovernor = if !isLaptop then "performance" else "schedutil"; @@ -55,22 +55,7 @@ in }; }; - fileSystems."/".options = [ "noatime" "discard" ]; - # Note: for f2fs, create it with "sudo fsck.f2fs -O extra_attr,flexible_inline_xattr,inode_checksum,sb_checksum,compression,lost_found /dev/sdxY" - /* And add these to mount options in hardware-configuration.nix - options = [ - "compress_algorithm=lzo-rle" - "compress_extension=*" - #"nocompress_extension=avif,bmp,gif,heic,heif,ico,jpe,jpeg,jpg,png,svg,tif,tiff,webp,3gp,avi,flv,m4v,mkv,mov,mp4,mpeg,mpg,webm,wmv,aac,flac,m4a,mid,midi,mp3,ogg,opus,wav,wma,7z,bz2,gz,rar,tar,tgz,xz,zip,zst,docx,odt,odp,ods,pptx,xlsx,pdf,db,gpg,key,p12,pem,sqlite,sqlite3,enc,aab,apk,appimage,bin,deb,dll,elf,exe,jar,so,rpm,img,iso,qcow2,vdi,vhd,vmdk,otf,ttf,class,dump,log,swp,tmp,bak,cache,part,old,new,core" - "compress_chksum" - "atgc" - "gc_merge" - "checkpoint=enable" - "checkpoint_merge" - "fsync_mode=posix" - "nat_bits" - ]; - */ + fileSystems."/".options = [ "noatime" ]; networking.hostName = if !isLaptop then "lizard" else "lizard-portable"; } diff --git a/modules/filesystems.nix b/modules/filesystems.nix new file mode 100644 index 0000000..273df40 --- /dev/null +++ b/modules/filesystems.nix @@ -0,0 +1,25 @@ +{ config, lib, ... }: + +{ + # Note: for f2fs, create it with "sudo fsck.f2fs -O extra_attr,flexible_inline_xattr,inode_checksum,sb_checksum,compression,lost_found /dev/sdxY" + fileSystems."/".options = lib.mkIf (config.fileSystems."/".fsType == "f2fs") + (lib.mkAfter [ + "discard" # Better (on f2fs) than fstrim + "X-fstrim.notrim" # To avoid fstrim + "compress_algorithm=lzo-rle" + "compress_extension=*" + #"nocompress_extension=avif,bmp,gif,heic,heif,ico,jpe,jpeg,jpg,png,svg,tif,tiff,webp,3gp,avi,flv,m4v,mkv,mov,mp4,mpeg,mpg,webm,wmv,aac,flac,m4a,mid,midi,mp3,ogg,opus,wav,wma,7z,bz2,gz,rar,tar,tgz,xz,zip,zst,docx,odt,odp,ods,pptx,xlsx,pdf,db,gpg,key,p12,pem,sqlite,sqlite3,enc,aab,apk,appimage,bin,deb,dll,elf,exe,jar,so,rpm,img,iso,qcow2,vdi,vhd,vmdk,otf,ttf,class,dump,log,swp,tmp,bak,cache,part,old,new,core" + "compress_chksum" + "atgc" + "gc_merge" + "checkpoint=enable" + "checkpoint_merge" + "fsync_mode=posix" + "nat_bits" + ]); + + services.fstrim.enable = true; + + # Link to nix-hardware configs in case I get a new laptop some day: + # https://github.com/NixOS/nixos-hardware +} \ No newline at end of file