{"id":15769753,"url":"https://github.com/mrcgrtz/dotfiles","last_synced_at":"2025-04-01T13:33:39.407Z","repository":{"id":65606980,"uuid":"3886477","full_name":"mrcgrtz/dotfiles","owner":"mrcgrtz","description":"🔧 My collection of dotfiles. ","archived":false,"fork":false,"pushed_at":"2025-03-15T15:40:10.000Z","size":3335,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T10:48:01.153Z","etag":null,"topics":["dotfiles","git","homebrew","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":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrcgrtz.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":"2012-03-31T15:46:17.000Z","updated_at":"2025-03-15T15:40:14.000Z","dependencies_parsed_at":"2024-04-23T19:01:28.882Z","dependency_job_id":"90869e08-afde-48c3-8237-4e6d5a6297ce","html_url":"https://github.com/mrcgrtz/dotfiles","commit_stats":{"total_commits":440,"total_committers":7,"mean_commits":"62.857142857142854","dds":"0.054545454545454564","last_synced_commit":"1c7c95ab81dc366122706aaf2793950f9a289463"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrcgrtz%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrcgrtz%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrcgrtz%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrcgrtz%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrcgrtz","download_url":"https://codeload.github.com/mrcgrtz/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246604609,"owners_count":20804099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","git","homebrew","macos","shell","zsh"],"created_at":"2024-10-04T14:05:36.952Z","updated_at":"2025-04-01T13:33:39.401Z","avatar_url":"https://github.com/mrcgrtz.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotfiles\n\nMy homegrown dotfiles repository which in the meantime is VERY much inspired by the work of [Mathias Bynens](https://mths.be/dotfiles) and [Paul Irish](https://github.com/paulirish/dotfiles). If you really want your own dotfiles repository, fork one of these. They have awesome setups!\n\n## Installation\n\n\u003e [!WARNING]  \n\u003e If you want to give these dotfiles a try, you should first fork this repository, review the code, and remove things you do not want or need. Do not blindly use my settings unless you know what that entails. Use at your own risk!\n\n### Using Git and the bootstrap script\n\nYou can clone the repository wherever you want. (I like to keep it in `~/dotfiles`.) The bootstrap script will pull in the latest version and copy the files to your home folder.\n\n```bash\ngit clone https://github.com/mrcgrtz/dotfiles.git \u0026\u0026 cd dotfiles \u0026\u0026 source bootstrap.sh\n```\n\nTo update, `cd` into your local `dotfiles` repository and then:\n\n```bash\nsource bootstrap.sh\n```\n\nAlternatively, to update while avoiding the confirmation prompt:\n\n```bash\nset -- -f; source bootstrap.sh\n```\n\n### Git-free install\n\nTo install these dotfiles without Git:\n\n```bash\ncd; curl -#L https://github.com/mrcgrtz/dotfiles/tarball/main | tar -xzv --strip-components 1 --exclude={README.md,LICENSE.md,init}\n```\n\nTo update later on, just run that command again.\n\n### Specify the `$PATH`\n\nIf `~/.path` exists, it will be sourced along with the other files, before any feature testing (such as [detecting which version of `ls` is being used](https://github.com/mathiasbynens/dotfiles/blob/aff769fd75225d8f2e481185a71d5e05b76002dc/.aliases#L21-26)) takes place.\n\nHere is an example `~/.path` file that adds `/usr/local/bin` to the `$PATH`:\n\n```bash\n#!/usr/bin/env sh\n\nexport PATH=\"/usr/local/bin:$PATH\";\n```\n\n### Add custom commands without creating a new fork\n\nIf `~/.extra` exists, it will be sourced along with the other files. You can use this to add a few custom commands without the need to fork this entire repository, or to add commands you do not want to commit to a public repository.\n\nMy `~/.extra` looks something like this:\n\n```bash\n#!/usr/bin/env sh\n\n# Git/GitHub credentials\n# https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables#_committing\n# Not in the repository, to prevent people from accidentally committing under my name.\nGIT_AUTHOR_NAME=\"Marc Görtz\";\nGIT_AUTHOR_EMAIL=\"my@email.address\";\nGITHUB_USER_NAME=\"mrcgrtz\";\ngit config --global user.name \"$GIT_AUTHOR_NAME\";\ngit config --global user.email \"$GIT_AUTHOR_EMAIL\";\ngit config --global github.user \"$GITHUB_USER_NAME\";\n```\n\nYou could also use `~/.extra` to override settings, functions and aliases from my dotfiles repository. It is probably better to [fork this repository](https://github.com/mrcgrtz/dotfiles/fork) instead, though.\n\n### Install Homebrew formulae\n\nWhen setting up a new Mac, you may want to install some common [Homebrew](https://brew.sh/) formulae:\n\n```bash\nsource ./init/brew/install-brew-formulae.sh\n```\n\nThis also installs Homebrew if it is not yet installed.\n\n#### Installed software via Homebrew\n\n* GNU core utilities\n* [git](https://git-scm.com/) and [git-extras](https://github.com/tj/git-extras/blob/master/Commands.md)\n* [The Silver Searcher](https://geoff.greer.fm/ag/)\n* [curlie](https://rs.github.io/curlie/), an awesome frontend for `curl`\n* [tree](https://oldmanprogrammer.net/source.php?dir=projects/tree)\n* [up](https://github.com/akavel/up) for instant live preview when piping stuff\n* [lynx](https://lynx.invisible-island.net/) because I ♥ lynx\n* Some more stuff, especially more recent versions of some macOS tools.\n\nIf you want to install some native macOS apps, the script will ask you\nfor permission to installs apps using\n[Cask](https://github.com/Homebrew/homebrew-cask) and\n[mas](https://github.com/mas-cli/mas). The app setup is tailored for\nmyself, so just say no if you do not trust my guts.\n\n## My favorite parts\n\n### [`.aliases`](https://github.com/mrcgrtz/dotfiles/blob/main/.aliases) and [`.functions`](https://github.com/mrcgrtz/dotfiles/blob/main/.functions)\n\nThere are so many goodies!\n\n### The “readline config” (`.inputrc`)\n\nBasically it makes typing into the prompt amazing:\n\n* Tab like crazy for autocompletion that does not suck. Tab all the things. Srsly.\n* No more `\u003ctab\u003e\u003ctab\u003e` that says ”Display all 1337 possibilities? (y or n)”. Yay!\n* Type `cat \u003cuparrow\u003e` to see your previous `cat`s and use them.\n* Case insensitivity.\n* Tab all the livelong day.\n\n### Moving around in folders (`z`, `...`, `cdf`)\n\n`z` helps you jump around to whatever folder. It uses actual real magic to determine where you should jump to. Separately there is some `...` aliases to shorten `cd ../..` and `..`, `....` etc. Then, if you have a folder open in Finder, `cdf` will bring you to it.\n\n```sh\nz dotfiles\nz blog\n....      # drop back equivalent to cd ../../..\nz public\ncdf       # cd to whatever is up in Finder\n```\n\n`z` learns only once its installed so you will have to `cd` around for a bit to get it taught.\n\nLastly, I use `o` to open Finder from this path. (That is just available normally as `open .`.)\n\n## The prompt\n\nI use [Pure](https://github.com/sindresorhus/pure) for my zsh prompt with a [Catppuccin](https://catppuccin.com/) color palette.\n\n### Screenshot\n\n![Screenshot of my prompt](https://raw.githubusercontent.com/mrcgrtz/dotfiles/main/init/terminal/screenshot.png \"Colorful prompt.\")\n\n#### The nerdy details\n\n* Terminal emulator: [iTerm2](https://iterm2.com/) (its settings are [synced](https://github.com/mrcgrtz/dotfiles/blob/main/init/terminal/com.googlecode.iterm2.plist))\n* Font: [Dank Mono](https://philpl.gumroad.com/l/dank-mono)\n* Wallpaper: [Balloons in the Mountains](https://www.reddit.com/r/wallpapers/comments/470cur/balloons_in_the_mountains/)\n\n## Feedback\n\nYou are quite [welcome](https://github.com/mrcgrtz/dotfiles/issues) to make suggestions or improvements, however I may decline if it is not of personal value to me.\n\n## Acknowledgements\n\nInspiration and code was taken from many sources, including:\n\n* [@mathiasbynens](https://github.com/mathiasbynens) (Mathias Bynens)\n  [https://github.com/mathiasbynens/dotfiles](https://github.com/mathiasbynens/dotfiles)\n* [@paulirish](https://github.com/paulirish) (Paul Irish)\n  [https://github.com/paulirish/dotfiles](https://github.com/paulirish/dotfiles)\n* [@necolas](https://github.com/necolas) (Nicolas Gallagher)\n  [https://github.com/necolas/dotfiles](https://github.com/necolas/dotfiles)\n* [@gf3](https://github.com/gf3) (Gianni Chiappetta)\n  [https://github.com/gf3/dotfiles](https://github.com/gf3/dotfiles)\n* [@cowboy](https://github.com/cowboy) (Ben Alman)\n  [https://github.com/cowboy/dotfiles](https://github.com/cowboy/dotfiles)\n* [@alrra](https://github.com/alrra) (Cãtãlin Mariş)\n  [https://github.com/alrra/dotfiles](https://github.com/alrra/dotfiles)\n\n## License\n\nMy dotfiles are released into public domain under the Unlicense so you can do whatever you want with it. Fork! Copy! Adapt!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrcgrtz%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrcgrtz%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrcgrtz%2Fdotfiles/lists"}