setup_system.sh 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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 alacritty
  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 gimp
  72. sudo apt install -y lftp
  73. sudo apt install -y kdeconnect
  74. sudo apt install -y wf-recorder
  75. sudo apt remove -y thunar-volman
  76. #screenshots
  77. sudo apt install -y grimshot
  78. #work stuff
  79. sudo apt install -y git-flow
  80. sudo apt install -y docker.io
  81. sudo apt install -y npm
  82. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  83. DOCKER_COMPOSE_VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')
  84. DOCKER_COMPOSE_PATH=/usr/local/bin/docker-compose
  85. curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o $DOCKER_COMPOSE_PATH
  86. chmod 755 $DOCKER_COMPOSE_PATH
  87. #flatpak install flathub org.freedesktop.Platform/x86_64/19.08
  88. #wifi and bluetooth
  89. sudo apt install -y connman-gtk
  90. sudo cp ./config/connman/main.conf /etc/connman/main.conf
  91. sudo apt purge -y isc-dhcp-client
  92. sudo apt purge -y isc-dhcp-common
  93. sudo systemctl start systemd-networkd
  94. sudo systemctl enable systemd-networkd
  95. 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:"
  96. echo "[Match]"
  97. echo "Name=wlp1s0"
  98. echo "[Network]"
  99. echo "DHCP=yes"
  100. #give user ability to shutdown
  101. sudo groupadd wheel
  102. sudo adduser bc wheel
  103. #sudo adduser wf wheel
  104. echo "%wheel ALL= NOPASSWD: /sbin/shutdown" | sudo tee -a /etc/sudoers > /dev/null
  105. echo "%wheel ALL= NOPASSWD: /sbin/reboot" | sudo tee -a /etc/sudoers > /dev/null