From ecba64e78c657200029df97040b6aff7cd072870 Mon Sep 17 00:00:00 2001
From: NullBite <me@nullbite.com>
Date: Fri, 9 Feb 2024 11:24:20 +0100
Subject: [PATCH] nullbox: switch to nixfiles options

---
 flake.nix                       |  23 ++----
 hosts/nullbox/configuration.nix | 133 +++++++++++++++++---------------
 hosts/nullbox/home.nix          |   9 ++-
 3 files changed, 85 insertions(+), 80 deletions(-)

diff --git a/flake.nix b/flake.nix
index c6e3dd5..9fa139b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -156,21 +156,12 @@
         hostname = "slab";
         stateVersion = "23.11";
       };
-      nullbox = lib.nixosSystem rec {
+
+      nullbox = mkSystem {
         system = "x86_64-linux";
-        modules = [
-          ./hosts/nullbox/configuration.nix
-          ./system/remote.nix
-          ./system/plasma.nix
-          ./system/fragments/hardware/nvidia-modeset.nix
-          ./system/gaming.nix
-          (homeManagerInit {
-            module = import ./hosts/nullbox/home.nix;
-            inherit system;
-            stateVersion = "23.11";
-          })
-        ];
+        hostname = "nullbox";
+        stateVersion = "23.11";
       };
-    };
-  };
-}
+    }; # end nixosConfigurations
+  }; # end outputs
+} # end flake
diff --git a/hosts/nullbox/configuration.nix b/hosts/nullbox/configuration.nix
index bda8818..33a19bc 100644
--- a/hosts/nullbox/configuration.nix
+++ b/hosts/nullbox/configuration.nix
@@ -7,77 +7,88 @@
 
 {
 
-  fileSystems."/ntfs" = {
-    fsType = "ntfs-3g";
-    device = "/dev/disk/by-uuid/6AC23F0FC23EDF4F";
-  };
-
   imports =
     [ # Include the results of the hardware scan.
       ./hardware-configuration.nix
     ];
 
-  # cryptsetup
-  boot.initrd.luks.devices = {
-    lvmroot = {
-      device="/dev/disk/by-uuid/85b5f22e-0fa5-4f0d-8fba-f800a0b41671";
-      allowDiscards = true;
-      fallbackToPassword = true;
-      preLVM = true;
+  config = {
+
+    fileSystems."/ntfs" = {
+      fsType = "ntfs-3g";
+      device = "/dev/disk/by-uuid/6AC23F0FC23EDF4F";
     };
-  };
 
-  # bootloader setup
-  boot.loader = {
-    efi = {
-      canTouchEfiVariables = true;
-      efiSysMountPoint = "/boot";
+    # nixfiles
+    nixfiles = {
+      common.remoteAccess.enable = true;
+      sessions.plasma.enable = true;
+      hardware.nvidia.modesetting.enable = true;
+      packageSets.gaming.enable = true;
     };
-    # grub = {
-    #   enable = true;
-    #   efiSupport = true;
-    #   device = "nodev";
-    # };
-    systemd-boot = {
-      enable = true;
-      netbootxyz.enable = true;
-      memtest86.enable = true;
+
+    # cryptsetup
+    boot.initrd.luks.devices = {
+      lvmroot = {
+        device="/dev/disk/by-uuid/85b5f22e-0fa5-4f0d-8fba-f800a0b41671";
+        allowDiscards = true;
+        fallbackToPassword = true;
+        preLVM = true;
+      };
     };
+
+    # bootloader setup
+    boot.loader = {
+      efi = {
+        canTouchEfiVariables = true;
+        efiSysMountPoint = "/boot";
+      };
+      # grub = {
+      #   enable = true;
+      #   efiSupport = true;
+      #   device = "nodev";
+      # };
+      systemd-boot = {
+        enable = true;
+        netbootxyz.enable = true;
+        memtest86.enable = true;
+      };
+    };
+
+    networking.wg-quick.interfaces.wg0 = {
+      configFile = "/etc/wireguard/wg0.conf";
+      autostart = true;
+    };
+
+    # Use the systemd-boot EFI boot loader.
+    # boot.loader.systemd-boot.enable = true;
+    # boot.loader.efi.canTouchEfiVariables = true;
+    # see custom-hardware-configuration.nix
+
+
+    # networking.hostName = "nixos"; # Define your hostname.
+    networking.hostName = "nullbox";
+    # Pick only one of the below networking options.
+    # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
+    # networking.networkmanager.enable = true;  # Easiest to use and most distros use this by default.
+
+    # Set your time zone.
+     time.timeZone = "America/New_York";
+
+
+    # Copy the NixOS configuration file and link it from the resulting system
+    # (/run/current-system/configuration.nix). This is useful in case you
+    # accidentally delete configuration.nix.
+    # system.copySystemConfiguration = true;
+
+    # This value determines the NixOS release from which the default
+    # settings for stateful data, like file locations and database versions
+    # on your system were taken. It's perfectly fine and recommended to leave
+    # this value at the release version of the first install of this system.
+    # Before changing this value read the documentation for this option
+    # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
+    system.stateVersion = "23.11"; # Did you read the comment?
   };
 
-  networking.wg-quick.interfaces.wg0 = {
-    configFile = "/etc/wireguard/wg0.conf";
-    autostart = true;
-  };
-
-  # Use the systemd-boot EFI boot loader.
-  # boot.loader.systemd-boot.enable = true;
-  # boot.loader.efi.canTouchEfiVariables = true;
-  # see custom-hardware-configuration.nix
-
-
-  # networking.hostName = "nixos"; # Define your hostname.
-  networking.hostName = "nullbox";
-  # Pick only one of the below networking options.
-  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
-  # networking.networkmanager.enable = true;  # Easiest to use and most distros use this by default.
-
-  # Set your time zone.
-   time.timeZone = "America/New_York";
-
-
-  # Copy the NixOS configuration file and link it from the resulting system
-  # (/run/current-system/configuration.nix). This is useful in case you
-  # accidentally delete configuration.nix.
-  # system.copySystemConfiguration = true;
-
-  # This value determines the NixOS release from which the default
-  # settings for stateful data, like file locations and database versions
-  # on your system were taken. It's perfectly fine and recommended to leave
-  # this value at the release version of the first install of this system.
-  # Before changing this value read the documentation for this option
-  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
-  system.stateVersion = "23.11"; # Did you read the comment?
-
 }
 
diff --git a/hosts/nullbox/home.nix b/hosts/nullbox/home.nix
index d73da2c..4d0a4df 100644
--- a/hosts/nullbox/home.nix
+++ b/hosts/nullbox/home.nix
@@ -1,8 +1,11 @@
 { lib, pkgs, osConfig, ... }:
 {
   imports = [
-    ../../home/common.nix
   ];
-  
-  home.stateVersion = "23.11";
+
+  config = {
+    nixfiles.profile.base.enable = true;
+    
+    home.stateVersion = "23.11";
+  };
 }