{ pkgs, lib, config, ... }: with lib; let cfg = config.home.gnome; in { imports = [ ./impl/nixos.nix ]; options.home.gnome = { enable = mkEnableOption "GNOME desktop environment"; }; config = { users.homeModules = [ # this module passes gnome configuration to home-manager { passthrough.gnome = cfg; } ]; specialisation.nognome = with cfg; mkIf enable { configuration = { home.gnome.enable = mkForce false; }; }; }; }