Dot-files and system configuration for Python developers, targetting macOS, Kubuntu and Ubuntu Server.
- Aimed at Python programmers using
Neovim
. - Common configuration for both macOS, Kubuntu and Ubuntu Server.
- Installs rEFInd boot loader if a Linux partition is detected.
- Produce colored output for most of shell commands.
- All color schemes are based on Solarized .
- All terminal font is Source Code Pro .
- Keeps OSes fast and lean.
Profile name | Target OS | Description |
---|---|---|
macOS | macOS 10.13 (High Sierra) | Desktop-centric usage for everyday use and work on a personnal, single-user machine. |
Kubuntu | Kubuntu 16.04 LTS (Xenial Xerus) | Same as above. |
Ubuntu Server | Ubuntu Server 16.04 LTS (Xenial Xerus) | Minimal config to feel at home on a server. Currently needs root . |
-
Download macOS from the App Store.
-
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\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --nointeraction
-
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/master | 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.
- Copy SSH (
./dotfiles/dotfiles-common/.ssh/
) and GPG (./dotfiles/dotfiles-common/.gnupg/
) keys from backups. System Preferences
->Touch ID
->Add other fingerprints
.- Give
/Applications/Utilities/Terminal.app
full disk access:System Preferences
->Privacy
->Full Disk Access
. - Give
/Applications/Utilities/Dropbox.app
accessibility permissions:System Preferences
->Privacy
->Accessibility
. - 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
Once in a while, compare scripts/macos-config.sh
file with its upstream
template from Mathias Bynens .macos
dotfile:
$ curl https://raw.githubusercontent.com/mathiasbynens/dotfiles/master/.macos | diff -ru - ./scripts/macos-config.sh
Then merge differences to reduce the differences. This is going to greatly improve the maintenance of macOS configuration.
Only the current master
branch is supported and actively maintained. Older
branches are available for archive.
- macOS 10.13 (High Sierra) (current)
- 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)
- Kubuntu 16.04 LTS (Xenial Xerus) (current)
- Kubuntu 15.10 (Wily Werewolf)
- Kubuntu 15.04 (Vivid Vervet)
- Kubuntu 14.10 (Utopic Unicorn)
- Kubuntu 14.04 LTS (Trusty Tahr)
- Kubuntu 13.10 (Saucy Salamander)
- Kubuntu 13.04 (Raring Ringtail)
- Ubuntu Server 16.04 LTS (Xenial Xerus) (current)
For convenience, some third party code and assets are hard-copied in place. These particular items have their own license and copyright:
- Source Code Pro 2.030. © 2016 Adobe Systems. SIL Open Font License version 1.1.
- Solarized for Terminal.App. © 2013 Tomislav Filipčić. Unspecified open-source license.
- Solarized for Konsole. © 2012 Pete Higgins. Unspecified open-source license.
- Solarized for Xresources. © 2011 Ethan Schoonover. Unspecified open-source license.
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 .