{ config, lib, pkgs, ... }: { imports = [ ./hardware-configuration.nix ./wrapped-disk-config.nix ./distributed_build.nix ./power_management.nix ]; config = { # Generate with `head -c4 /dev/urandom | od -A none -t x4` networking.hostId = "908cbf04"; networking.hostName = "family_disks"; # Define your hostname. time.timeZone = "America/New_York"; i18n.defaultLocale = "en_US.UTF-8"; me.boot.enable = true; me.boot.secure = false; me.mountPersistence = true; # Toggle to start writing the extlinux config which will be used by zfsbootmenu boot.loader.generic-extlinux-compatible.enable = true; boot.loader.systemd-boot.enable = lib.mkForce false; me.rollback.dataset = [ "zroot/linux/nix/root@blank" "zroot/linux/nix/home@blank" ]; me.optimizations = { enable = true; arch = "skylake"; # build_arch = "x86-64-v3"; system_features = [ "gccarch-znver4" "gccarch-skylake" "gccarch-kabylake" # "gccarch-alderlake" missing WAITPKG "gccarch-x86-64-v3" "gccarch-x86-64-v4" "benchmark" "big-parallel" "kvm" "nixos-test" ]; }; # Early KMS # boot.initrd.kernelModules = [ "amdgpu" ]; # Mount tmpfs at /tmp boot.tmp.useTmpfs = true; # Enable light sensor # hardware.sensor.iio.enable = lib.mkDefault true; # Enable TRIM # services.fstrim.enable = lib.mkDefault true; # Only run nix builders at idle priority for a more responsive system. Do not set on servers, just end-user devices. nix.daemonCPUSchedPolicy = "idle"; me.build_in_ram.enable = true; me.dont_use_substituters.enable = true; me.minimal_base.enable = true; me.recovery.enable = true; }; }