-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinstall.sh
executable file
·92 lines (73 loc) · 2.11 KB
/
install.sh
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
#!/bin/bash
# Installer script
# Author: Ali Hassani (@alihassanijr)
# Load functions
source installer/prolog.sh
if [[ $IS_PERSONAL -eq 1 ]]; then
echo "This is a personal device, is that right? (will attempt to install terminal emulator and pdf viewer.)"
else
echo "This is NOT a personal device, is that right? (will skip installing terminal emulator and pdf viewer.)"
fi
read
source installer/utils.sh
source installer/deps.sh
source installer/configs.sh
assert_dotfiles_in_home
# Ensure submodules are cloned
update_submodules
# Ensure expected directories exist
ensure_local_exists
echo "Installing my stuff..."
# Very basic stuff (usually installed on linux, but
# not necessarily on mac).
ensure_pkg_config
ensure_wget
# Build tools integral to other dependencies
ensure_m4
ensure_autoconf
ensure_automake
#ensure_perl
# Curses library
ensure_ncurses
ensure_gettext
# Utilities
ensure_coreutils
#ensure_make
ensure_cmake
#ensure_git
ensure_git_lfs
# Cloudflare in case we need to tunnel certain
# ssh connections.
ensure_cloudflare
# Everyday
#ensure_kitty # former terminal emulator (conditional dependency)
ensure_alacritty # terminal emulator (conditional dependency)
ensure_tmux # window manager (conditional soft dependency)
ensure_vim # editor
ensure_vifm # file browser
ensure_zathura # document viewer (conditional dependency)
ensure_zsh # shell
ensure_fzf # Fuzzy finder
# Fancy alternatives
ensure_bat # alternative to cat
ensure_diff_so_fancy # alternative to diff
ensure_lsd # alternative to ls
ensure_htop # alternative to top
ensure_rg # alternative to grep
ensure_tre # alternative to tree
# Not as frequently used, but nice to have
ensure_aria2 # download utility
ensure_watch # watch command
# Literally entertainment
ensure_cmatrix
# Do the linking
link_base16colors
link_lscolors
link_inputrc
link_commonrc
link_bashrc
link_custom_scripts
# Fix permissions
chmod -R 700 $LOCALDIR
chmod -R 700 $NCDIR
echo "Installation complete."