A collection of useful notes on development environment configurations and other findings.




Ubuntu Desktop Setup Tips

The following is a collection of resources (e.g. packages, PPAs, themes) I’m using in my Ubuntu desktop:

General

Developer Tools

Productivity Tools

  • Joplin - Note-taking tool with sync capabilities.
  • Remmina - RDP client for Linux.

OS Tools

  • cpufreq - CPU monitor and power management tool.
    • Remove irqbalance if required: sudo apt-get remove irqbalance
  • f.lux - Adapt computer monitor glow by time of day.
  • psensor - Show system temperature in toolbar.
  • Stacer - Linux system optimiser and monitoring.
  • system-monitor - Show system resource usages (e.g. CPU, memory, network) in toolbar.
    • Clutter install command if required: apt install gir1.2-clutter-1.0
  • tilix - Tiling terminal emulator.

Shell Customisation

Theming (20.04)

  • Gnome Shell Extension - Enable Gnome user-shell extension for Gnome Tweak tool.
  • Sushi - Smart file previews.
  • Yaru Dark VLC - Ubuntu’s Yaru Dark VLC theme.
  • Change dock ‘on click’ behaviour:
    • View options: gsettings range org.gnome.shell.extensions.dash-to-dock click-action
    • Set value (e.g. preview): gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'previews'
  • Remove mounted drives on dock gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts false

Theming (18.04)

  • Adapta - Google Material design theme.
  • Flatpak - Cross-distro Linux application distribution platform.
  • Gnome Shell Extension - Enable Gnome user-shell extension for Gnome Tweak tool.
  • Papirus - Icons - Flat icons with Adapta theme.
  • Change dock ‘on click’ behaviour:
    • View options: gsettings range org.gnome.shell.extensions.dash-to-dock click-action
    • Set value (e.g. preview): gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'previews'

Theming (16.04)

Other

  • Fix screen tearing:
    • Firefox - Force hardware acceleration (about:config and then set layers.acceleration.force-enabled to true).
    • System-wide - Add xorg device configuration.
  • Random string generation - Generate random string in bash (</dev/urandom tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_{|}~' | head -c 64; echo)
  • Restore grub - Restore grub after Windows 10 update (bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi in command shell).




Gradle Plugins

The following is a list of useful Gradle plugins I’m using in my Java / Kotlin / Scala projects:

  • gradle-test-logger - Test output formatting with themes and parallel execution support.
  • gradle-scoverage - Enable Scoverage in Scala project
  • gradle-stats - Provides source code statistics in individual or aggregate project.
  • spotless - Source code formatter support; supports Java, Scala, Kotlin, SQL, etc.




SBT Plugins

The following is a list of useful global SBT plugins I’m using in my Scala / SBT projects:

  • sbt-coursier - An improved Scala artifact fetcher, with parallel downloads and better offline mode.
  • sbt-dependency-graph - Add support to visualize dependency graph within SBT (supports both ASCII and HTML output).
  • sbt-dependency-updates - Add support to fetch and display available dependency updates in current project.
  • sbt-ensime - Adds an SBT command to generates .ensime file in SBT projects for use by ENSIME (e.g. in Atom, emacs, or VS Code).
  • sbt-stats - Provides source code statistics in individual or aggregate project.
  • scala-clippy - Improved compiler error messages and syntax colorizer.