81 lines
1.4 KiB
Nix
81 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
nixosModules,
|
|
...
|
|
}:
|
|
let
|
|
userName = "root";
|
|
hostName = "Daidalos";
|
|
installDisk = "/dev/disk/by-id/REPLACE_ME";
|
|
in
|
|
{
|
|
_module.args = {
|
|
inherit
|
|
userName
|
|
hostName
|
|
installDisk
|
|
;
|
|
};
|
|
|
|
imports = [
|
|
./disko.nix
|
|
./hardware.nix
|
|
nixosModules.base
|
|
nixosModules.binBashWrapper
|
|
];
|
|
|
|
my.binBashWrapper.enable = true;
|
|
|
|
boot = {
|
|
kernelPackages = pkgs.linuxPackages_rpi4;
|
|
supportedFilesystems = [ "zfs" ];
|
|
zfs.devNodes = "/dev/disk/by-id";
|
|
extraModprobeConfig = ''
|
|
options zfs zfs_arc_min=67108864
|
|
options zfs zfs_arc_max=134217728
|
|
'';
|
|
loader = {
|
|
grub.enable = lib.mkForce false;
|
|
systemd-boot.enable = lib.mkForce false;
|
|
generic-extlinux-compatible.enable = true;
|
|
};
|
|
};
|
|
|
|
services.zfs = {
|
|
autoScrub.enable = true;
|
|
trim.enable = false;
|
|
autoSnapshot.enable = false;
|
|
};
|
|
|
|
services.fstrim.enable = false;
|
|
|
|
hardware.enableRedistributableFirmware = true;
|
|
hardware.deviceTree = {
|
|
enable = true;
|
|
filter = "*rpi-4-*.dtb";
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
libraspberrypi
|
|
raspberrypi-eeprom
|
|
];
|
|
|
|
networking.hostName = hostName;
|
|
networking.hostId = "69aaeea1";
|
|
|
|
systemd.network.networks."10-wired".matchConfig.Name = lib.mkForce [
|
|
"en*"
|
|
"eth*"
|
|
"end0"
|
|
];
|
|
|
|
zramSwap = {
|
|
enable = true;
|
|
memoryPercent = 50;
|
|
algorithm = "zstd";
|
|
};
|
|
|
|
system.stateVersion = "25.05";
|
|
}
|