{"id":13479255,"url":"https://github.com/kdeldycke/dotfiles","last_synced_at":"2025-04-04T20:14:57.717Z","repository":{"id":10151250,"uuid":"12229362","full_name":"kdeldycke/dotfiles","owner":"kdeldycke","description":"🍎 macOS dotfiles for Python developers.","archived":false,"fork":false,"pushed_at":"2025-03-10T20:09:52.000Z","size":24402,"stargazers_count":148,"open_issues_count":3,"forks_count":20,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-28T19:11:24.372Z","etag":null,"topics":["apple-silicon","dotfile","dotfiles","macos","macos-configuration","meta-package-manager","monokai","neovim","nerd-fonts","python","shell","sonoma","source-code-pro","starship","terminal","visual-studio-code","zsh"],"latest_commit_sha":null,"homepage":"https://kevin.deldycke.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kdeldycke.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"LICENSE.md","code_of_conduct":".github/code-of-conduct.md","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},"funding":{"github":"kdeldycke"}},"created_at":"2013-08-19T22:42:52.000Z","updated_at":"2025-03-10T20:09:38.000Z","dependencies_parsed_at":"2024-04-24T20:39:05.478Z","dependency_job_id":"79638646-6cf3-427c-a140-92c37f467577","html_url":"https://github.com/kdeldycke/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/kdeldycke%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdeldycke%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdeldycke%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdeldycke%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kdeldycke","download_url":"https://codeload.github.com/kdeldycke/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247242680,"owners_count":20907134,"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":["apple-silicon","dotfile","dotfiles","macos","macos-configuration","meta-package-manager","monokai","neovim","nerd-fonts","python","shell","sonoma","source-code-pro","starship","terminal","visual-studio-code","zsh"],"created_at":"2024-07-31T16:02:12.228Z","updated_at":"2025-04-04T20:14:57.694Z","avatar_url":"https://github.com/kdeldycke.png","language":"Shell","funding_links":["https://github.com/sponsors/kdeldycke"],"categories":["Shell","Archive/abandoned projects"],"sub_categories":["macOS"],"readme":"# Kevin's dotfiles\n\nDot-files and system configuration for Python developers on **macOS** with\nApple Silicon hardware.\n\n![Mac OS X 10.13 High Sierra solarized terminal and vim](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/macos-10.13.jpeg)\n\n## Features\n\n- Aimed at Python programmers using `Neovim` and `VisualStudio Code`.\n- Targets `ZSH` shell (now the\n  [default since Catalina](https://support.apple.com/en-gb/HT208050)).\n- Produce colored output for most of shell commands.\n- All color schemes are based on\n  [Monokai](https://web.archive.org/web/20161107090516/http://www.monokai.nl/blog/2006/07/).\n- Terminal and coding font is\n  [Source Code Pro](https://en.wikipedia.org/wiki/Source_Code_Pro).\n- Keeps macOS fast, lean and secure.\n\n## Pre-installation\n\nWe will reinstall macOS from scratch.\n\n1. Download macOS from the `App Store.app`.\n\n1. Plug a USB drive to your machine, format it with the Disk Utility app,\n   double-check it is mounted at `/Volumes/Untitled`, and finally\n   [flash it with the macOS image](https://support.apple.com/en-us/HT201372):\n\n   ```shell-session\n   $ sudo /Applications/Install\\ macOS\\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --nointeraction\n   ```\n\n1. Reboot your machine, reinstall macOS, create a user.\n\n1. Login to your new user, and launch `System Preferences.app`.\n\n1. Go to `Security \u0026 Privacy` → `Privacy` → `Click the lock to make changes`,\n   and then unlock with touch ID or password:\n\n   ![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/system-preferences-security-privacy-unlock.png)\n\n1. Go to `Full Disk Access`, click the `+` button, go to `Applications` →\n   `Utilities`, and choose `Terminal.app`:\n\n   ![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/terminal-full-disk-access.png)\n\n## Install\n\n1. First, you need a local copy of this project.\n\n   If you're lucky and have `git` already installed on your machine, do:\n\n   ```shell-session\n   $ cd ~\n   $ git clone --recursive https://github.com/kdeldycke/dotfiles.git\n   ```\n\n   If you don't have `git` yet, fetch an archive of the repository:\n\n   ```shell-session\n   $ mkdir ~/dotfiles\n   $ cd ~/dotfiles\n   $ curl -fsSL https://github.com/kdeldycke/dotfiles/tarball/main | tar --strip-components 1 -xvzf -\n   ```\n\n1. Now you can install the dotfiles on your system:\n\n```shell-session\n$ cd ~/dotfiles\n$ /bin/zsh ./install.sh 2\u003e\u00261 | tee ./install.log\n```\n\n## Post-installation\n\nManual setup required to finish up the perfect configuration.\n\nThis is a list of manual post-installation steps required to fully configure\nthe system. Haven't found any way to automate them all.\n\n### `System Preferences.app`\n\n1. In `Displays`, set external monitor scale:\n\n   ![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/external-display-scale.png)\n\n1. In `Touch ID` → `Add other fingerprints`.\n\n1. In `Security \u0026 Privacy` → `Privacy` → `Accessibility`, activate:\n\n   - `Amethyst.app`\n   - `Logi Options Daemon`\n   - `Logi Options`\n   - `MonitorControl.app`\n\n   ![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/accessibility-preferences.png)\n\n1. In `Security \u0026 Privacy` → `Privacy` → `Full Disk Access`, click the `+`\n   button. Then go to `Applications` → `Utilities`, to add:\n\n   - `BlockBlock.app`\n   - `KnockKnock.app`\n\n1. In `Security \u0026 Privacy` → `Privacy` → `Analytics \u0026 Improvements`: uncheck\n   all options to disallow analytics sharing.\n\n   ![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/analytics-and-improvements-preferences.png)\n\n1. In `Security \u0026 Privacy` → `Privacy` → `Apple Advertising`: uncheck\n   `Personalized Ads` option.\n\n   ![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/apple-advertising-preferences.png)\n\n1. In `Security \u0026 Privacy` → `Privacy` → `Developer Tools`, activate\n   `Terminal`:\n\n   ![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/developer-tools-preferences.png)\n\n### SSH \u0026 GPG\n\nCopy SSH (`./dotfiles/dotfiles/.ssh/`) and GPG (`./dotfiles/dotfiles/.gnupg/`)\nfolders from Time Machine backups.\n\n### Safari\n\nIn `Preferences...` → `Extensions`, activate:\n\n- `AdGuard Assistant`\n- `Archive Page`\n- `Consent-O-Matic`\n- `SimpleLogin`\n\n![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/safari-active-extensions.png)\n\n### AdGuard\n\nIn `Preferences...` → `Filters`, click the `+` button and subscribe to all\nfilter lists:\n\n![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/adguard-filter-lists-subscription.png)\n\n### Logi Options\n\nFor productivity, setup custom trackball shortcuts with macOS desktop\nmanagement tools and Amethyst windows commands.\n\nPage-up button assignment → `Smart zoom`:\n\n![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/logitech-mx-ergo-page-up.png)\n\nPage-down button assignment → `Shift` + `Opt` + `Ctrl` + `J`:\n\n![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/logitech-mx-ergo-page-down.png)\n\nWheel click button assignment → `Misson Control`:\n\n![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/logitech-mx-ergo-wheel-click.png)\n\nWheel left click assignment → `Desktop (left)`:\n\n![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/logitech-mx-ergo-wheel-left.png)\n\nWheel right click assignment → `Desktop (right)`:\n\n![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/logitech-mx-ergo-wheel-right.png)\n\nSide button assignment → `Shift` + `Opt` + `Space`:\n\n![](https://raw.githubusercontent.com/kdeldycke/dotfiles/main/assets/logitech-mx-ergo-side-button.png)\n\n## Upgrade\n\nI'm trying to make the install procedure indempotent so you'll just have to\ncall the script again to upgrade your system:\n\n```shell-session\n$ ./install.sh 2\u003e\u00261 | tee ./install.log\n```\n\n## Maintenance\n\nIt mainly consist in refreshing some assets at every macOS major release:\n\n- Regenerate\n  [`Monokai Soda.terminal` profile](https://github.com/kdeldycke/dotfiles/blob/main/assets/Monokai%20Soda.terminal).\n\n- Keep list of packages up-to-date:\n\n  ```shell-session\n  $ mpm snapshot --update-version ./packages.toml\n  ```\n\n- Update screenshots. 😖\n\n## Versions\n\nOnly the current default `main` branch is supported and actively maintained.\nOlder branches are available for archive.\n\n- [macOS 14.0 (Sonoma)](https://github.com/kdeldycke/dotfiles/tree/main) (current)\n- [macOS 13.0 (Ventura)](https://github.com/kdeldycke/dotfiles/tree/macos-13)\n- [macOS 12.0 (Monterey)](https://github.com/kdeldycke/dotfiles/tree/macos-12)\n- [macOS 11.0 (Big Sur)](https://github.com/kdeldycke/dotfiles/tree/macos-11)\n- [macOS 10.15 (Catalina)](https://github.com/kdeldycke/dotfiles/tree/macos-10.15)\n- [macOS 10.14 (Mojave)](https://github.com/kdeldycke/dotfiles/tree/macos-10.14)\n- [macOS 10.13 (High Sierra)](https://github.com/kdeldycke/dotfiles/tree/macos-10.13)\n- [macOS 10.12 (Sierra)](https://github.com/kdeldycke/dotfiles/tree/macos-10.12)\n\nFormer\n[support of Kubuntu and Ubuntu Server Linux distributions has been dropped](https://github.com/kdeldycke/dotfiles/commit/e667245f6a4c90c6d41907e392adb74c5acfcf13).\nYou can still find these as dedicated branches, but all are quite ancient\n(2016).\n\n## Resources\n\n- [Awesome macOS command line](https://git.herrbischoff.com/awesome-macos-command-line/about/)\n- [`ingrino`'s dotfiles](https://github.com/lingrino/dotfiles)\n- [Mathias Bynens `.macos`](https://github.com/mathiasbynens/dotfiles/blob/master/.macos)\n\n## License\n\nFor convenience, some third party code and assets are hard-copied in place.\nThese particular items have their own license and copyright:\n\n- [Monokai Soda](https://github.com/lysyi3m/macos-terminal-themes#monokai-soda-download).\n\nThe rest of the content is configuration and code I accumulated over years.\nSome was heavily inspired by other dotfiles repositories. But each time I\nborrow something, I try to credit the author and/or point to the source. You\nshould be able to trace back the origin of things by looking at the commit\nhistory.\n\nIf you can't find any clue about an external source, then assume it is original\ncontent I produced, which I released under the\n[BSD 2-Clause License](LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdeldycke%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkdeldycke%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdeldycke%2Fdotfiles/lists"}