# Feature-flag option declarations shared by every NixOS host (imported via # baseModules in flake.nix). Declaring the flags here -- rather than inside the # module that implements them -- means a host can read or set a flag without # importing the (often large) implementation module. In particular, # features.swayDesktop.enable is read by modules/users.nix on every host, but a # headless host (e.g. the Pi) must be able to leave it at its default without # pulling in modules/sway.nix. The implementation lives in modules/sway.nix, # gated on this flag. { lib, ... }: { options.features.swayDesktop.enable = lib.mkEnableOption "the Sway desktop"; }