LINUX DEVELOPMENT ENVIRONMENT

Darius Aliulis
Data Scientist & Engineer @ DATA DOG / SATALIA

Goals

  • Why should I care? How do I improve my comfort at my fingertips and beyond? 
  • A bit about tiling window managers
  • A bite about Linux shells
  • Aesthetics & ergonomics, a.k.a. themes and editors
  • Some other goodies: rcm, tig, ranger

Motivation

Tiling Window Managers

Tiling Window Managers

  • Minimize mouse usage
  • Maximize screen real estate
  • Complete customization (but no free lunch)
  • Effective workspaces (or do you carry that second monitor along with your laptop?)

Tiling Window Managers

works out of the box

makes you stronger

  • awesome
  • i3

Linux Shell

shamelessly borrowed from

Linux Shell

  • cd completion
  • git completion
  • path expansion
  • path replacement
  • right prompt
  • spelling correction
  • global aliases
  • suffix aliases
  • extended globbing

demo

Linux Shell

  • environment variable editing
  • programmable file renaming
  • history substring search
  • syntax highlighting

demo

Linux Shell

Plugin management
by decreasing bloatware level:

Aesthetics & Ergonomics

a.k.a themes & editors

a.k.a Solarized & Vim

Ethan Shoonover Solarized

Most Important Color Scheme in Computer History

It took Ethan Schoonover six months to choose the 16 most prevalent colors in computer science

Observer

Ethan Shoonover Solarized

Vim

Vim

  • jetbrains IDEs
  • awesome
  • zsh
  • jupyter notebok
  • RStudio
  • tig
  • man
  • less
  • ... etc.

Vim

prerequisite: touchtyping

$ vimtutor

afterwards:

Other goodies

rcm, an rc file manager

It’s a unification of the existing shell scripts, make targets, rake tasks, GNU Bash constructions, and Python hacks that people copy and paste into their dotfiles repo, with a classical unix flair.

Tig: text-mode interface for Git

Tig is an ncurses-based text-mode interface for git. It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands.

ranger

ranger is a console file manager with VI key bindings. It provides a minimalistic and nice curses interface with a view on the directory hierarchy. It ships with "rifle", a file launcher that is good at automatically finding out which program to use for what file type.

Suggestions

  1. customize shell prompt
  2. create personal dotfiles repo
  3. try out tiling window manager
  4. customize and optimize appearance
  5. try out a different shell
  6. try out a different Linux distro

Thank you

Questions?

linux-dev-env

By Darius Aliulis

linux-dev-env

Presentation about customization of Linux environment to make and even more comfortable and efficient for software development

  • 286