justfiles for automating various tasks on my 'puter
1# Setup systemd services
2[group('setup')]
3setup-services:
4 #!/usr/bin/env bash
5 enable_services=(
6 "atop.service"
7 "atopacct.service"
8 "atop-rotate.timer"
9 "firewalld.service"
10 "snapper-cleanup.timer"
11 "snapper-timeline.timer"
12 "tailscaled.service"
13 )
14 for svc in "${enable_services[@]}"; do
15 if ! sudo systemctl is-active --quiet "$svc"; then
16 sudo systemctl enable --now "$svc"
17 fi
18 done
19
20# Setup XDG user dirs
21[group('setup')]
22setup-xdg-user-dirs:
23 #!/usr/bin/env bash
24 cat <<EOF | sudo tee /etc/xdg/user-dirs.defaults
25 DESKTOP=Desktop
26 DOWNLOAD=Downloads
27 TEMPLATES=
28 PUBLICSHARE=
29 DOCUMENTS=Documents
30 MUSIC=
31 PICTURES=Pictures
32 VIDEOS=
33 EOF
34
35 rm -fv "${HOME}/.config/user-dirs.dirs"
36 for dir in "Desktop" "Documents" "Downloads" "Music" "Pictures" "Public" "Templates" "Videos"; do
37 rm -rfv "${HOME}/${dir}"
38 done
39 xdg-user-dirs-update
40
41# Setup hyperreal configs
42[group('setup')]
43setup-cli:
44 #!/usr/bin/env bash
45 set -euo pipefail
46
47 DOTFILES_DIR="${HOME}/repos/tangled.org/hyperreal.bsky.moonshadow.dev/dotfiles"
48 if [ ! -d "$DOTFILES_DIR" ]; then
49 echo "${DOTFILES_DIR} not found."
50 exit 1
51 fi
52
53 find "${DOTFILES_DIR}/config" -maxdepth 1 -mindepth 1 -exec ln -sf {} "${HOME}/.config" \;
54 find "${DOTFILES_DIR}/zsh" -maxdepth 1 -mindepth 1 -exec ln -sf {} "${HOME}" \;
55
56# vim: ts=4 sts=4 sw=4 et ft=just