setup_system.sh 3.7 KB

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