diff --git a/modules/misc/news.nix b/modules/misc/news.nix
index 403787c6..e937a788 100644
--- a/modules/misc/news.nix
+++ b/modules/misc/news.nix
@@ -878,6 +878,23 @@ in
A new module is available: 'programs.vscode'.
'';
}
+
+ {
+ time = "2018-12-04T21:54:38+00:00";
+ condition = config.programs.beets.settings != {};
+ message = ''
+ A new option 'programs.beets.enable' has been added.
+ Starting with state version 19.03 this option defaults to
+ false. For earlier versions it defaults to true if
+ 'programs.beets.settings' is non-empty.
+
+ It is recommended to explicitly add
+
+ programs.beets.enable = true;
+
+ to your configuration.
+ '';
+ }
];
};
}
diff --git a/modules/programs/beets.nix b/modules/programs/beets.nix
index 40e06a6b..152bfd30 100644
--- a/modules/programs/beets.nix
+++ b/modules/programs/beets.nix
@@ -13,6 +13,21 @@ in
options = {
programs.beets = {
+ enable = mkOption {
+ type = types.bool;
+ default =
+ if versionAtLeast config.home.stateVersion "19.03"
+ then false
+ else cfg.settings != {};
+ defaultText = "false";
+ description = ''
+ Whether to enable the beets music library manager. This
+ defaults to false for state
+ version ≥ 19.03. For earlier versions beets is enabled if
+ is non-empty.
+ '';
+ };
+
settings = mkOption {
type = types.attrs;
default = {};
@@ -24,7 +39,7 @@ in
};
};
- config = mkIf (cfg.settings != {}) {
+ config = mkIf cfg.enable {
home.packages = [ pkgs.beets ];
xdg.configFile."beets/config.yaml".text =