-
Notifications
You must be signed in to change notification settings - Fork 0
/
install
executable file
·151 lines (128 loc) · 5.19 KB
/
install
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#!/usr/bin/env bash
cd "$(dirname "$0")" || exit 1
git submodule update --init --recursive || (
echo "Submodule update failed!"
exit 5
)
# Source inst and diff function
. ./utils/inst
# Load if we force changes (implies no interaction)
[ "$1" = "-f" ] && FORCE=true || FORCE=false
#################################################################################
source private/install # private files, sorry but some privacy is required.
# TODO on hosts without shellrc we might want some thin shellrc to be installed
if ask "profile" "Install shell profile"; then
inst profile ~/.profile
inst zprofile ~/.zprofile
fi
if ask "git" "Install GIT configuration"; then
inst gitconfig ~/.gitconfig
inst gitconfig-elektroline ~/.gitconfig-elektroline
inst gitignore ~/.gitignore
fi
if ask "gpg" "Install GPG configuration"; then
inst gnupg/gpg.conf ~/.gnupg/gpg.conf
fi
if ask "nix" "Install Nix configuration"; then
inst config/nix/ ~/.config/nix
inst private/config/nix/builders ~/.config/nix/builders
fi
if ask "clituls" "Install configurations for various CLI utility tools"; then
inst screenrc ~/.screenrc
inst local/share/mc/skins/nord16M.ini ~/.local/share/mc/skins/nord16M.ini
fi
if ask "ssh" "Install SSH config"; then
mkdir -p ~/.cache/ssh # directory for sockets
inst private/ssh_config ~/.ssh/config
fi
if ask "wayvnc" "Install wayland access"; then
inst local/bin/sshvnc ~/.local/bin/
inst local/sbin/wayvnc1 ~/.local/sbin/
inst config/systemd/user/wayvnc1.service ~/.config/systemd/user/
fi
if ask "nvim" "Install NeoVIM scripts"; then
inst config/nvim/ ~/.config/nvim
mkdir -p ~/.cache/nvim # directory for *.swp files
mkdir -p ~/.cache/nvim-undo # directory for undo files
nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerSync'
# cs spelling
mkdir -p ~/.local/share/nvim/site/spell
curl "http://ftp.vim.org/vim/runtime/spell/cs.utf-8.spl" \
>~/.local/share/nvim/site/spell/cs.utf-8.spl
fi
if ask "dev" "Development tools configuration"; then
inst config/clangd/ ~/.config/clangd
inst pdbrc ~/.pdbrc
inst config/pycodestyle ~/.config/pycodestyle
inst flake8 ~/.flake8
inst pylintrc ~/.pylintrc
inst config/mypy/ ~/.config/mypy
inst local/bin/new-flake-dev ~/.local/bin/new-flake-dev
inst shvcli.ini ~/.shvcli.ini
curl "https://github.com/cyrus-and/gdb-dashboard/raw/master/.gdbinit" >~/.gdbinit
fi
if ask "sync" "Install synchronization"; then
inst local/bin/allsync ~/.local/bin/allsync
if [ "$(ps -o comm= 1)" = "systemd" ]; then
inst config/systemd/user/allsync.service ~/.config/systemd/user/
inst config/systemd/user/allsync.timer ~/.config/systemd/user/
fi
inst private/mbsyncrc ~/.mbsyncrc
inst private/notmuch-config ~/.notmuch-config
inst private/notmuch-tag-new ~/.notmuch-tag-new
inst local/bin/email-unread ~/.local/bin/email-unread
inst local/sbin/newmail-notify ~/.local/sbin/newmail-notify
inst private/msmtprc ~/.msmtprc
inst config/dodo/config.py ~/.config/dodo/config.py
inst private/astroid/config ~/.config/astroid/config
inst private/vdirsyncer/ ~/.vdirsyncer
inst config/khal/config ~/.config/khal/config
inst config/khard/khard.conf ~/.config/khard/khard.conf
inst_sync
fi
if ask "desktop" "Install desktop"; then
# Force some dconf settings
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.gnome.desktop.interface font-name 'Cantarell 8'
gsettings set org.gnome.desktop.interface gtk-key-theme 'Emacs'
gsettings set org.gnome.desktop.interface gtk-theme 'Nordic-darker-standard-buttons'
gsettings set org.gnome.desktop.interface icon-theme 'Nordzy'
gsettings set org.gnome.desktop.interface cursor-theme 'Nordzy-cursors'
# Theme
inst gtk-2.0/gtkrc ~/.gtkrc-2.0
inst config/Trolltech.conf ~/.config/Trolltech.conf
# TODO download https://github.com/EliverLara/Nordic/releases/download/v2.2.0/Nordic-darker-standard-buttons.tar.xz
# User directories
inst config/user-dirs.conf ~/.config/user-dirs.dirs
# Sway
inst local/bin/startsway ~/.local/bin/startsway
inst config/sway/ ~/.config/sway
inst Xdefaults ~/.Xdefaults
inst config/dunst/ ~/.config/dunst
inst config/waybar/ ~/.config/waybar
inst config/swaylock/ ~/.config/swaylock
inst config/swayidle/ ~/.config/swayidle
inst config/wofi/ ~/.config/wofi
inst config/systemd/user/waybar.service ~/.config/systemd/user/waybar.service
[ -f "private/kanshi/$(hostname)" ] &&
inst "private/kanshi/$(hostname)" ~/.config/kanshi/config
inst config/xdg-desktop-portal-wlr/ ~/.config/xdg-desktop-portal-wlr
inst local/bin/wlr-select-screen ~/.local/bin/wlr-select-screen
fi
if ask "alacritty" "Install configurations for terminal emulator"; then
inst config/alacritty.toml ~/.config/alacritty.toml
fi
if ask "mpd" "Install MPD configuration"; then
inst config/mpd/ ~/.config/mpd
fi
if ask "elektroline" "Install Elektroline scripts"; then
inst local/bin/elektroline-git-config ~/.local/bin/elektroline-git-config
inst local/bin/elektroline-windows ~/.local/bin/elektroline-windows
inst local/bin/elektroline00 ~/.local/bin/elektroline00
fi
if ask "wake" "Install wake-* scripts"; then
[ "$(hostname)" = "ridcully" ] ||
inst local/bin/wake-ridcully ~/.local/bin/wake-ridcully
[ "$(hostname)" = "errol" ] ||
inst local/bin/wake-errol ~/.local/bin/wake-errol
fi