-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfirst-time-setup.sh
More file actions
executable file
·121 lines (103 loc) · 4.18 KB
/
first-time-setup.sh
File metadata and controls
executable file
·121 lines (103 loc) · 4.18 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
#!/bin/bash
# Import distro info variables
. /etc/os-release;
PUT_IN_BASHRC=". ~/dotfiles/.bashrc"
if ! grep -q "$PUT_IN_BASHRC" ~/.bashrc;
then
echo -e "\n$PUT_IN_BASHRC\n" >> ~/.bashrc
fi
# Packages to install
PACKAGES=(
vim
curl
tmux
automake
build-essential
terminator
)
# Prompt to install packages
read -p "Install packages? [N|y] " -n 1 -r
echo
if [[ "$REPLY" =~ ^[Yy]$ ]] # if yes
then
if [ "$ID_LIKE" == "debian" ];
then
sudo apt-get update
sudo apt-get install ${PACKAGES[@]}
read -p "Install neovim? [N|y] " -n 1 -r && echo
[[ "$REPLY" =~ ^[Yy]$ ]] && \
sudo apt install -y neovim && \
pip install --user neovim && \
npm i -g neovim
elif [ "$ID" == "fedora" ];
then
sudo dnf install -y vim \
curl \
tmux \
automake \
terminator \
read -p "Install neovim? [N|y] " -n 1 -r && echo
[[ "$REPLY" =~ ^[Yy]$ ]] && \
sudo dnf install -y neovim && \
pip install --user neovim && \
npm i -g neovim
read -p "Install logid? [N|y] " -n 1 -r && echo
[[ "$REPLY" =~ ^[Yy]$ ]] && \
sudo dnf install -y logid && \
sudo ln -sf ~/dotfiles/logid.cfg /etc/logid.cfg &&
sudo systemctl enable logid &&
sudo systemctl start logid
elif [ "$ID" == "arch" ];
then
sudo pacman -Su ${PACKAGES[@]}
fi
fi
if ps aux | grep -q gnome-shell;
then
dconf write /org/gnome/desktop/interface/enable-animations false
# kb & mouse
dconf write /org/gnome/desktop/peripherals/mouse/accel-profile \'flat\'
dconf write /org/gnome/desktop/interface/gtk-enable-primary-paste false
dconf write /org/gnome/desktop/input-sources/show-all-sources true
dconf write /org/gnome/desktop/input-sources/xkb-options "['grp:alt_shift_toggle', 'grp:win_space_toggle']"
dconf write /org/gnome/desktop/wm/preferences/mouse-button-modifier "'<Alt>'"
dconf write /org/gnome/desktop/wm/preferences/resize-with-right-button true
dconf write /org/gnome/desktop/input-sources/sources "[('xkb', 'us'), ('xkb', 'no')]"
# kb shortcuts
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding "'<Primary><Alt>t'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-terminal'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'Terminal'"
if [ "$ID" == "fedora" ]; then
dconf write /org/gnome/settings-daemon/plugins/media-keys/home "['<Super>e']"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']"
else
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/binding "'<Super>e'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/command "'nautilus'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/name "'nautilus'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']"
fi
fi
if [ ! -e "${XDG_DATA_HOME:-$HOME/.local/share}/nvim/site/autoload/plug.vim" ];
then
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
fi
# Create symlinks
ln -sf ~/dotfiles/.vimrc ~
ln -sf ~/dotfiles/.tmux.conf ~
ln -sf ~/dotfiles/.inputrc ~
ln -sf ~/dotfiles/.psqlrc ~
ln -sf ~/dotfiles/.git{config,ignore_global} ~
ln -sf ~/dotfiles/.vimrc ~/.vim/init.vim
ln -sf ~/dotfiles/home-manager/ .config/
# Create folders for nvim
mkdir -p \
~/.config \
~/.local/share/nvim/backup \
~/.config/terminator
ln -sf ~/.vim ~/.config/nvim
ln -sf ~/dotfiles/terminator.config ~/.config/terminator/config
ln -s ~/dotfiles/.vimrc .config/nvim/init.vim
# Install vim plugins
vim +PlugInstall +qall
source ~/.bashrc