mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 10:58:02 +00:00
users/foo-dogsquared: more music player setup
This commit is contained in:
parent
631b14f8b5
commit
569c258e51
@ -21,6 +21,9 @@ let
|
|||||||
${pkgs.yt-dlp}/bin/yt-dlp --config-location "${yt-dlp-for-audio-config}" $@
|
${pkgs.yt-dlp}/bin/yt-dlp --config-location "${yt-dlp-for-audio-config}" $@
|
||||||
'';
|
'';
|
||||||
getDotfiles = path: "${inputs.dotfiles}/${path}";
|
getDotfiles = path: "${inputs.dotfiles}/${path}";
|
||||||
|
|
||||||
|
musicDir = config.xdg.userDirs.music;
|
||||||
|
playlistsDir = "${musicDir}/playlists";
|
||||||
in {
|
in {
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
@ -45,7 +48,7 @@ in {
|
|||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# My specific usual stuff.
|
# My Git credentials.
|
||||||
programs.git = let email = "foo.dogsquared@gmail.com"; in {
|
programs.git = let email = "foo.dogsquared@gmail.com"; in {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.gitFull;
|
package = pkgs.gitFull;
|
||||||
@ -65,6 +68,55 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# My music player setup, completely configured with Nix!
|
# My music player setup, completely configured with Nix!
|
||||||
|
programs.beets = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
library = "${musicDir}/library.db";
|
||||||
|
plugins = [
|
||||||
|
"acousticbrainz"
|
||||||
|
"chroma"
|
||||||
|
"deezer"
|
||||||
|
"edit"
|
||||||
|
"export"
|
||||||
|
"fuzzy"
|
||||||
|
"playlist"
|
||||||
|
"scrub"
|
||||||
|
"smartplaylist"
|
||||||
|
"spotify"
|
||||||
|
];
|
||||||
|
ignore_hidden = "yes";
|
||||||
|
directory = musicDir;
|
||||||
|
ui.colors = "yes";
|
||||||
|
|
||||||
|
import = {
|
||||||
|
link = "no";
|
||||||
|
resume = "yes";
|
||||||
|
incremental = "yes";
|
||||||
|
group_albums = "yes";
|
||||||
|
log = "beets.log";
|
||||||
|
};
|
||||||
|
|
||||||
|
match = {
|
||||||
|
required = "year label";
|
||||||
|
ignore_video_tracks = "yes";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Plugins configuration.
|
||||||
|
fuzzy.prefix = "-";
|
||||||
|
scrub.auto = "yes";
|
||||||
|
smartplaylist = {
|
||||||
|
relative_to = musicDir;
|
||||||
|
playlist_dir = playlistsDir;
|
||||||
|
playlists = [
|
||||||
|
{
|
||||||
|
name = "all.m3u8";
|
||||||
|
query = "";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.mopidy = {
|
services.mopidy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extensionPackages = with pkgs; [
|
extensionPackages = with pkgs; [
|
||||||
@ -103,11 +155,21 @@ in {
|
|||||||
"audio_foreign"
|
"audio_foreign"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
m3u = {
|
||||||
|
enabled = true;
|
||||||
|
base_dir = musicDir;
|
||||||
|
playlists_dir = playlistsDir;
|
||||||
|
default_encoding = "utf-8";
|
||||||
|
default_extension = ".m3u8";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# My preferred file indexing service.
|
||||||
services.recoll = {
|
services.recoll = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
startAt = "daily";
|
||||||
settings = {
|
settings = {
|
||||||
topdirs = "~/Downloads ~/Documents ~/library";
|
topdirs = "~/Downloads ~/Documents ~/library";
|
||||||
"skippedNames+" = "node_modules";
|
"skippedNames+" = "node_modules";
|
||||||
@ -139,7 +201,10 @@ in {
|
|||||||
research.enable = true;
|
research.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.bleachbit.enable = true;
|
services.bleachbit = {
|
||||||
|
enable = true;
|
||||||
|
withChatCleanup = true;
|
||||||
|
};
|
||||||
|
|
||||||
systemd.user.sessionVariables = {
|
systemd.user.sessionVariables = {
|
||||||
MANPAGER = "nvim +Man!";
|
MANPAGER = "nvim +Man!";
|
||||||
|
Loading…
Reference in New Issue
Block a user