83 lines
2.4 KiB
Bash
Executable file
83 lines
2.4 KiB
Bash
Executable file
#!/bin/bash
|
|
#These are the programs I expect to find on any install
|
|
function dpkg_url() {
|
|
local tmp_deb="$(mktemp)"
|
|
local src_url=$1
|
|
local args=${@:2}
|
|
|
|
wget -q --show-progress -O $tmp_deb $src_url &&
|
|
sudo dpkg -i $tmp_deb $args &&
|
|
{
|
|
rm -f $tmp_deb
|
|
true
|
|
} || # commands above succeeded, remove tmp file
|
|
{
|
|
rm -f $tmp_deb
|
|
false
|
|
} # commands above failed, remove tmp file anyway
|
|
}
|
|
|
|
# installing base dependencies
|
|
sudo apt -my install \
|
|
ack \
|
|
aptitude \
|
|
curl \
|
|
etckeeper \
|
|
fzf \
|
|
git \
|
|
grc \
|
|
htop \
|
|
libfuse2 \
|
|
lua5.1 \
|
|
luarocks \
|
|
make \
|
|
mc \
|
|
nala \
|
|
ncdu \
|
|
nnn \
|
|
powerline \
|
|
ripgrep \
|
|
shellcheck \
|
|
stow \
|
|
tmux \
|
|
trash-cli \
|
|
tree \
|
|
vim \
|
|
wget \
|
|
zsh
|
|
|
|
release=$(lsb_release -cs)
|
|
if [[ $release == jammy || $release == noble ]]; then
|
|
sudo apt install \
|
|
duf \
|
|
btop
|
|
fi
|
|
|
|
read -n1 -p $'Does this system need a ssh server?\n' REPLY
|
|
if [[ $REPLY == [Yy] ]]; then
|
|
sudo apt install openssh-server fail2ban
|
|
fi
|
|
read -n1 -p $'\nDoes this system have a GUI?\n' REPLY
|
|
if [[ $REPLY == [Yy] ]]; then
|
|
sudo apt install synaptic flatpak
|
|
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
fi
|
|
|
|
#This section installs software outside apt
|
|
dpkg_url https://github.com/dandavison/delta/releases/download/0.18.2/git-delta_0.18.2_amd64.deb
|
|
git config --global core.pager delta
|
|
git config --global interactive.diffFilter 'delta --color-only'
|
|
git config --global delta.navigate true
|
|
git config --global merge.conflictStyle zdiff3
|
|
dpkg_url https://github.com/bootandy/dust/releases/download/v1.2.3/du-dust_1.2.3-1_amd64.deb
|
|
dpkg_url https://github.com/charmbracelet/glow/releases/download/v2.1.1/glow_2.1.1_amd64.deb
|
|
dpkg_url https://github.com/ClementTsang/bottom/releases/download/0.11.1/bottom_0.11.1-1_amd64.deb
|
|
dpkg_url https://github.com/sharkdp/bat/releases/download/v0.25.0/bat_0.25.0_amd64.tmp_deb
|
|
dpkg_url https://github.com/sharkdp/fd/releases/download/v10.3.0/fd_10.3.0_amd64.deb
|
|
|
|
echo "Install lazygit"
|
|
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')
|
|
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
|
|
tar xf lazygit.tar.gz lazygit
|
|
sudo install lazygit -D -t /usr/local/bin/
|
|
trash lazygit lazygit.tar.gz
|