-
-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·65 lines (50 loc) · 1.46 KB
/
install.sh
File metadata and controls
executable file
·65 lines (50 loc) · 1.46 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
#!/bin/bash
#|---/ /+---------------------+---/ /|#
#|--/ /-| Symphony Dotfiles |--/ /-|#
#|-/ /--| Installer |-/ /--|#
#|/ /---+---------------------+/ /---|#
set -e
DOTFILES="$(cd "$(dirname "$0")" && pwd)"
source "$DOTFILES/install/utils.sh"
# Banner
clear
show_banner
echo
# Existing install warning
[[ -d "$HOME/.config/symphony" ]] && warn "Existing installation detected"
warn "This will install packages and modify your configs."
echo
confirm "Continue?" || exit 0
# Check core dependencies
step "Checking dependencies"
missing=()
for dep in git stow; do
pkg_installed "$dep" && ok "$dep" || { err "$dep"; missing+=("$dep"); }
done
if [[ ${#missing[@]} -gt 0 ]]; then
echo
err "Missing: ${missing[*]}"
info "Run: sudo pacman -S ${missing[*]}"
exit 1
fi
# Install packages
source "$DOTFILES/install/packages.sh"
# Symlink dotfiles
source "$DOTFILES/install/stow.sh"
# Setup desktop entries
source "$DOTFILES/install/desktop-entries.sh"
# Enable user services
source "$DOTFILES/install/services.sh"
# Choose default shell
echo
"$DOTFILES/scripts/choose-shell"
# Remove any stale first-run marker (fresh installs should run first-run)
rm -f ~/.local/state/symphony/first-run-done
# Install themes (skip logo since we already showed banner)
SYMPHONY_INSTALLING=1 "$DOTFILES/install/themes/install.sh"
# Done
echo
ok "Installation complete"
info "Log out and back in for changes to take effect"
info "Run 'symphony help' to get started"
echo