{ config, lib, ... }: let cfg = config.os.core; in { imports = [ ./audio.nix ./bootloader.nix ./drivers.nix ./fonts.nix ./greet.nix ./home-manager.nix ./localization.nix ./memory.nix ./networking.nix ./power.nix ./security.nix ./storage.nix ./users.nix ]; options.os.core = { allowUnfree.enable = lib.mkEnableOption "unfree software"; flatpak.enable = lib.mkEnableOption "Flatpak support"; }; config = lib.mkMerge [ (lib.mkIf cfg.allowUnfree.enable { nixpkgs.config.allowUnfree = true; }) (lib.mkIf cfg.flatpak.enable { services.flatpak.enable = true; }) ]; }