Languages and Runtimes
| Language | Commands | Notes |
|---|---|---|
| Python | python3, pip3, ipython3, bpython | venv, pip, pipx all available |
| Node.js | node, npm, npx | packages install to ~/.local |
| Ruby | ruby, gem, irb | gems install to ~/.local/share/gem |
| Go | go | workspace at ~/.go |
| Rust | rustc, cargo | toolchain at ~/.cargo |
| Lua | lua5.4 | |
| Perl | perl | |
| PHP | php (CLI only) | |
| Java | java, javac | OpenJDK |
| Elixir | elixir, iex, mix | Erlang/OTP included |
| Erlang | erl, erlc | |
| Haskell | ghc, runghc | |
| OCaml | ocaml, ocamlopt | |
| Scala | scala, scalac | |
| Racket | racket | |
| Ada | gnat | |
| Fortran | gfortran | |
| D | gdc, ldc | Two compilers |
| Pascal | fpc (Free Pascal) | |
| COBOL | cobc (GnuCOBOL) | |
| Vala | valac | |
| Assembly | nasm, yasm | |
| C# | mcs (Mono) | |
| Objective-C | gobjc, gobjc++ |
Compilers and Build Tools
Package Installation
All language package managers are configured to install into your home directory — nothing goes into system paths. Binaries land in~/.local/bin, which is already in your PATH.
Python
/var/cache/poetry and /var/cache/uv to avoid re-downloading packages across users.
Node.js
Ruby
Go
Rust
PHP
Deno
Editors
| Editor | Command | Style |
|---|---|---|
| Neovim | nvim | Modal, highly extensible |
| Vim | vim | Modal, ubiquitous |
| Emacs | emacs | Everything editor |
| Nano | nano | Simple, non-modal |
| Micro | micro | Modern, keyboard shortcuts like GUI editors |
| Joe | joe | WordStar-style |
| Mg | mg | Tiny Emacs-compatible |
| Ed | ed | The standard editor |
Terminal Multiplexers
| Tool | Command | Notes |
|---|---|---|
| tmux | tmux | Default config pre-installed (see below) |
| screen | screen | Classic |
| byobu | byobu | tmux/screen wrapper with status bar |
| tmate | tmate | tmux + instant terminal sharing |
tmux defaults
Your~/.tmux.conf comes pre-configured:
- Prefix:
Ctrl-a(instead of the defaultCtrl-b) - Mouse: enabled — click to select panes and windows
- 256 colors: enabled
- Windows: start at index 1
- History: 10,000 lines per pane
Ctrl-a prefix:
Shells
The default shell isbash. You can switch to any of the following:
| Shell | Change command |
|---|---|
| zsh | chsh -s /usr/bin/zsh |
| fish | chsh -s /usr/bin/fish |
| mksh | chsh -s /bin/mksh |
Useful CLI Tools
A selection of what’s available:Environment Paths
The following paths are added to yourPATH at login via /etc/profile.d/environment-paths.sh:
| Path | Purpose |
|---|---|
~/.local/bin | pip tools, pipx, npm, general local installs |
~/.cargo/bin | Rust/Cargo binaries |
~/.go/bin | Go binaries |
~/.local/share/gem/bin | Ruby gems |
~/.deno/bin | Deno |
~/.config/composer/vendor/bin | PHP Composer |
/var/cache/pnpm/bin | pnpm global binaries |
| Variable | Path |
|---|---|
XDG_CONFIG_HOME | ~/.config |
XDG_CACHE_HOME | ~/.cache |
XDG_DATA_HOME | ~/.local/share |
XDG_STATE_HOME | ~/.local/state |