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 / 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,
@bonelifer
bonelifer / mpc-guardian.sh
Last active January 26, 2025 06:23 — forked from moopet/mpc-guardian.sh
With a shared MPD server, sometimes other people will add shit music. Stop the rot. Also watch Christmas genre and limit it to specific date range.
#!/usr/bin/env bash
# Automatically removes songs from your playlist that match a blacklist or the Christmas genre
# unless it is between the day after U.S. Thanksgiving and before January 15.
BLACKLIST=/var/music/blacklist.txt
MPD_HOST=localhost
REJECT_GENRE="Christmas"
# Define the date range