Skip to content

Instantly share code, notes, and snippets.

@justafish
Last active February 12, 2019 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save justafish/828fce595dd73cdcf4e53240d8c6f78a to your computer and use it in GitHub Desktop.
Save justafish/828fce595dd73cdcf4e53240d8c6f78a to your computer and use it in GitHub Desktop.
# KDE Backports
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt-get update
sudo apt-get install curl
# Yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
# Albert
wget -nv -O Release.key \
https://build.opensuse.org/projects/home:manuelschneid3r/public_key
sudo apt-key add - < Release.key
sudo apt-get update
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_18.04/ /' > /etc/apt/sources.list.d/home:manuelschneid3r.list"
sudo apt-get update
# Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
# Software
sudo apt-get install build-essential sysfsutils vim git curl zsh fonts-firacode plasma-discover-snap-backend openvpn network-manager-openvpn albert docker-ce latte-dock yarn zenmap wireshark vlc make
snap install circleci google-play-music-desktop-player phpstorm postman slack webstorm simplescreenrecorder pavucontrol
pkcon install -y
zoom?
chrome?
franz?
# Fix sleep
echo 'power/mem_sleep = deep' | sudo tee --append /etc/sysfs.d/mem_sleep.conf
# ZSH
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
sed -i 's/ZSH_THEME=".*"/ZSH_THEME="agnoster"/' ~/.zshrc
echo "emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'" >> ~/.zprofile
# Terminal
echo "[Appearance]
ColorScheme=Solarized
Font=Fira Code Retina,11,-1,0,53,0,0,0,0,0,Regular
UseFontLineChararacters=true
[General]
Name=justafish
Parent=FALLBACK/" > ~/.local/share/konsole/justafish.profile
echo "[Desktop Entry]
DefaultProfile=justafish.profile
[Favorite Profiles]
Favorites=justafish.profile
[MainWindow]
Height 1080=977
Height 1440=668
Height 2160=2062
Height 540=467
Height 720=643
State=AAAA/wAAAAD9AAAAAAAAB4AAAAP9AAAABAAAAAQAAAAIAAAACPwAAAAA
ToolBarsMovable=Disabled
Width 1280=636
Width 1920=1920
Width 2560=1280
Width 3840=3840
Width 960=950
Window-Maximized 1080x1920=true
Window-Maximized 1440x2560=true
Window-Maximized 2160x3840=true
Window-Maximized 540x960=true
Window-Maximized 720x1280=true
[TabBar]
ShowQuickButtons=true
TabBarPosition=Top
" > ~/.config/konsolerc
# Docker
sudo docker run hello-world
sudo usermod -aG docker $USER
docker run hello-world
sudo systemctl enable docker
# Check this version periodically?
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# Dropbox
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
~/.dropbox-dist/dropboxd
mkdir -p ~/.local/share/applications
echo '[Desktop Entry]
Name=Dropbox
GenericName=File Synchronizer
Comment=Sync your files across computers and to the web
Exec=QT_QPA_PLATFORM="xcb" ~/.dropbox-dist/dropboxd
Terminal=false
Type=Application
Icon=dropbox
Categories=Network;FileTransfer;
StartupNotify=false' > ~/.local/share/applications/dropbox.desktop
chmod 755 ~/.local/share/applications/dropbox.desktop
mkdir -p ~/Scripts
curl -O https://www.dropbox.com/download?dl=packages/dropbox.py ~/Scripts/dropbox.py
mkdir -p ~/.local/share/kservices5/ServiceMenus
echo '[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/all;
Actions=getPublicURL;copyPublicURL;
X-KDE-Submenu=Dropbox
X-KDE-StartupNotify=false
X-KDE-Priority=TopLevel
[Desktop Action copyPublicURL]
Name=Copy Public URL
Exec=dbus-send --type=method_call --dest=org.kde.klipper /klipper org.kde.klipper.klipper.setClipboardContents string:"`python ~/Scripts/dropbox.py sharelink %u`"' > ~/.local/share/kservices5/ServiceMenus/dropbox-dolphin.desktop
# Git
git config --global user.name "Sally Young"
git config --global user.email "sally@justafish.co.uk"
git config --global core.editor "vim"
git config --global merge.tool vimdiff
git config --global push.default current
touch ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
echo '.idea' > ~/.gitignore_global
#gpg --full-generate-key
#gpg --list-secret-keys --keyid-format LONG
#gpg --armor --export <Key>
git config --global commit.gpgsign true
echo "\nfs.inotify.max_user_watches = 524288\n" | sudo tee --append /etc/sysctl.conf
sudo sysctl -p --system
# Startup
mkdir -p ~/.config/autostart
echo '#!/usr/bin/env xdg-open
[Desktop Entry]
Categories=Utility;
Comment=A desktop agnostic launcher
Exec=albert
GenericName=Launcher
Icon=albert
Name=Albert
StartupNotify=false
Type=Application
Version=1.0' > ~/.config/autostart/albert.desktop
cat '[Desktop Entry]
Categories=Network;FileTransfer;
Comment[en_GB]=Sync your files across computers and to the web
Comment=Sync your files across computers and to the web
Exec=QT_QPA_PLATFORM="xcb" ~/.dropbox-dist/dropboxd
GenericName[en_GB]=File Synchronizer
GenericName=File Synchronizer
Icon=dropbox
MimeType=
Name[en_GB]=Dropbox
Name=Dropbox
Path=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=' > ~/.config/autostart/dropbox.desktop
echo '[Desktop Entry]
Name=Latte
Name[ast]=Latte
Name[ca]=Latte
Name[ca@valencia]=Latte
Name[cs]=Latte
Name[da]=Latte
Name[de]=Latte
Name[el]=Latte
Name[en_GB]=Latte
Name[es]=Latte
Name[eu]=Latte
Name[fi]=Latte
Name[gl]=Latte
Name[it]=Latte
Name[nl]=Latte
Name[nn]=Latte
Name[pl]=Latte
Name[pt]=Latte
Name[pt_BR]=Latte
Name[sv]=Latte
Name[uk]=Латте
Name[x-test]=xxLattexx
Name[zh_CN]=Latte
Name[zh_TW]=Latte
Comment=Dock for the masses
Comment[ca]=Acoblador per a les masses
Comment[ca@valencia]=Acoblador per a les masses
Comment[cs]=Dok pro masy
Comment[da]=Dok til masserene
Comment[de]=Dock für die Massen
Comment[el]=Πίνακες για όλον τον κόσμο
Comment[en_GB]=Dock for the masses
Comment[es]=Un dock para las masas
Comment[eu]=Jendartearen kaia
Comment[fi]=Telakka massoille
Comment[gl]=Doca para as masas.
Comment[it]=Area di aggancio per le masse
Comment[nl]=Dock voor de massa
Comment[nn]=Dokk for massane
Comment[pl]=Dok dla mas
Comment[pt]=Área acoplável para as massas
Comment[pt_BR]=Área acoplável para todos
Comment[sv]=Dockningsfönster för alla
Comment[uk]=Панель для усіх
Comment[x-test]=xxDock for the massesxx
Comment[zh_CN]=给大众使用的停靠栏
Comment[zh_TW]=給大眾使用的 Dock
GenericName=Dock
GenericName[ca]=Acobla
GenericName[ca@valencia]=Acobla
GenericName[cs]=Dok
GenericName[da]=Dok
GenericName[de]=Dock
GenericName[el]=Πίνακας
GenericName[en_GB]=Dock
GenericName[es]=Dock
GenericName[eu]=Kaia
GenericName[fi]=Telakka
GenericName[gl]=Doca
GenericName[it]=Aggancio
GenericName[nl]=Dock
GenericName[nn]=Dokk
GenericName[pl]=Dok
GenericName[pt]=Área Acoplável
GenericName[pt_BR]=Área acoplável
GenericName[sk]=Dok
GenericName[sv]=Dockningsfönster
GenericName[uk]=Панель
GenericName[x-test]=xxDockxx
GenericName[zh_CN]=停靠栏
GenericName[zh_TW]=Dock
Icon=latte-dock
Categories=Utility;X-SuSE-DesktopUtility;
Exec=latte-dock %u
InitialPreference=1
StartupNotify=false
Terminal=false
Type=Application
StartupWMClass=latte-dock
X-DBUS-ServiceName=org.kde.lattedock
X-DBUS-StartupType=unique
X-KDE-PluginInfo-Author=Michail Vourlakos, Smith Ar
X-KDE-PluginInfo-Email=mvourlakos@gmail.com, audoban@openmailbox.org
X-KDE-PluginInfo-Version=0.8.1
X-KDE-PluginInfo-Website=https://github.com/psifidotos/Latte-Dock
X-KDE-StartupNotify=false
X-KDE-SubstituteUID=false' > ~/.config/autostart/org.kde.latte-dock.desktop
# - Go to Dolphin Configure / Service and install `dropbox-servicemenu-kde`
# - Go to Input Device in System Settings and configure the Touchpad
# - Go to Window Management / Task Switcher and select Large Icons
# - Right click on Desktop / Configure Desktop to remove annoying Mouse Actions and Show Desktop Toolbox. Also go to Location and select "Show files linked to the current activity" to remove the folders from the Desktop
# - Remove the bottom panel, and add a new panel at the top with the Global Menu widget. Also add the System tray plus any additional items (WiFi, Bluetooth, Log out etc). You can add a spacer in between to get the global menu on the left and system tray on the right. Configure the System Tray widget (hover over whilst in Panels Settings mode to get the config dialog) to remove any duplicates of the additional items you added. Lock the widgets on the panel to get rid of the burger menu on the right.
## Extras
# - https://www.google.com/chrome/
# - Franz https://meetfranz.com/#download
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment