From 4547e75868cba2a265b78661ddc386b5e81c1bb0 Mon Sep 17 00:00:00 2001 From: gramanas Date: Mon, 7 Oct 2024 11:47:06 +0300 Subject: init --- scripts/disko.nix | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ scripts/install.sh | 14 +++++++++++ 2 files changed, 88 insertions(+) create mode 100644 scripts/disko.nix create mode 100755 scripts/install.sh (limited to 'scripts') diff --git a/scripts/disko.nix b/scripts/disko.nix new file mode 100644 index 0000000..6f2cc6f --- /dev/null +++ b/scripts/disko.nix @@ -0,0 +1,74 @@ +{ + disko.devices = { + nodev."/" = { + fsType = "tmpfs"; + mountOptions = [ + "defaults" + "size=16G" + "mode=755" + ]; + }; + + disk.main = { + type = "disk"; + device = "/dev/vda"; + + content = { + type = "gpt"; + partitions = { + ESP = { + priority = 1; + size = "512M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ + "defaults" + ]; + }; + }; + + luks = { + size = "100%"; + content = { + type = "luks"; + name = "crypted"; + settings = { + allowDiscards = true; + }; + content = { + type = "btrfs"; + extraArgs = ["-f"]; + subvolumes = { + nix = { + mountpoint = "/nix"; + mountOptions = ["compress=zstd" "noatime"]; + }; + persist = { + mountpoint = "/persist"; + mountOptions = ["compress=zstd" "noatime"]; + }; + log = { + mountpoint = "/var/log"; + mountOptions = ["compress=zstd" "noatime"]; + }; + tmp = { + mountpoint = "/tmp"; + mountOptions = ["noatime"]; + }; + swap = { + mountpoint = "/swap"; + mountOptions = ["noatime"]; + swap.swapfile.size = "32G"; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/scripts/install.sh b/scripts/install.sh new file mode 100755 index 0000000..c809cc9 --- /dev/null +++ b/scripts/install.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +sudo -i + +# Partitioning, formatting and mounting +sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode zap_create_mount ./disko.nix + +# Installing +nixos-install --flake https://github.com/cu1ch3n/nixbook#nixbook --no-root-passwd + +# Setting up password files +mkdir -p /mnt/persist/passwordFiles +mkpasswd -m SHA-512 -s > /mnt/persist/passwordFiles/root +mkpasswd -m SHA-512 -s > /mnt/persist/passwordFiles/chen -- cgit v1.2.3