Skip to content

Instantly share code, notes, and snippets.

@MrDrMcCoy
Last active August 24, 2023 16:29
Show Gist options
  • Save MrDrMcCoy/c23f1d215b8725ac3e1193686b7ebbfc to your computer and use it in GitHub Desktop.
Save MrDrMcCoy/c23f1d215b8725ac3e1193686b7ebbfc to your computer and use it in GitHub Desktop.
#!/bin/bash
set -o pipefail
set -s
#####
# This script will take a fresh Solus install and make it suitable for getting stuff done.
#####
trap exit SIGINT SIGTERM
##### remove sudo reauthentication timeout
sudo sed -i.bak -e '$a\' -e 'Defaults timestamp_timeout=-1' -e '/Defaults timestamp_timeout=.*/d' /etc/sudoers
##### set better ssh defaults
sudo sed -i.bak -e '$a\' -e 'StrictHostKeyChecking=no' -e '/StrictHostKeyChecking=.*/d' /etc/ssh/ssh_config
sudo sed -i.bak -e '$a\' -e 'UserKnownHostsFile=\/dev\/null' -e '/UserKnownHostsFile=.*/d' /etc/ssh/ssh_config
sudo sed -i.bak -e '$a\' -e 'GlobalKnownHostsFile=\/dev\/null' -e '/GlobalKnownHostsFile=.*/d' /etc/ssh/ssh_config
sudo sed -i.bak -e '$a\' -e 'Compression=yes' -e '/Compression=.*/d' /etc/ssh/ssh_config
#### Remove useless default apps
sudo eopkg remove -y\
gnome-mpv\
hexchat\
rhythmbox\
thunderbird\
transmission\
# Install packages from standard repo
sudo eopkg install -y\
ardour\
aria2\
audacity\
autokey-py3\
blender\
calibre\
cifs-utils\
davfs2\
dbeaver\
discord\
docker{,-compose,-machine}\
gimp\
git\
gnome-boxes\
htop\
icedtea-web\
inkscape\
intel-microcode\
iotop\
keepassx\
kitematic\
libinput\
lkvm\
lxc\
man-pages\
minikube\
mtr\
mumble\
nextcloud-client\
nload\
openshot-qt\
p7zip\
pavucontrol\
pidgin{,-otr,-sipe}\
pinta\
playonlinux\
powertop\
purple-{hangouts,facebook}\
pv\
pylint\
qbittorrent\
qemu\
rawtherapee\
remmina\
resynthesizer\
retext\
rsync\
ruby\
scribus\
shellcheck\
shotcut\
signal-desktop\
sshfs-fuse\
steam\
tlp\
umbrello\
unrar\
virt-manager\
virtualbox{,-current}\
vlc\
vscode\
wine\
#### Compile 3rd-party packages
sudo eopkg bi --ignore-safety -y\
https://raw.githubusercontent.com/solus-project/3rd-party/master/desktop/font/mscorefonts/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/multimedia/music/spotify/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/multimedia/video/flash-player-npapi/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/multimedia/video/flash-player-ppapi/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/network/im/skype/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/network/im/slack-desktop/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/network/util/teamviewer/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/network/web/browser/google-chrome-stable/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/office/wps-office/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/programming/pycharm/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/programming/tools/android-tools/pspec.xml\
https://raw.githubusercontent.com/solus-project/3rd-party/master/security/enpass/pspec.xml\
#### Install and clean 3rd-party packages
sudo eopkg install -y *.eopkg && sudo rm -v *.eopkg
#### Set up Visual Studio Code extensions
#code-oss --install-extension Tyriar.sort-lines
#code-oss --install-extension haaaad.ansible
#code-oss --install-extension lukehoban.go
#code-oss --install-extension ms-python.python
#code-oss --install-extension redhat.vscode-yaml
#code-oss --install-extension shardulm94.trailing-spaces
#code-oss --install-extension shd101wyy.markdown-preview-enhanced
#code-oss --install-extension timonwong.shellcheck
#code-oss --install-extension wholroyd.jinja
#code-oss --install-extension yzhang.markdown-all-in-one
#### Add user to groups
for group in davfs2 docker input fuse libvirt vboxusers ; do
sudo gpasswd -a $USER $group
done
#### Install rubygems
git clone https://github.com/rubygems/rubygems.git
cd rubygems
git submodule update --init
sudo ruby setup.rb
cd ..
rm -fr rubygems
#### Install fusuma
sudo gem install fusuma
gsettings set org.gnome.desktop.peripherals.touchpad send-events enabled
mkdir ~/.config/fusuma
cat << EOF > ~/.config/fusuma/config.yml
swipe:
3:
up:
shortcut: 'ctrl+t'
down:
shortcut: 'ctrl+w'
left:
shortcut: 'ctrl+shift+Tab'
right:
shortcut: 'ctrl+Tab'
pinch:
in:
shortcut: 'ctrl+plus'
out:
shortcut: 'ctrl+minus'
threshold:
swipe: 0.8
pinch: 0.8
interval:
swipe: 0.8
pinch: 0.8
EOF
cat << EOF > ~/.config/autostart/Fusuma.desktop
[Desktop Entry]
Type=Application
Name=Fusuma
Description=Swiping gestures!
Exec=fusuma
EOF
echo "You should probably reboot"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment