summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorandromeda <andromeda@lenovo>2026-01-10 00:55:44 +0100
committerandromeda <andromeda@lenovo>2026-01-10 00:55:44 +0100
commit97fca4cc7e18985272119f1ab6b75865042a96e1 (patch)
tree9b752745052606adc5fc7a04ee3e3e1f6457f09e /modules
parent243d7f3fc3a2ae23ea28bff7afb0af84f96c8851 (diff)
fix up remote 109-199-104-83
Diffstat (limited to 'modules')
-rw-r--r--modules/nixos/boot/109-199-104-83.nix6
-rw-r--r--modules/nixos/impermanence.nix1
-rw-r--r--modules/nixos/laptop.nix2
-rw-r--r--modules/nixos/machines/109-199-104-83.nix49
-rw-r--r--modules/nixos/machines/lenovo.nix73
-rw-r--r--modules/nixos/networking/networks/109-199-104-83.nix18
6 files changed, 131 insertions, 18 deletions
diff --git a/modules/nixos/boot/109-199-104-83.nix b/modules/nixos/boot/109-199-104-83.nix
index ec2def1..d54de8e 100644
--- a/modules/nixos/boot/109-199-104-83.nix
+++ b/modules/nixos/boot/109-199-104-83.nix
@@ -1,3 +1,7 @@
{
- boot.loader.grub.device = "/dev/sda";
+ boot.loader.grub = {
+ devices = ["/dev/sda"];
+ efiSupport = true;
+ efiInstallAsRemovable = true;
+ };
}
diff --git a/modules/nixos/impermanence.nix b/modules/nixos/impermanence.nix
index 7f0062b..91e0dd7 100644
--- a/modules/nixos/impermanence.nix
+++ b/modules/nixos/impermanence.nix
@@ -7,6 +7,7 @@
"/var/log"
"/var/lib/nixos"
"/var/lib/systemd/coredump"
+ "/etc/ssh"
];
files = [
"/etc/machine-id"
diff --git a/modules/nixos/laptop.nix b/modules/nixos/laptop.nix
index 9002c49..314fead 100644
--- a/modules/nixos/laptop.nix
+++ b/modules/nixos/laptop.nix
@@ -33,7 +33,5 @@
"/var/lib/bluetooth"
# wifi connections
"/etc/NetworkManager/system-connections"
- # machine ssh keys
- "/etc/ssh"
];
}
diff --git a/modules/nixos/machines/109-199-104-83.nix b/modules/nixos/machines/109-199-104-83.nix
new file mode 100644
index 0000000..85399e9
--- /dev/null
+++ b/modules/nixos/machines/109-199-104-83.nix
@@ -0,0 +1,49 @@
+# Do not modify this file! It was generated by ‘nixos-generate-config’
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{
+ config,
+ lib,
+ pkgs,
+ modulesPath,
+ ...
+}: {
+ imports = [
+ (modulesPath + "/profiles/qemu-guest.nix")
+ ];
+
+ boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
+ boot.initrd.kernelModules = [];
+ boot.kernelModules = [];
+ boot.extraModulePackages = [];
+
+ fileSystems."/" = {
+ device = "tmpfs";
+ fsType = "tmpfs";
+ options = ["defaults" "mode=755"];
+ };
+
+ fileSystems."/nix" = {
+ device = "/dev/disk/by-uuid/3457e181-b01d-4712-809d-c8b65e863992";
+ fsType = "btrfs";
+ options = ["subvol=nix"];
+ };
+
+ fileSystems."/persist" = {
+ device = "/dev/disk/by-uuid/3457e181-b01d-4712-809d-c8b65e863992";
+ fsType = "btrfs";
+ options = ["subvol=persist"];
+ };
+
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/05FB-0941";
+ fsType = "vfat";
+ options = ["fmask=0022" "dmask=0022"];
+ };
+
+ swapDevices = [];
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+
+ system.stateVersion = "26.05";
+}
diff --git a/modules/nixos/machines/lenovo.nix b/modules/nixos/machines/lenovo.nix
new file mode 100644
index 0000000..86255b1
--- /dev/null
+++ b/modules/nixos/machines/lenovo.nix
@@ -0,0 +1,73 @@
+{
+ config,
+ lib,
+ pkgs,
+ modulesPath,
+ ...
+}: {
+ imports = [(modulesPath + "/installer/scan/not-detected.nix")];
+ boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "sdhci_pci"];
+ boot.initrd.kernelModules = [];
+ boot.kernelModules = ["kvm-intel"];
+ boot.extraModulePackages = [];
+
+ fileSystems."/" = {
+ device = "/dev/disk/by-uuid/5455cfb4-0efd-4f55-b496-d2cab3f419b7";
+ fsType = "btrfs";
+ options = ["subvol=root"];
+ };
+
+ boot.initrd.postResumeCommands = lib.mkAfter ''
+ mkdir /btrfs_tmp
+ mount ${config.fileSystems."/".device} /btrfs_tmp
+ if [[ -e /btrfs_tmp/root ]]; then
+ mkdir -p /btrfs_tmp/old_roots
+ timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:$M:%S")
+ mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp"
+ fi
+
+ delete_subvolume_recursively() {
+ IFS=$'\n'
+ for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
+ delete_subvolume_recursively "/btrfs_tmp/$i"
+ done
+ btrfs subvolume delete "$1"
+ }
+
+ for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do
+ delete_subvolume_recursively "$i"
+ done
+
+ btrfs subvolume create /btrfs_tmp/root
+ mkdir /btrfs_tmp/root/persist
+ mkdir /btrfs_tmp/root/etc
+ mount ${config.fileSystems."/persist".device} /btrfs_tmp/root/persist -o subvol=persist
+ cp /btrfs_tmp/root/persist/etc/ssh /btrfs_tmp/root/etc/ssh -r
+ umount /btrfs_tmp/root/persist
+ rm -r /btrfs_tmp/root/persist
+ umount /btrfs_tmp
+ '';
+
+ fileSystems."/nix" = {
+ device = "/dev/disk/by-uuid/0e586651-36f4-42b0-99b3-3f0704a894d6";
+ fsType = "btrfs";
+ };
+
+ fileSystems."/persist" = {
+ device = "/dev/disk/by-uuid/5455cfb4-0efd-4f55-b496-d2cab3f419b7";
+ fsType = "btrfs";
+ options = ["subvol=persist"];
+ };
+
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/F425-55BA";
+ fsType = "vfat";
+ options = ["fmask=0022" "dmask=0022"];
+ };
+
+ swapDevices = [];
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+ system.stateVersion = "26.05";
+}
diff --git a/modules/nixos/networking/networks/109-199-104-83.nix b/modules/nixos/networking/networks/109-199-104-83.nix
index 2cacb55..ad599b1 100644
--- a/modules/nixos/networking/networks/109-199-104-83.nix
+++ b/modules/nixos/networking/networks/109-199-104-83.nix
@@ -1,7 +1,6 @@
{
networking = {
- useNetworkd = true;
- usePredictableInterfaceNames = true;
+ useDHCP = false;
hostName = "109-199-104-83";
firewall = {
enable = true;
@@ -9,19 +8,8 @@
allowedUDPPorts = [80 443];
};
};
- systemd.network = {
+ services.cloud-init = {
enable = true;
- networks."40-wan" = {
- matchConfig.Name = "enx0050565f4fff";
- address = ["2a02:c207:2299:8419::1/64" "109.199.104.83/20"];
- routes = [
- {
- Gateway = "109.199.96.1";
- GatewayOnLink = true;
- }
- {Gateway = "fe80::1";}
- ];
- dns = ["2620:fe::fe" "9.9.9.9"];
- };
+ network.enable = true;
};
}