_inputs: { lib, pkgs, ... }: { users.extraUsers.minijackson.packages = [ (pkgs.writeScriptBin "split-cue" (builtins.readFile ../../res/scripts/split-cue.sh)) ]; home-manager.users.minijackson = { config, ... }: { programs.beets = { enable = true; settings = { plugins = [ "badfiles" "chroma" "convert" "edit" "export" "fetchart" "fromfilename" "lastgenre" "mbsubmit" "mbsync" "missing" "parentwork" "random" "the" "zero" ]; lastgenre = { canonical = true; # High count due to canonicalization which removes fetched genres count = 6; separator = ";"; }; paths = { default = "%the{$albumartist}/%the{$album}%aunique{}/$track $title"; singleton = "Non-Album/%the{$artist}/%the{$title}"; comp = "Compilations/%the{$album}%aunique{}/$track $title"; }; zero.fields = "comments"; }; }; wayland.windowManager.sway.config.keybindings = let inherit (config.wayland.windowManager.sway.config) modifier; playerctl = lib.getExe pkgs.playerctl; in lib.mkOptionDefault { "XF86AudioPlay" = "exec ${playerctl} play-pause"; "XF86AudioPrev" = "exec ${playerctl} previous"; "XF86AudioNext" = "exec ${playerctl} next"; "${modifier}+KP_5" = "exec ${playerctl} play-pause"; "${modifier}+KP_4" = "exec ${playerctl} previous"; "${modifier}+KP_6" = "exec ${playerctl} next"; "${modifier}+KP_8" = "exec ${playerctl} stop"; }; }; }