Skip to content
/ dotfiles Public template

Managed with chezmoi - cross-platform dotfiles with conditional tool loading

License

Notifications You must be signed in to change notification settings

Hydepwns/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DROO's Dotfiles

Plugins Leader Key Plugin Manager License Platform

Cross-platform dotfiles managed with [chezmoi] - featuring modular tool loading, project templates, development automation, and standardized script architecture.

Quick Start

# One-liner install (30 seconds)
curl -fsSL https://raw.githubusercontent.com/hydepwns/dotfiles/main/scripts/setup/quick-setup.sh | bash

# NixOS-specific quick fix for common issues
bash scripts/setup/nixos-quick-fix.sh

# MacOS/Darwin with brew
brew install chezmoi && chezmoi init --apply https://github.com/hydepwns/dotfiles.git

# Verify your setup (after installation)
bash scripts/utils/verify-setup.sh

# NixOS quick fix for common issues
bash scripts/setup/nixos-quick-fix.sh

NixOS: Doesn't allow dynamically linked executables from generic Linux, docs/nixos-installation.md has even more install options.

Usage

Category Command Description
Core make install Install dotfiles
Sync make update Update from remote
Health utils/health-check.sh System health check (working)
Health make doctor Advanced health check (may segfault)
Sync make sync Sync local changes
Verify utils/test-functionality.sh Verify complete setup (28 tests)
Test make test Run test suite (may segfault)

Configuration

Initial Setup

The setup process will prompt for:

Setting Purpose Example
Email Git config user@example.com
Username Git config Your Name
Tool Preferences Nix, Oh My Zsh, asdf y/n for each tool
Machine Type Personal (SSH keys) or Work personal or work

Optional Features

SSH & GitHub Setup

# Set GitHub token for SSH key fetching
export GITHUB_TOKEN="your_personal_access_token"

# Apply configuration with SSH keys
chezmoi apply

# Or use the setup script
./scripts/setup/setup-github-token.sh

# Install additional tools
make install-optional

# Performance monitoring
make performance-monitor ACTION=measure

# Setup Cursor IDE
./scripts/setup/setup-cursor-simple.sh

# Edit specific configuration files
chezmoi edit ~/.zshrc ~/.gitconfig ~/.tmux.conf ~/.config/nvim/init.lua ~/.config/nvim/lua/plugins.lua

# Verify configuration integrity
chezmoi verify
chezmoi apply --source-path ~/.local/share/chezmoi

Core Tools

Category Tools Languages Version Managers
Core chezmoi-badge zsh-badge kitty-badge neovim-badge cursor-badge node-badge python-badge rust-badge elixir-badge erlang-badge lua-badge asdf-badge direnv-badge devenv-badge nix-badge
Web3 ethereum-badge foundry-badge solana-badge nextjs-badge react-badge typescript-badge tailwind-badge -

Neovim Plugins

See docs/nvim-plugins.md for a full categorized list and descriptions.

Category Count Key Plugins
UI & Theme 4 twilight.nvim, mini.hipatterns, synthwave84.nvim, mona.nvim
Comments & Completion 6 nvim-cmp, LuaSnip, Comment.nvim, todo-comments.nvim, ts-context-commentstring, friendly-snippets
File Management & Git 4 mini.files, nvim-tree.lua, gitsigns.nvim, mini.diff
LSP & Diagnostics 4 nvim-lspconfig, mason.nvim, trouble.nvim, conform.nvim
Editing & Movement 8 mini.pairs, mini.surround, mini.ai, mini.move, mini.operators, mini.align, mini.trailspace, hlargs.nvim
Status & Testing 6 mini.statusline, lualine.nvim, mini.tabline, neotest, neotest-*, mini.sessions
Fuzzy Finder & Keybindings 5 telescope.nvim, mini.visits, which-key.nvim, flash.nvim, mini.extra
Note-taking & Utilities 6 orgmode, neorg, mini.nvim, noice.nvim, nvim-notify, dressing.nvim
Treesitter & Animation 3 nvim-treesitter, mini.animate, SmoothCursor.nvim
Development 4 neoconf.nvim, neodev.nvim, mini.indentscope, mini.cursorword
Total 56

Templates

See docs/templates.md for detailed template information and usage examples.

Template Description Features
web3-template-badge Full-stack blockchain Foundry, Hardhat, Web3.js, Ethers.js, Solana, Anchor
nextjs-template-badge Modern React apps TypeScript, Tailwind, ESLint, Prettier, NextAuth, Supabase
rust-template-badge CLI tools & services Cargo, Clippy, Testing, Documentation, Actix-web
elixir-template-badge Phoenix web apps Mix, ExUnit, Credo, Dialyzer, Ecto, Phoenix, Tailwind, LiveView
node-template-badge Node.js APIs Express, Jest, ESLint, TypeScript
python-template-badge Python applications Ansible, Poetry, Pytest, Black, MyPy, FastAPI
go-template-badge Go services Modules, Testing, Linting, Protobuf

Template Usage

# Quick examples
make generate-template web3 my-project --web3-type both --with-tests --with-ci
make generate-template nextjs my-app --with-tests --with-ci --with-docs
make generate-template rust my-cli --with-docs --with-ci

# List all templates
make generate-template

Performance

Shell startup is up to 95% faster with lazy loading and modular architecture. See docs/performance.md for detailed benchmarks.

Feature Improvement Impact
Lazy Loading 0.9s saved per shell 95% faster startup
Modular Architecture On-demand loading Reduced memory usage
Standardized Scripts Unified initialization Faster development
Template System 8 project types Faster project setup
Real-time Monitoring Live performance tracking Continuous optimization
Enhanced Analytics Detailed metrics & reports Data-driven improvements

Performance & Lazy Loading

Command Description
make perf Run performance test
make perf-report Generate performance report
make perf-history Show performance history
make perf-realtime Start real-time monitoring
make perf-stop Stop real-time monitoring
make lazy-load-config Generate lazy loading config
make lazy-load-stats Show lazy loading stats
make lazy-load-clean Clean lazy loading data

Optimization Summary

Optimization Mechanism Affects Command/Config
Lazy Loading Aliases/functions Tool load time, startup make lazy-load-config
Modular Sourcing Conditional load Shell startup, memory .zshrc, .zshenv
Real-time Monitor Background script Live resource usage make perf-realtime
PATH Pruning Deduplication Command lookup speed core/paths.zsh
Performance Test Benchmark script Startup, tool load make perf
Analytics/Reports Data aggregation Optimization feedback make perf-report

FAQ

Q: How do I customize the configuration? A: Edit files directly with chezmoi edit ~/.zshrc or modify templates in the source.

Q: Can I use this on Windows? A: Currently optimized for macOS (use brew to install chezmoi) and Linux. Windows support is experimental (because I refuse to use it). Use devenv for windows.