{"id":13572586,"url":"https://github.com/solarsailer/dotfiles","last_synced_at":"2025-04-04T10:30:47.111Z","repository":{"id":3194832,"uuid":"4227826","full_name":"solarsailer/dotfiles","owner":"solarsailer","description":"Dotfiles","archived":false,"fork":false,"pushed_at":"2025-04-04T08:37:39.000Z","size":3614,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T09:31:50.907Z","etag":null,"topics":["bash","cli","config","dotfiles","fish-shell","git","shell"],"latest_commit_sha":null,"homepage":"http://solarsailer.net/","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/solarsailer.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":"2012-05-04T18:31:04.000Z","updated_at":"2025-04-04T08:37:43.000Z","dependencies_parsed_at":"2024-05-11T13:40:07.671Z","dependency_job_id":"62ae8dd1-cb24-48cd-99e4-6b122d0f8aba","html_url":"https://github.com/solarsailer/dotfiles","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solarsailer%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solarsailer%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solarsailer%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solarsailer%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solarsailer","download_url":"https://codeload.github.com/solarsailer/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247160232,"owners_count":20893795,"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":["bash","cli","config","dotfiles","fish-shell","git","shell"],"created_at":"2024-08-01T14:01:27.558Z","updated_at":"2025-04-04T10:30:47.087Z","avatar_url":"https://github.com/solarsailer.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# dotfiles\n\n## Bootstrap\n\n### Requirement: Unix devtools\n\n\u003e [!IMPORTANT]\n\u003e DO NOT INSTALL XCODE! It's not necessary anymore.\n\nOpen the terminal:\n\n```bash\nxcode-select --install\n```\n\nThis will download all the CLI devtools necessary.\n\n### Requirement: Homebrew\n\n```bash\n# Install brew (get up-to-date method on brew.sh).\nopen https://brew.sh\n```\n\n### Requirement: Dropbox\n\n```bash\nbrew install dropbox\n```\n\n- In \"Backups\", disable everything\n- In \"Sync\"…\n  - If possible, stick to the old Dropbox location (`/Users/$user/Dropbox/`)\n  - Set \"Default sync state for new files\" to \"Available offline\"\n\n\u003e [!CAUTION]\n\u003e Then, let Dropbox sync **completely**. Don't do anything. This can take a lot of time.\n\n### Requirement: 1Password\n\n```bash\nbrew install 1Password\n```\n\n### Requirement: SSH Key\n\n\u003e [!CAUTION]\n\u003e Obsolete: use 1Password to store SSH Key (using ed25519).\n\nGenerate a new key:\n\n```bash\nssh-keygen -t rsa -b 4096 -C \"krokmou@berk.com\"\npbcopy \u003c ~/.ssh/id_rsa.pub\n```\n\nThen, add it on Github.\n\nFor the name, use either:\n\n- `Private — $NAME`\n- `$COMPANY_NAME — $NAME`\n\nWhere $NAME is taken from the \"About This Mac\" panel.\n\nFor example:\n\n- `Private — MacBook Pro (15-inch, 2016)`\n\n### Ready?\n\n```bash\ncd ~\nmkdir Developer\nchmod 700 Developer\nchmod +a \"group:everyone deny delete\" Developer\ncd Developer\n\n# Repo.\ngit clone git@github.com:solarsailer/dotfiles.git\n\ncd dotfiles\n```\n\nNote: we use `Developer` instead of `Code`. macOS adds an icon to folders named \"Developer\".\n\n## Manual Configuration\n\n### Alfred\n\nFirst, you need to activate Alfred's Powerpack.\n\nThen, authorize Dropbox's Apps folder to be used for syncing Alfred:\n\n```bash\ndefaults write com.runningwithcrayons.Alfred-Preferences dropbox.allowappsfolder -bool TRUE\n```\n\nFinally, a few settings to set manually on a per-Mac basis:\n- General\n  - Set `⌘ + Space` as launcher shortcut\n  - In permissions, add Alfred to \"Accessibility\" and \"Full Disk Access\"\n- Appearance\n  - In Light Mode, go to Appearance, set \"Solar Sailer v4 (L)\"\n  - Switch to Dark Mode, set \"Solar Sailer v4 (D)\"\n  - Switch back to Light Mode\n- Features, Snippets:\n  - Activate \"Automatically expand snippets by keyword\"\n\n### Git\n\nTo set your git `user.email` \u0026 `user.name`, create a `.gitconfig` file manually in your `$HOME` folder and copy those values there:\n\n```\n[user]\n  name = Firstname Lastname\n  email = krokmou@berk.com\n```\n\n### Procedure\n\nMove to `$HOME/Developer/dotfiles`. Then:\n\n```bash\n# Temporarily add brew to $PATH (before using fish).\nexport PATH=/opt/homebrew/bin:$PATH\n\n# Install stow.\nbrew install stow\n\n# Configure stow (see stow.bash in `scripts`).\nstow --target=$HOME -R stow\n\n# Configure fish.\nstow -R fish\n\n# Install fish.\nbrew install fish\n\n# Then, read below to setup fish as default shell.\n```\n\n### Stow\n\nStow is configured to use \"../..\" as the default target. That means that you should put the dotfiles in a folder in your home. Like \"$HOME/Developer/dotfiles\".\n\nIf you have followed the previous instructions, it should already be there, making this step useless.\n\n### Fish\n\nSet fish as default shell:\n\n* Check where fish is installed: `which fish`\n* Add one of those:\n  * Add `/opt/homebrew/bin/fish` to `/etc/shells`\n  * Add `/usr/local/bin/fish` to `/etc/shells`\n  * (Just need to be there, at the end, nothing more)\n* Run one of those:\n  * `chsh -s /opt/homebrew/bin/fish`\n  * `chsh -s /usr/local/bin/fish`\n\nThen:\n\n```bash\nfish_theme_classic # \"Install\" the theme\nfisher install jethrokuan/z\nfisher install jorgebucaran/getopts.fish\n```\n\n### Name\n\n```\nchange_computer_name $NAME\n```\n\n### Python\n\nUse pyenv to manage Python/pip properly:\n\n```\npyenv install 3.$X\npyenv global 3.$X\npip install --upgrade pip\n```\n\n## Next Steps\n\nFollow the different scripts in the `scripts` folder. Use the lines (or full script) if applicable to your situation.\n\nI don't recommend to blindly run everything, but those are a good knowledge base to bootstrap a mac.\n\n## Typography\n\n\u003e [!NOTE]\n\u003e Fonts are installed with Homebrew.\n\n- Family: [JetBrains Mono](https://www.jetbrains.com/lp/mono/) ([Fira Code](https://github.com/tonsky/FiraCode) as fallback)\n- Size: `14`\n\n## Bonus\n\n### Proxy Icon\n\nGo to: `Accessibility \u003e Display \u003e Show window title icons`.\n\n![Show proxy icon](./images/proxy-icon.png)\n\n### Contact Card\n\nSync your contact, then in the Contacts app, choose your contact card, click on the \"Card\" menu, then \"Make this my card\".\n\n### Input Sources\n\nUse the alternative (and better) French keyboard in `system/Keyboard/frenumin.keylayout` and install it.\n\nCopy the `.keylayout` to `~/Library/Keyboard Layouts/`.\n\n### Retina or non-retina?\n\nIf you use a non-retina monitor, run this command:\n\n```\ndefaults write -g CGFontRenderingFontSmoothingDisabled -bool NO\n```\n\nmacOS Mojave removed the \"Use LCD font smoothing when available\" option in \"General\". It's better for retina screen, but awful on non-retina. This command will re-activate this option.\n\n**DO NOT USE** with retina screens.\n\n---\n\nThanks to [Peter Hajas](https://github.com/peterhajas/dotfiles) and [OSX for Hackers](https://gist.github.com/brandonb927/3195465#file-osx-for-hackers-sh-L619) for the inspiration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolarsailer%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolarsailer%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolarsailer%2Fdotfiles/lists"}