Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
64ae9acfe9 | ||
|
|
4492652779 | ||
|
|
898d2dadc1 | ||
|
|
7bd70b4fe1 | ||
|
|
f8666e735e | ||
|
|
631e7cdc33 | ||
|
|
ff3c3271bf | ||
|
|
d27f4791df | ||
|
|
bd294d5252 | ||
|
|
dc243f0d5a | ||
|
|
e9f1162c77 | ||
|
|
e6ed033165 | ||
|
|
ffacaf1e12 | ||
|
|
a5d847843e | ||
|
|
c7fbc2a853 | ||
|
|
196ff1291e | ||
|
|
9551320771 | ||
|
|
837a9181b4 | ||
|
|
c2b92b213e | ||
|
|
ad9f105731 | ||
|
|
e16c9cc6eb | ||
|
|
fbeab0dbc4 | ||
|
|
eeb540a7b4 | ||
|
|
922b6efdfe | ||
|
|
09d0f341c1 | ||
|
|
424b88aec6 | ||
|
|
e587aa5781 | ||
|
|
5fd6591d19 | ||
|
|
6385c467b8 | ||
|
|
4a461b6237 | ||
|
|
e3f5ab60f0 | ||
|
|
614e552eb9 | ||
|
|
f1e4854d72 | ||
|
|
7b4ff30ef9 | ||
|
|
084877a661 | ||
|
|
793f015374 | ||
|
|
5a2dfdb13c | ||
|
|
2f61558a1d | ||
|
|
1f2133e0be | ||
|
|
b03687fd1f | ||
|
|
b78cedddcb |
@@ -55,7 +55,7 @@
|
||||
};
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
laptop = mkHost "laptop" "x86_64-linux";
|
||||
nixos = mkHost "nixos" "x86_64-linux";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
bootDevices = [ "bootDevices_placeholder" ];
|
||||
immutable.enable = false;
|
||||
removableEfi = true;
|
||||
luks.enable = True;
|
||||
luks.enable = true;
|
||||
};
|
||||
};
|
||||
boot.initrd.availableKernelModules = [ "kernelModules_placeholder" ];
|
||||
boot.kernelParams = [ ];
|
||||
networking.hostId = "nixos";
|
||||
networking.hostId = "abcd1234";
|
||||
# read changeHostName.txt file.
|
||||
networking.hostName = "laptop";
|
||||
networking.hostName = "nixos";
|
||||
time.timeZone = "Europe/Paris";
|
||||
|
||||
# import preconfigured profiles
|
||||
|
||||
+14
-15
@@ -1,4 +1,4 @@
|
||||
#!/bin/env bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
log() { echo -e "\n\033[1m${@}\033[0m"; }
|
||||
|
||||
@@ -15,6 +15,9 @@ curl -s google.com > /dev/null || exit 1
|
||||
log Loading zfs module first
|
||||
modprobe zfs || exit 1
|
||||
|
||||
log Installing packages
|
||||
nix-env -f '<nixpkgs>' -iA git jq parted fzf
|
||||
|
||||
echo ""
|
||||
lsblk
|
||||
echo ""
|
||||
@@ -57,10 +60,6 @@ echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
|
||||
|
||||
|
||||
log Installing programs needed for system installation
|
||||
# ---
|
||||
if ! command -v git; then nix-env -f '<nixpkgs>' -iA git; fi
|
||||
if ! command -v jq; then nix-env -f '<nixpkgs>' -iA jq; fi
|
||||
if ! command -v partprobe; then nix-env -f '<nixpkgs>' -iA parted; fi
|
||||
|
||||
|
||||
log Partition the disks
|
||||
@@ -73,8 +72,8 @@ partition_disk () {
|
||||
mklabel gpt \
|
||||
mkpart swap 1MiB $((SWAPSIZE + 1))MiB \
|
||||
mkpart rpool $((SWAPSIZE + 1))MiB -$((RESERVE + 100))MiB \
|
||||
mkpart bpool -$((RESERVE + 100))MiB -$((RESERVE + 3))MiB \
|
||||
mkpart EFI -$((RESERVE + 3))MiB -$((RESERVE + 2))MiB \
|
||||
mkpart bpool -$((RESERVE + 100))MiB -$((RESERVE + 40))MiB \
|
||||
mkpart EFI -$((RESERVE + 40))MiB -$((RESERVE + 2))MiB \
|
||||
mkpart BIOS -$((RESERVE + 2))MiB -$((RESERVE + 1))MiB \
|
||||
set 4 esp on \
|
||||
set 5 bios_grub on \
|
||||
@@ -109,7 +108,7 @@ createbpool="zpool create \
|
||||
-R $MNT \
|
||||
bpool \
|
||||
`for i in $DISK; do
|
||||
printf '%s ' ${i}3
|
||||
printf '%s ' ${i}p3
|
||||
done`"
|
||||
echo $createbpool
|
||||
eval $createbpool
|
||||
@@ -175,9 +174,9 @@ zfs snapshot rpool/nixos/empty@start
|
||||
log Formatting and mounting ESP
|
||||
# ---
|
||||
for i in ${DISK}; do
|
||||
mkfs.vfat -n EFI "${i}"4
|
||||
mkdir -p "${MNT}"/boot/efis/"${i##*/}"4
|
||||
mount -t vfat -o iocharset=iso8859-1 "${i}"4 "${MNT}"/boot/efis/"${i##*/}"4
|
||||
mkfs.vfat -n EFI "${i}"p4
|
||||
mkdir -p "${MNT}"/boot/efis/"${i##*/}"p4
|
||||
mount -t vfat -o iocharset=iso8859-1 "${i}"p4 "${MNT}"/boot/efis/"${i##*/}"p4
|
||||
done
|
||||
|
||||
|
||||
@@ -232,7 +231,7 @@ sed -i "s|\"kernelModules_placeholder\"|${kernelModules}|g" \
|
||||
|
||||
log Setting root password
|
||||
# ---
|
||||
rootPwd=$(mkpasswd2 -m SHA-512)
|
||||
rootPwd=$(echo $POOLPASS | mkpasswd -sm SHA-512)
|
||||
sed -i \
|
||||
"s|rootHash_placeholder|${rootPwd}|" \
|
||||
"${MNT}"/etc/nixos/configuration.nix
|
||||
@@ -258,9 +257,9 @@ nixos-install \
|
||||
log Setuping encrypted swap. This is useful if the available memory is small
|
||||
# ---
|
||||
for i in ${DISK}; do
|
||||
cryptsetup open --type plain --key-file /dev/random "${i}"1 "${i##*/}"1
|
||||
mkswap /dev/mapper/"${i##*/}"1
|
||||
swapon /dev/mapper/"${i##*/}"1
|
||||
cryptsetup open --type plain --key-file /dev/random "${i}"p1 "${i##*/}"p1
|
||||
mkswap /dev/mapper/"${i##*/}"p1
|
||||
swapon /dev/mapper/"${i##*/}"p1
|
||||
done
|
||||
|
||||
log Unmounting filesystems
|
||||
|
||||
@@ -41,11 +41,11 @@ in {
|
||||
};
|
||||
partitionScheme = mkOption {
|
||||
default = {
|
||||
swap = "1";
|
||||
rootPool = "2";
|
||||
bootPool = "3";
|
||||
efiBoot = "4";
|
||||
biosBoot = "5";
|
||||
swap = "p1";
|
||||
rootPool = "p2";
|
||||
bootPool = "p3";
|
||||
efiBoot = "p4";
|
||||
biosBoot = "p5";
|
||||
};
|
||||
description = "Describe on disk partitions";
|
||||
type = types.attrsOf types.str;
|
||||
|
||||
Reference in New Issue
Block a user