-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·129 lines (109 loc) · 4.75 KB
/
Copy pathinstall.sh
File metadata and controls
executable file
·129 lines (109 loc) · 4.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#!/bin/bash
# install.sh — Post-clean-install setup for Omarchy
#
# Run AFTER a fresh Omarchy install has cloned this repo:
# git clone git@github.com:danielmrdev/dotfiles.git ~/.dotfiles
# bash ~/.dotfiles/install.sh
#
# Does everything needed to go from a clean Omarchy install to the full
# personal setup:
# 1. restore.sh — symlink config into place
# 2. personal apps — install required packages and Hache launcher
# 3. cleanup — remove unwanted Omarchy apps
# 4. git hooks — enable gitleaks pre-commit
# 5. Omarchy extras — custom themes and shell plugins
# 6. tooling — gitleaks itself
# Safe to re-run (idempotent).
set -eu
DOTFILES="${DOTFILES:-$HOME/.dotfiles}"
echo "=== 1/6 Restoring config symlinks ==="
if [ -f "$DOTFILES/restore.sh" ]; then
bash "$DOTFILES/restore.sh"
else
echo "ERROR: $DOTFILES/restore.sh not found. Clone the dotfiles repo first." >&2
exit 1
fi
echo ""
echo "=== 2/6 Installing personal apps ==="
# Official repository packages. Obsidian is included in Omarchy v4, but keep it
# explicit so setup remains correct if base package selection changes.
omarchy pkg add calibre nextcloud-client obsidian pipewire-zeroconf remmina spotify tailscale typora
# AirPlay RAOP needs two UDP ports for Sonos and similar devices.
if command -v ufw >/dev/null 2>&1 && sudo -A ufw status | grep -q '^Status: active'; then
sudo -A ufw allow 6001/udp comment "Stream to Airplay"
sudo -A ufw allow 6002/udp comment "Stream to Airplay"
else
echo "UFW inactive or unavailable; skipping AirPlay firewall rules."
fi
# AUR packages.
omarchy pkg aur add bitwarden-bin espanso-wayland
# ThinkPad Goodix fingerprint support. These packages are intentionally built
# locally because the official libfprint package does not support 27c6:550a.
# Unlike `omarchy pkg aur add`, the helper also updates packages already present.
"$DOTFILES/.local/bin/update-fingerprint-libs" update
# Hache is a custom web app; its launcher and icon were restored above.
echo ""
echo "=== 3/6 Removing unwanted Omarchy apps ==="
for app in \
"Basecamp" \
"Discord" \
"Google Contacts" \
"Google Maps" \
"Google Messages" \
"Google Photos" \
"HEY" \
"WhatsApp" \
"X" \
"YouTube"; do
omarchy webapp remove "$app"
done
# Keep Calibre installed; hide only its E-book editor launcher.
mkdir -p "$HOME/.local/share/applications"
cat > "$HOME/.local/share/applications/calibre-ebook-edit.desktop" <<'EOF'
[Desktop Entry]
Type=Application
Name=E-book editor
Hidden=true
EOF
update-desktop-database "$HOME/.local/share/applications" >/dev/null 2>&1 || true
# omarchy-nvim depends on neovim, so remove both packages together.
omarchy pkg drop aether cliamp foot kitty moonlight-qt omarchy-nvim neovim obs-studio zed
# Remove stale per-user launchers left behind after package removal.
rm -f "$HOME/.local/share/applications/foot.desktop" \
"$HOME/.local/share/applications/footclient.desktop" \
"$HOME/.local/share/applications/foot-server.desktop" \
"$HOME/.local/share/applications/kitty.desktop" \
"$HOME/.local/share/applications/kitty-open.desktop" \
"$HOME/.local/share/applications/nvim.desktop"
update-desktop-database "$HOME/.local/share/applications" >/dev/null 2>&1 || true
echo ""
echo "=== 4/6 Enabling gitleaks pre-commit hook ==="
git -C "$DOTFILES" config core.hooksPath .githooks
echo "core.hooksPath = $(git -C "$DOTFILES" config core.hooksPath)"
echo ""
echo "=== 5/6 Installing Omarchy extras ==="
# Harbor — custom third-party theme (not part of stock Omarchy themes)
omarchy theme install https://github.com/HANCORE-linux/omarchy-harbor-theme
# Apply the active theme (matches current setup; change with: omarchy theme set <name>)
omarchy theme set "Retro 82"
# Omadoro — pomodoro timer bar widget (third-party git plugin)
omarchy plugin add https://github.com/brianblakely/omadoro.git --enable
# Omarchy Calendar — replaces the built-in clock (tmn73.calendar)
omarchy plugin add https://github.com/tmn73/omarchy-calendar.git --enable
# Nightman — night/day theme switching (codefriendly.nightman)
omarchy plugin add https://github.com/codefriendly/omarchy-nightman.git --enable
echo ""
echo "=== 6/6 Tooling required by the dotfiles repo ==="
# Gitleaks — enforced by the repo's pre-commit hook (.githooks/pre-commit)
if ! command -v gitleaks >/dev/null 2>&1; then
echo "Installing gitleaks..."
omarchy pkg add gitleaks
fi
# CalDAV calendar sync (Stalwart -> omarchy-calendar widget): ICS parsing
omarchy pkg add python-icalendar python-dateutil
systemctl --user enable --now omarchy-calendar-sync-caldav.timer
echo ""
echo "=== Done ==="
echo "Optional extras (manual):"
echo " - teams-jiggler timer units need their helpers in ~/.local/bin (already restored)"
echo " - verify after login: hyprctl reload && hyprctl configerrors"