From a3dcca556f8d612ac57a7a0ebdb33b4e7e244b10 Mon Sep 17 00:00:00 2001
From: Noah Masur <7386960+nmasur@users.noreply.github.com>
Date: Sat, 8 Mar 2025 19:29:13 -0500
Subject: [PATCH] add vmvariant as preset

---
 hosts-by-platform/x86_64-linux/staff.nix      | 11 -------
 .../modules/nmasur/profiles/power-user.nix    |  1 +
 platforms/nixos/modules/nmasur/presets/vm.nix | 31 +++++++++++++++++++
 .../nixos/modules/nmasur/profiles/base.nix    | 16 ++++++----
 4 files changed, 42 insertions(+), 17 deletions(-)
 create mode 100644 platforms/nixos/modules/nmasur/presets/vm.nix

diff --git a/hosts-by-platform/x86_64-linux/staff.nix b/hosts-by-platform/x86_64-linux/staff.nix
index f33d822..aebaf64 100644
--- a/hosts-by-platform/x86_64-linux/staff.nix
+++ b/hosts-by-platform/x86_64-linux/staff.nix
@@ -19,17 +19,6 @@ rec {
   nmasur.presets.services.kanata.enable = false;
   nmasur.presets.services.openssh.enable = true;
 
-  virtualisation.vmVariant = {
-    home-manager.users."noah".nmasur.presets.programs.nix-index.enable = false;
-    virtualisation.forwardPorts = [
-      {
-        from = "host";
-        host.port = 2222;
-        guest.port = 22;
-      }
-    ];
-  };
-
   home-manager.users."noah" = {
     nmasur.settings = {
       username = nmasur.settings.username;
diff --git a/platforms/home-manager/modules/nmasur/profiles/power-user.nix b/platforms/home-manager/modules/nmasur/profiles/power-user.nix
index 49552bd..8c9e8a6 100644
--- a/platforms/home-manager/modules/nmasur/profiles/power-user.nix
+++ b/platforms/home-manager/modules/nmasur/profiles/power-user.nix
@@ -57,6 +57,7 @@ in
       fish.enable = lib.mkDefault true;
       fzf.enable = lib.mkDefault true;
       git.enable = lib.mkDefault true;
+      neovim.enable = lib.mkDefault true;
       nix-index.enable = lib.mkDefault true;
       nixpkgs.enable = lib.mkDefault true;
       prettyping.enable = lib.mkDefault true;
diff --git a/platforms/nixos/modules/nmasur/presets/vm.nix b/platforms/nixos/modules/nmasur/presets/vm.nix
new file mode 100644
index 0000000..0aabc32
--- /dev/null
+++ b/platforms/nixos/modules/nmasur/presets/vm.nix
@@ -0,0 +1,31 @@
+{
+  config,
+  lib,
+  ...
+}:
+
+let
+  cfg = config.nmasur.presets.vm;
+in
+
+{
+
+  options.nmasur.presets.vm.enable = lib.mkEnableOption "VM-specific settings for testing";
+
+  config = lib.mkIf cfg.enable {
+
+    # Settings for testing in a VM
+    virtualisation.vmVariant = {
+      home-manager.users."noah".programs.nix-index.enable = false;
+      nmasur.presets.services.openssh.enable = true;
+      virtualisation.forwardPorts = [
+        {
+          from = "host";
+          host.port = 2222;
+          guest.port = 22;
+        }
+      ];
+    };
+
+  };
+}
diff --git a/platforms/nixos/modules/nmasur/profiles/base.nix b/platforms/nixos/modules/nmasur/profiles/base.nix
index 10981f3..3324592 100644
--- a/platforms/nixos/modules/nmasur/profiles/base.nix
+++ b/platforms/nixos/modules/nmasur/profiles/base.nix
@@ -16,14 +16,18 @@ in
 
   config = lib.mkIf cfg.enable {
 
-    nmasur.presets.services = {
-      # Allow tunneling into the machine
-      cloudflared.enable = lib.mkDefault true;
-      openssh.enable = lib.mkDefault true;
+    nmasur.presets = {
+      vm.enable = lib.mkDefault true;
+      services = {
+        # Allow tunneling into the machine
+        cloudflared.enable = lib.mkDefault true;
+        openssh.enable = lib.mkDefault true;
+      };
+      programs = {
+        doas.enable = lib.mkDefault true;
+      };
     };
 
-    nmasur.presets.programs.doas.enable = lib.mkDefault true;
-
     # Allows us to declaritively set password
     users.mutableUsers = lib.mkDefault false;