Skip to content

Instantly share code, notes, and snippets.

View bonelifer's full-sized avatar

William Jacoby bonelifer

View GitHub Profile
@bonelifer
bonelifer / add_artist_list.sh
Created July 19, 2025 23:07 — forked from jackskhakis/add_artist_list.sh
Script to add list of artists (in a text file) to lidarr, this method bypasses the difficulties that are currently present in lidarr with relation to searching and adding new artists
#!/bin/bash
# Path to the text file with artist names (one per line)
artist_list_file="./artist_list.txt"
# Where Lidarr should create new artist folders
# This must match a configured Root Folder in Lidarr
lidarr_root="/music/"
# Lidarr API details
@bonelifer
bonelifer / add_artists.sh
Created July 19, 2025 23:07 — forked from jackskhakis/add_artists.sh
Script to add list of artists (in a folder) to lidarr, this method bypasses the difficulties that are currently present in lidarr with relation to searching and adding new artists
#!/bin/bash
# Folder where existing artist folders are located (source)
source_dir="/mnt/media/music/old"
# The Lidarr root folder path to add new artists under
# This must match a configured Root Folder in Lidarr settings
lidarr_root="/music/new"
# Lidarr API access
sudo apt -y update
sudo apt -y install ca-certificates gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
@bonelifer
bonelifer / install-gh-cli.sh
Created July 19, 2025 21:51 — forked from mikestankavich/install-gh-cli.sh
Convenience script to install GitHub CLI on Ubuntu
#!/bin/bash
set -e
###############################################################################################
# This is a convenience script for installing the Github gh CLI. Invoke as follows: #
# curl -fsSL https://gist.github.com/yourusername/gist-hash/raw/install-gh-cli.sh | sudo bash #
# Author: Mike Stankavich https://github.com/mikestankavich [email protected] #
###############################################################################################
# Root check
@bonelifer
bonelifer / system-info.sh
Created July 19, 2025 21:37 — forked from Its4Nik/system-info.sh
This is a simple bash script that will gather system boot info and general hardware info. (Only tested on Arch!)
#!/bin/bash
set -euo pipefail
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
BOLD='\033[1m'
NC='\033[0m'
@bonelifer
bonelifer / dashy_to_homepage.py
Last active April 2, 2025 01:51 — forked from Nixellion/dashy_to_homepage.py
Script to migrate from Dashy (https://dashy.to/) to Homepage (https://gethomepage.dev/)
"""
Script to migrate from Dashy (https://dashy.to/) to Homepage (https://gethomepage.dev/)
Get your config.yml from Dashy and place it in the same folder as this script.
Run the script with Python.
The script takes a list of known services that have Widgets in Dashy and tries to automatically match your existing entries to this list, to decide whether an entry should be a bookmark or a service entry.
Adjust MATCH_THRESHOLD as needed depending on how much your titles match service names.
"""
#!/usr/bin/env bash
lidarrUrl=""
lidarrApiKey=""
curl -s "$lidarrUrl/api/v1/album/monitor" --request PUT --header "X-Api-Key:"${lidarrApiKey} -H "Content-Type: application/json" --data-raw '{"albumIds":['$lidarr_album_id'], "monitored": false}'
@bonelifer
bonelifer / ytmusic.py
Last active April 1, 2025 23:18
Script to Fetch MusicBrainz IDs (MBIDs) for Artists from a CSV File
#!/usr/bin/env python3
"""
Script to Fetch MusicBrainz IDs (MBIDs) for Artists from a CSV File
Purpose:
This script reads a CSV file containing artist names, extracts unique artist names
from the columns 'Artist Name 1' to 'Artist Name 6', and queries the MusicBrainz API
for the MusicBrainz ID (MBID) of each artist. It then saves the results to a JSON file.
Steps:
@bonelifer
bonelifer / somafm-mpd-playlists.sh
Last active January 26, 2025 19:06 — forked from SydLambert/somafm-mpd-playlists.sh
Add SomaFM channels as individual playlists in specified directories. Supports multiple playlist types (highestpls-aac, fastpls-mp3, fastpls-aacp, slowpls-aacp). Will delete existing playlists before creating new ones. Requires curl, awk, grep, and basic shell tools. You can specify which playlist types to create by passing arguments, or leave b…
#!/usr/bin/env bash
# Script to create SomaFM playlists based on XML channel data
# The script will create playlists in directories named after the playlist type (e.g., fastpls-mp3).
# It can handle multiple types of playlists, and will clean up existing playlists before creating new ones.
# Base directory for all playlists
BASE_DIR="./playlists"
# Define valid playlist types and their mappings using an associative array
#!/usr/bin/env bash
# FILE: songlengthtest.sh
# ROLE: Display the current song title with length constraints for better readability.
# BASED ON: https://gist.github.com/professorjamesmoriarty/2d4fcea1f587750b7bfc
# CREATED: 2015-09-27 06:31:51
# MODIFIED: 2025-05-31
# LICENSE: GNU General Public License v3.0
# Function: mus
# Purpose : Retrieve and display the currently playing song from MPD,