aboutsummaryrefslogtreecommitdiff
path: root/docs/install.org
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2023-12-14 17:54:52 -0800
committerFranck Cuny <franck@fcuny.net>2023-12-14 17:54:52 -0800
commitcd54909e6ef6faa27c3066100782acf7fd704890 (patch)
tree5953b23f268347051090b65aa14348d1a9802d37 /docs/install.org
parentuse the `update-flake-lock` to update nix flakes (diff)
downloadinfra-cd54909e6ef6faa27c3066100782acf7fd704890.tar.gz
update the main documentation
Delete unused/outdated documentations.
Diffstat (limited to 'docs/install.org')
-rw-r--r--docs/install.org153
1 files changed, 0 insertions, 153 deletions
diff --git a/docs/install.org b/docs/install.org
deleted file mode 100644
index 40ba5a8..0000000
--- a/docs/install.org
+++ /dev/null
@@ -1,153 +0,0 @@
-#+TITLE: Installation
-#+AUTHOR: Franck Cuny
-#+EMAIL: franck@fcuny.net
-
-* Prepare the USB stick
-Download the most recent image from https://nixos.org/download.html then put it on a stick:
-#+begin_src sh
-sudo cp ~/downloads/nixos-minimal-21.11.336020.2128d0aa28e-x86_64-linux.iso /dev/sda
-#+end_src
-* Partitioning
-** For the workstation (desktop/laptop)
-All hosts have the same partitioning for the boot drive:
-- /boot partition for UEFI
-- / encrypted with btrfs
-- a 8GB swap
-
-If we assume the boot drive to be =nvme0n1=, we will do the following:
-#+begin_src sh
-parted /dev/nvme0n1 -- mklabel gpt
-parted /dev/nvme0n1 -- mkpart primary 512MiB -8GiB
-parted /dev/nvme0n1 -- mkpart primary linux-swap -8GiB 100%
-parted /dev/nvme0n1 -- mkpart ESP fat32 1MiB 512MiB
-parted /dev/nvme0n1 -- set 3 esp on
-#+end_src
-
-Running =lsbkl= should give the following output:
-#+begin_src sh
-[root@nixos:~]# lsblk
-NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
-loop0 7:0 0 709M 1 loop /nix/.ro-store
-sda 8:0 1 29.9G 0 disk
-├─sda1 8:1 1 784M 0 part /iso
-└─sda2 8:2 1 37M 0 part
-nvme0n1 259:0 0 465.8G 0 disk
-├─nvme0n1p1 259:1 0 457.3G 0 part
-├─nvme0n1p2 259:2 0 8G 0 part
-└─nvme0n1p3 259:3 0 511M 0 part
-#+end_src
-
-Then we create the LUKS device:
-#+begin_src sh
-cryptsetup --verify-passphrase -v luksFormat /dev/nvme0n1p1
-cryptsetup open /dev/nvme0n1p1 system
-#+end_src
-
-We can create the partition for the boot drive and activate the swap:
-#+begin_src sh
-mkswap -L swap /dev/nvme0n1p2
-swapon /dev/nvme0n1p2
-mkfs.fat -F 32 -n nixos-boot /dev/nvme0n1p3
-#+end_src
-#+begin_src sh
-mkfs.btrfs /dev/mapper/system
-
-mount -t btrfs /dev/mapper/system /mnt
-
-btrfs subvolume create /mnt/nixos
-btrfs subvolume create /mnt/home
-btrfs subvolume create /mnt/snapshots
-
-umount /mnt
-#+end_src
-
-Now we can re-mount the partitions with the proper options:
-#+begin_src sh
-mount -o subvol=nixos,compress=zstd,noatime,autodefrag /dev/mapper/system /mnt
-
-mkdir /mnt/{home,boot,.snapshots}
-
-mount -o subvol=home,compress=zstd,noatime,autodefrag /dev/mapper/system /mnt/home
-mount -o subvol=snapshots,compress=zstd,noatime /dev/mapper/system /mnt/.snapshots
-mount /dev/nvme0n1p3 /mnt/boot
-#+end_src
-
-Once the installation is completed:
-#+begin_src sh
-CUSTOMIZE_TIMESTAMP=$(date -u +%Y%m%dT%H%M%S)
-btrfs subvolume snapshot /mnt /mnt/.snapshots/$CUSTOMIZE_TIMESTAMP
-#+end_src
-** Partitions for the NAS
-Create the RAIDs:
-#+begin_src sh
-mdadm --create /dev/md/fast --level=mirror --raid-devices=2 /dev/sda /dev/sdb
-mdadm --create /dev/md/slow --level=mirror --raid-devices=2 /dev/sdc /dev/sde
-#+end_src
-
-Encrypt the RAIDs:
-#+begin_src sh
-cryptsetup --verify-passphrase -v luksFormat /dev/md/slow
-cryptsetup --verify-passphrase -v luksFormat /dev/md/fast
-#+end_src
-
-Then open them:
-#+begin_src sh
-cryptsetup open /dev/md/fast raid-fast
-cryptsetup open /dev/md/slow raid-slow
-#+end_src
-
-Create the filesystem:
-#+begin_src sh
-mkfs.btrfs /dev/mapper/raid-fast
-mkfs.btrfs /dev/mapper/raid-slow
-#+end_src
-
-Then we can mount them to generate the host configuration
-#+begin_src sh
-btrfs subvolume create /mnt/media
-btrfs subvolume create /mnt/containers
-umount /mnt
-
-mount -t btrfs /dev/mapper/raid-slow /mnt/
-btrfs subvolume create /mnt/backups
-mkdir /mnt/data/{backups,containers,media}
-mount -o subvol=media,compress=zstd,noatime,autodefrag /dev/mapper/raid-fast /mnt/data/media
-mount -o subvol=media,compress=zstd,noatime,autodefrag /dev/mapper/raid-fast /mnt/data/media
-mount -o subvol=containers,compress=zstd,noatime,autodefrag /dev/mapper/raid-fast /mnt/data/containers
-mount -o subvol=backups,compress=zstd,noatime,autodefrag /dev/mapper/raid-slow /mnt/data/backups
-#+end_src
-* Installing the system
-Let's add git and nixFlakes:
-#+begin_src sh
-nix-shell -p git nixFlakes
-#+end_src
-
-#+begin_src sh
-nixos-generate-config --root /mnt
-mkdir /mnt/root
-git clone https://git.fcuny.net/fcuny/world.git /mnt/root/world
-mkdir /mnt/root/world/hosts/<host name>
-cp /mnt/etc/nixos/hardware-configuration.nix /mnt/root/world/hosts/<host name>/
-cp /mnt/root/world/hosts/aptos/default.nix /mnt/root/world/hosts/<host name>/
-vim /mnt/root/world/hosts/<host name>/default.nix
-cd /mnt/root/world
-git add hosts/tahoe
-cd /
-nixos-install --root /mnt --flake /mnt/root/world#<host name>
-#+end_src
-
-Create another snapshot
-#+begin_src sh
-CUSTOMIZE_TIMESTAMP=$(date -u +%Y%m%dT%H%M%S)
-btrfs subvolume snapshot /mnt /mnt/.snapshots/$CUSTOMIZE_TIMESTAMP
-#+end_src
-
-And a =reboot= should be enough.
-* home-manager initial install
-After a reboot, as root:
-#+begin_src sh
-nix-channel --add https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz home-manager
-nix-channel --update
-nix-shell '<home-manager>' -A install
-home-manager build --flake .#fcuny@<host name>
-#+end_src