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.

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