diff options
Diffstat (limited to '')
| -rw-r--r-- | modules/home.legacy/conf/beets/default.nix | 34 | ||||
| -rw-r--r-- | modules/home.legacy/conf/beets/plugins.nix | 24 | ||||
| -rw-r--r-- | modules/home.legacy/conf/beets/plugins/default.nix | 5 | ||||
| -rw-r--r-- | modules/home.legacy/conf/beets/plugins/fuzzy/default.nix | 15 | ||||
| -rw-r--r-- | modules/home.legacy/conf/beets/plugins/inline/default.nix | 45 | ||||
| -rw-r--r-- | modules/home.legacy/conf/beets/plugins/lastgenre/default.nix | 16 | ||||
| -rw-r--r-- | modules/home.legacy/conf/beets/plugins/mbsubmit/default.nix | 18 | ||||
| -rw-r--r-- | modules/home.legacy/conf/beets/plugins/smartplaylist/default.nix | 42 | ||||
| -rw-r--r-- | modules/home.legacy/conf/beets/replace_override.yaml | 20 | ||||
| -rw-r--r-- | pkgs/by-name/i3/i3status-rust-patched/package.nix (renamed from modules/home.legacy/conf/beets/plugins/play/default.nix) | 23 |
10 files changed, 40 insertions, 202 deletions
diff --git a/modules/home.legacy/conf/beets/default.nix b/modules/home.legacy/conf/beets/default.nix index de05ca24..0132a859 100644 --- a/modules/home.legacy/conf/beets/default.nix +++ b/modules/home.legacy/conf/beets/default.nix @@ -41,9 +41,12 @@ in { color = true; }; - include = [ - "./replace_override.yaml" - ]; + replace = { + "[/]" = "\\\\"; + "[\\x00-\\x1f]" = ""; + "\\s+$" = ""; + "^\\s+" = ""; + }; import = { # move, instead of copying or linking the files @@ -62,15 +65,21 @@ in { }; paths = let - j = lib.strings.concatStringsSep "/"; + join = lib.strings.concatStringsSep "/"; in { - default = j ["[Default]" "$genre" "$first_artist" "$album ($albumtype)" "$track $title"]; - "albumtype:live" = j ["[Live]" "$genre" "$first_artist" "$album ($albumtype)" "$track $title"]; - - "albumtype:album" = j ["Music" "$genre" "$first_artist" "$album ($albumtype)" "$track $title"]; - "albumtype::(Single|EP)" = j ["Music" "$genre" "$first_artist_singleton" "$album ($albumtype)" "$track $title"]; - "albumtype:compilation" = j ["Complilations" "$genre" "Various Artists" "$album ($albumtype)" "$track $title"]; - "albumtype:soundtrack" = j ["Soundtracks" "$genre" "$first_artist" "$album" "$track $title"]; + "albumtype:live" = join [ + "[Live, please delete]" + "$genre" + "$primary_artist" # (= $albumartists[0]). From inline plugin + "$album ($albumtype)" + "$track $title" + ]; + + default = join [ + "$primary_artist" # (= $albumartists[0]). From inline plugin + "$album%aunique{}" + "$track $title" + ]; }; inherit plugins; @@ -96,14 +105,11 @@ in { }; mpdIntegration = { - enableStats = true; enableUpdate = true; host = config.home.sessionVariables.MPD_HOST; }; }; - xdg.configFile."beets/replace_override.yaml".source = ./replace_override.yaml; - # Use the json formatter instead of the YAML one, as the YAML formatter mangles the # longer python inline strings. # YAML is a superset of JSON. diff --git a/modules/home.legacy/conf/beets/plugins.nix b/modules/home.legacy/conf/beets/plugins.nix index 09eeac5b..aaeab843 100644 --- a/modules/home.legacy/conf/beets/plugins.nix +++ b/modules/home.legacy/conf/beets/plugins.nix @@ -17,39 +17,25 @@ # <2024-08-07> # "scrub" - # Help submitting stuff to music brainz - "mbsubmit" - # Extract things from the music file # "xtractor" + "musicbrainz" + # Calculate replay gain "replaygain" # Check for bad files "badfiles" - # Alows to use inline python for parsing tags - "inline" - - # Support player integration - "play" - # Show tags on files/queries "info" - # Create playlist from `play_count`/`skip_count` (gathered by the `mpdstats` - # plugin) - # Note that this should come _before_ the `mpdupdate` plugin, to ensure that - # `mpdupgate` can propagate changed playlist to `mpd`. - "smartplaylist" + "inline" # Warn, when importing a matching item "ihate" - # Allow fuzzy searching - "fuzzy" - # Filter out duplicates "duplicates" @@ -59,9 +45,6 @@ # Download album art "fetchart" - # Fetches tags from `last.fm` and adds them as genres to imported music - "lastgenre" - # Run commands on events "hook" @@ -71,6 +54,5 @@ # Allow beets to understand deezer id's # "deezer" - "mpdstats" # Transfer MPD stats to beets "mpdupdate" # Update MPD database on import ] diff --git a/modules/home.legacy/conf/beets/plugins/default.nix b/modules/home.legacy/conf/beets/plugins/default.nix index 65cd935c..2b2bd607 100644 --- a/modules/home.legacy/conf/beets/plugins/default.nix +++ b/modules/home.legacy/conf/beets/plugins/default.nix @@ -11,15 +11,10 @@ imports = [ ./badfiles ./duplicates - ./fuzzy ./ihate ./inline - ./lastgenre ./lyrics - ./mbsubmit - ./play ./replaygain - ./smartplaylist # ./xtractor ]; } diff --git a/modules/home.legacy/conf/beets/plugins/fuzzy/default.nix b/modules/home.legacy/conf/beets/plugins/fuzzy/default.nix deleted file mode 100644 index de37c4e8..00000000 --- a/modules/home.legacy/conf/beets/plugins/fuzzy/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -# nixos-config - My current NixOS configuration -# -# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> -# SPDX-License-Identifier: GPL-3.0-or-later -# -# This file is part of my nixos-config. -# -# You should have received a copy of the License along with this program. -# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. -{...}: { - programs.beets.settings.fuzzy = { - # The prefix denoting that a search should be run in fuzzy mode - prefix = "."; - }; -} diff --git a/modules/home.legacy/conf/beets/plugins/inline/default.nix b/modules/home.legacy/conf/beets/plugins/inline/default.nix index b5655028..564d5b4c 100644 --- a/modules/home.legacy/conf/beets/plugins/inline/default.nix +++ b/modules/home.legacy/conf/beets/plugins/inline/default.nix @@ -8,44 +8,11 @@ # You should have received a copy of the License along with this program. # If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. {...}: { - programs.beets.settings = { - item_fields = { - # Taken from https://github.com/trapd00r/configs/blob/4f3dada5700846cca6c2869e6fa6b3c795b87b67/beets/config.yaml - first_artist = - /* - python - */ - '' - # import an album to another artists directory, like: - # Tom Jones │1999│ Burning Down the House [Single, CD, FLAC] - # to The Cardigans/+singles/Tom Jones & the Cardigans │1999│ Burning Down the House [Single, CD, FLAC] - # https://github.com/beetbox/beets/discussions/4012#discussioncomment-1021414 - # beet import --set myartist='The Cardigans' - # we must first check to see if myartist is defined, that is, given on - # import time, or we raise an NameError exception. - try: - myartist - except NameError: - import re - return re.split(',|\\s+(feat(.?|uring)|&|(Vs|Ft).)', albumartist, 1, flags=re.IGNORECASE)[0] - else: - return myartist - ''; - - first_artist_singleton = - /* - python - */ - '' - try: - myartist - except NameError: - import re - return re.split(',|\\s+(feat(.?|uring)|&|(Vs|Ft).)', artist, 1, flags=re.IGNORECASE)[0] - else: - return myartist - ''; - }; - album_fields = {}; + programs.beets.settings.item_fields = { + primary_artist = + # python + '' + albumartists[0] + ''; }; } diff --git a/modules/home.legacy/conf/beets/plugins/lastgenre/default.nix b/modules/home.legacy/conf/beets/plugins/lastgenre/default.nix deleted file mode 100644 index 4d3dcfb0..00000000 --- a/modules/home.legacy/conf/beets/plugins/lastgenre/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -# nixos-config - My current NixOS configuration -# -# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> -# SPDX-License-Identifier: GPL-3.0-or-later -# -# This file is part of my nixos-config. -# -# You should have received a copy of the License along with this program. -# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. -{...}: { - programs.beets.settings.lastgenre = { - prefer_specific = false; - # Lookup the track, not the album - source = "track"; - }; -} diff --git a/modules/home.legacy/conf/beets/plugins/mbsubmit/default.nix b/modules/home.legacy/conf/beets/plugins/mbsubmit/default.nix index bdcb3721..e69de29b 100644 --- a/modules/home.legacy/conf/beets/plugins/mbsubmit/default.nix +++ b/modules/home.legacy/conf/beets/plugins/mbsubmit/default.nix @@ -1,18 +0,0 @@ -# nixos-config - My current NixOS configuration -# -# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> -# SPDX-License-Identifier: GPL-3.0-or-later -# -# This file is part of my nixos-config. -# -# You should have received a copy of the License along with this program. -# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. -{ - lib, - pkgs, - ... -}: { - programs.beets.settings.mbsubmit = { - picard_path = lib.getExe pkgs.picard; - }; -} diff --git a/modules/home.legacy/conf/beets/plugins/smartplaylist/default.nix b/modules/home.legacy/conf/beets/plugins/smartplaylist/default.nix deleted file mode 100644 index 9b52c1ad..00000000 --- a/modules/home.legacy/conf/beets/plugins/smartplaylist/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -# nixos-config - My current NixOS configuration -# -# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> -# SPDX-License-Identifier: GPL-3.0-or-later -# -# This file is part of my nixos-config. -# -# You should have received a copy of the License along with this program. -# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. -{config, ...}: { - programs.beets.settings.smartplaylist = { - relative_to = config.services.mpd.musicDirectory; - playlist_dir = config.services.mpd.playlistDirectory; - forward_slash = false; - - # Show the real m3u file paths, when running `--pretend` - pretend_paths = true; - - playlists = [ - { - name = "artists-$first_artist.m3u"; - query = ""; - } - { - name = "ratings-good.m3u"; - query = "rating:0.7..1.0"; - } - { - name = "ratings-mediocre.m3u"; - query = "rating:0.4..0.7"; - } - { - name = "ratings-bad.m3u"; - query = "rating:0.0..0.4"; - } - { - name = "not_played.m3u"; - query = "-play_count: artist:"; - } - ]; - }; -} diff --git a/modules/home.legacy/conf/beets/replace_override.yaml b/modules/home.legacy/conf/beets/replace_override.yaml deleted file mode 100644 index aea5e54a..00000000 --- a/modules/home.legacy/conf/beets/replace_override.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# nixos-config - My current NixOS configuration -# -# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> -# SPDX-License-Identifier: GPL-3.0-or-later -# -# This file is part of my nixos-config. -# -# You should have received a copy of the License along with this program. -# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. - ---- -replace: - '[\\/]': _ - '^\.': _ - '[\x00-\x1f]': _ - '[<>:"\?\*\|]': _ - '\.$': _ - '\s+$': '' - '^\s+': '' - '^-': _ diff --git a/modules/home.legacy/conf/beets/plugins/play/default.nix b/pkgs/by-name/i3/i3status-rust-patched/package.nix index 9d26f16a..a103e275 100644 --- a/modules/home.legacy/conf/beets/plugins/play/default.nix +++ b/pkgs/by-name/i3/i3status-rust-patched/package.nix @@ -8,16 +8,15 @@ # You should have received a copy of the License along with this program. # If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. { - lib, - pkgs, - config, - ... -}: { - programs.beets.settings.play = { - command = "${lib.getExe pkgs.mpc} $args add"; - relative_to = config.services.mpd.musicDirectory; + i3status-rust, +}: +i3status-rust.overrideAttrs (final: prev: { + pname = "${prev.pname}-patched"; - # Run the command with the returned paths as arguments - raw = true; - }; -} + patches = + (prev.patches or []) + ++ [ + # Btrfs support for disk_space block. + ./patches/0001-disk_space-Support-btrfs-backend.patch + ]; +}) |
