From 797fbbf826f57165df27911d0cd1413bcb801dfc Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Tue, 4 Dec 2018 23:00:11 +0100 Subject: [PATCH] beets: add enable option --- modules/misc/news.nix | 17 +++++++++++++++++ modules/programs/beets.nix | 17 ++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/modules/misc/news.nix b/modules/misc/news.nix index 403787c61..e937a788e 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 40e06a6b3..152bfd304 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 =