diff options
| author | Tim Keller <tjk@tjkeller.xyz> | 2026-10-30 13:38:27 -0500 |
|---|---|---|
| committer | Tim Keller <tjk@tjkeller.xyz> | 2026-10-30 13:38:27 -0500 |
| commit | a2c15fa83f310348ecc991df936462ae113db7e6 (patch) | |
| tree | af98b3d4e59cf512d786cb0f5bc0e8a0c9d74212 | |
| parent | d479aa84109931d0885e99e5c5566a27b1ca9f5e (diff) | |
| download | nixos-a2c15fa83f310348ecc991df936462ae113db7e6.tar.xz nixos-a2c15fa83f310348ecc991df936462ae113db7e6.zip | |
add music collection software
| -rw-r--r-- | archetypes/collections/music.nix | 30 | ||||
| -rw-r--r-- | archetypes/default.nix | 1 |
2 files changed, 31 insertions, 0 deletions
diff --git a/archetypes/collections/music.nix b/archetypes/collections/music.nix new file mode 100644 index 0000000..6302d68 --- /dev/null +++ b/archetypes/collections/music.nix @@ -0,0 +1,30 @@ +{ pkgs, lib, config, ... }: let + cfg = config._archetypes.collections.music; + beetsWithPlugins = pkgs.python3Packages.beets.override { + pluginOverrides = { + alternatives = { + enable = true; + propagatedBuildInputs = [ pkgs.python3Packages.beets-alternatives ]; + }; + }; + }; +in { + options._archetypes.collections.music = { + beets.enable = lib.mkEnableOption "enables beets"; + cd-tools.enable = lib.mkEnableOption "enables tools for burning, ripping, and converting cds"; + }; + + config = { + environment.systemPackages = with pkgs; lib.optionals cfg.beets.enable [ + beetsWithPlugins + ] ++ lib.optionals cfg.cd-tools.enable [ + abcde + cdparanoia + cdrdao + cuetools + flac + shntool + whipper + ]; + }; +} diff --git a/archetypes/default.nix b/archetypes/default.nix index f306073..0b0b838 100644 --- a/archetypes/default.nix +++ b/archetypes/default.nix @@ -5,6 +5,7 @@ ./collections/development ./collections/filesystems.nix ./collections/fonts.nix + ./collections/music.nix ./collections/neovim.nix ./collections/nvidia.nix ./collections/utilities.nix |
