beets module

This commit is contained in:
2025-05-17 23:34:03 +03:00
parent 1e4299f10b
commit a4ae755694
5 changed files with 197 additions and 183 deletions
+2 -2
View File
@@ -142,8 +142,8 @@ let
48000 48000
96000 96000
]; ];
"default.clock.quantum" = 256; "default.clock.quantum" = 1024;
"default.clock.min-quantum" = 64; "default.clock.min-quantum" = 256;
"default.clock.max-quantum" = 2048; "default.clock.max-quantum" = 2048;
}; };
}; };
+4 -4
View File
@@ -59,10 +59,10 @@ let
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.therima-drive}"; source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.therima-drive}";
target = "External"; target = "External";
}; };
# "Music" = { "Music" = {
# source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Music"; source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Music";
# target = "Music"; target = "Music";
# }; };
"Pictures" = { "Pictures" = {
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Pictures"; source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Pictures";
target = "Pictures"; target = "Pictures";
+1 -1
View File
@@ -32,7 +32,7 @@
# Extras # Extras
plasma-manager = "nix run github:nix-community/plasma-manager"; plasma-manager = "nix run github:nix-community/plasma-manager";
pip2nix = "nix run github:nix-community/pip2nix -- generate -r"; pip2nix = "nix run github:nix-community/pip2nix -- generate -r"; # https://github.com/nix-community/pip2nix
}; };
}; };
} }
+38 -34
View File
@@ -6,49 +6,53 @@
pkgs, pkgs,
... ...
}: }:
let
# Beets with plugins
depsOverlay = import ./deps.nix {
inherit (pkgs) fetchurl fetchgit fetchhg;
inherit pkgs;
};
python3 = pkgs.python3.override {
packageOverrides = depsOverlay;
};
beetsEnv = python3.withPackages (ps: [ ps.beets ]);
in
{ {
nixpkgs.overlays = [ environment.systemPackages = [
(self: super: { beetsEnv
python3 = super.python3.override { pkgs.imagemagick
packageOverrides = import ./deps.nix {
pkgs = self;
inherit (super) fetchurl fetchgit fetchhg;
};
};
})
]; ];
fileSystems."/mnt/beets/music" = { fileSystems."/mnt/beets/music" = {
device = "${inputs.zeroq.dirs.music-library}"; device = "${inputs.zeroq.dirs.music-library}";
options = [ "bind" ]; options = [
"bind"
"nofail"
];
}; };
users = { # users = {
groups = { # groups = {
beets = { }; # beets = { };
}; # };
users = { # users = {
beets = { # beets = {
isSystemUser = true; # isSystemUser = true;
#isNormalUser = true; # #isNormalUser = true;
description = "beets service"; # description = "beets service";
group = "beets"; # group = "beets";
homeMode = "0770"; # homeMode = "0770";
home = "/var/lib/beets"; # home = "/var/lib/beets";
packages = [ # packages = [ ];
(pkgs.python3.withPackages (ps: [ # shell = pkgs.bashInteractive;
ps.beets # };
ps.beetcamp # };
])) # };
];
shell = pkgs.bashInteractive;
};
};
};
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d /var/lib/beets 0770 beets beets -" # "d /var/lib/beets 0770 beets beets -"
"d /mnt/beets 0770 beets beets -" # "d /mnt/beets 0770 beets beets -"
"z /mnt/beets 0755 oqyude users -"
]; ];
} }
+152 -142
View File
@@ -1,7 +1,12 @@
# Generated by pip2nix 0.8.0.dev1 # Generated by pip2nix 0.8.0.dev1
# See https://github.com/nix-community/pip2nix # See https://github.com/nix-community/pip2nix
{ pkgs, fetchurl, fetchgit, fetchhg }: {
pkgs,
fetchurl,
fetchgit,
fetchhg,
}:
self: super: { self: super: {
"PyYAML" = super.buildPythonPackage rec { "PyYAML" = super.buildPythonPackage rec {
@@ -13,10 +18,10 @@ self: super: {
}; };
format = "setuptools"; format = "setuptools";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"Unidecode" = super.buildPythonPackage rec { "Unidecode" = super.buildPythonPackage rec {
pname = "Unidecode"; pname = "Unidecode";
@@ -27,10 +32,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"anyio" = super.buildPythonPackage rec { "anyio" = super.buildPythonPackage rec {
pname = "anyio"; pname = "anyio";
@@ -41,9 +46,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."exceptiongroup" self."exceptiongroup"
self."idna" self."idna"
@@ -60,9 +65,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."soupsieve" self."soupsieve"
]; ];
@@ -76,11 +81,11 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."beets" #self."beets" # its doesnt matter?
self."httpx" self."httpx"
self."packaging" self."packaging"
self."pycountry" self."pycountry"
@@ -95,9 +100,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."PyYAML" self."PyYAML"
self."Unidecode" self."Unidecode"
@@ -108,6 +113,11 @@ self: super: {
self."musicbrainzngs" self."musicbrainzngs"
self."platformdirs" self."platformdirs"
self."typing-extensions" self."typing-extensions"
# ext
self."requests" # For spotify, deezer, embedart, fetchart, lyrics
self."python3-discogs-client" # For discogs
self."pylast" # For lastgenre
self."beetcamp" # Another
]; ];
}; };
"certifi" = super.buildPythonPackage rec { "certifi" = super.buildPythonPackage rec {
@@ -119,10 +129,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"charset-normalizer" = super.buildPythonPackage rec { "charset-normalizer" = super.buildPythonPackage rec {
pname = "charset-normalizer"; pname = "charset-normalizer";
@@ -133,10 +143,10 @@ self: super: {
}; };
format = "setuptools"; format = "setuptools";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"colorama" = super.buildPythonPackage rec { "colorama" = super.buildPythonPackage rec {
pname = "colorama"; pname = "colorama";
@@ -147,10 +157,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"confuse" = super.buildPythonPackage rec { "confuse" = super.buildPythonPackage rec {
pname = "confuse"; pname = "confuse";
@@ -161,9 +171,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."PyYAML" self."PyYAML"
]; ];
@@ -177,9 +187,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."typing-extensions" self."typing-extensions"
]; ];
@@ -193,10 +203,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"h11" = super.buildPythonPackage rec { "h11" = super.buildPythonPackage rec {
pname = "h11"; pname = "h11";
@@ -207,10 +217,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"httpcore" = super.buildPythonPackage rec { "httpcore" = super.buildPythonPackage rec {
pname = "httpcore"; pname = "httpcore";
@@ -221,9 +231,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."certifi" self."certifi"
self."h11" self."h11"
@@ -238,9 +248,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."anyio" self."anyio"
self."certifi" self."certifi"
@@ -257,25 +267,25 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
};
"jellyfish" = super.buildPythonPackage rec {
pname = "jellyfish";
version = "1.1.3";
src = fetchurl {
url = "https://files.pythonhosted.org/packages/5b/3a/f607d7d44ee5cbad51ce8e2966bde112789eeb53633558f500bc4e44c053/jellyfish-1.1.3.tar.gz";
sha256 = "17wgy021wsp8jj95v638kfk34r9yzbry3q7shnglj5npmgfs22v5";
};
format = "setuptools";
doCheck = false;
buildInputs = [];
checkInputs = [];
nativeBuildInputs = [];
propagatedBuildInputs = [];
}; };
# "jellyfish" = super.buildPythonPackage rec { # That is Rust package
# pname = "jellyfish";
# version = "1.1.3";
# src = fetchurl {
# url = "https://files.pythonhosted.org/packages/5b/3a/f607d7d44ee5cbad51ce8e2966bde112789eeb53633558f500bc4e44c053/jellyfish-1.1.3.tar.gz";
# sha256 = "17wgy021wsp8jj95v638kfk34r9yzbry3q7shnglj5npmgfs22v5";
# };
# format = "setuptools";
# doCheck = false;
# buildInputs = [ ];
# checkInputs = [ ];
# nativeBuildInputs = [ ];
# propagatedBuildInputs = [ ];
# };
"langdetect" = super.buildPythonPackage rec { "langdetect" = super.buildPythonPackage rec {
pname = "langdetect"; pname = "langdetect";
version = "1.0.9"; version = "1.0.9";
@@ -285,9 +295,9 @@ self: super: {
}; };
format = "setuptools"; format = "setuptools";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."six" self."six"
]; ];
@@ -301,9 +311,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."filetype" self."filetype"
self."mutagen" self."mutagen"
@@ -318,10 +328,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"musicbrainzngs" = super.buildPythonPackage rec { "musicbrainzngs" = super.buildPythonPackage rec {
pname = "musicbrainzngs"; pname = "musicbrainzngs";
@@ -332,10 +342,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"mutagen" = super.buildPythonPackage rec { "mutagen" = super.buildPythonPackage rec {
pname = "mutagen"; pname = "mutagen";
@@ -346,10 +356,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"oauthlib" = super.buildPythonPackage rec { "oauthlib" = super.buildPythonPackage rec {
pname = "oauthlib"; pname = "oauthlib";
@@ -360,10 +370,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"packaging" = super.buildPythonPackage rec { "packaging" = super.buildPythonPackage rec {
pname = "packaging"; pname = "packaging";
@@ -374,10 +384,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"pillow" = super.buildPythonPackage rec { "pillow" = super.buildPythonPackage rec {
pname = "pillow"; pname = "pillow";
@@ -388,10 +398,10 @@ self: super: {
}; };
format = "setuptools"; format = "setuptools";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"platformdirs" = super.buildPythonPackage rec { "platformdirs" = super.buildPythonPackage rec {
pname = "platformdirs"; pname = "platformdirs";
@@ -402,10 +412,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"pycountry" = super.buildPythonPackage rec { "pycountry" = super.buildPythonPackage rec {
pname = "pycountry"; pname = "pycountry";
@@ -416,10 +426,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"pylast" = super.buildPythonPackage rec { "pylast" = super.buildPythonPackage rec {
pname = "pylast"; pname = "pylast";
@@ -430,9 +440,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."httpx" self."httpx"
]; ];
@@ -446,9 +456,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."six" self."six"
]; ];
@@ -462,9 +472,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."oauthlib" self."oauthlib"
self."python-dateutil" self."python-dateutil"
@@ -480,9 +490,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = [ propagatedBuildInputs = [
self."certifi" self."certifi"
self."charset-normalizer" self."charset-normalizer"
@@ -499,10 +509,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"sniffio" = super.buildPythonPackage rec { "sniffio" = super.buildPythonPackage rec {
pname = "sniffio"; pname = "sniffio";
@@ -513,10 +523,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"soupsieve" = super.buildPythonPackage rec { "soupsieve" = super.buildPythonPackage rec {
pname = "soupsieve"; pname = "soupsieve";
@@ -527,10 +537,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"typing-extensions" = super.buildPythonPackage rec { "typing-extensions" = super.buildPythonPackage rec {
pname = "typing-extensions"; pname = "typing-extensions";
@@ -541,10 +551,10 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
"urllib3" = super.buildPythonPackage rec { "urllib3" = super.buildPythonPackage rec {
pname = "urllib3"; pname = "urllib3";
@@ -555,9 +565,9 @@ self: super: {
}; };
format = "wheel"; format = "wheel";
doCheck = false; doCheck = false;
buildInputs = []; buildInputs = [ ];
checkInputs = []; checkInputs = [ ];
nativeBuildInputs = []; nativeBuildInputs = [ ];
propagatedBuildInputs = []; propagatedBuildInputs = [ ];
}; };
} }