From c69d8b169f6a4bfc35a7d6906ebc062e76197528 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 27 Oct 2016 19:32:48 +0200 Subject: init --- install.nix | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 install.nix (limited to 'install.nix') diff --git a/install.nix b/install.nix new file mode 100644 index 0000000..3217cb5 --- /dev/null +++ b/install.nix @@ -0,0 +1,40 @@ +{ 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"; +} -- cgit v1.2.3