commit ae68019de1777dd1d443f8fe5f75550b9b09b639 Author: Philipp Date: Tue Mar 19 19:31:47 2024 +0100 Init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8613d74 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +uuidfile diff --git a/generate-new-image.sh b/generate-new-image.sh new file mode 100755 index 0000000..75cb27e --- /dev/null +++ b/generate-new-image.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -euo pipefail +set -x +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +DESTUUID="$(cat $SCRIPT_DIR/uuidfile)" +tmpdir=$(mktemp -d) +mntdir=$(mktemp -d) +if [[ ! -h "/dev/disk/by-uuid/$DESTUUID" ]]; then + echo "Error: Drive not inserted" + exit 1 +fi +mount /dev/disk/by-uuid/"$DESTUUID" $mntdir +cp $(nix-shell -p nixos-generators --run "nixos-generate --format iso --configuration './image.nix' -o $tmpdir/nixos-image.iso") $mntdir/nixos-x86_64-$(date --iso).iso +umount $mntdir +rm -rf $tmpdir +rmdir $mntdir diff --git a/image.nix b/image.nix new file mode 100755 index 0000000..836ed51 --- /dev/null +++ b/image.nix @@ -0,0 +1,18 @@ +{ pkgs, modulesPath, lib, ... }: { + imports = [ + "${modulesPath}/installer/cd-dvd/installation-cd-minimal-new-kernel-no-zfs.nix" + ]; + users.users.nixos.openssh.authorizedKeys.keys = [ + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAINgMYT/3mFn0A/yAkI3BHC246Q+/tZ+3HdBeeyp134e+AAAAGHNzaDp5dWJpa2V5LWJsdWUtZGVza3RvcA== philipp@sarah" + ]; + boot.supportedFilesystems = [ "bcachefs" ]; + isoImage.squashfsCompression = "gzip -Xcompression-level 1"; + nix = { + settings.experimental-features = [ "nix-command" "flakes" ]; + }; + environment.systemPackages = with pkgs; [ + keyutils + tmux + ]; + console.keyMap = "neo"; +} diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..6b4eeb3 --- /dev/null +++ b/readme.md @@ -0,0 +1,3 @@ +* Format thumbdrive with ventoy +* Insert UUID into file uuidfile in this directory (only UUID, nothing else) +* Run script