summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.nix4
-rw-r--r--hardware-configuration.nix41
-rw-r--r--machines/laptop/hardware-configuration.nix69
-rw-r--r--machines/laptop/machine.nix (renamed from machines/laptop.nix)1
-rw-r--r--users/andromeda/home.nix2
-rw-r--r--users/andromeda/stylix.nix1
6 files changed, 74 insertions, 44 deletions
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/hardware-configuration.nix
deleted file mode 100644
index 2c0a93f..0000000
--- a/hardware-configuration.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-# 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=25%" "mode=755"];
- };
-
- 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/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.nix b/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;
}
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;