From 8adb055557e77a168cb42ccd076823ab4d901a77 Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Wed, 29 Jan 2025 23:33:39 +0100 Subject: [PATCH] disko: Add auto install script --- README.md | 12 ++++++++++++ auto_install.sh | 25 +++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100755 auto_install.sh diff --git a/README.md b/README.md index 71cbf2d..58a856e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,17 @@ # Usefull commands +## Auto-install + +```bash +curl -sSL https://git.mrdev023.fr/florian.richer/nixos/raw/branch/main/auto_install.sh | bash -s -- hostname --disk main /dev/XXX +``` + +or is auto_install.sh is in current folder + +```bash +./auto_install.sh hostname --disk main /dev/XXX +``` + ## Configure ```bash diff --git a/auto_install.sh b/auto_install.sh new file mode 100755 index 0000000..b46ed0b --- /dev/null +++ b/auto_install.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +if [ -e "flake.nix" ]; then + flake_url=. + echo "Log: flake.nix detected use '$flake_url' as flake url" +else + echo "File '$file' does not exist." + flake_url=git+https://git.mrdev023.fr/florian.richer/nixos.git?ref=dev-disko + echo "Log: flake.nix not detected use '$flake_url' as flake url" +fi + +if [ -z "$1" ]; then + available_values=$(nix eval --extra-experimental-features 'nix-command flakes' "$flake_url#nixosConfigurations" --json --apply builtins.attrNames) + echo "Error: Hostsname is required. Please add the first parameter with one of the following list $available_values." + exit 1 +else + flake_name=$1 + disko_install_args=("${@:2}") + echo "Log: Use $flake_name flake name with with '${disko_install_args[@]}' as arguments" +fi + +sudo nix run --extra-experimental-features 'nix-command flakes' \ + 'github:nix-community/disko/latest#disko-install' -- \ + --flake "$flake_url#$flake_name" \ + ${disko_install_args[@]}