https://github.com/jacke/-
~ (iam) project | Dotfiles, Shell, Cheatsheets and OG scripts π
https://github.com/jacke/-
aliases automation chezmoi config configuration-files dotfiles scripts shell zsh
Last synced: 5 months ago
JSON representation
~ (iam) project | Dotfiles, Shell, Cheatsheets and OG scripts π
- Host: GitHub
- URL: https://github.com/jacke/-
- Owner: Jacke
- License: agpl-3.0
- Created: 2020-04-12T01:42:43.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2026-01-15T14:38:39.000Z (5 months ago)
- Last Synced: 2026-01-15T18:20:46.765Z (5 months ago)
- Topics: aliases, automation, chezmoi, config, configuration-files, dotfiles, scripts, shell, zsh
- Language: Shell
- Homepage: https://dotfiles.download
- Size: 10.4 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# ~ (iam) Dotfiles
Minimal. Fast. Opinionated.
A shell environment for developers who value speed and simplicity.
---
## Quick Start
```shell
source <(curl -sL dotfiles.download/install)
```
One command. Full setup. Works on macOS and Linux.
---
## Why ~(iam)?
Most dotfiles are either too minimal or bloated with features you'll never use. This project is different:
| Problem | Solution |
|---------|----------|
| Oh-My-Zsh loads 100+ files on startup | We use Sheldon + zsh-defer for lazy loading |
| Complex plugin managers (zinit ice modifiers) | Sheldon: simple TOML config |
| Prompt slows down shell | Warp native prompt / Starship only when needed |
| Hard to sync across machines | Chezmoi templates + single install command |
| Version managers conflict | ASDF handles all runtimes |
**This is for you if:**
- You use Warp, iTerm, or Alacritty
- You want sub-200ms shell startup
- You hate bloat but love productivity
- You work across macOS and Linux
---
## Performance
Shell startup time comparison:
| Setup | Cold Start | Warm Start |
|-------|------------|------------|
| Oh-My-Zsh + p10k | ~800ms | ~400ms |
| Prezto | ~500ms | ~250ms |
| **~(iam)** | **~150ms** | **~80ms** |
How to measure
```bash
# Cold start (clear cache)
for i in {1..5}; do time zsh -i -c exit; done
# Or use hyperfine
hyperfine --warmup 3 'zsh -i -c exit'
```
---
## Stack
| Tool | Purpose |
|------|---------|
| [Chezmoi](https://chezmoi.io) | Dotfiles manager with templating |
| [Sheldon](https://sheldon.cli.rs) | Fast Rust-based zsh plugin manager |
| [Starship](https://starship.rs) | Cross-shell prompt (fallback for non-Warp) |
| [ASDF](https://asdf-vm.com) | Multi-language version manager |
| [fzf](https://github.com/junegunn/fzf) | Fuzzy finder + history search |
| [Zoxide](https://github.com/ajeetdsouza/zoxide) | Smart cd with frecency |
| [eza](https://eza.rocks) | Modern ls replacement |
| [bat](https://github.com/sharkdp/bat) | cat with syntax highlighting |
| [ripgrep](https://github.com/BurntSushi/ripgrep) | Fast grep |
| [fd](https://github.com/sharkdp/fd) | Fast find |
| [fzf](https://github.com/junegunn/fzf) | Fuzzy finder |
---
## Structure
```
.
βββ dot_zshrc # Main zsh config
βββ dot_zshrc.d/ # Modular zsh configs
β βββ alias.zsh # Aliases (git, navigation, tools)
β βββ completions.zsh # Completion setup
β βββ functions.zsh # Utility functions
β βββ keybindings.zsh # Key bindings
β βββ plugins.zsh.tmpl # Sheldon + deferred tool inits
β βββ prompt.zsh # Prompt configuration
βββ dot_config/
β βββ sheldon/ # Sheldon plugin config
β βββ starship.toml # Starship prompt config
βββ scripts/
β βββ dotfiles/ # Install/update scripts
βββ Dockerfile # Test environment
```
---
## Serotonin TUI
Interactive terminal UI for managing your dotfiles:
```bash
dotfiles # Open interactive menu
dotfiles update # Quick update all
dotfiles doctor # Diagnose environment
dotfiles benchmark # Shell performance test
dotfiles packages # Package manager TUI
```
### Package Manager Support
| Platform | Tool | Description |
|----------|------|-------------|
| macOS | [bbrew](https://github.com/Valkyrie00/bbrew) | Homebrew TUI |
| Arch Linux | [pacseek](https://github.com/moson-mo/pacseek) | pacman + AUR TUI |
| Ubuntu/Debian | [nala](https://github.com/volitank/nala) | Modern apt frontend |
---
## Plugin Packs
Modular shell enhancements for specific workflows. Enable only what you need.
```bash
dotfiles packs # Interactive menu
dotfiles packs list # List available packs
dotfiles packs add docker # Enable a pack
```
| Pack | Description | Key Aliases |
|------|-------------|-------------|
| βΈοΈ [kubernetes](scripts/dotfiles/packs/README.md#kubernetes) | K8s tools & aliases | `k`, `kgp`, `k9`, `kctx` |
| π³ [docker](scripts/dotfiles/packs/README.md#docker) | Container tools | `d`, `dc`, `dps`, `lzd` |
| πΉ [golang](scripts/dotfiles/packs/README.md#golang) | Go development | `gor`, `got`, `gol` |
| π¦ [node](scripts/dotfiles/packs/README.md#node) | Node.js/JS dev | `ni`, `nrd`, `p`, `prd` |
| π [git-extras](scripts/dotfiles/packs/README.md#git-extras) | Enhanced git | `gs`, `gl`, `lg`, `ghpr` |
[View all packs and aliases](scripts/dotfiles/packs/README.md)
---
## Commands
```bash
# Daily
dotfiles-update # Update packages, plugins, everything
dotfiles-help # Show help and status
# Serotonin TUI
dotfiles # Interactive menu
dotfiles packs # Manage plugin packs
dotfiles packages # Package manager TUI
# Plugins
sheldon lock --update # Update zsh plugins
# Dotfiles
chezmoi apply # Apply config changes
chezmoi diff # Preview changes before applying
chezmoi edit ~/.zshrc # Edit and auto-apply
```
---
## Configuration
After install, your config lives at `~/.config/chezmoi/chezmoi.toml`:
```toml
[data]
fname = "Your"
lname = "Name"
email = "you@example.com"
github_login = "username"
gpgsign = false
extra_zsh_plugins = false
```
Edit and run `chezmoi apply` to regenerate all configs.
---
## Docker Test
```bash
docker build -t dotfiles-test .
docker run -it dotfiles-test
```
---
## Contributing
1. Fork the repo
2. Create a branch: `git checkout -b feature/awesome`
3. Make changes and test: `chezmoi apply && exec zsh`
4. Commit: `git commit -m "feat: add awesome feature"`
5. Push and open PR
Please follow [Conventional Commits](https://www.conventionalcommits.org/).
### Ideas Welcome
Check [issues](https://github.com/Jacke/-/issues) or propose:
- New aliases / functions
- Performance optimizations
- Tool integrations
- Documentation improvements
---
## License
[MIT](./LICENSE) β Use it, fork it, make it yours.
---
Built with obsessive attention to startup time.