fix: Fixes disco configuration
This commit is contained in:
parent
c3eab3b1ae
commit
86c41180b8
4 changed files with 67 additions and 54 deletions
43
README.md
43
README.md
|
@ -5,3 +5,46 @@ Work-in-progress NixOS Server Infrastructure based on [valerie's NixOS setup](ht
|
|||
## WARNING
|
||||
|
||||
This is a work-in-progress and currently DOES NOT WORK. Please check back later.
|
||||
|
||||
## Setup
|
||||
|
||||
### Bootstrapping a New Device
|
||||
|
||||
This guide assumes you have a somewhat sane sops setup.
|
||||
|
||||
1. First, boot the NixOS live environment (minimal ISO is recommended).
|
||||
2. Then, get the harddrive ID using `lsblk` or `fdisk -l`:
|
||||
|
||||
```bash
|
||||
sudo fdisk -l
|
||||
ls -lah /dev/disk/by-id | grep -i <drive disk ID ie. sda>
|
||||
```
|
||||
|
||||
Example output:
|
||||
|
||||
```bash
|
||||
[nix-shell:~]$ sudo fdisk -l
|
||||
Disk /dev/loop0: 1.14 GiB, 1221455872 bytes, 2385656 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors
|
||||
Disk model: QEMU HARDDISK
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
[nix-shell:~]$ ls -lah /dev/disk/by-id | grep -i sda
|
||||
lrwxrwxrwx 1 root root 9 May 5 13:20 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0 -> ../../sda
|
||||
|
||||
[nix-shell:~]$ # disk path: /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0
|
||||
```
|
||||
|
||||
3. Manually create a host configuration by modifying/duplicating `hosts/<target_host_to_base_off_of>` to `hosts/<new_host_name>`. Be sure to modify the hostname in `hosts/<new_host_name>/configuration.nix`.
|
||||
4. Add the host to `flake.nix`.
|
||||
5. Modify the disko configuration for our host to use the correct disk ID that we found earlier.
|
||||
6. Make any other additional modifications if needed.
|
||||
7. Copy/clone the configuration over to the host to install.
|
||||
8. Run `sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount -f "$PWD#hostname"` to prepare the disk, replacing `hostname` with the host you want to switch to (ex. `andromeda`).
|
||||
|
|
37
SETUP.md
37
SETUP.md
|
@ -1,38 +1 @@
|
|||
# Bootstrapping a New Device
|
||||
|
||||
This guide assumes you have a somewhat sane sops setup.
|
||||
|
||||
1. First, boot the NixOS live environment (minimal ISO is recommended).
|
||||
2. Then, get the harddrive ID using `lsblk` or `fdisk -l`:
|
||||
|
||||
```bash
|
||||
sudo fdisk -l
|
||||
ls -lah /dev/disk/by-id | grep -i <drive disk ID ie. sda>
|
||||
```
|
||||
|
||||
Example output:
|
||||
|
||||
```bash
|
||||
[nix-shell:~]$ sudo fdisk -l
|
||||
Disk /dev/loop0: 1.14 GiB, 1221455872 bytes, 2385656 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors
|
||||
Disk model: QEMU HARDDISK
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
[nix-shell:~]$ ls -lah /dev/disk/by-id | grep -i sda
|
||||
lrwxrwxrwx 1 root root 9 May 5 13:20 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0 -> ../../sda
|
||||
|
||||
[nix-shell:~]$ # disk path: /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0
|
||||
```
|
||||
|
||||
3. Manually create a host configuration by modifying/duplicating `hosts/<target_host_to_base_off_of>` to `hosts/<new_host_name>`. Be sure to modify the hostname in `hosts/<new_host_name>/configuration.nix`.
|
||||
4. Add the host to `flake.nix`.
|
||||
5. Modify the disko configuration for our host to use the correct disk ID that we found earlier.
|
||||
6. Make any other additional modifications if needed.
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
system = "x86_64-linux";
|
||||
modules = [
|
||||
inputs.disko.nixosModules.default
|
||||
(import ./hosts/andromeda/disko.nix {device = "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0";})
|
||||
(import ./system/disko.nix {device = "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0";})
|
||||
inputs.impermanence.nixosModules.impermanence
|
||||
./hosts/andromeda/configuration.nix
|
||||
];
|
||||
|
|
|
@ -19,23 +19,30 @@
|
|||
};
|
||||
rootfs = {
|
||||
size = "100%";
|
||||
name = "NixOS";
|
||||
content = {
|
||||
"/root" = {
|
||||
mountpoint = "/";
|
||||
# mountOptions = ["compress=zstd" "noatime"];
|
||||
};
|
||||
"/persist" = {
|
||||
mountpoint = "/persist";
|
||||
# mountOptions = ["compress=zstd" "subvol=persist" "noatime"];
|
||||
mountOptions = ["subvol=persist" "noatime"];
|
||||
};
|
||||
"/home" = {
|
||||
mountpoint = "/home";
|
||||
mountOptions = ["compress=zstd" "subvol=home" "noatime"];
|
||||
};
|
||||
"/nix" = {
|
||||
mountpoint = "/nix";
|
||||
mountOptions = ["compress=zstd" "subvol=nix" "noatime"];
|
||||
type = "btrfs";
|
||||
extraArgs = ["-f"];
|
||||
subvolumes = {
|
||||
root = {
|
||||
name = "root";
|
||||
mountpoint = "/";
|
||||
};
|
||||
persist = {
|
||||
name = "persist";
|
||||
mountpoint = "/persist";
|
||||
mountOptions = ["subvol=persist" "noatime"];
|
||||
};
|
||||
home = {
|
||||
name = "home";
|
||||
mountpoint = "/home";
|
||||
mountOptions = ["subvol=home" "noatime"];
|
||||
};
|
||||
nix = {
|
||||
name = "nix";
|
||||
mountpoint = "/nix";
|
||||
mountOptions = ["compress=zstd" "subvol=nix" "noatime"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue