# lewagon/dotfiles

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/lewagon-dotfiles).**

21,766 stars · 28,718 forks · Shell · MIT

## Links

- GitHub: https://github.com/lewagon/dotfiles
- Homepage: https://www.lewagon.com
- awesome-repositories: https://awesome-repositories.com/repository/lewagon-dotfiles.md

## Description

This is a Unix dotfiles repository that provides a central store of configuration files to synchronize application settings and environment variables across different systems. It functions as a standardized development environment setup, offering a consistent profile for code editors, debuggers, and language runtimes across multiple machines.

The repository includes specific configuration profiles for shell environments, Git identity and commit authorship, and SSH agent automation for secure credential management. It manages the loading of identity files and integrates system keychains to automate remote authentication.

The project covers a broad range of development tooling, including programming language versioning, code editor customization for keybindings and visual themes, and shell environment configuration for aliases and prompt settings. It also includes settings for formatting test output and configuring interactive language shells.

## Tags

### Development Tools & Productivity

- [Dotfile Managers](https://awesome-repositories.com/f/development-tools-productivity/dotfile-managers.md) — Acts as a central store for synchronizing application settings and environment variables via dotfiles across systems.
- [Dotfile Symlink Management](https://awesome-repositories.com/f/development-tools-productivity/dotfile-symlink-management.md) — Synchronizes configuration files via symbolic links from a version-controlled repository to the home directory.
- [Editor Configurations](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-ide-extensions/editor-configurations.md) — Defines consistent formatting, indentation rules, and visual preferences for code editors. ([source](https://github.com/lewagon/dotfiles/blob/master/settings.json))
- [Environment Profiles](https://awesome-repositories.com/f/development-tools-productivity/environment-profiles.md) — Provides a standardized set of preferences for code editors, debuggers, and language runtimes across machines.
- [Shell Configuration Management](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/configuration-environment-management/shell-configuration-management.md) — Provides a collection of settings and aliases for managing shell environments and automating system path resolution.
- [Shell Environments](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/configuration-environment-management/shell-environments.md) — Standardizes shell environments with visual themes and command aliases across multiple machines. ([source](https://github.com/lewagon/dotfiles/blob/master/zprofile))
- [Shell Initialization Engines](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/configuration-environment-management/shell-environments/shell-configuration-frameworks/shell-initialization-engines.md) — Orchestrates the loading and execution of scripts during shell session startup to initialize the environment.
- [Git Configuration](https://awesome-repositories.com/f/development-tools-productivity/git-configuration.md) — Manages global Git identities and commit authorship details for consistent version control. ([source](https://github.com/lewagon/dotfiles/blob/master/git_setup.sh))
- [Keybinding Managers](https://awesome-repositories.com/f/development-tools-productivity/keybinding-managers.md) — Maps custom keyboard shortcuts to specific editor commands for improved productivity. ([source](https://github.com/lewagon/dotfiles/blob/master/keybindings.json))

### Software Engineering & Architecture

- [Global Application Settings](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-scopes/application-configuration/global-application-settings.md) — Defines global application settings in centralized files to ensure consistent behavior across environments.
- [Centralized Configuration Systems](https://awesome-repositories.com/f/software-engineering-architecture/centralized-configuration-systems.md) — Provides a centralized system for organizing and distributing application settings across multiple machines.
- [Development Environment Standardization](https://awesome-repositories.com/f/software-engineering-architecture/development-environment-standardization.md) — Ensures a consistent development workspace by applying uniform shell and editor preferences. ([source](https://github.com/lewagon/dotfiles#readme))
- [Environment Variable Injection](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/environment-variable-management/environment-variable-injection.md) — Injects system environment variables and directory paths into the shell for tool execution.
- [Binary Path Configurations](https://awesome-repositories.com/f/software-engineering-architecture/dynamic-path-configuration/binary-path-discovery/binary-path-configurations.md) — Configures system paths to allow seamless execution of command line tools from any location.
- [Binary Path Optimizations](https://awesome-repositories.com/f/software-engineering-architecture/path-resolution-utilities/binary-path-optimizations.md) — Optimizes the system environment to execute tools without specifying full file paths. ([source](https://github.com/lewagon/dotfiles/blob/master/zshrc))

### User Interface & Experience

- [Editor Appearance Customization](https://awesome-repositories.com/f/user-interface-experience/editor-customization-tools/editor-appearance-customization.md) — Customizes the visual and behavioral aspects of code editors to maintain a consistent writing environment.

### Programming Languages & Runtimes

- [Version Managers](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/version-managers.md) — Integrates language version managers into the system path to dynamically switch between runtimes.

### Security & Cryptography

- [SSH Agent Integrations](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/machine-and-protocol-identity/specialized-authentication-protocols/agent-authentication-strategies/ssh-agent-integrations.md) — Integrates with local SSH agents to automate the loading of identity files for remote authentication.
- [Git User Identities](https://awesome-repositories.com/f/security-cryptography/user-identity-management/git-user-identities.md) — Configures global user details and commit authorship for consistent identification across remote repositories.
