summaryrefslogtreecommitdiff
path: root/modules/nixos/machines
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/nixos/machines
parent243d7f3fc3a2ae23ea28bff7afb0af84f96c8851 (diff)
fix up remote 109-199-104-83
Diffstat (limited to 'modules/nixos/machines')
-rw-r--r--modules/nixos/machines/109-199-104-83.nix49
-rw-r--r--modules/nixos/machines/lenovo.nix73
2 files changed, 122 insertions, 0 deletions
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";
+}