Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 GitHub - al0xd/dotfiles: A minimalist Dotfiles boilerplate for web developers
Nothing Special   »   [go: up one dir, main page]

Skip to content

al0xd/dotfiles

< 8000 !-- -->

Repository files navigation

Hero

⚑ Dotfiles Configuration

A minimalist and powerful dotfiles configuration tailored for web developers and productivity enthusiasts.

🎯 Overview

This repository contains a carefully curated collection of dotfiles and configurations that provide a seamless development environment. Designed with simplicity and productivity in mind, these configurations help you set up a powerful terminal-based workflow quickly.

✨ Features

  • πŸš€ One-Command Installation: Automated setup with intelligent backup system
  • πŸ”„ Smart Updates: Automatic git pull and configuration sync
  • πŸ’Ύ Safe Backup: Automatic backup of existing configs with timestamps
  • πŸ–₯️ Modern Terminal Setup: Enhanced terminal experience with Kitty terminal emulator
  • 🐚 Powerful Shell Configuration: ZSH with custom aliases and functions
  • ⚑ Advanced Code Editor: LunarVim configuration for efficient coding
  • πŸ”€ Custom Fonts: High-quality programming fonts included
  • πŸ“¦ Git Configuration: Optimized Git settings and global gitignore
  • πŸ”§ Cross-Platform: Compatible with macOS (bash 3.2+) and Linux

πŸ“‹ Prerequisites

Before installation, ensure you have the following dependencies installed:

Tool Description Status Installation Link
Git Version control system Required Install Guide
Kitty Modern, feature-rich terminal emulator Recommended Install Guide
Oh My Zsh Framework for managing Zsh configuration Recommended Install Guide
LunarVim IDE layer for Neovim with sane defaults Optional Install Guide
Powerlevel10k Fast and customizable Zsh theme Optional Install Guide

πŸš€ Installation

Quick Install (Recommended)

Open your terminal and run this single command:

bash <(curl -s https://raw.githubusercontent.com/al0xd/dotfiles/master/install.sh)

Manual Installation

If you prefer to install manually or want more control over the process:

# Clone the repository
git clone https://github.com/al0xd/dotfiles.git ~/dotfiles

# Navigate to the dotfiles directory
cd ~/dotfiles

# Make install script executable
chmod +x ./install.sh

# Run the installation script
./install.sh

Custom Installation Directory

You can specify a custom directory for dotfiles:

# Install to custom directory
./install.sh -d /path/to/custom/dotfiles

# Or set environment variable
DOTFILES_DIR=/path/to/custom ./install.sh

πŸ“– Installation Script Usage

The install.sh script comes with several useful options:

# Show help information
./install.sh --help

# Install with custom dotfiles directory
./install.sh --dir /custom/path

# Short form options
./install.sh -h        # Help
./install.sh -d DIR    # Custom directory

What the script does:

  1. πŸ” Environment Validation: Checks for Git and required permissions
  2. πŸ“¦ Repository Setup: Clones repo (first time) or pulls updates (existing)
  3. πŸ’Ύ Smart Backup: Backs up existing configs with timestamps
  4. πŸ”— Symlink Creation: Creates symlinks to dotfiles configurations
  5. βœ… Verification: Validates all operations completed successfully

πŸ”„ Updating

To update your dotfiles configuration to the latest version:

# Navigate to dotfiles directory (default location)
cd ~/dotfiles

# Run the installation script (it will auto-update)
./install.sh

The script automatically:

  • Pulls latest changes from the repository
  • Updates all symlinks
  • Backs up any conflicting files

πŸ“ Project Structure

dotfiles/
β”œβ”€β”€ πŸ“‚ fonts/           # Programming fonts collection
β”‚   β”œβ”€β”€ ComicMono-*.ttf
β”‚   β”œβ”€β”€ LigaComicMono-*.ttf
β”‚   └── SFMono-*.otf
β”œβ”€β”€ πŸ“‚ git/             # Git configuration files
β”‚   β”œβ”€β”€ gitconfig       # Global git configuration
β”‚   └── gitignore       # Global gitignore patterns
β”œβ”€β”€ πŸ“‚ kitty/           # Kitty terminal configuration
β”‚   └── kitty.conf      # Terminal settings and themes
β”œβ”€β”€ πŸ“‚ lunarvim/        # LunarVim configuration
β”‚   └── config.lua      # Neovim IDE settings
β”œβ”€β”€ πŸ“‚ zsh/             # ZSH configuration and aliases
β”‚   β”œβ”€β”€ zshrc           # Main ZSH configuration
β”‚   └── aliases.zsh     # Custom shell aliases
β”œβ”€β”€ πŸ“‚ img/             # Documentation assets
β”‚   └── hero.png
β”œβ”€β”€ πŸ”§ install.sh       # Automated installation script
β”œβ”€β”€ πŸ“ package.json     # Release automation
└── πŸ“– README.md        # This documentation

βš™οΈ What's Included

🐚 Shell Configuration (ZSH)

  • Custom aliases for common commands
  • Enhanced prompt and productivity functions
  • Optimized for development workflow

πŸ–₯️ Terminal Setup (Kitty)

  • Optimized terminal settings
  • Custom key bindings and shortcuts
  • Modern font rendering and themes

πŸ“¦ Git Configuration

  • Global settings for optimal workflow
  • Comprehensive gitignore patterns
  • Aliases for common git operations

⚑ Editor Setup (LunarVim)

  • IDE-like experience with essential plugins
  • Language server configurations
  • Custom key bindings and themes

πŸ”€ Font Collection

  • Comic Mono: Playful monospace font
  • Liga Comic Mono: Comic Mono with ligatures
  • SF Mono: Apple's system monospace font
  • Optimized for programming and terminal use

πŸ› οΈ Troubleshooting

Common Issues

Permission Denied:

chmod +x ./install.sh

Bash Version Issues (macOS): The script is compatible with bash 3.2+ (macOS default). No additional setup needed.

Symlink Conflicts: The script automatically backs up existing files with timestamps before creating symlinks.

Git Issues: Ensure you have Git installed and configured with your credentials.

πŸ”§ Customization

Adding New Dotfiles

To add new dotfiles to the installation:

  1. Add your config file to the appropriate directory
  2. Update the DOTFILE_MAPPINGS array in install.sh:
readonly DOTFILE_MAPPINGS=(
  # ... existing mappings ...
  "your-config/file|$HOME/.your-config"
)

Modifying Existing Configs

Simply edit the files in their respective directories:

  • zsh/zshrc - Shell configuration
  • git/gitconfig - Git settings
  • kitty/kitty.conf - Terminal settings
  • lunarvim/config.lua - Editor configuration

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch (git checkout -b feature/amazing-feature)
  3. πŸ’Ύ Commit your changes (git commit -m 'Add amazing feature')
  4. πŸ“€ Push to the branch (git push origin feature/amazing-feature)
  5. πŸ“‹ Open a Pull Request

Guidelines

  • Follow existing code style and conventions
  • Test your changes on multiple systems if possible
  • Update documentation for new features
  • Keep commits atomic and well-described

πŸ“„ License

This project is open source and available under the MIT License.

πŸ‘¨β€πŸ’» Contributors

πŸ™ Acknowledgments

Special thanks to the creators and maintainers of:


Made with ❀️ for the developer community

⭐ Star this repo if it helped you!

Questions? Issues? Ideas?
Open an issue or start a discussion!

Packages

No packages published

Contributors 3

  •  
  •  
  •  
0