{
  config,
  lib,
  ...
}: {
  options.dotfiles.inputs.home-manager.nixpkgs.config.allowUnfree.enable =
    lib.dotfiles.mkEnableOption;

  config = let
    cfg = config.dotfiles.inputs.home-manager.nixpkgs.config.allowUnfree;
    message = "'nixpkgs.config.allowUnfree = ${lib.boolToString cfg.enable};'";
  in {
    home.activation =
      lib.dotfiles.home.activation.printf
      "dotfiles.inputs.home-manager.nixpkgs.config.allowUnfree"
      message;

    nixpkgs.config.allowUnfree = lib.info message cfg.enable;
  };
}
