Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.allthingslinux.org/llms.txt

Use this file to discover all available pages before exploring further.

atl.sh is a full development environment. Everything is pre-installed system-wide and available immediately after login.

Languages and Runtimes

LanguageCommandsNotes
Pythonpython3, pip3, ipython3, bpythonvenv, pip, pipx all available
Node.jsnode, npm, npxpackages install to ~/.local
Rubyruby, gem, irbgems install to ~/.local/share/gem
Gogoworkspace at ~/.go
Rustrustc, cargotoolchain at ~/.cargo
Lualua5.4
Perlperl
PHPphp (CLI only)
Javajava, javacOpenJDK
Elixirelixir, iex, mixErlang/OTP included
Erlangerl, erlc
Haskellghc, runghc
OCamlocaml, ocamlopt
Scalascala, scalac
Racketracket
Adagnat
Fortrangfortran
Dgdc, ldcTwo compilers
Pascalfpc (Free Pascal)
COBOLcobc (GnuCOBOL)
Valavalac
Assemblynasm, yasm
C#mcs (Mono)
Objective-Cgobjc, gobjc++

Compilers and Build Tools

# C/C++
gcc, g++, clang, clang++

# Debuggers
gdb, cgdb, lldb, valgrind, ltrace, strace

# Build systems
make, cmake, ninja, meson, autoconf, automake

# Linkers / performance
mold          # fast linker
ccache        # compiler cache
linux-perf    # performance profiling
hyperfine     # benchmarking tool

# Parsing tools
bison, flex

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

# Isolated tool install (recommended)
pipx install black
pipx install poetry

# Per-project virtual environment
python3 -m venv .venv
source .venv/bin/activate
pip install requests

# uv (fast pip replacement, also available)
uv pip install requests
Poetry and uv share a system-wide cache at /var/cache/poetry and /var/cache/uv to avoid re-downloading packages across users.

Node.js

# npm installs to ~/.local automatically
npm install -g typescript

# pnpm (shared global store at /var/cache/pnpm)
pnpm add -g tsx

Ruby

# gems install to ~/.local/share/gem
gem install rails

Go

# binaries land in ~/.go/bin (already in PATH)
go install golang.org/x/tools/cmd/gopls@latest

Rust

# Cargo is pre-installed
cargo install ripgrep

PHP

# Composer installs to ~/.config/composer
composer global require laravel/installer

Deno

# Already in PATH at ~/.deno/bin
deno install --global npm:typescript

Editors

EditorCommandStyle
NeovimnvimModal, highly extensible
VimvimModal, ubiquitous
EmacsemacsEverything editor
NanonanoSimple, non-modal
MicromicroModern, keyboard shortcuts like GUI editors
JoejoeWordStar-style
MgmgTiny Emacs-compatible
EdedThe standard editor

Terminal Multiplexers

ToolCommandNotes
tmuxtmuxDefault config pre-installed (see below)
screenscreenClassic
byobubyobutmux/screen wrapper with status bar
tmatetmatetmux + instant terminal sharing

tmux defaults

Your ~/.tmux.conf comes pre-configured:
  • Prefix: Ctrl-a (instead of the default Ctrl-b)
  • Mouse: enabled — click to select panes and windows
  • 256 colors: enabled
  • Windows: start at index 1
  • History: 10,000 lines per pane
Common commands with the Ctrl-a prefix:
Ctrl-a c     new window
Ctrl-a n/p   next/previous window
Ctrl-a "     split horizontally
Ctrl-a %     split vertically
Ctrl-a d     detach (session keeps running)
tmux attach  reattach to your session

Shells

The default shell is bash. You can switch to any of the following:
ShellChange command
zshchsh -s /usr/bin/zsh
fishchsh -s /usr/bin/fish
mkshchsh -s /bin/mksh
Changes take effect on next login.

Useful CLI Tools

A selection of what’s available:
# File navigation
lf, ranger, mc          # terminal file managers
eza                     # modern ls replacement
bat                     # cat with syntax highlighting
fd                      # fast find replacement
fzf                     # fuzzy finder
zoxide                  # smart cd replacement

# Search
ripgrep (rg)            # fast grep replacement

# Git
tig                     # terminal git browser
lazygit                 # full TUI git client
git-delta               # better diffs
git-lfs                 # large file storage
gh                      # GitHub CLI

# Data
jq, yq                  # JSON/YAML processors
sqlite3                 # SQLite CLI
bc                      # calculator

# Network
curl, wget, httpie      # HTTP clients
mosh                    # mobile shell (UDP, survives roaming)
mtr                     # traceroute + ping combined
nmap                    # network scanner
iperf3                  # bandwidth testing

# Monitoring
htop, btop, glances     # process monitors
iotop                   # I/O monitor
nethogs                 # per-process network usage
vnstat                  # bandwidth statistics

# Documentation
tealdeer (tldr)         # practical command examples
man, info               # full manuals

# Misc
direnv                  # per-directory environment variables
tmuxinator              # tmux session manager
shellcheck              # shell script linter
universal-ctags         # code tagging
units                   # unit conversion
pv                      # pipe progress viewer

Environment Paths

The following paths are added to your PATH at login via /etc/profile.d/environment-paths.sh:
PathPurpose
~/.local/binpip tools, pipx, npm, general local installs
~/.cargo/binRust/Cargo binaries
~/.go/binGo binaries
~/.local/share/gem/binRuby gems
~/.deno/binDeno
~/.config/composer/vendor/binPHP Composer
/var/cache/pnpm/binpnpm global binaries
XDG directories are also set:
VariablePath
XDG_CONFIG_HOME~/.config
XDG_CACHE_HOME~/.cache
XDG_DATA_HOME~/.local/share
XDG_STATE_HOME~/.local/state