{"id":19226459,"url":"https://github.com/jasonraimondi/dotfiles","last_synced_at":"2025-04-21T00:32:48.627Z","repository":{"id":44330890,"uuid":"501453824","full_name":"jasonraimondi/dotfiles","owner":"jasonraimondi","description":"MacOS Dotfiles. Maintaining your machines config in git is :fire:. Using Stow to handle the dotfiles is :fire::fire:. Utilizing Brew, Prezto, and Mise/RTX.","archived":false,"fork":false,"pushed_at":"2024-07-07T20:04:38.000Z","size":668,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"macos","last_synced_at":"2024-07-07T21:23:51.554Z","etag":null,"topics":["configuration-as-code","configuration-management","dotfiles","dotfiles-mac","dotfiles-macos","gnu-stow","homebrew","macos-setup","prezto","setup","setup-osx","shell","stow","zprezto","zsh","zshrc"],"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/jasonraimondi.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2022-06-09T00:35:31.000Z","updated_at":"2024-07-07T21:23:52.267Z","dependencies_parsed_at":"2024-01-18T03:42:15.751Z","dependency_job_id":"9421a8a2-c445-4f44-bb41-3619113f6142","html_url":"https://github.com/jasonraimondi/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasonraimondi%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasonraimondi%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasonraimondi%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasonraimondi%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jasonraimondi","download_url":"https://codeload.github.com/jasonraimondi/dotfiles/tar.gz/refs/heads/macos","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223842797,"owners_count":17212461,"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":["configuration-as-code","configuration-management","dotfiles","dotfiles-mac","dotfiles-macos","gnu-stow","homebrew","macos-setup","prezto","setup","setup-osx","shell","stow","zprezto","zsh","zshrc"],"created_at":"2024-11-09T15:18:51.870Z","updated_at":"2024-11-09T15:18:52.501Z","avatar_url":"https://github.com/jasonraimondi.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"```md\n  _____   ____ _______ ______ _____ _      ______  _____ \n |  __ \\ / __ \\__   __|  ____|_   _| |    |  ____|/ ____|\n | |  | | |  | | | |  | |__    | | | |    | |__  | (___  \n | |  | | |  | | | |  |  __|   | | | |    |  __|  \\___ \\ \n | |__| | |__| | | |  | |     _| |_| |____| |____ ____) |\n |_____/ \\____/  |_|  |_|    |_____|______|______|_____/ \n\n\n aws          \u003e amazon is taking over the world\n bin          \u003e custom bin scripts\n brew         \u003e homebrew all the things\n config       \u003e for the noble apps using .config\n dictionary   \u003e extend the macos dictionary\n git          \u003e global git config and aliases\n iterm2       \u003e iterm2 scripts\n mise         \u003e mise for maintaining language versions\n ssh          \u003e ssh config\n tmux         \u003e tmux config\n ubersicht    \u003e ubersicht widgets\n vim          \u003e vim configs\n zprezto      \u003e framework for Zsh \n zsh          \u003e shell configuration 🔥🔥\n\n```\n\n## Install\n\nSee [install.sh](install.sh).\n\n```\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/jasonraimondi/dotfiles/HEAD/install.sh)\"\n```\n\n## SSH\n\nSetup your SSH key\n\n```bash\nssh-keygen -t ed25519\n\n# this copies the new public key to your clipboard\ncat ~/.ssh/id_ed25519.pub | pbcopy\n```\n\nAdd your SSH key to [GitHub](https://github.com/settings/keys)\n\n@TODO add section re: decrypting gpg files\n\n## Stow\n\n[GNU stow](https://www.gnu.org/software/stow/), or just `stow`, manages symbolic links from your dotfiles directory to the home directory. To get stow on MacOS, use [homebrew](https://brew.sh/).\n\n```bash\nbrew install stow\n```\n\nWe are utilizing the `--dotfiles` flag. This allows us to have folders with `dot-example` that will convert to `.example`. The following is from the stow manpage.\n\n```\n --dotfiles\n\n   Enable special handling for \"dotfiles\" (files or folders whose name\n   begins with a period) in the package directory. If this option is\n   enabled, Stow will add a preprocessing step for each file or folder\n   whose name begins with \"dot-\", and replace the \"dot-\" prefix in the\n   name by a period (.). This is useful when Stow is used to manage\n   collections of dotfiles, to avoid having a package directory full of\n   hidden files.\n\n   For example, suppose we have a package containing two files,\n   stow/dot-bashrc and stow/dot-emacs.d/init.el. With this option, Stow\n   will create symlinks from .bashrc to stow/dot-bashrc and from\n   .emacs.d/init.el to stow/dot-emacs.d/init.el. Any other files, whose\n   name does not begin with \"dot-\", will be processed as usual.\n```\n\nCheckout this article for a more detailed explanation on using stow https://alexpearce.me/2016/02/managing-dotfiles-with-stow/\n\n## zsh\n\nThe [~/.zshrc](zsh/dot-zshrc) imports our main entrypoint.\n\n```bash\nsource \"${HOME}/.zsh/_main.zsh\"\n```\n\nThe [~/.zsh/_main.zsh](zsh/dot-zsh/_main.zsh) file globs all zsh files in the `zsh/dot-zsh/*.zsh` directory and loads them.\n\nAll file ending in `*.zsh` in the [~/.zsh](zsh/dot-zsh) directory will be sourced.\n\n### Prezto — Instantly Awesome Zsh\n\n[Prezto](https://github.com/sorin-ionescu/prezto) is the chosen included zsh framework.\n\n```bash\ncd dotfiles\n\n# The following is included in the setup script\ngit submodule update --init --recursive\nstow -v -R --dotfiles zsh\n```\n\n## Brewfile\n\nThe [Brewfile](./Brewfile)\n\nhttps://thoughtbot.com/blog/brewfile-a-gemfile-but-for-homebrew\n\n```bash\ncd dotfiles\nbrew bundle\n```\n\n## Misc\n\nAscii art generated using https://www.coolgenerator.com/ascii-text-generator with **big** font\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonraimondi%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjasonraimondi%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonraimondi%2Fdotfiles/lists"}