My dotfiles managed by Nix, home-manager and nix-darwin.
I primarily use Macs, therefore this repo is (mainly) for darwin. However I do try to make it work on Linux as well.
Some features worth mentioning:
?
to toggle preview$VISUAL
(VS Code on macOS)On a new macOS machine w/o Nix installed:
xcode-select --install
# Install nix
bash <(curl -L https://nixos.org/nix/install) --daemon --yes --no-modify-profile
# Propagate /run
printf 'run\tprivate/var/run\n' | sudo tee -a /etc/synthetic.conf
/System/Library/Filesystems/apfs.fs/Contents/Resources/apfs.util -t
# Build the dotfiles
mkdir $HOME/.config
git clone https://github.com/birkhofflee/dotfiles $HOME/.config/nix
nix build "$HOME/.config/nix#darwinConfigurations.AlessandroMBP.system" --extra-experimental-features "nix-command flakes"
# Remove default nix config to mitigate https://github.com/LnL7/nix-darwin/issues/149
sudo rm -f /etc/nix/nix.conf
./result/sw/bin/darwin-rebuild switch --flake "$HOME/.config/nix#AlessandroMBP"
After first successful deployment, use the following command to switch:
darwin-rebuild switch --flake "$HOME/.config/nix#AlessandroMBP"
To update packages:
nix flake update .
nix flake update
I use iTerm2 as my terminal emulator. Here are some settings that I've been using for years:
I use the built-in Natural Text Editing preset, with the following custom key mappings:
Key | Send Hex Codes | Description |
---|---|---|
⌘Z | 0x1f |
undo |
⇧⌘Z | 0x18 0x1f |
redo |
⌥Del→ | 0x17 |
delete word |
⌘← | 0x2 |
go to beginning of line |
⇧⌘↵ | 0x1 0x7a |
maximize pane in current window |
⌃⌘F | 0x1 0x2b |
move pane to new window |
⇧⌘D | 0x1 0x2d |
splits the current pane vertically |
⌘D | 0x1 0x5f |
splits the current pane horizontally |
⇧⌘R | 0x1 0x72 |
reload tmux config |
⇧⌘← | 0x1 0x68 |
navigate to the pane on the left |
⇧⌘↓ | 0x1 0x6a |
navigate to the pane on the bottom |
⇧⌘↑ | 0x1 0x6b |
navigate to the pane on the top |
⇧⌘→ | 0x1 0x6c |
navigate to the pane on the right |
⌥⌘← | 0x1 0x8 |
switch to previous window |
⌥⌘→ | 0x1 0xc |
switch to next window |
Here are some reads you might find interesting:
This project is released under The Unlicense.