setup_system.sh 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #!/bin/bash
  2. #the bare essentials
  3. sudo apt install -y vim
  4. ~/dotfiles/setup-vim.sh
  5. sudo apt install -y git
  6. cp ./scripts/vimv /usr/bin
  7. cp ./scripts/sync_keepass.sh
  8. #make home folders I'll need
  9. mkdir -p ~/screenshots
  10. mkdir -p ~/pictures
  11. mkdir -p ~/shared
  12. mkdir -p ~/downloads
  13. mkdir -p ~/util
  14. mkdir -p ~/.config
  15. #window manager
  16. sudo apt install -y sway
  17. sudo apt install -y xwayland #honestly half the shit I'm running still needs that
  18. sudo apt install -y swaybg
  19. sudo apt install -y swaylock
  20. ln -sn ~/dotfiles/devuan_setup/config/sway ~/.config/sway
  21. rm -rf ~/.profile
  22. rm -rf ~/.bashrc
  23. ln -sn ~/dotfiles/devuan_setup/.profile ~/.profile
  24. ln -sn ~/dotfiles/devuan_setup/config/user-dirs.dirs ~/.config/
  25. ln -sn ~/dotfiles/devuan_setup/.bashrc ~/.bashrc
  26. ln -sn ~/dotfiles/devuan_setup/scripts ~/scripts
  27. #so pasting works in the vim in the terminal
  28. sudo apt install -y wl-clipboard
  29. #install terminal emulator
  30. sudo apt install -y foot
  31. ln -sn ~/dotfiles/devuan_setup/config/foot ~/.config/foot
  32. #dialog boxes
  33. sudo apt install -y zenity
  34. #let there be sound (over bluetooth too)!
  35. sudo apt install -y pipewire
  36. sudo apt install -y pipewire-pulse
  37. sudo apt install -y xdg-desktop-portal-wlr
  38. sudo apt install -y pulsemixer
  39. sudo apt install -y bluez
  40. sudo apt install -y bluez-firmware
  41. sudo apt install -y bluez-tools
  42. #screen brightness control
  43. sudo apt install -y brightnessctl
  44. #battery measurement
  45. sudo apt install -y acpi
  46. sudo apt install -y acpid
  47. #displays "progress" bars - used for brightness and volume
  48. #sway config contains the named pipes necessary for it to work with my shortcuts
  49. sudo apt install -y wob
  50. ln -sn ~/dotfiles/devuan_setup/config/wob ~/.config/wob
  51. #launcher
  52. sudo apt install -y wofi
  53. ln -sn ~/dotfiles/devuan_setup/config/wofi ~/.config/wofi
  54. #wofi will search for desktop files in here
  55. mkdir -p ~/desktop
  56. ln -sn ~/dotfiles/devuan_setup/desktop/applications.txt ~/desktop/applications.txt
  57. #automount external drives
  58. sudo apt install -y udiskie
  59. #love2d stuff
  60. sudo apt install -y love
  61. sudo apt install -y apktool
  62. #actual programs
  63. sudo apt install -y zsh
  64. sudo apt install -y firefox-esr
  65. sudo apt install -y inkscape
  66. sudo apt install -y keepassxc
  67. sudo apt install -y calibre
  68. sudo apt install -y filezilla
  69. sudo apt install -y thunar
  70. sudo apt install -y krita
  71. sudo apt install -y lftp
  72. sudo apt install -y kdeconnect
  73. sudo apt remove -y thunar-volman
  74. #screenshots
  75. sudo apt install -y grimshot
  76. #work stuff
  77. sudo apt install -y git-flow
  78. sudo apt install -y docker.io
  79. sudo apt install -y npm
  80. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  81. DOCKER_COMPOSE_VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')
  82. DOCKER_COMPOSE_PATH=/usr/local/bin/docker-compose
  83. curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o $DOCKER_COMPOSE_PATH
  84. chmod 755 $DOCKER_COMPOSE_PATH
  85. #flatpak install flathub org.freedesktop.Platform/x86_64/19.08
  86. #wifi and bluetooth
  87. sudo apt install -y connman-gtk
  88. sudo cp ./config/connman/main.conf /etc/connman/main.conf
  89. sudo apt purge -y isc-dhcp-client
  90. sudo apt purge -y isc-dhcp-common
  91. sudo systemctl start systemd-networkd
  92. sudo systemctl enable systemd-networkd
  93. echo "For every interface in 'ip link', create a File like '/etc/systemd/network/05-wlp1s0.network', with the following content, adjusted for the interface:"
  94. echo "[Match]"
  95. echo "Name=wlp1s0"
  96. echo "[Network]"
  97. echo "DHCP=yes"
  98. #give user ability to shutdown
  99. sudo groupadd wheel
  100. sudo adduser bc wheel
  101. #sudo adduser wf wheel
  102. echo "%wheel ALL= NOPASSWD: /sbin/shutdown" | sudo tee -a /etc/sudoers > /dev/null
  103. echo "%wheel ALL= NOPASSWD: /sbin/reboot" | sudo tee -a /etc/sudoers > /dev/null