mirror of
https://github.com/acedanger/dotfiles.git
synced 2025-12-05 22:30:13 -08:00
8014e4707a12ef35d92a4715f3e707c3996bbe55
dotfiles
My personal dotfiles and system setup configuration for Linux machines.
Quick Start
To set up a new machine, run:
curl -fsSL https://raw.githubusercontent.com/acedanger/dotfiles/main/bootstrap.sh | bash
What's Included
Package Managers
- Nala: A better front-end for
aptwith parallel downloads and improved interface - VS Code: Microsoft's popular code editor
- GitHub CLI: Official GitHub command-line tool
Core Packages
git: Version controlpython3: Python runtimewget&curl: Download utilitiesbat: A bettercatwith syntax highlightingcowsay: For fun CLI messageslolcat: Colorful terminal outputfzf: Fuzzy finderzsh: Better shellnala: Better package manager for Debian/Ubuntu
Shell Setup
- Oh My Zsh: Framework for managing Zsh configuration
- Agnoster Theme: Beautiful terminal theme with Git integration
Zsh Plugins
zsh-autosuggestions: Suggests commands as you type based on historyzsh-syntax-highlighting: Syntax highlighting for the shellzsh-you-should-use: Reminds you of existing aliasesgit: Git integration and aliasesdocker: Docker commands integrationdocker-compose: Docker Compose integrationz: Quick directory jumpingssh: SSH configuration and shortcuts
Development Tools
- nvm: Node Version Manager for managing Node.js versions
- zoxide: Smarter directory navigation (a modern replacement for
z) - VS Code: Code editor with essential extensions
Features
Automatic Setup
- Automatically installs and configures all necessary packages and tools
- Sets up Zsh as the default shell
- Configures Nala package manager with optimized mirrors
- Installs and configures Node.js LTS version via nvm
- Sets up VS Code with recommended extensions
Dotfile Management
- Automatically symlinks all configuration files
- Manages Zsh configuration and plugins
- Sets up Git configuration
- Configures custom aliases and functions
Custom Configurations
- Terminal greeting with fortune and cowsay
- Optimized Zsh history settings
- Improved command-line navigation with zoxide
- Automatic Node.js version switching using .nvmrc
Installation Process
-
The script will first set up necessary package repositories:
- Nala package manager
- VS Code
- GitHub CLI
-
Install core packages using Nala for better performance
-
Set up the shell environment:
- Install Zsh and Oh My Zsh
- Configure Zsh plugins and themes
- Set up custom aliases and configurations
-
Install development tools:
- Set up nvm and Node.js
- Configure zoxide for better navigation
- Install and configure Git
Manual Steps
If you need to manually set up aliases:
# Create new symlink
ln -s ~/dev/dotfiles/my-aliases.zsh ~/.oh-my-zsh/custom/aliases.zsh
# If the symlink already exists, use -f to force creation
ln -sf ~/dev/dotfiles/my-aliases.zsh ~/.oh-my-zsh/custom/aliases.zsh
Post-Installation
After installation:
- Start a new terminal session or run
zsh - The shell will be configured with all plugins and settings
- You can start using all installed tools and aliases
Maintenance
To update your setup:
- Pull the latest changes from the repository
- Run the setup script again - it's designed to be idempotent
- Start a new shell session to apply any changes
Description
Languages
PowerShell
62.2%
Shell
37.8%