# Segment reference

## Segments

Segments are written in Python, and the default segments provided with Powerline are located in `powerline/segments/extension.py`. User-defined segments can be defined in any module in `sys.path` or paths common configuration option, import is always absolute.

Segments are regular Python functions, and they may accept arguments. All arguments should have a default value which will be used for themes that don’t provide an `args` dict.

More information is available in Writing segments section.

## Available segments

- Common segments
  - VCS submodule
  - System properties
  - Network
  - Current environment
  - Battery
  - Weather
  - Date and time
  - Mail
  - Media players
- i3wm segments
- PDB segments
- Shell segments
- Tmux segments
- Vim segments
  - Plugin-specific segments
    - Asynchronous Linter Engine (ALE) segments
    - Syntastic segments
    - Command-T segments
    - Tagbar segments
    - NERDTree segments
    - Capslock segments