Compare commits

..

4 Commits

Author SHA1 Message Date
58d7493c1b Pin perles package to specific commit for reproducibility
Replace rev = "main" with the specific commit hash 64eba96c0a9b663ef3a206c8f07b71ab34f46df4
to ensure reproducible builds. Using branch names as revisions can cause
unexpected changes when the upstream branch advances.
2026-01-10 11:00:33 -08:00
009b84656f [john-endesktop] Update migration plan with completed pre-migration items 2026-01-10 10:49:04 -08:00
ef4e4509d3 [john-endesktop] Remove swap 2026-01-10 09:43:22 -08:00
cd6b528692 [john-endesktop] Update with actual disk ids 2026-01-10 09:34:28 -08:00
3 changed files with 28 additions and 12 deletions

View File

@@ -170,6 +170,7 @@ This document outlines the plan to migrate the john-endesktop server from Arch L
```bash ```bash
blkid /dev/nvme0n1p5 blkid /dev/nvme0n1p5
# Note the UUID for updating hardware-configuration.nix # Note the UUID for updating hardware-configuration.nix
/dev/nvme0n1p5: LABEL="nixos" UUID="5f4ad025-bfab-4aed-a933-6638348059e5" UUID_SUB="4734d820-7b8a-4b7f-853a-026021c1d204" BLOCK_SIZE="4096" TYPE="btrfs" PARTLABEL="data" PARTUUID="9ea025df-cdb7-48fd-b5d4-37cd5d8588eb"
``` ```
8. **Copy your NixOS configuration to the server** 8. **Copy your NixOS configuration to the server**
@@ -388,11 +389,11 @@ After successful migration and 24-48 hours of stable operation:
Pre-migration: Pre-migration:
- [x] nvme0n1p5 removal from media pool complete - [x] nvme0n1p5 removal from media pool complete
- [ ] Recent backup verified (< 24 hours) - [x] Recent backup verified (< 24 hours)
- [ ] Maintenance window scheduled - [x] Maintenance window scheduled
- [ ] NixOS ISO downloaded - [x] NixOS ISO downloaded
- [ ] Bootable USB created - [x] Bootable USB created
- [ ] NixOS config builds successfully - [x] NixOS config builds successfully
During migration: During migration:
- [ ] ZFS pools exported - [ ] ZFS pools exported

View File

@@ -18,12 +18,29 @@
# File systems - these will need to be updated after installation # File systems - these will need to be updated after installation
# The nvme0n1p5 partition will be formatted as btrfs for NixOS root # The nvme0n1p5 partition will be formatted as btrfs for NixOS root
fileSystems."/" = { fileSystems."/" = {
# Update this device path after installation device = "/dev/disk/by-uuid/5f4ad025-bfab-4aed-a933-6638348059e5";
device = "/dev/disk/by-uuid/CHANGE-THIS-TO-YOUR-UUID";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@" "compress=zstd" "noatime" ]; options = [ "subvol=@" "compress=zstd" "noatime" ];
}; };
fileSystems."/home" = {
device = "/dev/disk/by-uuid/5f4ad025-bfab-4aed-a933-6638348059e5";
fsType = "btrfs";
options = [ "subvol=@home" "compress=zstd" "noatime" ];
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/5f4ad025-bfab-4aed-a933-6638348059e5";
fsType = "btrfs";
options = [ "subvol=@nix" "compress=zstd" "noatime" ];
};
fileSystems."/var/log" = {
device = "/dev/disk/by-uuid/5f4ad025-bfab-4aed-a933-6638348059e5";
fsType = "btrfs";
options = [ "subvol=@log" "compress=zstd" "noatime" ];
};
fileSystems."/boot" = { fileSystems."/boot" = {
# This should match your current EFI partition # This should match your current EFI partition
device = "/dev/disk/by-uuid/F5C6-D570"; device = "/dev/disk/by-uuid/F5C6-D570";
@@ -35,10 +52,8 @@
# The pools should be imported automatically via boot.zfs.extraPools # The pools should be imported automatically via boot.zfs.extraPools
# /media and /swarmvols will be mounted by ZFS # /media and /swarmvols will be mounted by ZFS
# Swap - using ZFS zvol # No swap needed - 23GB RAM is sufficient for this NFS/ZFS server
swapDevices = [ swapDevices = [ ];
{ device = "/dev/zvol/media/swap"; }
];
# CPU microcode # CPU microcode
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View File

@@ -7,7 +7,7 @@ buildGoModule rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zjrosen"; owner = "zjrosen";
repo = "perles"; repo = "perles";
rev = "main"; rev = "64eba96c0a9b663ef3a206c8f07b71ab34f46df4";
hash = "sha256-JgRayb4+mJ1r0AtdnQfqAw2+QRte+licsfZOaRgYqcs="; hash = "sha256-JgRayb4+mJ1r0AtdnQfqAw2+QRte+licsfZOaRgYqcs=";
}; };