80 lines
2.2 KiB
Nix
80 lines
2.2 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
environment.systemPackages = [
|
|
(pkgs.writeShellScriptBin "scan" ''
|
|
find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.ogg" -o -iname "*.wav" -o -iname "*.aiff" \) -print0 |
|
|
xargs -0 -P"$(nproc)" -I{} bash -c '
|
|
if ffprobe -v quiet -show_entries format_tags \
|
|
-of default=nw=1:nk=1 "$1" 2>/dev/null |
|
|
grep -q -E "Visit https?://[^ ]+"; then
|
|
echo "Match found in: $1"
|
|
fi
|
|
' _ {} | sort
|
|
'')
|
|
|
|
(pkgs.writeShellScriptBin "2scan" ''
|
|
find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.ogg" -o -iname "*.wav" -o -iname "*.aiff" \) -print0 |
|
|
xargs -0 -P"$(nproc)" -I{} sh -c '
|
|
if ! ffprobe -v quiet -show_entries format_tags \
|
|
-of default=nw=1:nk=1 "$1" 2>/dev/null |
|
|
grep -q -E "Visit https?://[^ ]+"; then
|
|
echo "Match found in: $1"
|
|
fi
|
|
' _ {}
|
|
'')
|
|
|
|
(pkgs.writeShellScriptBin "enable-hypervisor" ''
|
|
sudo modprobe -r kvm_amd kvm
|
|
sudo modprobe cpuid_fault_emulation
|
|
'')
|
|
|
|
(pkgs.writeShellScriptBin "disable-hypervisor" ''
|
|
sudo modprobe -r cpuid_fault_emulation
|
|
sudo modprobe kvm_amd kvm
|
|
'')
|
|
|
|
(pkgs.writeShellScriptBin "check-playlist" ''
|
|
PLAYLIST_DIR="/home/user/Music/Playlists/"
|
|
BASENAME="/home/user/Music/$SELECTED_SONGS"
|
|
# echo $BASENAME | kitty +kitten clipboard
|
|
shopt -s extglob
|
|
if grep -q "$BASENAME" "$PLAYLIST_DIR"/!(new|lostfrog).m3u
|
|
then
|
|
notify-send "Song is in a playlist";
|
|
else
|
|
notify-send "Song isnt in a playlist";
|
|
fi
|
|
'')
|
|
|
|
(pkgs.writeShellScriptBin "mpd-volume" ''
|
|
if [ $# != 1 ]; then
|
|
echo "Usage: ''${0} up|down"
|
|
exit 1
|
|
fi
|
|
|
|
STEP=5
|
|
|
|
get_vol() {
|
|
mpc --host=/tmp/mpd_socket volume
|
|
}
|
|
|
|
set_vol() {
|
|
mpc --host=/tmp/mpd_socket volume "$1"
|
|
}
|
|
|
|
case "$1" in
|
|
up)
|
|
set_vol +$((STEP))
|
|
;;
|
|
down)
|
|
set_vol -$((STEP))
|
|
;;
|
|
*)
|
|
echo "Usage: ''${0} up|down"
|
|
exit 1
|
|
;;
|
|
esac
|
|
'')
|
|
];
|
|
}
|