A Steelbore OS NixOS Distribution Version: 2.1 | Date: 2026-04-05
- Getting Started
- Login and Session Selection
- Desktop Environments
- Terminal Emulators
- Keyboard Layout
- Shell Configuration
- System Administration
- Steelbore Theme
- Troubleshooting
Bravais is a NixOS-based operating system built on the Spacecraft Software Standard. It features:
- Four desktop environments: Niri, LeftWM, COSMIC, and GNOME
- Unified theming: All applications use the Steelbore color palette
- Rust-first tooling: Memory-safe alternatives wherever possible
- Declarative configuration: All settings managed through Nix
After installation, you will be greeted by the tuigreet login screen:
STEELBORE :: BRAVAIS
2026-04-05 14:30:00
Username: _
Enter your username and password to log in.
The login manager displays:
- Current date and time (ISO 8601 format)
- Username prompt
- Password prompt (displayed as asterisks)
- Session selector
After entering your username, press F2 or use the session selector to choose:
| Session | Description |
|---|---|
| niri-session | Niri scrolling tiling (Wayland) |
| start-cosmic | COSMIC desktop (Wayland) |
| gnome-session | GNOME desktop (Wayland) |
| leftwm | LeftWM tiling WM (X11) |
The session selector remembers your last choice.
Niri is a scrolling tiling Wayland compositor. Windows are arranged in columns that scroll horizontally.
- Columns: Windows are stacked vertically within columns
- Scrolling: Columns scroll left/right across the workspace
- Workspaces: Multiple virtual workspaces (1-9)
Legend: Mod = Super/Windows key
| Keybinding | Action |
|---|---|
Mod+Shift+E |
Quit Niri (logout) |
| Keybinding | Action |
|---|---|
Mod+Return |
Open terminal (Alacritty) |
Mod+D |
Open launcher (onagre) |
Mod+Shift+D |
Open launcher (anyrun) |
| Keybinding | Action |
|---|---|
Mod+Q |
Close focused window |
Mod+F |
Maximize column |
Mod+Shift+F |
Fullscreen window |
| Keybinding | Action |
|---|---|
Mod+H |
Focus column left |
Mod+L |
Focus column right |
Mod+K |
Focus window up |
Mod+J |
Focus window down |
| Keybinding | Action |
|---|---|
Mod+Left |
Focus column left |
Mod+Right |
Focus column right |
Mod+Up |
Focus window up |
Mod+Down |
Focus window down |
| Keybinding | Action |
|---|---|
Mod+Shift+H |
Move column left |
Mod+Shift+L |
Move column right |
Mod+Shift+K |
Move window up |
Mod+Shift+J |
Move window down |
| Keybinding | Action |
|---|---|
Mod+Shift+Left |
Move column left |
Mod+Shift+Right |
Move column right |
Mod+Shift+Up |
Move window up |
Mod+Shift+Down |
Move window down |
| Keybinding | Action |
|---|---|
Mod+1 to Mod+9 |
Focus workspace 1-9 |
Mod+Shift+1 to Mod+Shift+9 |
Move column to workspace 1-9 |
Mod+WheelUp |
Focus workspace up |
Mod+WheelDown |
Focus workspace down |
| Keybinding | Action |
|---|---|
Mod+Minus |
Decrease column width 10% |
Mod+Equal |
Increase column width 10% |
| Keybinding | Action |
|---|---|
Print |
Screenshot entire screen |
Mod+Print |
Screenshot focused window |
The top bar displays:
- Left: Workspace indicators, focused window title
- Center: Clock (HH:MM:SS :: YYYY-MM-DD)
- Right: CPU %, RAM %, system tray
LeftWM is a tiling window manager for X11, written in Rust.
- Tags: LeftWM uses "tags" instead of workspaces (1-9)
- Layouts: Multiple layout algorithms available
- Scratchpad: Hidden terminal accessible via keybinding
Legend: Mod = Super/Windows key
| Keybinding | Action |
|---|---|
Mod+Shift+E |
Logout |
| Keybinding | Action |
|---|---|
Mod+Return |
Open terminal (Alacritty) |
Mod+D |
Open launcher (rlaunch) |
Mod+Shift+D |
Open launcher (rofi) |
| Keybinding | Action |
|---|---|
Mod+Q |
Close focused window |
Mod+F |
Toggle fullscreen |
Mod+Shift+F |
Toggle floating |
| Keybinding | Action |
|---|---|
Mod+H |
Focus window left |
Mod+L |
Focus window right |
Mod+K |
Focus window up |
Mod+J |
Focus window down |
| Keybinding | Action |
|---|---|
Mod+Left |
Focus window left |
Mod+Right |
Focus window right |
Mod+Up |
Focus window up |
Mod+Down |
Focus window down |
| Keybinding | Action |
|---|---|
Mod+Shift+H |
Move window left |
Mod+Shift+L |
Move window right |
Mod+Shift+K |
Move window up |
Mod+Shift+J |
Move window down |
| Keybinding | Action |
|---|---|
Mod+1 to Mod+9 |
Go to tag 1-9 |
Mod+Shift+1 to Mod+Shift+9 |
Move window to tag 1-9 |
| Keybinding | Action |
|---|---|
Mod+Space |
Next layout |
Mod+Shift+Space |
Previous layout |
| Keybinding | Action |
|---|---|
Mod+Minus |
Decrease main width |
Mod+Equal |
Increase main width |
| Keybinding | Action |
|---|---|
Mod+Grave |
Toggle scratchpad terminal |
LeftWM supports multiple layout algorithms:
| Layout | Description |
|---|---|
| MainAndVertStack | Main window left, stack right |
| MainAndHorizontalStack | Main window top, stack below |
| MainAndDeck | Main window left, deck (tabs) right |
| GridHorizontal | Grid layout |
| EvenHorizontal | Equal horizontal split |
| EvenVertical | Equal vertical split |
| Fibonacci | Fibonacci spiral layout |
| Monocle | Single window fullscreen |
Press Mod+Space to cycle through layouts.
The top bar displays:
- Left: Tag indicators (workspaces)
- Center: Clock (HH:MM:SS :: YYYY-MM-DD)
- Right: CPU %, RAM %, network status
COSMIC is a full-featured desktop environment from System76.
- Native Wayland compositor
- Integrated settings application
- cosmic-panel for taskbar
- cosmic-launcher for application search
- cosmic-term terminal emulator
COSMIC uses standard keybindings:
| Keybinding | Action |
|---|---|
Super |
Open launcher |
Super+T |
Open terminal |
Super+E |
Open file manager |
Alt+F4 |
Close window |
Super+Arrow |
Tile window |
Configure keybindings in Settings > Keyboard > Shortcuts.
GNOME is a full-featured desktop environment with extensive customization through extensions.
- Caffeine (prevent sleep)
- Just Perfection (UI tweaks)
- Window Gestures
- Vim Alt-Tab
- Open-Bar
- Launcher
| Keybinding | Action |
|---|---|
Super |
Activities overview |
Super+A |
Show applications |
Super+Arrow |
Tile window |
Alt+Tab |
Switch windows |
Alt+F2 |
Run command |
Configure keybindings in Settings > Keyboard > Keyboard Shortcuts.
| Terminal | Launch Command | Description |
|---|---|---|
| Alacritty | alacritty |
Default, GPU-accelerated |
| WezTerm | wezterm |
Feature-rich, Lua config |
| Rio | rio |
Rust-based, native rendering |
| Ghostty | ghostty |
Zig-based, very fast |
| COSMIC Term | cosmic-term |
COSMIC native terminal |
| Ptyxis | ptyxis |
GNOME VTE-based |
| WaveTerm | waveterm |
AI-native terminal |
| Warp | warp-terminal |
AI-powered terminal |
- Daily use: Alacritty or Ghostty (fastest)
- Feature-rich: WezTerm (tabs, splits, Lua scripting)
- AI features: WaveTerm or Warp
- COSMIC integration: cosmic-term
- GNOME integration: Ptyxis
All terminals are themed with the Steelbore color palette.
- Primary: US English (
us) - Secondary: Arabic (
ara)
Press Ctrl+Space to toggle between US and Arabic layouts.
The current layout is indicated in the status bar.
The default shell is Nushell (nu), a modern shell written in Rust.
| Alias | Command | Description |
|---|---|---|
ll |
ls -l |
Long listing |
lla |
ls -la |
Long listing with hidden |
telemetry |
macchina |
System information |
sensors |
watch -n 1 sensors |
Hardware sensors |
sys-logs |
journalctl -p 3 -xb |
System error logs |
network-diag |
gping google.com |
Network diagnostics |
top-processes |
bottom |
Process monitor |
disk-telemetry |
yazi |
File manager |
edit |
hx |
Helix editor |
Run steelbore in the terminal to display the system identity banner:
============================================================
STEELBORE :: Industrial Sci-Fi Desktop Environment
============================================================
STATUS :: ACTIVE
LOAD :: NOMINAL
INTEGRITY :: VERIFIED
============================================================
The prompt displays:
- Current directory (blue)
- Git branch (cyan)
- Git status (red if dirty)
- Command duration (amber, if >2s)
- Success/error indicator (green/red)
After modifying configuration files in /spacecraft-software/bravais/:
# Navigate to configuration directory
cd /spacecraft-software/bravais
# Rebuild and switch
sudo nixos-rebuild switch --flake .#bravais| Task | Command |
|---|---|
| Rebuild system | sudo nixos-rebuild switch --flake .#bravais |
| Test build (no switch) | nixos-rebuild build --flake .#bravais |
| Dry-run build | nixos-rebuild dry-build --flake .#bravais |
| Update flake inputs | nix flake update |
| Garbage collection | sudo nix-collect-garbage -d |
| List generations | sudo nix-env --list-generations -p /nix/var/nix/profiles/system |
| Rollback | sudo nixos-rebuild switch --rollback |
| Component | Location |
|---|---|
| System config | /spacecraft-software/bravais/ |
| Host config | /spacecraft-software/bravais/hosts/bravais/ |
| User config | /spacecraft-software/bravais/users/mj/home.nix |
| Hardware config | /spacecraft-software/bravais/hosts/bravais/hardware.nix |
To enroll your fingerprint:
# Enroll a finger
sudo fprintd-enroll
# Verify enrollment
fprintd-verifyOnce enrolled, you can use your fingerprint for:
- sudo authentication
- Login (greetd supports PAM)
- Screen unlock
| Color | Hex | Usage |
|---|---|---|
| Void Navy | #000027 |
Background (mandatory) |
| Molten Amber | #D98E32 |
Primary text, active elements |
| Steel Blue | #4B7EB0 |
Accents, borders, inactive |
| Radium Green | #50FA7B |
Success, confirmations |
| Red Oxide | #FF5C5C |
Errors, warnings |
| Liquid Coolant | #8BE9FD |
Info, links, highlights |
| Context | Font |
|---|---|
| UI Headers | Orbitron |
| Code/Terminal | JetBrains Mono |
| Status/HUD | Share Tech Mono |
The theme exports these variables for application use:
SPACECRAFT_BACKGROUND=#000027
SPACECRAFT_TEXT=#D98E32
SPACECRAFT_ACCENT=#4B7EB0
SPACECRAFT_SUCCESS=#50FA7B
SPACECRAFT_WARNING=#FF5C5C
SPACECRAFT_INFO=#8BE9FDProblem: Screen is blank after login
Solution:
- Press
Ctrl+Alt+F2to switch to TTY2 - Log in
- Check logs:
journalctl -b -p err - Try a different session (e.g., GNOME instead of Niri)
Problem: No sound
Solution:
- Check PipeWire status:
systemctl --user status pipewire - Restart PipeWire:
systemctl --user restart pipewire - Check volume:
wpctl get-volume @DEFAULT_AUDIO_SINK@ - Set volume:
wpctl set-volume @DEFAULT_AUDIO_SINK@ 50%
Problem: No network connection
Solution:
- Check NetworkManager:
nmcli general status - List connections:
nmcli connection show - Connect to WiFi:
nmcli device wifi connect "SSID" password "PASSWORD"
Problem: nixos-rebuild fails
Solution:
- Check for syntax errors in Nix files
- Run with
--show-tracefor detailed errors - Verify flake:
nix flake check - Update flake lock:
nix flake update
Problem: Selected session crashes immediately
Solution:
- Check session logs:
journalctl --user -b - Try starting manually from TTY:
- Niri:
niri-session - COSMIC:
start-cosmic - GNOME:
dbus-run-session gnome-session - LeftWM:
startx leftwm
- Niri:
Problem: Fingerprint authentication fails
Solution:
- Re-enroll:
sudo fprintd-enroll - Check device:
fprintd-list $USER - Verify PAM configuration is enabled
| Key | Action |
|---|---|
Mod+Return |
Terminal |
Mod+D |
Launcher |
Mod+Q |
Close window |
Mod+H/J/K/L |
Navigate (vim) |
Mod+1-9 |
Workspaces |
Mod+Shift+E |
Logout |
| Key | Action |
|---|---|
Mod+Return |
Terminal |
Mod+D |
Launcher |
Mod+Q |
Close window |
Mod+H/J/K/L |
Navigate (vim) |
Mod+1-9 |
Tags |
Mod+Space |
Next layout |
Mod+Shift+E |
Logout |
| Key | Action |
|---|---|
Ctrl+Space |
Switch keyboard |
Print |
Screenshot |
--- Forged in Spacecraft Software ---