## FIRST THING FIRST - **Update OS** ```console sudo apt-get update && sudo apt-get upgrade sudo apt-get install ubuntu-restricted-extras ``` - **Uninstall Apps** ```console # sudo apt-get purge epiphany-browser epiphany-browser-data sudo apt-get purge midori-granite sudo apt-get purge geary sudo apt-get purge pantheon-mail sudo apt-get purge noise sudo apt-get purge audience ``` - **Clean Up OS** ```console sudo apt autoremove -y sudo apt autoclean -y sudo apt-get autoremove -y sudo apt-get autoclean -y ``` --- ## TERMINAL STUFF - **Enable PPA (Properties Commons)** ```console sudo apt-get install software-properties-common ``` - **elementaryOS Tweaks** ```console sudo add-apt-repository ppa:philip.scott/elementary-tweaks sudo apt-get update sudo apt-get install elementary-tweaks dconf-tools ``` - **elementaryOS Extras** ```console sudo apt-get install elementary-dark-theme elementary-plastico-theme elementary-whit-e-theme elementary-harvey-theme sudo apt-get install elementary-plank-themes sudo apt-get install wingpanel-slim indicator-synapse ``` - **Enable Shutdown by Power Button** ```console sudo scratch-text-editor /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla ``` * Under `"Disable hibernate"` change to `"ResultActive=yes"` x2. - **Install a new kernel** Install ukuu and select a new kernel: ```console sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get install ukuu ``` - **Indicators** ```console sudo apt install software-properties-common sudo add-apt-repository ppa:yunnxx/elementary sudo apt update sudo apt install indicator-application wingpanel-indicator-ayatana ``` and enable on Pantheon with ```console sudo nano /etc/xdg/autostart/indicator-application.desktop # change OnlyShowIn=Unity;GNOME;Pantheon; sudo cp /usr/lib/systemd/user/indicator-application.service /etc/systemd/user systemctl --user start indicator-application.service ``` Disable the second wifi icon with: ```console sudo nano /etc/wingpanel.d/ayatana.blacklist # add "nm-applet" ``` - **Yubi/Titan keys** ``` cd /etc/udev/rules.d curl -L https://github.com/Yubico/libu2f-host/raw/master/70-u2f.rules | sudo tee 90-yubi.rules sudo udevadm control --reload-rules # restart ``` - **Fix the suspend after 20 minutes** See https://elementaryos.stackexchange.com/questions/16519/elementary-os-ignoring-suspend-disable
- **Show Desktop** Hot Corner Command ```console sudo apt-get install wmctrl wmctrl -k on ``` - **Reduce Overheating & Improve Battery Life** ```console sudo add-apt-repository ppa:linrunner/tlp sudo apt-get update sudo apt-get install tlp powertop # customize /etc/default/tlp sudo systemctl enable --now tlp ``` -- **GCC 9** (neccessary for DKMS) ```console sudo apt-get update && \ sudo apt-get install build-essential software-properties-common -y && \ sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \ sudo apt-get update && \ sudo apt-get install gcc-9 g++-9 -y && \ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9 && \ # When completed, you must change to the gcc you want to work with by default. Type in your terminal: sudo update-alternatives --config gcc # To verify if it worked. Just type in your terminal # gcc -v ``` - **NVidia driver (optional)** ```console sudo apt purge 'nvidia.*' # download from https://www.nvidia.com/Download/index.aspx?lang=en-us # then install with: sudo NVIDIA-Linux-*.run ``` - **Network Manager plugins** You might need some extra plugins for NetworkManager (for example, for VPN): ``` sudo apt install network-manager-openconnect network-manager-openconnect-gnome sudo systemctl restart NetworkManager.service ``` ## PLANK - **Configure Plank** ```console plank --preferences ``` ... and add the Trash docklet. - **Gnosemite Theme** *by [@P0umon](https://p0umon.deviantart.com/art/Gnosemite-theme-for-Plank-628809799)* * For more transparency, change the last value in `/usr/share/plank/themes/Gnosierra/dock.theme` file, under `FillEndColor=110;;107;;111;;150`. - **Plank Themes** *by [@KenHarkey](https://github.com/KenHarkey/plank-themes)* * Copy the contents of the [Plank Themes](https://github.com/KenHarkey/plank-themes/archive/master.zip) folder to `~/.local/share/plank/themes` or to `/usr/share/plank/themes` for system-wide use. - **Plank Separator** Remix *by [@rpeshkov](https://github.com/rpeshkov/plank-spacer) & [@glacto](https://glacto.deviantart.com/art/Drk-Plank-Theme-with-separator-631813715)* * Extract [plank-separator-remix.zip](https://www.dropbox.com/s/8uqxmofhkvuftwi/plank-separator-remix.zip?dl=0) and run this command everytime you want to insert a new separator: ```console sudo bash '/home/YOUR_USERNAME/Downloads/plank-separator-remix/plank-separator.sh' ``` --- ## APPS TO DOWNLOAD & INSTALL - **Some command line stuff** ```console sudo apt-get install source-highlight \ gnome-system-monitor \ gnome-system-log \ snapd ``` Install BAT from https://github.com/sharkdp/bat/releases Install [micro](https://micro-editor.github.io/) with `curl https://getmic.ro | bash` - **Media** ```console sudo apt install ubuntu-restricted-extras sudo apt install libavcodec-extra sudo apt install libdvd-pkg sudo apt install vlc ``` Disable the Chrome Media keys (chrome://flags/#hardware-media-key-handling) for fixing the media keys in the keyboard. - **Flash plugin** ```console sudo apt-get install flashplugin-installer pepperflashplugin-nonfree ``` - **Spotify** ```console curl -sS https://download.spotify.com/debian/pubkey.gpg | sudo apt-key add - echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list sudo apt-get update && sudo apt-get install spotify-client ``` If the UI has been scaled up, you would need to: ```console sudo joe /usr/share/spotify/spotify.desktop # set: Exec=spotify --force-device-scale-factor=2 %U ``` Add these lines to `~/.local/share/applications/mimeapps.list` for making it the default player in the Appindicator: ``` [Default Applications] audio/x-vorbis+ogg=spotify.desktop [Added Associations] audio/x-vorbis+ogg=spotify.desktop; ``` - [**Google Chrome**](https://www.google.com/chrome/browser/desktop/index.html) - **Google drive client** Download the client from https://www.thefanclub.co.za/overgrive
- **Synapse** ```console sudo add-apt-repository ppa:synapse-core/ppa sudo apt-get update sudo apt-get install synapse ``` Then start Synapse, enter configuracion and change the shortcut. - **Ulauncher** From https://ulauncher.io/ - **Timeshiuft (backups)** ```console sudo add-apt-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get install timeshift ``` - **Rclone** ```console curl https://rclone.org/install.sh | sudo bash ``` - **Anbox** * Install the modules from the Git repo, following the instructions at https://github.com/anbox/anbox-modules * Install the Anbox snap with: ```console snap install --devmode --beta anbox ``` --- ## DOWNLOADS FOR DEVELOPMENT - **VSCode** ```console wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" sudo apt update sudo apt install code ``` - **Syncthing** or **resilio** ```console sudo apt-get install syncthing sudo systemctl enable --now syncthing@$(whoami) ``` then configure Syncthing at http://127.0.0.1:8384 Install the command line tool with ```console go get github.com/syncthing/syncthing/cmd/stcli ``` Or for Resilio: ```console echo "deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free" | sudo tee /etc/apt/sources.list.d/resilio-sync.list curl -L https://linux-packages.resilio.com/resilio-sync/key.asc | sudo apt-key add sudo apt update && sudo apt install resilio-sync echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p # enable for current user systemctl --user start --now resilio-sync # and go to http://127.0.0.1:8888 ``` - **Tilix** Install Tilix and configure a Global Shortcut for `Ctr+` = `tilix --quake` Fix the VTE stuff with `sudo ln -s /etc/profile.d/vte-2.91.sh /etc/profile.d/vte.sh` - **GIT** ```console sudo apt-get install git ``` and some git tools: * https://github.com/tummychow/git-absorb - A recent version of **Go** ```console sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go ``` - **Docker** ```console sudo apt-get install docker.io sudo usermod -aG docker $USER sudo apt-get install criu echo $'{\n "insecure-registries": ["localhost:32000"],\n "experimental": true\n}' | \ sudo tee /etc/docker/daemon.json sudo systemctl enable --now docker ``` Logout and login for using docker. Get Dive (for inspecting images): ```console go get github.com/wagoodman/dive ``` - **kubectl** ```console sudo apt-get update && sudo apt-get install -y apt-transport-https curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubectl ``` Then k3d: ```console curl -s https://raw.githubusercontent.com/rancher/k3d/master/install.sh | bash ``` Helm ```console curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh chmod 700 get_helm.sh ./get_helm.sh ``` - **keybase** ```console cd /tmp curl --remote-name https://prerelease.keybase.io/keybase_amd64.deb sudo apt install ./keybase_amd64.deb run_keybase ``` - **Zoom** Go to [the download page](https://zoom.us/download?os=linux). --- ## THE LOOK - **Butons layout** (until Elementary Tweaks is fixed) ```console gsettings set org.pantheon.desktop.gala.appearance button-layout :minimize,maximize,close gsettings set org.gnome.desktop.wm.preferences button-layout :minimize,maximize,close ``` - **Fonts** ```console sudo apt install fonts-powerline sudo apt install fonts-firacode ``` Set the Terminal font with: ``` gsettings set io.elementary.terminal.settings font 'Hack' ``` - **Other fonts** Check out https://devfonts.gafi.dev/ for other fonts From https://www.jetbrains.com/lp/mono/#intro for Intellij fonts. - **Icon Pack** [La Capitaine](https://krourke.org/projects/art/la-capitaine-icon-theme) *by [@keeferrourke](https://github.com/keeferrourke/la-capitaine-icon-theme)* ```console cd /usr/share/icons/ sudo git clone https://github.com/keeferrourke/la-capitaine-icon-theme.git sudo bash '/usr/share/icons/la-capitaine-icon-theme/configure' ``` the go to the Tweaks settings and set the new icons theme. - **Cursors** La Capitaine *by [@keeferrourke](https://github.com/keeferrourke/capitaine-cursors)* ```console git clone https://github.com/keeferrourke/capitaine-cursors cd capitaine-cursors/dist/ sudo cp -pr . /usr/share/icons/capitaine-cursors ``` the go to the Tweaks settings and set the new cursors theme. - **Paper** [GTK+, Icon Pack, Cursors](https://snwh.org/paper) *by [@snwh](https://github.com/snwh/paper-icon-theme)* * Install **.deb** via Eddy ```console sudo add-apt-repository -u ppa:snwh/ppa sudo apt install paper-icon-theme ``` the go to the Tweaks settings and set the new icons theme. - **Fixed number of workspaces** ```console gsettings set org.pantheon.desktop.gala.behavior dynamic-workspaces false gsettings set org.gnome.desktop.wm.preferences num-workspaces 5 ``` --- ## INDICATORS - **Fix indicators spacing** Try setting the padding to '0 2px' in your theme -> apps.css In `/usr/share/themes/elementary/gtk-3.0/apps.css` ``` .composited-indicator { padding: 0 2px; } ``` - **Enable indicators** ```console mkdir -p ~/.config/autostart cp /etc/xdg/autostart/indicator-application.desktop ~/.config/autostart/ sed -i 's/^OnlyShowIn.*/OnlyShowIn=Unity;GNOME;Pantheon;/' ~/.config/autostart/indicator-application.desktop ``` Then download the .deb from http://ppa.launchpad.net/elementary-os/stable/ubuntu/pool/main/w/wingpanel-indicator-ayatana/ and install it. Logout and login again. - **My Weather Indicator** *by [Ahmed Hassan](http://eos-snippets.blogspot.com/2013/11/add-my-weather-indicator-to-wingpanel.html)* ```console sudo add-apt-repository ppa:atareao/atareao sudo apt-get update sudo apt-get install my-weather-indicator ``` - **CPU/Net indicators** https://github.com/PlugaruT/wingpanel-indicator-sys-monitor#wingpanel-system-monitor-indicator --- ## FIXES - **File dialog buttons missing** https://elementaryos.stackexchange.com/questions/1638/buttons-are-missing-in-the-file-chooser-dialog-what-should-i-do ```console gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/DialogsUseHeader': <0>, 'Gtk/ShellShowsAppMenu': <0>, 'Gtk/DecorationLayout': <'close:menu,maximize'>}" ```