{ config, lib, pkgs, ... }: { imports = [ ./base.nix ]; environment.systemPackages = [ (pkgs.writeDashBin "ni-format" '' set -efux ${pkgs.parted}/bin/parted ${config.ni-disk} mktable msdos ${pkgs.parted}/bin/parted ${config.ni-disk} mkpart primary 1MiB 100% ${pkgs.parted}/bin/parted ${config.ni-disk} print ${pkgs.btrfs-progs}/bin/mkfs.btrfs ${config.ni-disk}-part1 '') (pkgs.writeDashBin "ni-mount" '' set -efux if ! ${pkgs.utillinux}/bin/mountpoint /mnt; then ${pkgs.coreutils}/bin/install -m 0000 -d /mnt ${pkgs.utillinux}/bin/mount ${config.ni-disk}-part1 /mnt fi if ! ${pkgs.utillinux}/bin/mountpoint ${config.ni-path}; then ${pkgs.coreutils}/bin/install -m 0700 -d /mnt${config.ni-path} ${pkgs.coreutils}/bin/install -m 0000 -d ${config.ni-path} ${pkgs.utillinux}/bin/mount --bind /mnt${config.ni-path} ${config.ni-path} ${pkgs.coreutils}/bin/touch /mnt/${config.ni-path}/.populate fi '') # TODO ni-upload-iso ]; isoImage.isoName = "ni-install.iso"; isoImage.volumeID = "NI_INSTALL_ISO"; networking.hostName = "ni-install"; }