justfiles for automating various tasks on my workstation

~blogging.just, ~install.just, ~setup.just

+4 -4
blogging.just
···
[group('blogging')]
newblog slug:
#!/usr/bin/env bash
-
BLOG_DIR="${HOME}/repos/tildegit.org/hyperreal/hyperreal.coffee/http"
+
BLOG_DIR="${HOME}/repos/knot.moonshadow.dev/hyperreal.coffee/http"
FILENAME_DATE=$(date '+%Y-%m-%d')
POST_DATE=$(date '+%Y-%m-%d %H:%M:%S')
FILENAME="${FILENAME_DATE}-{{ slug }}.md"
···
[group('blogging')]
board-capsule:
#!/usr/bin/env bash
-
WEBSITE_DIR="${HOME}/repos/tildegit.org/hyperreal/hyperreal.coffee/http"
-
CAPSULE_DIR="${HOME}/repos/tildegit.org/hyperreal/hyperreal.coffee/gemini"
+
WEBSITE_DIR="${HOME}/repos/knot.moonshadow.dev/hyperreal.coffee/http"
+
CAPSULE_DIR="${HOME}/repos/knot.moonshadow.dev/hyperreal.coffee/gemini"
find "${WEBSITE_DIR}/content" \
-maxdepth 1 \
···
#!/usr/bin/env bash
set -euo pipefail
-
HC_DIR="${HOME}/repos/tildegit.org/hyperreal/hyperreal.coffee"
+
HC_DIR="${HOME}/repos/knot.moonshadow.dev/hyperreal.coffee"
cd "$HC_DIR"
msg_info="$(( $(git rev-list --count HEAD) + 1)) $(date '+%Y-%m-%d %H:%M:%S')"
git add .
-14
install.just
···
pipx install nginxfmt
echo "Install shellcheck shfmt jq with your distro's package manager"
-
# Install todo.txt
-
[group('install')]
-
install-todotxt:
-
#!/usr/bin/env bash
-
URL=$(curl --silent https://api.github.com/repos/todotxt/todo.txt-cli/releases/latest | jq -r '.assets[] | select(.name| test(".*.tar.gz$")).browser_download_url')
-
FILENAME=$(basename "$URL")
-
DIRNAME=$(basename "$URL" .tar.gz)
-
TEMP_DIR=$(mktemp -d)
-
wget "$URL" -O "${TEMP_DIR}/${FILENAME}"
-
tar -zxvf "${TEMP_DIR}/${FILENAME}" -C "${TEMP_DIR}"
-
sudo cp -fv "${TEMP_DIR}/${DIRNAME}/todo.sh" /usr/local/bin/
-
rm -rf "$TEMP_DIR"
-
echo "todo.sh successfully installed to /usr/local/bin/"
-
# Install Go tools
[group('install')]
install-go-tools:
+19 -11
setup.just
···
"atopacct.service"
"atop-rotate.timer"
"firewalld.service"
-
"prometheus-node-exporter.service"
"snapper-cleanup.timer"
"snapper-timeline.timer"
"tailscaled.service"
···
cat <<EOF | sudo tee /etc/xdg/user-dirs.defaults
DESKTOP=desktop
DOWNLOAD=downloads
-
TEMPLATES=templates
+
TEMPLATES=
PUBLICSHARE=nextcloud
DOCUMENTS=documents
MUSIC=
···
fi
echo "Preparing local git directories..."
+
mkdir -p "${HOME}/repos/knot.moonshadow.dev"
mkdir -p "${HOME}/repos/tildegit.org/hyperreal"
-
echo "Cloning repos from tildegit.org/hyperreal..."
-
hyperreal_repos=(
+
echo "Cloning repos from knot.moonshadow.dev..."
+
tangled_repos=(
"ansible-homelab"
"dotfiles"
"hyperreal.coffee"
-
"podman-services"
-
"qbt-helper"
)
-
for repo in "${hyperreal_repos[@]}"; do
-
if [ -d "${HOME}/repos/tildegit.org/hyperreal/${repo}" ]; then
-
rm -rf "${HOME}/repos/tildegit.org/hyperreal/${repo}"
+
for repo in "${tangled_repos[@]}"; do
+
if [ -d "${HOME}/repos/knot.moonshadow.dev/${repo}" ]; then
+
rm -rf "${HOME}/repos/knot.moonshadow.dev/${repo}"
fi
-
git clone "git@tildegit.org:hyperreal/${repo}.git" "${HOME}/repos/tildegit.org/hyperreal/${repo}"
+
git clone "git@knot.moonshadow.dev:hyperreal.bsky.moonshadow.dev/${repo}.git" "${HOME}/repos/knot.moonshadow.dev/${repo}"
+
done
+
echo "Cloning repos from tildegit.org/hyperreal..."
+
tildegit_repos=(
+
"feelslog"
+
)
+
for repo in "${tildegit_repos[@]}"; do
+
if [ -d "${HOME}/repos/tildegit.org/hyperreal/${repo}" ]; then
+
rm -rf "${HOME}/repos/tildegit.org/hyperreal/${repo}"
+
fi
+
git clone "git@tildegit.org:hyperreal/${repo}" "${HOME}/repos/tildegit.org/hyperreal/${repo}"
done
# Setup hyperreal configs
···
#!/usr/bin/env bash
set -euo pipefail
-
DOTFILES_DIR="${HOME}/repos/tildegit.org/hyperreal/dotfiles"
+
DOTFILES_DIR="${HOME}/repos/knot.moonshadow.dev/dotfiles"
if [ ! -d "$DOTFILES_DIR" ]; then
echo "${DOTFILES_DIR} not found."
exit 1