testing
This commit is contained in:
@@ -1,13 +1,13 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
disk=/dev/nvme0n1
|
disk=/dev/mapper/nuc-nixos-cryptroot
|
||||||
|
|
||||||
# sudo mkfs.vfat "$disk"1
|
# sudo mkfs.vfat "$disk"1
|
||||||
# sudo bcachefs format --encrypted "$disk"2
|
# sudo bcachefs format --label ssd.ssd1 --compression=zstd --discard "$disk"
|
||||||
|
|
||||||
sudo mount -t tmpfs -o mode=755 none /mnt
|
sudo mount -t tmpfs -o mode=755 none /mnt
|
||||||
sudo mkdir -p /mnt/{boot,home,root,etc,nix,var/log,tmp,persist}
|
sudo mkdir -p /mnt/{boot,home,root,etc,nix,var/log,tmp,persist}
|
||||||
sudo mount "$disk"p1 /mnt/boot
|
sudo mount /dev/disk/by-partlabel/disk-main-nuc-nixos-EFI /mnt/boot
|
||||||
# sudo mkdir -p /mnt/boot/firmware
|
# sudo mkdir -p /mnt/boot/firmware
|
||||||
# sudo mount "$disk"2 /mnt/boot/firmware
|
# sudo mount "$disk"2 /mnt/boot/firmware
|
||||||
# sudo mount "$disk"2 -o compress=zstd,subvol=home /mnt/home
|
# sudo mount "$disk"2 -o compress=zstd,subvol=home /mnt/home
|
||||||
@@ -16,29 +16,34 @@ sudo mount "$disk"p1 /mnt/boot
|
|||||||
# sudo mount "$disk"2 -o compress=zstd,noatime,subvol=nix /mnt/nix
|
# sudo mount "$disk"2 -o compress=zstd,noatime,subvol=nix /mnt/nix
|
||||||
# sudo mount "$disk"2 -o compress=zstd,noatime,subvol=log /mnt/var/log
|
# sudo mount "$disk"2 -o compress=zstd,noatime,subvol=log /mnt/var/log
|
||||||
|
|
||||||
bcachefs unlock -k session /dev/disk/by-partlabel/disk-main-nuc-nixos-bcachefs-root
|
# bcachefs unlock -k session /dev/disk/by-partlabel/disk-main-nuc-nixos-bcachefs-root
|
||||||
|
sudo cryptsetup open /dev/disk/by-partlabel/disk-main-nuc-nixos-cryptroot nuc-nixos-cryptroot
|
||||||
# sudo bcachefs unlock -k session "$disk"2
|
# sudo bcachefs unlock -k session "$disk"2
|
||||||
# sudo mount "$disk"2 /mnt/tmp
|
# sudo mount "$disk" /mnt/tmp
|
||||||
# cd /mnt/tmp
|
# cd /mnt/tmp
|
||||||
|
# ls -alh
|
||||||
|
|
||||||
# sudo bcachefs subvolume create nix
|
# sudo bcachefs subvolume create nix
|
||||||
# sudo bcachefs subvolume create etc
|
# sudo bcachefs subvolume create etc
|
||||||
# sudo bcachefs subvolume create log
|
# sudo bcachefs subvolume create log
|
||||||
# sudo bcachefs subvolume create root
|
# sudo bcachefs subvolume create root
|
||||||
# sudo bcachefs subvolume create persist
|
# sudo bcachefs subvolume create persist
|
||||||
# sudo bcachefs subvolume create home
|
# sudo bcachefs subvolume create home
|
||||||
|
|
||||||
|
# ls -alh
|
||||||
# cd /etc/nixos
|
# cd /etc/nixos
|
||||||
# sudo umount /mnt/tmp
|
# sudo umount /mnt/tmp
|
||||||
|
|
||||||
sudo mount -o noatime,X-mount.subdir=nix "$disk"p2 /mnt/nix
|
sudo mount -o noatime,X-mount.subdir=nix "$disk" /mnt/nix
|
||||||
sudo mount -o noatime,X-mount.subdir=etc "$disk"p2 /mnt/etc
|
sudo mount -o noatime,X-mount.subdir=etc "$disk" /mnt/etc
|
||||||
sudo mount -o noatime,X-mount.subdir=log "$disk"p2 /mnt/var/log
|
sudo mount -o noatime,X-mount.subdir=log "$disk" /mnt/var/log
|
||||||
sudo mount -o noatime,X-mount.subdir=root "$disk"p2 /mnt/root
|
sudo mount -o noatime,X-mount.subdir=root "$disk" /mnt/root
|
||||||
sudo mount -o noatime,X-mount.subdir=persist "$disk"p2 /mnt/persist
|
sudo mount -o noatime,X-mount.subdir=persist "$disk" /mnt/persist
|
||||||
sudo mount -o X-mount.subdir=home "$disk"p2 /mnt/home
|
sudo mount -o X-mount.subdir=home "$disk" /mnt/home
|
||||||
|
|
||||||
# tree /mnt
|
# tree /mnt
|
||||||
|
|
||||||
sudo nixos-install --flake /etc/nixos#nuc-nixos
|
# sudo nixos-install --flake /etc/nixos#nuc-nixos
|
||||||
|
|
||||||
# sudo umount /mnt/boot
|
# sudo umount /mnt/boot
|
||||||
# sudo umount /mnt/var/log
|
# sudo umount /mnt/var/log
|
||||||
|
|||||||
@@ -44,30 +44,31 @@ in
|
|||||||
bootspec.enable = (!isArm);
|
bootspec.enable = (!isArm);
|
||||||
|
|
||||||
initrd = {
|
initrd = {
|
||||||
secrets = {
|
# secrets = {
|
||||||
"/etc/clevis/nuc-nixos.jwe" = (lib.snowfall.fs.get-file "secrets/nuc-nixos.jwe");
|
# "/etc/clevis/nuc-nixos.jwe" = (lib.snowfall.fs.get-file "secrets/nuc-nixos.jwe");
|
||||||
};
|
# };
|
||||||
|
|
||||||
systemd.services."unlock-disk" = {
|
# systemd.services."unlock-disk" = {
|
||||||
enable = true;
|
# enable = false;
|
||||||
path = [
|
# path = [
|
||||||
pkgs.clevis
|
# pkgs.clevis
|
||||||
pkgs.bcachefs-tools
|
# pkgs.bcachefs-tools
|
||||||
];
|
# ];
|
||||||
script = ''
|
# script = ''
|
||||||
${pkgs.clevis}/bin/clevis decrypt < "/etc/clevis/nuc-nixos.jwe" | ${pkgs.bcachefs-tools}/bin/bcachefs unlock -k session /dev/disk/by-label/disk-main-nuc-nixos-bcachefs-root
|
# ${pkgs.clevis}/bin/clevis decrypt < "/etc/clevis/nuc-nixos.jwe"
|
||||||
'';
|
# # | ${pkgs.bcachefs-tools}/bin/bcachefs unlock -k session /dev/disk/by-label/disk-main-nuc-nixos-bcachefs-root
|
||||||
wantedBy = [ "initrd-root-fs.target" ];
|
# '';
|
||||||
requiredBy = [ "initrd-root-fs.target" ];
|
# wantedBy = [ "initrd-root-fs.target" ];
|
||||||
serviceConfig = {
|
# requiredBy = [ "initrd-root-fs.target" ];
|
||||||
Type = "oneshot";
|
# serviceConfig = {
|
||||||
TimeoutSec = "10s";
|
# Type = "oneshot";
|
||||||
};
|
# TimeoutSec = "10s";
|
||||||
};
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
clevis = mkIf (config.${namespace}.hardware.disko.filesystem == "bcachefs"){
|
# clevis = mkIf (config.${namespace}.hardware.disko.filesystem == "bcachefs"){
|
||||||
enable = true;
|
# enable = true;
|
||||||
};
|
# };
|
||||||
|
|
||||||
luks = mkIf cfg.yubikeyEncryption {
|
luks = mkIf cfg.yubikeyEncryption {
|
||||||
devices = {
|
devices = {
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ let
|
|||||||
size = "100%";
|
size = "100%";
|
||||||
content = {
|
content = {
|
||||||
type = "luks";
|
type = "luks";
|
||||||
name = "cryptroot";
|
name = "${config.${namespace}.network.hostName}-cryptroot";
|
||||||
extraOpenArgs = [
|
extraOpenArgs = [
|
||||||
"--allow-discards"
|
"--allow-discards"
|
||||||
"--perf-no_read_workqueue"
|
"--perf-no_read_workqueue"
|
||||||
@@ -185,7 +185,7 @@ in
|
|||||||
bcachefs_filesystems = lib.mkIf (cfg.filesystem == "bcachefs") {
|
bcachefs_filesystems = lib.mkIf (cfg.filesystem == "bcachefs") {
|
||||||
mounted_subvolumes_in_multi = {
|
mounted_subvolumes_in_multi = {
|
||||||
type = "bcachefs_filesystem";
|
type = "bcachefs_filesystem";
|
||||||
passwordFile = "/etc/nixos/test.key";
|
# passwordFile = "/etc/nixos/test.key";
|
||||||
extraFormatArgs = [
|
extraFormatArgs = [
|
||||||
"--compression=${cfg.compression}"
|
"--compression=${cfg.compression}"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{ lib, ... }:
|
{ lib, config, namespace, ... }:
|
||||||
{
|
{
|
||||||
services.btrfs = {
|
services.btrfs = {
|
||||||
autoScrub.enable = lib.mkDefault true;
|
autoScrub.enable = lib.mkDefault (config.${namespace}.hardware.disko.filesystem == "btrfs");
|
||||||
autoScrub.fileSystems = lib.mkDefault [
|
autoScrub.fileSystems = lib.mkDefault [
|
||||||
"/nix"
|
"/nix"
|
||||||
"/root"
|
"/root"
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
hardware.disko = {
|
hardware.disko = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableLuks = true;
|
enableLuks = true;
|
||||||
|
filesystem = "btrfs";
|
||||||
|
# rootDisk = "/dev/loop0";
|
||||||
};
|
};
|
||||||
|
|
||||||
headless.enable = true;
|
headless.enable = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user