OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
HASH      6f2fb4bfc7f5
DATE      2025-04-21
SUBJECT   darwin: split up window-manager configuration
FILES     13 CHANGED
HASH      6f2fb4bfc7f5
DATE      2025-04-21
SUBJECT   darwin: split up window-manager
          configuration
FILES     13 CHANGED
 

diff --git a/hosts/ooksair/default.nix b/hosts/ooksair/default.nix
index 88c7e96..b5551e6 100644
--- a/hosts/ooksair/default.nix
+++ b/hosts/ooksair/default.nix
@@ -9,6 +9,8 @@
     };
     workstation = {
       theme = "minimal";
+      environment = "aerospace";
+      profiles = ["communication"];
       default = {
         browser = "zen";
         terminal = "ghostty";

diff --git a/hosts/ooksair/default.nix b/hos
ts/ooksair/default.nix
index 88c7e96..b5551e6 100644
--- a/hosts/ooksair/default.nix
+++ b/hosts/ooksair/default.nix
@@ -9,6 +9,8 @@
     };
     workstation = {
       theme = "minimal";
+      environment = "aerospace";
+      profiles = ["communication"];
       default = {
         browser = "zen";
         terminal = "ghostty";
 

diff --git a/modules/darwin/default.nix b/modules/darwin/default.nix
index ef698af..4a1396a 100644
--- a/modules/darwin/default.nix
+++ b/modules/darwin/default.nix
@@ -9,11 +9,11 @@
 in {
   imports = [
     ./system.nix
-    ./window-manager.nix
-    ./environment.nix
     ./networking.nix
     ./security.nix
     ./homebrew.nix
+    ./fonts.nix
+    ./environment
   ];
   home-manager.users =
     (optionalAttrs admin.homeManager {

diff --git a/modules/darwin/default.nix b/mo
dules/darwin/default.nix
index ef698af..4a1396a 100644
--- a/modules/darwin/default.nix
+++ b/modules/darwin/default.nix
@@ -9,11 +9,11 @@
 in {
   imports = [
     ./system.nix
-    ./window-manager.nix
-    ./environment.nix
     ./networking.nix
     ./security.nix
     ./homebrew.nix
+    ./fonts.nix
+    ./environment
   ];
   home-manager.users =
     (optionalAttrs admin.homeManager {
 

diff --git a/modules/darwin/environment.nix b/modules/darwin/environment.nix
deleted file mode 100644
index 0d3750c..0000000
--- a/modules/darwin/environment.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  config,
-  pkgs,
-  ...
-}: let
-  inherit (config.ooknet.host) admin;
-in {
-  environment = {
-    shells = [
-      pkgs.${admin.shell}
-    ];
-  };
-}

diff --git a/modules/darwin/environment.nix 
b/modules/darwin/environment.nix
deleted file mode 100644
index 0d3750c..0000000
--- a/modules/darwin/environment.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  config,
-  pkgs,
-  ...
-}: let
-  inherit (config.ooknet.host) admin;
-in {
-  environment = {
-    shells = [
-      pkgs.${admin.shell}
-    ];
-  };
-}
 

diff --git a/modules/darwin/environment/aerospace/binds.nix b/modules/darwin/envir
onment/aerospace/binds.nix
new file mode 100644
index 0000000..7e428a7
--- /dev/null
+++ b/modules/darwin/environment/aerospace/binds.nix
@@ -0,0 +1,38 @@
+{
+  pkgs,
+  lib,
+  ...
+}: {
+  services.aerospace.settings.mode.main.binding = let
+    inherit (lib) getExe;
+    mod = "cmd";
+  in {
+    "${mod}-left" = "focus left --boundaries all-monitors-outer-frame";
+    "${mod}-right" = "focus right --boundaries all-monitors-outer-frame";
+    "${mod}-up" = "focus up --boundaries all-monitors-outer-frame";
+    "${mod}-down" = "focus down --boundaries all-monitors-outer-frame";
+    "${mod}-1" = "workspace 1";
+    "${mod}-2" = "workspace 2";
+    "${mod}-3" = "workspace 3";
+    "${mod}-4" = "workspace 4";
+    "${mod}-5" = "workspace 5";
+    "${mod}-6" = "workspace 6";
+    "${mod}-7" = "workspace 7";
+    "${mod}-8" = "workspace 8";
+    "${mod}-9" = "workspace 9";
+
+    "${mod}-shift-1" = "move-node-to-workspace 1";
+    "${mod}-shift-2" = "move-node-to-workspace 2";
+    "${mod}-shift-3" = "move-node-to-workspace 3";
+    "${mod}-shift-4" = "move-node-to-workspace 4";
+    "${mod}-shift-5" = "move-node-to-workspace 5";
+    "${mod}-shift-6" = "move-node-to-workspace 6";
+    "${mod}-shift-7" = "move-node-to-workspace 7";
+    "${mod}-shift-8" = "move-node-to-workspace 8";
+    "${mod}-shift-9" = "move-node-to-workspace 9";
+
+    alt-f = "fullscreen";
+
+    "${mod}-d" = "exec-and-forget open -a ${getExe pkgs.vesktop}";
+  };
+}

diff --git a/modules/darwin/environment/aero
space/binds.nix b/modules/darwin/environment
/aerospace/binds.nix
new file mode 100644
index 0000000..7e428a7
--- /dev/null
+++ b/modules/darwin/environment/aerospace/b
inds.nix
@@ -0,0 +1,38 @@
+{
+  pkgs,
+  lib,
+  ...
+}: {
+  services.aerospace.settings.mode.main.bin
ding = let
+    inherit (lib) getExe;
+    mod = "cmd";
+  in {
+    "${mod}-left" = "focus left --boundarie
s all-monitors-outer-frame";
+    "${mod}-right" = "focus right --boundar
ies all-monitors-outer-frame";
+    "${mod}-up" = "focus up --boundaries al
l-monitors-outer-frame";
+    "${mod}-down" = "focus down --boundarie
s all-monitors-outer-frame";
+    "${mod}-1" = "workspace 1";
+    "${mod}-2" = "workspace 2";
+    "${mod}-3" = "workspace 3";
+    "${mod}-4" = "workspace 4";
+    "${mod}-5" = "workspace 5";
+    "${mod}-6" = "workspace 6";
+    "${mod}-7" = "workspace 7";
+    "${mod}-8" = "workspace 8";
+    "${mod}-9" = "workspace 9";
+
+    "${mod}-shift-1" = "move-node-to-worksp
ace 1";
+    "${mod}-shift-2" = "move-node-to-worksp
ace 2";
+    "${mod}-shift-3" = "move-node-to-worksp
ace 3";
+    "${mod}-shift-4" = "move-node-to-worksp
ace 4";
+    "${mod}-shift-5" = "move-node-to-worksp
ace 5";
+    "${mod}-shift-6" = "move-node-to-worksp
ace 6";
+    "${mod}-shift-7" = "move-node-to-worksp
ace 7";
+    "${mod}-shift-8" = "move-node-to-worksp
ace 8";
+    "${mod}-shift-9" = "move-node-to-worksp
ace 9";
+
+    alt-f = "fullscreen";
+
+    "${mod}-d" = "exec-and-forget open -a $
{getExe pkgs.vesktop}";
+  };
+}
 

diff --git a/modules/darwin/environment/aerospace/default.nix b/modules/darwin/env
ironment/aerospace/default.nix
new file mode 100644
index 0000000..aec0dc9
--- /dev/null
+++ b/modules/darwin/environment/aerospace/default.nix
@@ -0,0 +1,35 @@
+{
+  lib,
+  config,
+  ...
+}: let
+  inherit (lib) mkIf;
+  inherit (config.ooknet.workstation) environment;
+  padding = 16;
+in {
+  imports = [
+    ./binds.nix
+  ];
+  config = mkIf (environment == "aerospace") {
+    services.aerospace = {
+      enable = true;
+      settings = {
+        enable-normalization-flatten-containers = true;
+        enable-normalization-opposite-orientation-for-nested-containers = true;
+        accordion-padding = padding;
+        gaps = {
+          outer = {
+            left = padding;
+            right = padding;
+            top = padding;
+            bottom = padding;
+          };
+          inner = {
+            horizontal = padding;
+            vertical = padding;
+          };
+        };
+      };
+    };
+  };
+}

diff --git a/modules/darwin/environment/aero
space/default.nix b/modules/darwin/environme
nt/aerospace/default.nix
new file mode 100644
index 0000000..aec0dc9
--- /dev/null
+++ b/modules/darwin/environment/aerospace/d
efault.nix
@@ -0,0 +1,35 @@
+{
+  lib,
+  config,
+  ...
+}: let
+  inherit (lib) mkIf;
+  inherit (config.ooknet.workstation) envir
onment;
+  padding = 16;
+in {
+  imports = [
+    ./binds.nix
+  ];
+  config = mkIf (environment == "aerospace"
) {
+    services.aerospace = {
+      enable = true;
+      settings = {
+        enable-normalization-flatten-contai
ners = true;
+        enable-normalization-opposite-orien
tation-for-nested-containers = true;
+        accordion-padding = padding;
+        gaps = {
+          outer = {
+            left = padding;
+            right = padding;
+            top = padding;
+            bottom = padding;
+          };
+          inner = {
+            horizontal = padding;
+            vertical = padding;
+          };
+        };
+      };
+    };
+  };
+}
 

diff --git a/modules/darwin/environment/components/default.nix b/modules/darwin/en
vironment/components/default.nix
new file mode 100644
index 0000000..2a4c943
--- /dev/null
+++ b/modules/darwin/environment/components/default.nix
@@ -0,0 +1,5 @@
+{
+  imports = [
+    ./jankyborders.nix
+  ];
+}

diff --git a/modules/darwin/environment/comp
onents/default.nix b/modules/darwin/environm
ent/components/default.nix
new file mode 100644
index 0000000..2a4c943
--- /dev/null
+++ b/modules/darwin/environment/components/
default.nix
@@ -0,0 +1,5 @@
+{
+  imports = [
+    ./jankyborders.nix
+  ];
+}
 

diff --git a/modules/darwin/environment/components/jankyborders.nix b/modules/darw
in/environment/components/jankyborders.nix
new file mode 100644
index 0000000..d3cfe77
--- /dev/null
+++ b/modules/darwin/environment/components/jankyborders.nix
@@ -0,0 +1,29 @@
+{
+  lib,
+  hozen,
+  config,
+  ...
+}: let
+  inherit (hozen) color;
+  inherit (lib) mkIf;
+  inherit (config.ooknet.workstation) environment;
+in {
+  config = mkIf (environment == "aerospace") {
+    # jankyborders is a service that adds borders to frames on macos
+    services.jankyborders = {
+      enable = true;
+      active_color = "0xff${color.border.active}";
+      inactive_color = "0xff${color.border.inactive}";
+      width = 5.0;
+      # what layer the border will sit on, available options:
+      # above, below
+      # warning, this will break things.
+      order = "above";
+      # we whitelist applications as certain apps do not play well with borders, 
namely AppStore
+      whitelist = [
+        "ghostty"
+        "zen"
+      ];
+    };
+  };
+}

diff --git a/modules/darwin/environment/comp
onents/jankyborders.nix b/modules/darwin/env
ironment/components/jankyborders.nix
new file mode 100644
index 0000000..d3cfe77
--- /dev/null
+++ b/modules/darwin/environment/components/
jankyborders.nix
@@ -0,0 +1,29 @@
+{
+  lib,
+  hozen,
+  config,
+  ...
+}: let
+  inherit (hozen) color;
+  inherit (lib) mkIf;
+  inherit (config.ooknet.workstation) envir
onment;
+in {
+  config = mkIf (environment == "aerospace"
) {
+    # jankyborders is a service that adds b
orders to frames on macos
+    services.jankyborders = {
+      enable = true;
+      active_color = "0xff${color.border.ac
tive}";
+      inactive_color = "0xff${color.border.
inactive}";
+      width = 5.0;
+      # what layer the border will sit on, 
available options:
+      # above, below
+      # warning, this will break things.
+      order = "above";
+      # we whitelist applications as certai
n apps do not play well with borders, namely
 AppStore
+      whitelist = [
+        "ghostty"
+        "zen"
+      ];
+    };
+  };
+}
 

diff --git a/modules/darwin/environment/default.nix b/modules/darwin/environment/d
efault.nix
new file mode 100644
index 0000000..2d1b1f1
--- /dev/null
+++ b/modules/darwin/environment/default.nix
@@ -0,0 +1,6 @@
+{
+  imports = [
+    ./aerospace
+    ./components
+  ];
+}

diff --git a/modules/darwin/environment/defa
ult.nix b/modules/darwin/environment/default
.nix
new file mode 100644
index 0000000..2d1b1f1
--- /dev/null
+++ b/modules/darwin/environment/default.nix
@@ -0,0 +1,6 @@
+{
+  imports = [
+    ./aerospace
+    ./components
+  ];
+}
 

diff --git a/modules/darwin/fonts.nix b/modules/darwin/fonts.nix
new file mode 100644
index 0000000..77cfd21
--- /dev/null
+++ b/modules/darwin/fonts.nix
@@ -0,0 +1,8 @@
+{config, ...}: let
+  inherit (config.ooknet.appearance.fonts) monospace regular;
+in {
+  fonts.packages = [
+    monospace.package
+    regular.package
+  ];
+}

diff --git a/modules/darwin/fonts.nix b/modu
les/darwin/fonts.nix
new file mode 100644
index 0000000..77cfd21
--- /dev/null
+++ b/modules/darwin/fonts.nix
@@ -0,0 +1,8 @@
+{config, ...}: let
+  inherit (config.ooknet.appearance.fonts) 
monospace regular;
+in {
+  fonts.packages = [
+    monospace.package
+    regular.package
+  ];
+}
 

diff --git a/modules/darwin/system.nix b/modules/darwin/system.nix
index aeb2053..6b54a11 100644
--- a/modules/darwin/system.nix
+++ b/modules/darwin/system.nix
@@ -1,4 +1,10 @@
 {
+  config,
+  pkgs,
+  ...
+}: let
+  inherit (config.ooknet.host) admin;
+in {
   system = {
     keyboard = {
       enableKeyMapping = true;
@@ -45,4 +51,5 @@
       '';
     };
   };
+  environment.shells = [pkgs.${admin.shell}];
 }

diff --git a/modules/darwin/system.nix b/mod
ules/darwin/system.nix
index aeb2053..6b54a11 100644
--- a/modules/darwin/system.nix
+++ b/modules/darwin/system.nix
@@ -1,4 +1,10 @@
 {
+  config,
+  pkgs,
+  ...
+}: let
+  inherit (config.ooknet.host) admin;
+in {
   system = {
     keyboard = {
       enableKeyMapping = true;
@@ -45,4 +51,5 @@
       '';
     };
   };
+  environment.shells = [pkgs.${admin.shell}
];
 }
 

diff --git a/modules/darwin/window-manager.nix b/modules/darwin/window-manager.nix
deleted file mode 100644
index d76cadd..0000000
--- a/modules/darwin/window-manager.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{
-  hozen,
-  pkgs,
-  config,
-  ...
-}: let
-  inherit (hozen) color;
-  inherit (config.ooknet.appearance.fonts) monospace regular;
-  padding = 15;
-  mod = "cmd";
-in {
-  services = {
-    aerospace = {
-      enable = true;
-      settings = {
-        enable-normalization-flatten-containers = true;
-        enable-normalization-opposite-orientation-for-nested-containers = true;
-        accordion-padding = padding;
-        gaps = {
-          outer = {
-            left = padding;
-            right = padding;
-            top = padding;
-            bottom = padding;
-          };
-          inner = {
-            horizontal = padding;
-            vertical = padding;
-          };
-        };
-        mode = {
-          main = {
-            binding = {
-              "${mod}-left" = "focus left --boundaries all-monitors-outer-frame";
-              "${mod}-right" = "focus right --boundaries all-monitors-outer-frame
";
-              "${mod}-up" = "focus up --boundaries all-monitors-outer-frame";
-              "${mod}-down" = "focus down --boundaries all-monitors-outer-frame";
-              "${mod}-1" = "workspace 1";
-              "${mod}-2" = "workspace 2";
-              "${mod}-3" = "workspace 3";
-              "${mod}-4" = "workspace 4";
-              "${mod}-5" = "workspace 5";
-              "${mod}-6" = "workspace 6";
-              "${mod}-7" = "workspace 7";
-              "${mod}-8" = "workspace 8";
-              "${mod}-9" = "workspace 9";
-
-              "${mod}-shift-1" = "move-node-to-workspace 1";
-              "${mod}-shift-2" = "move-node-to-workspace 2";
-              "${mod}-shift-3" = "move-node-to-workspace 3";
-              "${mod}-shift-4" = "move-node-to-workspace 4";
-              "${mod}-shift-5" = "move-node-to-workspace 5";
-              "${mod}-shift-6" = "move-node-to-workspace 6";
-              "${mod}-shift-7" = "move-node-to-workspace 7";
-              "${mod}-shift-8" = "move-node-to-workspace 8";
-              "${mod}-shift-9" = "move-node-to-workspace 9";
-
-              "alt-enter" = "exec-and-forget osascript ${pkgs.writeText "open-gho
stty.applescript" ''
-                tell application "Ghostty"
-                  if it is running then
-                    activate
-                    tell application "System Events" to keystroke "n" using {comm
and down}
-                  else
-                    activate
-                  end if
-                end tell
-              ''}";
-            };
-          };
-        };
-      };
-    };
-    sketchybar = {
-      enable = false;
-      config = ''
-        bar_config=(
-          color="${color.layout.header}"
-          height=40
-          margin=${toString padding}
-          position=top
-          sticky=on
-          corner_radius=8
-        )
-      '';
-    };
-    jankyborders = {
-      enable = true;
-      active_color = "0xff${color.border.active}";
-      inactive_color = "0xff${color.border.inactive}";
-      width = 5.0;
-      order = "above";
-      whitelist = [
-        "ghostty"
-        "zen"
-      ];
-    };
-  };
-  fonts.packages = [
-    monospace.package
-    regular.package
-  ];
-}

diff --git a/modules/darwin/window-manager.n
ix b/modules/darwin/window-manager.nix
deleted file mode 100644
index d76cadd..0000000
--- a/modules/darwin/window-manager.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{
-  hozen,
-  pkgs,
-  config,
-  ...
-}: let
-  inherit (hozen) color;
-  inherit (config.ooknet.appearance.fonts) 
monospace regular;
-  padding = 15;
-  mod = "cmd";
-in {
-  services = {
-    aerospace = {
-      enable = true;
-      settings = {
-        enable-normalization-flatten-contai
ners = true;
-        enable-normalization-opposite-orien
tation-for-nested-containers = true;
-        accordion-padding = padding;
-        gaps = {
-          outer = {
-            left = padding;
-            right = padding;
-            top = padding;
-            bottom = padding;
-          };
-          inner = {
-            horizontal = padding;
-            vertical = padding;
-          };
-        };
-        mode = {
-          main = {
-            binding = {
-              "${mod}-left" = "focus left -
-boundaries all-monitors-outer-frame";
-              "${mod}-right" = "focus right
 --boundaries all-monitors-outer-frame";
-              "${mod}-up" = "focus up --bou
ndaries all-monitors-outer-frame";
-              "${mod}-down" = "focus down -
-boundaries all-monitors-outer-frame";
-              "${mod}-1" = "workspace 1";
-              "${mod}-2" = "workspace 2";
-              "${mod}-3" = "workspace 3";
-              "${mod}-4" = "workspace 4";
-              "${mod}-5" = "workspace 5";
-              "${mod}-6" = "workspace 6";
-              "${mod}-7" = "workspace 7";
-              "${mod}-8" = "workspace 8";
-              "${mod}-9" = "workspace 9";
-
-              "${mod}-shift-1" = "move-node
-to-workspace 1";
-              "${mod}-shift-2" = "move-node
-to-workspace 2";
-              "${mod}-shift-3" = "move-node
-to-workspace 3";
-              "${mod}-shift-4" = "move-node
-to-workspace 4";
-              "${mod}-shift-5" = "move-node
-to-workspace 5";
-              "${mod}-shift-6" = "move-node
-to-workspace 6";
-              "${mod}-shift-7" = "move-node
-to-workspace 7";
-              "${mod}-shift-8" = "move-node
-to-workspace 8";
-              "${mod}-shift-9" = "move-node
-to-workspace 9";
-
-              "alt-enter" = "exec-and-forge
t osascript ${pkgs.writeText "open-ghostty.a
pplescript" ''
-                tell application "Ghostty"
-                  if it is running then
-                    activate
-                    tell application "Syste
m Events" to keystroke "n" using {command do
wn}
-                  else
-                    activate
-                  end if
-                end tell
-              ''}";
-            };
-          };
-        };
-      };
-    };
-    sketchybar = {
-      enable = false;
-      config = ''
-        bar_config=(
-          color="${color.layout.header}"
-          height=40
-          margin=${toString padding}
-          position=top
-          sticky=on
-          corner_radius=8
-        )
-      '';
-    };
-    jankyborders = {
-      enable = true;
-      active_color = "0xff${color.border.ac
tive}";
-      inactive_color = "0xff${color.border.
inactive}";
-      width = 5.0;
-      order = "above";
-      whitelist = [
-        "ghostty"
-        "zen"
-      ];
-    };
-  };
-  fonts.packages = [
-    monospace.package
-    regular.package
-  ];
-}
 

diff --git a/modules/home/common/communication/vesktop/default.nix b/modules/home/
common/communication/vesktop/default.nix
index ecdeec5..af3f402 100644
--- a/modules/home/common/communication/vesktop/default.nix
+++ b/modules/home/common/communication/vesktop/default.nix
@@ -16,7 +16,7 @@ in {
     # <https://github.com/AlephNought0/Faery/blob/main/Home/Programs/Vesktop/patc
hedvesktop.patch>
     home.packages = [
       pkgs.vesktop
-      pkgs.equibop
+      #      pkgs.equibop
     ];
 
     xdg.configFile."vesktop/themes/nix.css".text =

diff --git a/modules/home/common/communicati
on/vesktop/default.nix b/modules/home/common
/communication/vesktop/default.nix
index ecdeec5..af3f402 100644
--- a/modules/home/common/communication/vesk
top/default.nix
+++ b/modules/home/common/communication/vesk
top/default.nix
@@ -16,7 +16,7 @@ in {
     # <https://github.com/AlephNought0/Faer
y/blob/main/Home/Programs/Vesktop/patchedves
ktop.patch>
     home.packages = [
       pkgs.vesktop
-      pkgs.equibop
+      #      pkgs.equibop
     ];
 
     xdg.configFile."vesktop/themes/nix.css"
.text =
 

diff --git a/modules/nixos/workstation/options.nix b/modules/nixos/workstation/opt
ions.nix
index dffea54..0383f89 100644
--- a/modules/nixos/workstation/options.nix
+++ b/modules/nixos/workstation/options.nix
@@ -1,6 +1,13 @@
-{lib, ...}: let
+{
+  lib,
+  config,
+  pkgs,
+  ...
+}: let
   inherit (lib) mkEnableOption mkOption;
   inherit (lib.types) nullOr enum listOf;
+  inherit (pkgs.stdenv) isDarwin;
+  cfg = config.ooknet.workstation;
 in {
   options.ooknet.workstation = {
     theme = mkOption {
@@ -12,7 +19,7 @@ in {
       default = [];
     };
     environment = mkOption {
-      type = nullOr (enum ["hyprland" "gnome"]);
+      type = nullOr (enum ["hyprland" "gnome" "aerospace"]);
       default = "hyprland";
     };
     default = {
@@ -34,4 +41,10 @@ in {
       zen.enable = mkEnableOption "";
     };
   };
+  config.assertions = [
+    {
+      assertion = !(cfg.environment == "aerospace" && !isDarwin);
+      message = "The aerospace environment is for nix-darwin only";
+    }
+  ];
 }

diff --git a/modules/nixos/workstation/optio
ns.nix b/modules/nixos/workstation/options.n
ix
index dffea54..0383f89 100644
--- a/modules/nixos/workstation/options.nix
+++ b/modules/nixos/workstation/options.nix
@@ -1,6 +1,13 @@
-{lib, ...}: let
+{
+  lib,
+  config,
+  pkgs,
+  ...
+}: let
   inherit (lib) mkEnableOption mkOption;
   inherit (lib.types) nullOr enum listOf;
+  inherit (pkgs.stdenv) isDarwin;
+  cfg = config.ooknet.workstation;
 in {
   options.ooknet.workstation = {
     theme = mkOption {
@@ -12,7 +19,7 @@ in {
       default = [];
     };
     environment = mkOption {
-      type = nullOr (enum ["hyprland" "gnom
e"]);
+      type = nullOr (enum ["hyprland" "gnom
e" "aerospace"]);
       default = "hyprland";
     };
     default = {
@@ -34,4 +41,10 @@ in {
       zen.enable = mkEnableOption "";
     };
   };
+  config.assertions = [
+    {
+      assertion = !(cfg.environment == "aer
ospace" && !isDarwin);
+      message = "The aerospace environment 
is for nix-darwin only";
+    }
+  ];
 }
 
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET