home, scripts: use fetchers
This commit is contained in:
parent
8264702934
commit
f38bf90691
2 changed files with 14 additions and 114 deletions
|
@ -1,109 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# i forgot where did i found this script, wasnt made by me
|
|
||||||
|
|
||||||
command -v mpv &>/dev/null || { echo "Error: mpv is not installed." && exit 1; }
|
|
||||||
|
|
||||||
# should work unless the link has been changed/ended/taken down...
|
|
||||||
declare -A urls=(
|
|
||||||
["study"]="https://youtu.be/jfKfPfyJRdk"
|
|
||||||
["chill"]="https://youtu.be/rUxyKA_-grg"
|
|
||||||
["game"]="https://youtu.be/MVPTGNGiI-4"
|
|
||||||
["fcc"]="https://coderadio-relay-ffm.freecodecamp.org/radio/8010/radio.mp3"
|
|
||||||
)
|
|
||||||
|
|
||||||
declare -A messages=(
|
|
||||||
["study"]="Playing lofi hip hop radio - beats to relax/study to"
|
|
||||||
["chill"]="Playing lofi hip hop radio - beats to sleep/chill to"
|
|
||||||
["game"]="Playing synthwave radio - beats to chill/game to"
|
|
||||||
["fcc"]="Playing freeCodeCamp code Radio"
|
|
||||||
)
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
cat <<EOF
|
|
||||||
Usage: $(basename "$0") [OPTIONS]
|
|
||||||
|
|
||||||
Play/Stream lofi music audio, and nothing else
|
|
||||||
- Amberol (probably)
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-s, --study, relax Play lofi radio beats to relax/study music.
|
|
||||||
-c, --chill, sleep Play lofi radio beats sleeps/chill music.
|
|
||||||
-g, --game, synthwave Play lofi synthwave radio beats to chill/game music.
|
|
||||||
-f, --fcc, fcc, code Play freeCodeCamp Code Radio.
|
|
||||||
-r, --random Play a random station URL (study, chill, game, fcc).
|
|
||||||
-v, --video Play with video (default: none, no video for fcc).
|
|
||||||
-h, --help Display this help message.
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
set_station() { station_name=$1 && url=${urls[$station_name]}; }
|
|
||||||
set_station_based_on_time_of_the_day() {
|
|
||||||
hour=$(date +%_H)
|
|
||||||
if ((hour >= 22 && hour < 6)); then
|
|
||||||
set_station "chill"
|
|
||||||
elif ((hour >= 6 && hour < 12)); then
|
|
||||||
set_station "study"
|
|
||||||
elif ((hour >= 18 && hour < 22)); then
|
|
||||||
set_station "game"
|
|
||||||
else
|
|
||||||
set_station "fcc"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
local url
|
|
||||||
local video=false
|
|
||||||
if [[ $# -eq 0 ]]; then
|
|
||||||
set_station_based_on_time_of_the_day
|
|
||||||
else
|
|
||||||
while [[ $# -gt 0 ]]; do
|
|
||||||
case $1 in
|
|
||||||
-s | --study | relax | study)
|
|
||||||
set_station "study"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-c | --chill | sleep | chill)
|
|
||||||
set_station "chill"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-g | --game | synthwave | game)
|
|
||||||
set_station "game"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-f | --fcc | code | fcc)
|
|
||||||
set_station "fcc"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-r | --random)
|
|
||||||
random_station_name=$(shuf -n 1 -e "${!urls[@]}")
|
|
||||||
set_station "$random_station_name"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-v | --video)
|
|
||||||
video=true
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-h | --help)
|
|
||||||
usage
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Unknown option: $1" >&2
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "${messages[$station_name]}..."
|
|
||||||
|
|
||||||
if $video; then
|
|
||||||
mpv "$url"
|
|
||||||
else
|
|
||||||
mpv --no-video "$url"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
main "$@"
|
|
|
@ -1,8 +1,17 @@
|
||||||
{...}: {
|
{pkgs, ...}: {
|
||||||
home.sessionPath = ["$HOME/.local/bin"];
|
home.sessionPath = ["$HOME/.local/bin"];
|
||||||
home.file.".local/bin" = {
|
home.file = {
|
||||||
|
".local/bin" = {
|
||||||
source = ./bin;
|
source = ./bin;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
executable = true;
|
executable = true;
|
||||||
};
|
};
|
||||||
|
".local/bin/lofi" = {
|
||||||
|
source = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/lime-desu/bin/main/lofi";
|
||||||
|
hash = "sha256-hT+S/rqOHUYnnFcSDFfQht4l1DGasz1L3wDHKUWLraA=";
|
||||||
|
};
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue