Skip to content

Commit 32e8e5b

Browse files
authored
feat(zsh): install GNU Stow on Ubuntu, Fedora, and macOS (#59)
This commit adds GNU Stow to the package installation steps for Ubuntu, Fedora, and macOS in the bootstrap script. - Ubuntu: Stow is added to the list of packages installed via apt. - Fedora: Stow is added to the list of packages installed via dnf. - macOS: Stow is installed via brew. Closes #50
1 parent ee49a5d commit 32e8e5b

File tree

1 file changed

+59
-72
lines changed

1 file changed

+59
-72
lines changed

bootstrap

Lines changed: 59 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -7,92 +7,78 @@ echo "[SYSTEM]--> OS=$OS"
77
echo "[SYSTEM]--> DOTFILES_HOME=$DOTFILES_HOME"
88

99
# Install packages
10-
if [ $OS = "\"Ubuntu\"" ]
11-
then
12-
echo "[UBUNTU] Install essential packages via APT"
13-
sudo apt install --yes curl \
14-
gawk \
15-
tmux \
16-
zsh \
17-
neovim \
18-
jq \
19-
git
20-
21-
echo "[UBUNTU] Install snaps"
22-
sudo snap install --classic code
23-
sudo snap install postman
24-
25-
echo "[1password] Visit: https://support.1password.com/install-linux/"
26-
if [ ! -f /usr/share/keyrings/1password-archive-keyring.gpg ]; then
27-
echo "[1password] Add the key for the 1Password apt repository."
28-
curl -sS https://downloads.1password.com/linux/keys/1password.asc | sudo gpg --dearmor --output /usr/share/keyrings/1password-archive-keyring.gpg
29-
fi
30-
31-
32-
echo "[1password] Add the debsig-verify policy"
33-
if [ ! -d /etc/debsig/policies/AC2D62742012EA22/ ]; then
34-
sudo mkdir -p /etc/debsig/policies/AC2D62742012EA22/
35-
curl -sS https://downloads.1password.com/linux/debian/debsig/1password.pol | sudo tee /etc/debsig/policies/AC2D62742012EA22/1password.pol
36-
fi
37-
38-
if [ ! -f /etc/apt/sources.list.d/1password.list ]; then
39-
echo "[1password] Add the 1Password apt repository"
40-
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/1password-archive-keyring.gpg] https://downloads.1password.com/linux/debian/amd64 stable main' | sudo tee /etc/apt/sources.list.d/1password.list
41-
sudo apt update
42-
fi
43-
44-
if [ ! -d /usr/share/debsig/keyrings/AC2D62742012EA22 ]; then
45-
sudo mkdir -p /usr/share/debsig/keyrings/AC2D62742012EA22
46-
curl -sS https://downloads.1password.com/linux/keys/1password.asc | sudo gpg --dearmor --output /usr/share/debsig/keyrings/AC2D62742012EA22/debsig.gpg
47-
fi
48-
fi
10+
if [ $OS = "\"Ubuntu\"" ]; then
11+
echo "[UBUNTU] Install essential packages via APT"
12+
sudo apt install --yes curl gawk tmux zsh neovim jq git stow
13+
14+
echo "[UBUNTU] Install snaps"
15+
sudo snap install --classic code
16+
sudo snap install postman
4917

50-
if [ $OS = "\"Fedora Linux\"" ]
51-
then
52-
echo "[FEDORA] Install essential packages via DNF"
53-
sudo dnf install -y curl \
54-
gawk \
55-
git \
56-
gitk \
57-
tmux \
58-
zsh \
59-
neovim \
60-
jq
61-
62-
63-
if [ ! -f /etc/yum.repos.d/1password.repo ]; then
6418
echo "[1password] Visit: https://support.1password.com/install-linux/"
65-
echo "[1password] Add the key for the 1Password yum repository."
66-
sudo rpm --import https://downloads.1password.com/linux/keys/1password.asc
67-
echo "[1password] Add the 1Password yum repository."
68-
sudo sh -c 'echo -e "[1password]\nname=1Password Stable Channel\nbaseurl=https://downloads.1password.com/linux/rpm/stable/\$basearch\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=\"https://downloads.1password.com/linux/keys/1password.asc\"" > /etc/yum.repos.d/1password.repo'
69-
echo "[1password] Install 1Password."
70-
sudo dnf install -y 1password
71-
fi
19+
if [ ! -f /usr/share/keyrings/1password-archive-keyring.gpg ]; then
20+
echo "[1password] Add the key for the 1Password apt repository."
21+
curl -sS https://downloads.1password.com/linux/keys/1password.asc | sudo gpg --dearmor --output /usr/share/keyrings/1password-archive-keyring.gpg
22+
fi
23+
24+
echo "[1password] Add the debsig-verify policy"
25+
if [ ! -d /etc/debsig/policies/AC2D62742012EA22/ ]; then
26+
sudo mkdir -p /etc/debsig/policies/AC2D62742012EA22/
27+
curl -sS https://downloads.1password.com/linux/debian/debsig/1password.pol | sudo tee /etc/debsig/policies/AC2D62742012EA22/1password.pol
28+
fi
29+
30+
if [ ! -f /etc/apt/sources.list.d/1password.list ]; then
31+
echo "[1password] Add the 1Password apt repository"
32+
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/1password-archive-keyring.gpg] https://downloads.1password.com/linux/debian/amd64 stable main' | sudo tee /etc/apt/sources.list.d/1password.list
33+
sudo apt update
34+
fi
35+
36+
if [ ! -d /usr/share/debsig/keyrings/AC2D62742012EA22 ]; then
37+
sudo mkdir -p /usr/share/debsig/keyrings/AC2D62742012EA22
38+
curl -sS https://downloads.1password.com/linux/keys/1password.asc | sudo gpg --dearmor --output /usr/share/debsig/keyrings/AC2D62742012EA22/debsig.gpg
39+
fi
40+
fi
41+
42+
if [ $OS = "\"Fedora Linux\"" ]; then
43+
echo "[FEDORA] Install essential packages via DNF"
44+
sudo dnf install -y curl gawk git gitk tmux zsh neovim jq
45+
46+
if [ ! -f /etc/yum.repos.d/1password.repo ]; then
47+
echo "[1password] Visit: https://support.1password.com/install-linux/"
48+
echo "[1password] Add the key for the 1Password yum repository."
49+
sudo rpm --import https://downloads.1password.com/linux/keys/1password.asc
50+
echo "[1password] Add the 1Password yum repository."
51+
sudo sh -c 'echo -e "[1password]\nname=1Password Stable Channel\nbaseurl=https://downloads.1password.com/linux/rpm/stable/\$basearch\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=\"https://downloads.1password.com/linux/keys/1password.asc\"" > /etc/yum.repos.d/1password.repo'
52+
echo "[1password] Install 1Password."
53+
sudo dnf install -y 1password
54+
fi
55+
fi
56+
57+
if [ "$OS" = "\"Darwin\"" ]; then
58+
echo "[MACOS] Install GNU Stow via Brew"
59+
brew install git stow
7260
fi
7361

7462
echo "[NEOVIM] Config neovim"
7563
[ ! -d $HOME/.config/nvim ] && mkdir $HOME/.config/nvim
7664
if [ ! -f $HOME/.local/share/nvim/site/autoload/plug.vim ]; then
77-
mkdir -p $HOME/.local/share/nvim/site/autoload/
78-
curl -o $HOME/.local/share/nvim/site/autoload/plug.vim https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
65+
mkdir -p $HOME/.local/share/nvim/site/autoload/
66+
curl -o $HOME/.local/share/nvim/site/autoload/plug.vim https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
7967
fi
8068
if [ ! -f $HOME/.config/nvim/init.vim ]; then
81-
ln -s $DOTFILES_HOME/vimrc.vim $HOME/.config/nvim/init.vim
69+
ln -s $DOTFILES_HOME/vimrc.vim $HOME/.config/nvim/init.vim
8270
fi
8371

84-
8572
if [ ! -d $HOME/.local/share/fonts/ ]; then
86-
echo "---> Install fonts ..."
87-
mkdir -p $HOME/.local/share/fonts/
73+
echo "---> Install fonts ..."
74+
mkdir -p $HOME/.local/share/fonts/
8875

89-
curl -fL https://github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/DroidSansMono/DroidSansMNerdFont-Regular.otf --output $HOME/.local/share/fonts/DroidSansMNerdFont-Regular.otf
90-
curl -fL https://github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/JetBrainsMono/Ligatures/Regular/JetBrainsMonoNerdFont-Regular.ttf --output $HOME/.local/share/fonts/JetBrainsMonoNerdFont-Regular.ttf
91-
curl -fL https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Meslo/L/Regular/MesloLGLNerdFont-Regular.ttf --output $HOME/.local/share/fonts/MesloLGLNerdFont-Regular.ttf
92-
curl -fL https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Regular/UbuntuNerdFont-Regular.ttf --output $HOME/.local/share/fonts/UbuntuNerdFont-Regular.ttf
76+
curl -fL https://github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/DroidSansMono/DroidSansMNerdFont-Regular.otf --output $HOME/.local/share/fonts/DroidSansMNerdFont-Regular.otf
77+
curl -fL https://github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/JetBrainsMono/Ligatures/Regular/JetBrainsMonoNerdFont-Regular.ttf --output $HOME/.local/share/fonts/JetBrainsMonoNerdFont-Regular.ttf
78+
curl -fL https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Meslo/L/Regular/MesloLGLNerdFont-Regular.ttf --output $HOME/.local/share/fonts/MesloLGLNerdFont-Regular.ttf
79+
curl -fL https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Regular/UbuntuNerdFont-Regular.ttf --output $HOME/.local/share/fonts/UbuntuNerdFont-Regular.ttf
9380
fi
9481

95-
9682
echo "[ZSH] Current shell is $SHELL, choosing zsh default..." && chsh -s $(which zsh)
9783
[ ! -f $HOME/.zshrc ] && ln -s $DOTFILES_HOME/zshrc $HOME/.zshrc
9884
[ ! -f $HOME/.asdfrc ] && ln -s $DOTFILES_HOME/asdfrc $HOME/.asdfrc
@@ -102,4 +88,5 @@ echo "[ZSH] Current shell is $SHELL, choosing zsh default..." && chsh -s $(which
10288
[ ! -f $HOME/.gitconfig ] && ln -s $DOTFILES_HOME/gitconfig $HOME/.gitconfig
10389
[ ! -f $HOME/.gitignore_global ] && ln -s $DOTFILES_HOME/gitignore_global $HOME/.gitignore_global
10490

105-
echo "Install ZSH plugin with: \`zplug install\`"
91+
echo "Install ZSH plugin with: \`zplug install\`"
92+

0 commit comments

Comments
 (0)