Dotfiles, utilities, and other apparatus.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
3.2 KiB

  1. #!/bin/sh
  2. KIT_ROOT=$(pwd)
  3. echo "installing kit from $KIT_ROOT"
  4. echo 'installing package prereqs'
  5. sudo apt-get install build-essential xterm tmux vim perl ack-grep \
  6. git git-gui htop zsh suckless-tools figlet xmonad trayer xmobar \
  7. volumeicon-alsa diodon curl jq byzanz festival redshift-gtk ranger \
  8. rofi xsettingsd wmctrl lynx perl-doc dict moreutils myrepos etckeeper \
  9. bzr cvs darcs mercurial subversion subversion-tools dunst i3lock \
  10. fzf xclip xsel xautolock pngphoon tree scrot pandoc dnsutils \
  11. pasystray pavucontrol exa shellcheck \
  12. bsdmainutils \
  13. calendar \
  14. visidata \
  15. sqlite3 \
  16. konsole \
  17. cabal-install \
  18. ncdu \
  19. yubikey-manager
  20. echo 'installing pandoc from cabal'
  21. cabal update
  22. cabal install pandoc
  23. echo 'installing some extra fonts'
  24. sudo apt-get install fonts-noto-color-emoji fonts-liberation fonts-roboto-hinted texlive-fonts-extra
  25. echo 'installing perl dependencies'
  26. # TODO: Some of these belong with specific progs:
  27. sudo cpan -i Module::Build App::WRT DBI SQL::Abstract DBD::SQLite XML::FeedPP
  28. echo 'installing python dependencies and utils'
  29. sudo apt-get install python3-pip
  30. pip3 install panflute
  31. pip3 install mastodon-archive
  32. pip3 install pinboard-to-sqlite
  33. pip3 install virtualenv
  34. echo 'vim setup'
  35. if [ -e ~/.vim ]; then
  36. echo 'a ~/.vim exists'
  37. else
  38. ln -s "$KIT_ROOT/home/.vim" "$HOME/.vim"
  39. fi
  40. mkdir -p ~/.vim/bundle
  41. if [ ! -d ~/.vim/bundle/Vundle.vim ]; then
  42. git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
  43. fi
  44. vim +PluginInstall
  45. echo 'xmonad setup'
  46. echo "(don't forget to point /usr/share/xsessions/xmonad.desktop at xmonad.start)"
  47. if [ ! -d ~/.xmonad ]; then
  48. ln -s "$KIT_ROOT/home/.xmonad" "$HOME/.xmonad"
  49. fi
  50. if [ ! -f ~/.xmobarrc ]; then
  51. ln -s "$KIT_ROOT/home/.xmobarrc" "$HOME/.xmobarrc"
  52. fi
  53. if [ ! -f ~/.xsettingsd ]; then
  54. ln -s "$KIT_ROOT/home/.xsettingsd" "$HOME/.xsettingsd"
  55. fi
  56. # shellcheck disable=SC2088
  57. echo '~/bin'
  58. if [ ! -d ~/bin ]; then
  59. ln -s "$KIT_ROOT/home/bin" "$HOME/bin"
  60. fi
  61. # shellcheck disable=SC2088
  62. echo '~/fragments'
  63. if [ ! -d ~/fragments ]; then
  64. ln -s "$KIT_ROOT/home/fragments" "$HOME/fragments"
  65. fi
  66. # shellcheck disable=SC2088
  67. echo '~/cheatsheets'
  68. if [ ! -d ~/cheatsheets ]; then
  69. ln -s "$KIT_ROOT/home/cheatsheets" "$HOME/cheatsheets"
  70. fi
  71. echo 'shell setup'
  72. if [ ! -f ~/.zshrc ]; then
  73. ln -s "$KIT_ROOT/home/.zshrc" "$HOME/.zshrc"
  74. fi
  75. if [ ! -f ~/.bashrc ]; then
  76. ln -s "$KIT_ROOT/home/.bashrc" "$HOME/.bashrc"
  77. fi
  78. if [ ! -f ~/.sh_common ]; then
  79. ln -s "$KIT_ROOT/home/.sh_common" "$HOME/.sh_common"
  80. fi
  81. echo 'tmux / screen setup'
  82. if [ ! -f ~/.tmux.conf ]; then
  83. ln -s "$KIT_ROOT/home/.tmux.conf" "$HOME/.tmux.conf"
  84. fi
  85. if [ ! -f ~/.screenrc ]; then
  86. ln -s "$KIT_ROOT/home/.screenrc" "$HOME/.screenrc"
  87. fi
  88. echo 'git setup'
  89. if [ ! -f ~/.gitconfig ]; then
  90. ln -s "$KIT_ROOT/home/.gitconfig" "$HOME/.gitconfig"
  91. fi
  92. echo 'lynx setup'
  93. if [ ! -f ~/.lynxrc ]; then
  94. ln -s "$KIT_ROOT/home/.lynxrc" "$HOME/.lynxrc"
  95. fi
  96. echo 'keyboard setup (Ctrl and CapsLock swap)'
  97. sudo cp etc/default/keyboard /etc/default/keyboard
  98. echo 'Remember to:'
  99. echo ' - install commandlog from https://code.p1k3.com/gitea/brennen/commandlog'
  100. echo ' - chsh'