dotfiles
dotfiles copied to clipboard
My dotfiles.
Dotfiles
This is my collection of configuration files.
It uses home-manager—a Nix-based tool—to install
programs and create their configuration files based off the
home.nix
file in this repository. I wrote more about it in a
blog post.
(I used to use GNU Stow. The last Stow-based commit was
4f1feee1e
.)
Usage
Install Nix and then install home-manager. You should be
able to run the home-manager
program in a shell.
Next, clone this repository to ~/.config/nixpkgs
.
$ git clone [email protected]:alexpearce/dotfiles.git ~/.config/nixpkgs
This will place the home.nix
file in the location home-manager
expects. The home-manager profile can then be built and activated:
$ home-manager switch
To update home-manager:
$ nix-channel --update nixpkgs
unpacking channels...
$ nix-env -u home-manager
To update home-manager-managed packages:
$ nix-channel --update nixpkgs
unpacking channels...
$ home-manager switch
Fish
I like to set fish as my default shell. On macOS this means:
- Editing
/etc/shells
to include an entry for the home-manager-managedfish
binary at~/.nix-profile/bin/fish
. - Setting the default shell with
chsh -s ~/.nix-profile/bin/fish
.
Neovim
On its first run Neovim will install the packer.nvim
package management plugin. Restart Neovim and install the other packages with
:PackerInstall
.
iTerm2
The iTerm2 profile can be installed with:
$ ln -s (realpath config/iterm2/DynamicDefault.json) ~/Library/Application\ Support/iTerm2/DynamicProfiles/
It depends on the Nerd Fonts variant of the IBM Plex Mono fonts.
License
MIT.