For setting up development environment on any Unix machine (Darwin/Linux). The config officially supports macOS & NixOS & managed by nix
Font is Pragmata Pro, theme is a my own fork of vim-colors-plain, Terminal is kitty
These are the main configs:
nix-darwin
xcode-select --install
bash -c "$(curl -fsSL https://raw.github.com/ahmedelgabri/dotfiles/master/install)"
${XDG_DATA_HOME}/$(hostname)/zshrc
export HOMEBREW_GITHUB_API_TOKEN =
export GITHUB_TOKEN =
export WEECHAT_PASSPHRASE =
${XDG_DATA_HOME}/$(hostname)/gitconfig
[user]
signingkey =
Don't forget to upload your public key to GitHub!
Note: There needs to be a three-way match on your email for GitHub to show the commit as 'verified': The commit email, github email, & the email associated with the public key
Learn about creating a GPG key and signing your commits here
My email messages are synchronised between the remote server and my computer with isync, I read them with neomutt and search index is built by notmuch.
After linking the dotfiles, there are only a few more things that need to be done.
Each account must authenticate with an IMAP server and an SMTP server. The passwords, need be stored in the OS X keychain.
For Fastmail (or Gmail accounts with two-factor authentication enabled), use an application-specific password.
In order for all this to work, a few items have to be stored in the macOS keychain:
Create a "generic"(A.K.A. "application") keychain item (that is, without protocols, only hostnames):
For sending mail:
Repeat this for each account you want to add.
Incoming messages are fetched from the remote server when mbsync
runs (the
executable name for isync).
On macs I use launchd
, on NixOS using systemd
. You can check
mail.nix
.