{"id":15938664,"url":"https://github.com/mckenziearts/dotfiles","last_synced_at":"2026-04-05T08:35:22.959Z","repository":{"id":97602948,"uuid":"489407245","full_name":"mckenziearts/dotfiles","owner":"mckenziearts","description":"Setting Up New MacBook | Linux","archived":false,"fork":false,"pushed_at":"2025-11-17T07:22:12.000Z","size":5214,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-17T09:16:00.565Z","etag":null,"topics":["dotfiles","linux","macos","shell","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mckenziearts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2022-05-06T15:35:22.000Z","updated_at":"2025-11-17T07:22:15.000Z","dependencies_parsed_at":"2023-07-06T17:25:26.735Z","dependency_job_id":null,"html_url":"https://github.com/mckenziearts/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mckenziearts/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mckenziearts%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mckenziearts%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mckenziearts%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mckenziearts%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mckenziearts","download_url":"https://codeload.github.com/mckenziearts/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mckenziearts%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31430009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T08:13:15.228Z","status":"ssl_error","status_checked_at":"2026-04-05T08:13:11.839Z","response_time":75,"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":["dotfiles","linux","macos","shell","zsh"],"created_at":"2024-10-07T05:41:18.951Z","updated_at":"2026-04-05T08:35:22.932Z","avatar_url":"https://github.com/mckenziearts.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"art/banner-2x.png\"\u003e\u003c/p\u003e\n\n\u003e This repo is a fork of Dries Vints [dotfiles](https://github.com/driesvints/dotfiles)\n\n## Introduction\n\nThis repository serves as my way to setup and maintain my development environment on **Linux** and **macOS**. It takes the effort out of installing everything manually and keeps my configuration versioned and synchronized across machines.\n\n## Features\n\n- 🐧 **Linux support** (Ubuntu/Debian-based)\n- 🍎 **macOS support** (with Homebrew)\n- 🔗 **Shared configuration** (Git, aliases, PATH)\n- 📦 **Automatic installation** of development tools\n- 🎨 **Oh My Zsh** with Spaceship theme\n- ⚡ **Optimized** for PHP/Laravel development\n\n## Quick Start\n\n### Linux Setup\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/mckenziearts/dotfiles.git ~/.dotfiles\n   ```\n\n2. Run the installation:\n   ```bash\n   ~/.dotfiles/linux/fresh.sh\n   ```\n\n3. Restart your terminal or reload your shell:\n   ```bash\n   source ~/.zshrc\n   ```\n\n### Mac Setup\n\nAfter backing up your old Mac you may now follow these install instructions to setup a new one.\n\n1. Update macOS to the latest version through system preferences\n2. Setup an SSH key by using one of the two following methods\n   2.1. If you use 1Password, install it with the 1Password [SSH agent](https://developer.1password.com/docs/ssh/get-started/#step-3-turn-on-the-1password-ssh-agent) and sync your SSH keys locally.\n   2.2. Otherwise [generate a new public and private SSH key](https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) by running:\n\n   ```zsh\n   curl https://raw.githubusercontent.com/mckenziearts/dotfiles/HEAD/macos/bin/ssh.sh | sh -s \"\u003cyour-email-address\u003e\"\n   ```\n\n3. Clone this repository to `~/.dotfiles` with:\n   ```bash\n   git clone --recursive git@github.com:mckenziearts/dotfiles.git ~/.dotfiles\n   ```\n\n4. Run the installation:\n   ```bash\n   ~/.dotfiles/macos/fresh.sh\n   ```\n\n5. Start `Herd.app` and run its install process\n6. After mackup is synced with your cloud storage, restore preferences by running `mackup restore`\n7. Restart your computer to finalize the process\n\n## Structure\n\n```\n.dotfiles/\n├── config/\n│   └── git/              # Shared Git configuration\n│       ├── .gitconfig\n│       └── .gitignore_global\n├── linux/\n│   ├── bin/              # Linux installation scripts\n│   ├── aliases.zsh       # Linux-specific aliases\n│   ├── fresh.sh          # Linux setup script\n│   └── .zshrc            # Linux Zsh configuration\n├── macos/\n│   ├── bin/              # macOS installation scripts\n│   ├── aliases.zsh       # macOS-specific aliases\n│   ├── fresh.sh          # macOS setup script\n│   ├── .zshrc            # macOS Zsh configuration\n│   ├── Brewfile          # macOS apps to install\n│   └── .mackup.cfg       # Mackup configuration (optional)\n├── bin/\n│   └── ssh.sh            # SSH key generation script\n├── aliases.zsh           # Shared aliases (Git, Laravel, PHP, etc.)\n├── path.zsh              # Shared PATH configuration\n└── clone.sh              # Clone personal repositories\n```\n\n## What Gets Installed\n\n### Linux\n\n- **Zsh** and **Oh My Zsh**\n- **Spaceship** prompt theme\n- Zsh plugins (autosuggestions, syntax highlighting)\n- Development tools (see `linux/bin/development.sh`)\n- System binaries (see `linux/bin/binaries.sh`)\n\n### Mac\n\n- **Homebrew** package manager\n- **Zsh** and **Oh My Zsh**\n- **Spaceship** prompt theme\n- Zsh plugins (autosuggestions, syntax highlighting)\n- Apps from Brewfile (if exists)\n\n### Both Systems\n\n**Symbolic links created:**\n- `~/.zshrc` → OS-specific .zshrc\n- `~/.gitconfig` → `config/git/.gitconfig`\n- `~/.gitignore_global` → `config/git/.gitignore_global`\n\n**Loaded configurations:**\n- Shared aliases (Git, Laravel, Composer, etc.)\n- OS-specific aliases (update, install commands)\n- Custom PATH configuration\n- NVM for Node.js version management\n\n## Customization\n\n### Adding Shared Aliases\n\nEdit [`aliases.zsh`](./aliases.zsh) to add aliases available on both Linux and macOS:\n\n```bash\nalias myalias=\"my command\"\n```\n\n### Adding OS-Specific Aliases\n\n- **Linux only:** Edit [`linux/aliases.zsh`](./linux/aliases.zsh)\n- **macOS only:** Edit [`macos/aliases.zsh`](./macos/aliases.zsh)\n\n### Customizing PATH\n\nEdit [`path.zsh`](./path.zsh) to add directories to your PATH (shared across both OS).\n\n### Git Configuration\n\nEdit [`config/git/.gitconfig`](./config/git/.gitconfig) to customize your global Git settings.\n\n### Installing macOS Apps\n\nEdit [`macos/Brewfile`](./macos/Brewfile) to add/remove apps to install via Homebrew.\n\n### Zsh Configuration\n\n- **Linux:** Edit [`linux/.zshrc`](./linux/.zshrc)\n- **macOS:** Edit [`macos/.zshrc`](./macos/.zshrc)\n\nMore info about customizing Oh My Zsh can be found [here](https://github.com/robbyrussell/oh-my-zsh/wiki/Customization).\n\n## Useful Aliases\n\n### Git\n```bash\ngst           # git status\ngc            # git checkout\ncommit        # git add . \u0026\u0026 git commit -m\npush          # git push\npull          # git pull\nnuke          # git clean -df \u0026\u0026 git reset --hard\n```\n\n### Laravel\n```bash\nartisan       # php artisan\nfresh         # php artisan migrate:fresh --seed\ntinker        # php artisan tinker\nsail          # Laravel Sail\n```\n\n### Composer\n```bash\nci            # composer install\ncu            # composer update\ncfresh        # rm -rf vendor/ composer.lock \u0026\u0026 composer install\n```\n\n### Navigation\n```bash\ndotfiles      # cd ~/.dotfiles\nsites         # cd ~/Sites\nprojects      # cd ~/Sites/Projects\n```\n\n### Other\n```bash\nreloadshell   # source ~/.zshrc\nc             # clear\n```\n\n## Thanks To...\n\nI first got the idea for starting this project by visiting the [GitHub does dotfiles](https://dotfiles.github.io/) project. Both [Zach Holman](https://github.com/holman/dotfiles) and [Mathias Bynens](https://github.com/mathiasbynens/dotfiles) were great sources of inspiration. [Sourabh Bajaj](https://twitter.com/sb2nov/)'s [Mac OS X Setup Guide](http://sourabhbajaj.com/mac-setup/) proved to be invaluable. Thanks to [@subnixr](https://github.com/subnixr) for [his awesome Zsh theme](https://github.com/subnixr/minimal)! Thanks to [Caneco](https://twitter.com/caneco) for the header in this readme.\n\nIn general, I'd like to thank every single one who open-sources their dotfiles for their effort to contribute something to the open-source community.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmckenziearts%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmckenziearts%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmckenziearts%2Fdotfiles/lists"}