summaryrefslogtreecommitdiff
path: root/machines/laptop
diff options
context:
space:
mode:
authorandromeda <andromeda@lenovo>2025-12-30 11:33:37 +0100
committerandromeda <andromeda@lenovo>2025-12-30 11:34:27 +0100
commit424e2015ae671ad7c4409d201cad7b99abc34aa0 (patch)
tree8aab801a3e0e71bc32f85b19dffdbb9719274085 /machines/laptop
parent8daeb01ea96148d422750805592793d8bcbfae11 (diff)
parent9a089ea5090c72e363446b1576724edfbdb42c81 (diff)
bug fixes
Diffstat (limited to 'machines/laptop')
-rw-r--r--machines/laptop/hardware-configuration.nix69
-rw-r--r--machines/laptop/machine.nix6
2 files changed, 75 insertions, 0 deletions
diff --git a/machines/laptop/hardware-configuration.nix b/machines/laptop/hardware-configuration.nix
new file mode 100644
index 0000000..bde1c83
--- /dev/null
+++ b/machines/laptop/hardware-configuration.nix
@@ -0,0 +1,69 @@
+# 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 + "/installer/scan/not-detected.nix")
+ ];
+
+ boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "sdhci_pci"];
+ boot.initrd.kernelModules = [];
+ boot.kernelModules = ["kvm-intel"];
+ boot.extraModulePackages = [];
+
+ fileSystems."/" = {
+ #device = "none";
+ #fsType = "tmpfs";
+ #options = ["defaults" "size=60%" "mode=755"];
+ device = "/dev/disk/by-uuid/16c93673-4f0e-4010-a7f4-7ccffb20edb7";
+ 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
+ umount /btrfs_tmp
+ '';
+
+ fileSystems."/nix" = {
+ device = "/dev/disk/by-uuid/0e586651-36f4-42b0-99b3-3f0704a894d6";
+ fsType = "btrfs";
+ };
+
+ 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;
+}
diff --git a/machines/laptop/machine.nix b/machines/laptop/machine.nix
new file mode 100644
index 0000000..d6b1e01
--- /dev/null
+++ b/machines/laptop/machine.nix
@@ -0,0 +1,6 @@
+{
+ hostname = "lenovo";
+ usernames = ["andromeda"];
+ system = "x86_64-linux";
+ hardware-configuration = ./hardware-configuration.nix;
+}