Skip to content

Commit

Permalink
feat(beets|packages): use beets 2.1.0 from NixOS/nixpkgs#358086
Browse files Browse the repository at this point in the history
  • Loading branch information
montchr committed Nov 23, 2024
1 parent 6dc98ed commit f7391d4
Show file tree
Hide file tree
Showing 10 changed files with 89 additions and 50 deletions.
17 changes: 17 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 8 additions & 2 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
{
nixpkgs,
nixpkgs-trunk,
nixpkgs-beets-pr-358086,
flake-parts,
haumea,
namaka,
Expand Down Expand Up @@ -58,8 +59,12 @@
inherit system;
config.allowUnfree = true;
overlays = [
(import ./overlays/mkDefaultOverlay.nix { inherit nixpkgs-trunk; })
(import ./overlays/beets.nix)
(import ./overlays/mkDefaultOverlay.nix {
inherit
nixpkgs-beets-pr-358086
nixpkgs-trunk
;
})
];
};
};
Expand All @@ -77,6 +82,7 @@
nixos-stable.url = "github:NixOS/nixpkgs/nixos-24.05";
nixpkgs-trunk.url = "github:NixOS/nixpkgs/master";
nixpkgs-apple-silicon.follows = "nixos-apple-silicon/nixpkgs";
nixpkgs-beets-pr-358086.url = "github:montchr/nixpkgs?ref=update/beets";

##: core modules+libraries
apparat.url = "sourcehut:~montchr/apparat";
Expand Down
22 changes: 13 additions & 9 deletions home/profiles/media/beets/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@ let
in

{
nixpkgs.overlays = [ (import ../../../../overlays/beets.nix) ];

home.packages = [ flake.perSystem.packages.beetcamp ];
# home.packages = [ flake.perSystem.packages.beetcamp ];

programs.beets = {
enable = true;
package = pkgs.beets-unstable.override {
# package = pkgs.beets;
# FIXME: broken plugins with beets 2.1.0 ?
package = pkgs.beets.override {
pluginOverrides = {
beetcamp = {
enable = true;
propagatedBuildInputs = [ flake.perSystem.packages.beetcamp ];
};
# beetcamp = {
# enable = true;
# propagatedBuildInputs = [ flake.perSystem.packages.beetcamp ];
# };
filetote = {
enable = true;
propagatedBuildInputs = [ flake.perSystem.packages.beets-filetote ];
Expand All @@ -40,8 +40,12 @@ in

plugins = [
"albumtypes"

# "badfiles" # slow -- only use as needed
"bandcamp" # aka "beetcamp"

# FIXME: breaks
# "bandcamp" # aka "beetcamp"

"chroma"
"discogs"
"edit"
Expand Down
9 changes: 6 additions & 3 deletions nixos/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ let
nixos-apple-silicon
nixos-generators
nixos-hardware
nixpkgs-trunk
sops-nix
srvos
;
Expand All @@ -39,9 +38,13 @@ let
crossSystem.system = "aarch64-linux";
localSystem.system = buildPlatform;
overlays = [
(import ../overlays/mkDefaultOverlay.nix { inherit nixpkgs-trunk; })
(import ../overlays/mkDefaultOverlay.nix {
inherit (inputs)
nixpkgs-beets-pr-358086
nixpkgs-trunk
;
})
nixos-apple-silicon.overlays.default
(import ../overlays/beets.nix)
];
};

Expand Down
17 changes: 0 additions & 17 deletions overlays/beets.nix

This file was deleted.

9 changes: 8 additions & 1 deletion overlays/mkDefaultOverlay.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
{ nixpkgs-trunk }:
{ nixpkgs-beets-pr-358086, nixpkgs-trunk }:
final: prev: {
# <https://github.com/NixOS/nixpkgs/pull/358086>
inherit (nixpkgs-beets-pr-358086.legacyPackages.${final.system})
beets
beets-unstable
beetsPackages
;

inherit (nixpkgs-trunk.legacyPackages.${final.system})
# HACK: for compatibility with rust v1.80 <https://github.com/NixOS/nixpkgs/issues/332957>
nix-init
Expand Down
23 changes: 23 additions & 0 deletions packages/beets-packages.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
perSystem =
{ inputs', pkgs, ... }:
let
inherit (pkgs) callPackage;
in
{
packages = rec {
beetcamp = callPackage ./beets/plugins/beetcamp.nix {
inherit rich-tables;
beets = pkgs.beetsPackages.beets-minimal;
};
beets-filetote = callPackage ./beets/plugins/filetote.nix {
beets = pkgs.beetsPackages.beets-minimal;
};

rgbxy = callPackage ./python-modules/rgbxy.nix { };
rich-tables = callPackage ./python-modules/rich-tables.nix {
inherit rgbxy;
};
};
};
}
1 change: 1 addition & 0 deletions packages/beets/plugins/beetcamp.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
fetchFromGitHub,

beets,
rich-tables,
}:

python3.pkgs.buildPythonApplication rec {
Expand Down
12 changes: 10 additions & 2 deletions packages/beets/plugins/filetote.nix
Original file line number Diff line number Diff line change
Expand Up @@ -24,23 +24,31 @@ python3Packages.buildPythonApplication rec {

postPatch = ''
sed -i -e '/audible/d' tests/helper.py
# beets v2.1.0 compat
# <https://github.com/beetbox/beets/commit/0e87389994a9969fa0930ffaa607609d02e286a8>
sed -i -e 's/util\.py3_path/os.fsdecode/g' tests/_common.py
'';

pytestFlagsArray = [ "-r fEs" ];

disabledTests = [
"test_audible_m4b_files.py"

# XXX: Needs update for Beets v2.0.0
# <https://github.com/gtronset/beets-filetote/discussions/160>
"test_move_on_modify_command"
"test_prune_modify_query"
];

disabledTestPaths = [
"tests/test_audible_m4b_files.py"
];

nativeCheckInputs = with python3Packages; [
pytestCheckHook
beets
reflink
toml
typeguard
];

preBuild = ''
Expand Down
19 changes: 3 additions & 16 deletions packages/default.nix
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
{ inputs, ... }:
{
imports = [ ./beets-packages.nix ];

perSystem =
{ pkgs, system, ... }:
let
inherit (pkgs) callPackage;
in
{
packages = inputs.flake-utils.lib.filterPackages system (rec {
packages = inputs.flake-utils.lib.filterPackages system ({
base16-schemes = callPackage ./base16-schemes/package.nix { };
ddi = callPackage ./ddi/package.nix { };
fzf-tab-completion = callPackage ./fzf-tab-completion/package.nix { };
Expand All @@ -26,21 +28,6 @@
# TODO: not ready
# wp-cli = callPackage ./wp-cli/package.nix { };

##: python modules
rgbxy = callPackage ./python-modules/rgbxy.nix { };
rich-tables = callPackage ./python-modules/rich-tables.nix {
inherit rgbxy;
};

##: beets plugins
beetcamp = callPackage ./beets/plugins/beetcamp.nix {
inherit rich-tables;
beets = pkgs.beetsPackages.beets-minimal;
};
beets-filetote = callPackage ./beets/plugins/filetote.nix {
beets = pkgs.beetsPackages.beets-minimal;
};

vscode-php-debug = callPackage ./vscode-php-debug/package.nix { };

aspell-with-dicts = (
Expand Down

0 comments on commit f7391d4

Please sign in to comment.