My configuration. Mostly used on OSX.
Most of my work happens in Emacs. Config for programming languages, and
org-mode stuff lives in emacs.d/. I don't use vim so much these days and
have a minimal config, in vim/.
As much as possible, I like to install software with nix.
I configure a global environment, devEnv, defined in
nix/nixpkgs/config.nix. The simple script scripts/build-nix-env
attempts to build and install this.
nixpkgs/default.nix is just a pointer to a pinned version of
nixpkgs, defined at nix/sources.json. This can be updated by running
niv update nixpkgs in the project root.
There are some random projects in src/, and random notes in notes/.
git clone https://github.com/mjhoy/dotfiles.gitAnd then:
make installsets up the symlinks.
Follow the instructions here: https://nixos.org/download.html
On newer Mac OSes, you might need to tweak this to be able to get a
/nix directory. Check installation instructions here:
https://nixos.org/manual/nix/stable/#sect-macos-installation
I used the recommended approach:
curl -L https://nixos.org/nix/install | sh -s -- --darwin-use-unencrypted-nix-store-volumeOne last step is to remove whatever channel was set up with in the installation. I run:
# you may also need to do this using `sudo` for root channels
nix-channel --list # note the channels listed
nix-channel --remove <channel> # whatever channels were listedFinally, a symlink should be set up in ~/.nix-defexpr like so:
~/.nix-defexpr/nixpkgs -> {dotfiles repo}/nixpkgs
If everything is properly set up, nix should use the nixpkgs pinned at
nixpkgs/default.nix.
MIT. See included LICENSE file.