{ lib, config, pkgs, ... }: let cfg = config.this.pc; in { imports = [ ./locales.nix ./syslog.nix ./overlays ]; options = { this.pc.enable = lib.mkEnableOption "PC-specific settings"; this.pc.minimal = lib.mkEnableOption "limited set of features"; }; config = lib.mkIf cfg.enable { networking.networkmanager.enable = true; networking.firewall.enable = false; services.openssh.enable = true; services.chrony.enable = !cfg.minimal; services.atd.enable = !cfg.minimal; this.syslog.enable = !cfg.minimal; this.envfs.enable = !cfg.minimal; services.locate = { enable = !cfg.minimal; pruneBindMounts = true; package = pkgs.plocate; localuser = null; }; this.overlays.emacs.enable = !cfg.minimal; this.locales.dictionaries.enable = !cfg.minimal; }; }