{"id":37682091,"url":"https://github.com/mfmezger/dotfiles","last_synced_at":"2026-01-17T16:27:46.536Z","repository":{"id":232248780,"uuid":"764749349","full_name":"mfmezger/dotfiles","owner":"mfmezger","description":"Dotfiles for Macbooks/Linux for AI Engineering with Gnu Stow.","archived":false,"fork":false,"pushed_at":"2026-01-14T22:02:18.000Z","size":277,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-16T22:53:01.707Z","etag":null,"topics":["ai-engineering","dotfiles","linux","macos","stow"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mfmezger.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-28T16:34:11.000Z","updated_at":"2026-01-14T22:02:22.000Z","dependencies_parsed_at":"2024-04-18T12:51:11.051Z","dependency_job_id":"b1d9445c-ea53-4014-a11d-b3555b9a89df","html_url":"https://github.com/mfmezger/dotfiles","commit_stats":null,"previous_names":["mfmezger/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mfmezger/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfmezger%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfmezger%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfmezger%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfmezger%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mfmezger","download_url":"https://codeload.github.com/mfmezger/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfmezger%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-engineering","dotfiles","linux","macos","stow"],"created_at":"2026-01-16T12:27:16.390Z","updated_at":"2026-01-17T16:27:46.495Z","avatar_url":"https://github.com/mfmezger.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔧 Dotfiles :rocket:\n\nCross-platform dotfiles for macOS and Linux with modern CLI tools and development environment.\n\nMy recommended extensions for ai engineering can be installed via the vs-code extensions pack: [AI Engineering Extensions Pack](https://marketplace.visualstudio.com/items?itemName=mfmezger.python-ai-engineering).\n\n## Quick Install\n\n```bash\ngit clone https://github.com/mfmezger/dotfiles.git ~/dotfiles\ncd ~/dotfiles\n```\n\n### macOS\n\n```bash\n./install_mac.sh\n```\n\n### Arch Linux\n\n```bash\n./install_linux.sh\n```\n\n### Ubuntu (Minimal Setup)\n\n```bash\n./install_ubuntu_server.sh\n```\n\n## Change Git Name and Email\n\nCreate a `~/.gitconfig.local` file to set your user details without modifying the tracked config:\n\n```bash\ncat \u003c\u003cEOF \u003e ~/.gitconfig.local\n[user]\n    name = Your Name\n    email = your.email@example.com\nEOF\n```\n\n## Key Tools\n\n- **Shell**: Zsh + Oh My Zsh + Powerlevel10k\n- **Terminal**: Ghostty, Kitty (backup)\n- **Editor**: Neovim, Zed\n- **File Navigation**: eza, yazi, zoxide, fd\n- **Text \u0026 Viewers**: bat, glow, chroma, jq\n- **System Monitoring**: btop, htop, dust, duf, fastfetch\n- **Git**: git-delta, gh, onefetch, commitizen\n- **History \u0026 Docs**: atuin, tealdeer\n- **DevOps**: k9s, kubectl, helm\n- **Launcher**: Albert (Linux), Raycast (macOS)\n- **Utilities**: tokei, witr\n\n## Structure\n\n```bash\n~/dotfiles/\n├── zsh/                    # Zsh configuration (.zshrc, .p10k.zsh)\n├── nvim/                   # Neovim configuration  \n├── kitty/                  # Kitty terminal config\n├── ghostty/                # Ghostty terminal config\n├── git/                    # Git configuration (.gitconfig)\n├── yazi/                   # Yazi file manager\n├── zed/                    # Zed editor config\n├── i3/                     # i3 window manager (Linux)\n├── albert/                 # Albert launcher config (Linux)\n├── screenlayout/           # Screen layout scripts (Linux)\n├── scripts/                # Utility scripts\n├── Brewfile                # macOS packages (work)\n├── Brewfile.personal       # macOS packages (personal)\n├── install_mac.sh          # macOS installer\n├── install_linux.sh        # Arch Linux installer\n└── install_ubuntu_server.sh # Ubuntu terminal setup\n```\n\n## Shortcuts\n\nShell abbreviations defined in `.zshrc` (type and press space to expand):\n\n### Basic\n\n| Shortcut | Expands To       |\n| -------- | ---------------- |\n| `e`      | `exit`           |\n| `v`      | `$EDITOR` (nvim) |\n| `c`      | `clear`          |\n| `g`      | `git`            |\n| `d`      | `docker`         |\n| `k`      | `kubectl`        |\n| `pbcopy` | Copy to clipboard (Linux) |\n| `pbpaste`| Paste from clipboard (Linux) |\n\n### Python / UV\n\n| Shortcut | Expands To                      |\n| -------- | ------------------------------- |\n| `av`     | `. .venv/bin/activate`          |\n| `us`     | `uv sync`                       |\n| `pt`     | Run pytest with coverage report |\n\n### Git\n\n| Shortcut | Expands To                      |\n| -------- | ------------------------------- |\n| `ga`     | `git add -A`                    |\n| `gs`     | `git status`                    |\n| `gd`     | `git diff`                      |\n| `gg`     | `git add . \u0026\u0026 git commit -m`    |\n| `gp`     | `git push`                      |\n| `gpl`    | `git pull`                      |\n| `gc`     | `git checkout`                  |\n| `gcb`    | `git checkout -b`               |\n| `pcr`    | `pre-commit run --all-files`    |\n| `pcu`    | `pre-commit autoupdate`         |\n| `init`   | `pre-commit install \u0026\u0026 cz init` |\n\n### Kubernetes\n\n| Shortcut | Expands To                      |\n| -------- | ------------------------------- |\n| `k`      | `kubectl`                       |\n| `kgp`    | `kubectl get pods`              |\n| `tt`     | `tilt down; tilt up`            |\n\n### Docker\n\n| Shortcut | Expands To                     |\n| -------- | ------------------------------ |\n| `dcb`    | `docker compose build`         |\n| `dcu`    | `docker compose up`            |\n| `dcub`   | `docker compose up --build`    |\n| `dd`     | `docker compose up --build -d` |\n| `dl`     | `docker compose logs -f -t`    |\n\n### System Update\n\n| Shortcut | Description                                                 |\n| -------- | ----------------------------------------------------------- |\n| `uu`     | Update all packages (Homebrew on macOS, pacman/yay on Arch) |\n\n---\n\n## Stow Usage\n\nThis repo uses [GNU Stow](https://www.gnu.org/software/stow/) to symlink configs to your home directory.\n\n### Stow Packages\n\n| Package        | Creates Symlinks          |\n| -------------- | ------------------------- |\n| `zsh`          | `~/.zshrc`, `~/.p10k.zsh` |\n| `git`          | `~/.gitconfig`            |\n| `nvim`         | `~/.config/nvim`          |\n| `ghostty`      | `~/.config/ghostty`       |\n| `kitty`        | `~/.config/kitty`         |\n| `yazi`         | `~/.config/yazi`          |\n| `zed`          | `~/.config/zed`           |\n| `i3`           | `~/.config/i3`            |\n| `albert`       | `~/.config/albert`        |\n| `dunst`        | `~/.config/dunst`         |\n| `screenlayout` | `~/.screenlayout`         |\n\n### Apply Configs\n\n```bash\ncd ~/dotfiles\n\n# macOS\nstow zsh git nvim ghostty yazi zed\n\n# Arch Linux  \nstow zsh git nvim kitty yazi ghostty zed albert\nstow --no-folding i3  # Preserves scripts folder\n\n# Ubuntu (minimal)\nstow zsh git nvim\n```\n\n### Dry Run (Preview Changes)\n\n```bash\nstow -n zsh  # Shows what would happen without making changes\n```\n\n### Remove Symlinks\n\n```bash\nstow -D zsh  # Unstow a package\n```\n\n### Restow (Refresh Symlinks)\n\n```bash\nstow -R zsh  # Useful after adding new files to a package\n```\n\n### Troubleshooting Conflicts\n\nIf stow reports conflicts, you likely have existing files that aren't symlinks:\n\n```bash\n# Backup and remove conflicting files\nmv ~/.zshrc ~/.zshrc.backup\nmv ~/.gitconfig ~/.gitconfig.backup\n\n# Then stow again\nstow zsh git\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfmezger%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmfmezger%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfmezger%2Fdotfiles/lists"}