Dot-files and system configuration for Python developers on macOS.
- Aimed at Python programmers using
Neovim
. - Targets
Zsh
shell (now the default since Catalina). - Produce colored output for most of shell commands.
- All color schemes are based on Monokai.
- Terminal and coding font is Source Code Pro.
- Keeps macOS fast, lean and secure.
We will reinstall macOS from scratch.
-
Download macOS from the
App Store.app
. -
Plug a USB drive to your machine, format it with the Disk Utility app, double-check it is mounted at
/Volumes/Untitled
, and finally flash it with the macOS image:$ sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --nointeraction
-
Reboot your machine, reinstall macOS, create a user.
-
Login to your new user, and launch
Preferences.app
. -
Go to
Security & Privacy
>Privacy
>Click the lock to make changes.
and then unlock with touch ID or password. -
Go to
Full Disk Access
> Click the+
button > Go toApplications
>Utilities
> ChooseTerminal.app
.
-
First, you need a local copy of this project.
If you're lucky and have
git
already installed on your machine, do:$ cd ~ $ git clone --recursive https://github.com/kdeldycke/dotfiles.git
If you don't have
git
yet, fetch an archive of the repository:$ mkdir ~/dotfiles $ cd ~/dotfiles $ curl -fsSL https://github.com/kdeldycke/dotfiles/tarball/main | tar --strip-components 1 -xvzf -
-
Now you can install the dotfiles on your system:
$ cd ~/dotfiles $ ./install.sh 2>&1 | tee ./install.log
Manual setup required to finish up the perfect configuration.
This is a list of manual post-installation steps required to fully configure the system. Haven't found any way to automate them all.
- Go to
Full Disk Access
> Click the+
button > Go toApplications
>Utilities
. Then add:BlockBlock.app
KnockKnock.app
- Copy SSH (
./dotfiles/dotfiles/.ssh/
) and GPG (./dotfiles/dotfiles/.gnupg/
) keys from backups. System Preferences
->Touch ID
->Add other fingerprints
.- Uncheck all options to disallow analytics sharing:
System Preferences
->Privacy
->Analytics
. - Check
Limit Ad Tracking
option in:System Preferences
->Privacy
->Advertising
.
I'm trying to make the install procedure indempotent so you'll just have to call the script again to upgrade your system:
$ ./install.sh 2>&1 | tee ./install.log
To upgrade submodules:
$ git submodule update --recursive --remote
Only the current default main
branch is supported and actively maintained. Older
branches are available for archive.
- macOS 10.15 (Catalina) (current)
- macOS 10.14 (Mojave)
- macOS 10.13 (High Sierra)
- macOS 10.12 (Sierra)
- Mac OS X 10.11 (El Capitan)
- Mac OS X 10.10 (Yosemite)
- Mac OS X 10.9 (Mavericks)
- Mac OS X 10.8 (Mountain Lion)
Former support of Kubuntu and Ubuntu Server Linux distributions has been dropped. You can still find these as dedicated branches, but all are quite ancient (2016).
For convenience, some third party code and assets are hard-copied in place. These particular items have their own license and copyright:
The rest of the content is configuration and code I accumulated over years. Some was heavily inspired by other dotfiles repositories. But each time I borrow something, I try to credit the author and/or point to the source. You should be able to trace back the origin of things by looking at the commit history.
If you can't find any clue about an external source, then assume it is original content I produced, which I released under the BSD 2-Clause License.