How austindloar/dev-env works
Purpose and Scope
This is a personal Unix desktop/developer-environment configuration repository. It centralizes shell, terminal, editor, multiplexer, SSH, Git, and Sway window-manager settings, plus launcher-style files for running selected applications.
Primary Entry Points
• dev-env appears to be the top-level environment bootstrap or development entry point.
• run is the likely general execution wrapper.
• Application-specific launch surfaces are under runs/, including runs/firefox, runs/ghostty, runs/neovim, runs/sway, runs/tmux, and runs/zsh.
• Shell startup is rooted at .zshrc, with prompt behavior in .p10k.zsh.
Shell and Session Layer
The interactive environment is Zsh-based:
• .zshrc defines the shell session configuration.
• .p10k.zsh supplies Powerlevel10k prompt configuration.
• .local/scripts/ready-tmux and .ready-tmux indicate a readiness/session handoff mechanism around tmux.
This layer is the likely common initialization boundary before editor, terminal, and multiplexer workflows begin.
Terminal and Multiplexer Workflow
Terminal and terminal-session behavior is configured separately:
• Ghostty: .config/ghostty/config.ghostty
• tmux: .config/tmux/tmux.conf
• Session selection/creation helper: .local/scripts/tmux-sessionizer
• Runtime launch target: runs/ghostty and runs/tmux
The intended flow is likely terminal → Zsh → tmux, with sessionizer tooling selecting project or working-directory sessions.
Neovim Configuration Architecture
Neovim is organized as a Lua configuration module rather than a monolithic init file:
• Root entry: .config/nvim/init.lua
• Local module root: .config/nvim/lua/austin/init.lua
• Base settings: .config/nvim/lua/austin/set.lua
• Plugin/bootstrap initialization: .config/nvim/lua/austin/lazy_init.lua
• Feature modules: .config/nvim/lua/austin/lazy/lsp.lua, .config/nvim/lua/austin/lazy/conform.lua, .config/nvim/lua/austin/lazy/telescope.lua
This separates editor startup, core options, plugin loading, language-server integration, formatting, and search/navigation capabilities.
Desktop and System Boundaries
The graphical desktop boundary is Sway:
• .config/sway/config
• Runtime launcher: runs/sway
Terminal GUI behavior is Ghostty-specific, while Sway owns window-management concerns. The repository also includes authentication/remote-access and source-control client configuration:
• .ssh/config
• .gitconfig
Runtime Packaging/Launch Boundary
The runs/ directory is the repository’s runtime abstraction layer. It contains executable or wrapper targets for user-facing programs and a shared library area:
• runs/libs
• runs/ly
• runs/firefox
• runs/neovim
This boundary likely decouples machine setup and application invocation from the underlying dotfile locations, allowing a consistent way to start desktop and development tools.
Main entry points: lazy_init.lua Plugin bootstrap · .zshrc .zshrc · init.lua Austin module root · tmux.conf tmux config
Components 20
Launch & Bootstrap
Executable entry points and shared runtime wrappers.
Shell & Terminal Session
Interactive shell, terminal, and tmux workflow.
- .zshrc · Defines the interactive Zsh environment.
.zshrc - Powerlevel10k prompt
.p10k.zsh - Ghostty config
.config/ghostty/config.ghostty - tmux config
.config/tmux/tmux.conf - ready-tmux · Coordinates shell readiness with tmux.
.local/scripts/ready-tmux - tmux-sessionizer · Selects or creates project tmux sessions.
.local/scripts/tmux-sessionizer
Neovim
Lua-based editor configuration and feature modules.
- Neovim entry
.config/nvim/init.lua - Austin module root
.config/nvim/lua/austin/init.lua - Core settings
.config/nvim/lua/austin/set.lua - Plugin bootstrap
.config/nvim/lua/austin/lazy_init.lua - LSP features
.config/nvim/lua/austin/lazy/lsp.lua - Formatting features
.config/nvim/lua/austin/lazy/conform.lua - Search features
.config/nvim/lua/austin/lazy/telescope.lua
Desktop & Clients
Window management and user client settings.
- Sway config · Owns graphical window-management behavior.
.config/sway/config - SSH config
.ssh/config - Git config
.gitconfig
Connections 18
- dev-env → run: bootstraps
- run → runs: dispatches
- runs → runs/libs: uses
- runs → Ghostty config: launches terminal
- runs → tmux config: launches multiplexer
- runs → Neovim entry: launches editor
- runs → Sway config: launches desktop
- Ghostty config → .zshrc: starts shell
- .zshrc → Powerlevel10k prompt: configures prompt
- .zshrc → ready-tmux: hands off session
- ready-tmux → tmux config: readies
- tmux-sessionizer → tmux config: selects sessions
- Neovim entry → Austin module root: loads
- Austin module root → Core settings: loads settings
- Austin module root → Plugin bootstrap: bootstraps plugins
- Plugin bootstrap → LSP features: enables
- Plugin bootstrap → Formatting features: enables
- Plugin bootstrap → Search features: enables