From cba7b6b8335797137b387e08fa7ac955cb5692b2 Mon Sep 17 00:00:00 2001 From: andromeda Date: Tue, 30 Dec 2025 01:40:54 +0100 Subject: [PATCH 1/3] change machine specification --- flake.nix | 4 ++-- .../laptop/hardware-configuration.nix | 2 +- machines/{laptop.nix => laptop/machine.nix} | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) rename hardware-configuration.nix => machines/laptop/hardware-configuration.nix (95%) rename machines/{laptop.nix => laptop/machine.nix} (59%) diff --git a/flake.nix b/flake.nix index dad3a4f..f71dc4e 100644 --- a/flake.nix +++ b/flake.nix @@ -33,7 +33,7 @@ stylix, ... }: let - laptop = import ./machines/laptop.nix; + laptop = import ./machines/laptop/machine.nix; in { nixosConfigurations.${laptop.hostname} = nixpkgs.lib.nixosSystem { system = laptop.system; @@ -66,7 +66,7 @@ impermanence.nixosModules.impermanence noshell.nixosModules.default ./configuration.nix - ./hardware-configuration.nix + laptop.hardware-configuration ]; }; }; diff --git a/hardware-configuration.nix b/machines/laptop/hardware-configuration.nix similarity index 95% rename from hardware-configuration.nix rename to machines/laptop/hardware-configuration.nix index 2c0a93f..e0a98d9 100644 --- a/hardware-configuration.nix +++ b/machines/laptop/hardware-configuration.nix @@ -20,7 +20,7 @@ fileSystems."/" = { device = "none"; fsType = "tmpfs"; - options = ["defaults" "size=25%" "mode=755"]; + options = ["defaults" "size=60%" "mode=755"]; }; fileSystems."/nix" = { diff --git a/machines/laptop.nix b/machines/laptop/machine.nix similarity index 59% rename from machines/laptop.nix rename to machines/laptop/machine.nix index c70deb9..d6b1e01 100644 --- a/machines/laptop.nix +++ b/machines/laptop/machine.nix @@ -2,4 +2,5 @@ hostname = "lenovo"; usernames = ["andromeda"]; system = "x86_64-linux"; + hardware-configuration = ./hardware-configuration.nix; } From f53da444568b41d5fb49a6fcf216573ba3dbb8c5 Mon Sep 17 00:00:00 2001 From: andromeda Date: Tue, 30 Dec 2025 02:04:26 +0100 Subject: [PATCH 2/3] add btrfs root --- machines/laptop/hardware-configuration.nix | 33 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/machines/laptop/hardware-configuration.nix b/machines/laptop/hardware-configuration.nix index e0a98d9..654a931 100644 --- a/machines/laptop/hardware-configuration.nix +++ b/machines/laptop/hardware-configuration.nix @@ -18,11 +18,38 @@ boot.extraModulePackages = []; fileSystems."/" = { - device = "none"; - fsType = "tmpfs"; - options = ["defaults" "size=60%" "mode=755"]; + #device = "none"; + #fsType = "tmpfs"; + #options = ["defaults" "size=60%" "mode=755"]; + device = "/dev/disk/by-uuid/16c93673-4f0e-4010-a7f4-7ccffb20edb7"; + fsType = "btrfs"; }; + 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"; From 9a089ea5090c72e363446b1576724edfbdb42c81 Mon Sep 17 00:00:00 2001 From: andromeda Date: Tue, 30 Dec 2025 11:32:29 +0100 Subject: [PATCH 3/3] fix bugs with wallpaper and btrfs subvolume --- machines/laptop/hardware-configuration.nix | 1 + users/andromeda/home.nix | 2 +- users/andromeda/stylix.nix | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/machines/laptop/hardware-configuration.nix b/machines/laptop/hardware-configuration.nix index 654a931..bde1c83 100644 --- a/machines/laptop/hardware-configuration.nix +++ b/machines/laptop/hardware-configuration.nix @@ -23,6 +23,7 @@ #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 '' diff --git a/users/andromeda/home.nix b/users/andromeda/home.nix index 526d677..3812842 100644 --- a/users/andromeda/home.nix +++ b/users/andromeda/home.nix @@ -111,7 +111,7 @@ in { pkgs.tree pkgs.zoxide ]; - file.${background-path}.source = pkgs.nixos-artwork.wallpapers.gear; + file.${background-path}.source = config.stylix.image; }; programs = { alacritty.enable = true; diff --git a/users/andromeda/stylix.nix b/users/andromeda/stylix.nix index 2e7af13..7f56575 100644 --- a/users/andromeda/stylix.nix +++ b/users/andromeda/stylix.nix @@ -10,6 +10,7 @@ # silk-light is light theme base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-hard.yaml"; polarity = "dark"; + image = "${pkgs.nixos-artwork.wallpapers.gear}/share/backgrounds/nixos/nix-wallpaper-gear.png"; fonts = { monospace = { package = pkgs.miracode;