Files
nixos-configs/modules/aerospace.nix
John Ogle 385fd798de Fix aerospace namespace conflict and claude-code override
Rename custom aerospace module from services.aerospace to roles.aerospace
to avoid conflicting with nix-darwin's built-in aerospace service support.

Move claude-code package override to flake-level overlay to ensure the
GCS-distributed version is used instead of the npm registry version in
unstable. This is necessary for corporate environments where npm registry
access may be blocked.
2025-12-02 15:16:55 -08:00

31 lines
757 B
Nix

{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.roles.aerospace;
in
{
options.roles.aerospace = {
enable = mkEnableOption "AeroSpace window manager system configuration";
enableSpansDisplays = mkOption {
type = types.bool;
default = true;
description = ''
Configure macOS Spaces to span displays (required for aerospace multi-monitor support).
When enabled, sets com.apple.spaces.spans-displays to true.
'';
};
};
config = mkIf cfg.enable {
# Configure spaces to span displays (required for aerospace multi-monitor support)
system.defaults.CustomUserPreferences = mkIf cfg.enableSpansDisplays {
"com.apple.spaces" = {
spans-displays = true;
};
};
};
}