|
|
- #!/bin/sh
-
- KIT_ROOT=$(pwd)
-
- echo "installing kit from $KIT_ROOT"
-
- echo 'installing package prereqs'
- sudo apt-get install build-essential xterm tmux vim perl ack-grep \
- git git-gui htop zsh suckless-tools figlet xmonad trayer xmobar \
- volumeicon-alsa diodon curl jq byzanz festival redshift-gtk ranger \
- rofi xsettingsd wmctrl lynx perl-doc dict moreutils myrepos etckeeper \
- bzr cvs darcs mercurial subversion subversion-tools dunst i3lock \
- fzf xclip xsel xautolock pngphoon tree scrot pandoc dnsutils \
- pasystray pavucontrol exa shellcheck \
- bsdmainutils \
- calendar \
- visidata \
- sqlite3 \
- konsole \
- cabal-install \
- ncdu \
- yubikey-manager \
- mosh \
- xcalib \
- icc-profiles
-
- echo 'installing some extra fonts'
- sudo apt-get install fonts-noto-color-emoji fonts-liberation fonts-roboto-hinted texlive-fonts-extra
-
- echo 'installing pandoc from cabal'
- # TODO: restore this or put it elsewhere
- # cabal update
- # cabal install pandoc --lib pandoc pandoc
-
- echo 'installing perl dependencies'
- # TODO: Some of these belong with specific progs:
- sudo cpan -i Module::Build App::WRT DBI SQL::Abstract DBD::SQLite XML::FeedPP
-
- # TODO: These need to go in a venv now?
- echo 'installing python dependencies and utils'
- sudo apt-get install python3-pip
-
- if [ ! -d ~/python_bullshit ]; then
- python3 -m venv ~/python_bullshit
- ~/python_bullshit/bin/pip3 install panflute
- ~/python_bullshit/bin/pip3 install mastodon-archive
- ~/python_bullshit/bin/pip3 install pinboard-to-sqlite
- ~/python_bullshit/bin/pip3 install virtualenv
- fi
-
- echo 'vim setup'
- if [ -e ~/.vim ]; then
- echo 'a ~/.vim exists'
- else
- ln -s "$KIT_ROOT/home/.vim" "$HOME/.vim"
- fi
-
- mkdir -p ~/.vim/bundle
- if [ ! -d ~/.vim/bundle/Vundle.vim ]; then
- git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- fi
- vim +PluginInstall
-
- echo 'xmonad setup'
- echo "(don't forget to point /usr/share/xsessions/xmonad.desktop at xmonad.start)"
- if [ ! -d ~/.xmonad ]; then
- ln -s "$KIT_ROOT/home/.xmonad" "$HOME/.xmonad"
- fi
- if [ ! -f ~/.xmobarrc ]; then
- ln -s "$KIT_ROOT/home/.xmobarrc" "$HOME/.xmobarrc"
- fi
- if [ ! -f ~/.xsettingsd ]; then
- ln -s "$KIT_ROOT/home/.xsettingsd" "$HOME/.xsettingsd"
- fi
-
- # shellcheck disable=SC2088
- echo '~/bin'
- if [ ! -d ~/bin ]; then
- ln -s "$KIT_ROOT/home/bin" "$HOME/bin"
- fi
-
- # shellcheck disable=SC2088
- echo '~/fragments'
- if [ ! -d ~/fragments ]; then
- ln -s "$KIT_ROOT/home/fragments" "$HOME/fragments"
- fi
-
- # shellcheck disable=SC2088
- echo '~/cheatsheets'
- if [ ! -d ~/cheatsheets ]; then
- ln -s "$KIT_ROOT/home/cheatsheets" "$HOME/cheatsheets"
- fi
-
- echo 'shell setup'
- if [ ! -f ~/.zshrc ]; then
- ln -s "$KIT_ROOT/home/.zshrc" "$HOME/.zshrc"
- fi
- if [ ! -f ~/.bashrc ]; then
- ln -s "$KIT_ROOT/home/.bashrc" "$HOME/.bashrc"
- fi
- if [ ! -f ~/.sh_common ]; then
- ln -s "$KIT_ROOT/home/.sh_common" "$HOME/.sh_common"
- fi
-
- echo 'tmux / screen setup'
- if [ ! -f ~/.tmux.conf ]; then
- ln -s "$KIT_ROOT/home/.tmux.conf" "$HOME/.tmux.conf"
- fi
- if [ ! -f ~/.screenrc ]; then
- ln -s "$KIT_ROOT/home/.screenrc" "$HOME/.screenrc"
- fi
-
- echo 'git setup'
- if [ ! -f ~/.gitconfig ]; then
- ln -s "$KIT_ROOT/home/.gitconfig" "$HOME/.gitconfig"
- fi
-
- echo 'lynx setup'
- if [ ! -f ~/.lynxrc ]; then
- ln -s "$KIT_ROOT/home/.lynxrc" "$HOME/.lynxrc"
- fi
-
- echo 'keyboard setup (Ctrl and CapsLock swap)'
- sudo cp etc/default/keyboard /etc/default/keyboard
- # TODO: This worked on Debian 12 to trigger the new setup - I _think_.
- # Not sure if it's taken on a reboot or if I need to add a rule
- # or something to run each time.
- #
- # Sources: https://wiki.debian.org/Keyboard
- sudo udevadm trigger --subsystem-match=input --action=change
-
- echo 'Remember to:'
- echo ' - install commandlog from https://code.p1k3.com/gitea/brennen/commandlog'
- echo ' - chsh'
|