Reproducible system configuration using nix.
Find a file
2026-02-16 17:27:12 +01:00
fonts Create the initial versions of the new dotfiles 2023-07-20 23:19:02 -06:00
jetbrains Bump system dependencies 2024-09-17 13:08:15 -06:00
nix Fix a terrible spelling error in the neovim config 2026-02-16 11:48:58 +01:00
nvim Fix a terrible spelling error in the neovim config 2026-02-16 11:48:58 +01:00
wezterm Alter wezterm default size 2024-10-31 11:43:50 -06:00
xonsh Fix some aliases 2026-02-16 17:27:12 +01:00
.gitignore Actually import the useful packages in xonsh 2023-07-21 22:27:03 -06:00
flake.lock Bump system dependencies 2026-01-26 13:43:16 +01:00
flake.nix Bump system dependencies 2026-01-26 13:43:16 +01:00
LICENSE Create the initial versions of the new dotfiles 2023-07-20 23:19:02 -06:00
README.md Create the initial versions of the new dotfiles 2023-07-20 23:19:02 -06:00

If you find this repository, please don't pass it around!

Dotfiles

This repo contains my dotfiles. It provides default configuration for the set of applications that I use every day in the terminal, specialised for working on macOS. It is currently not compatible with linux, though may become so in the future.

  • fonts: A set of fonts that I want on every machine.
  • jetbrains: Vim mode configuration for the IntelliJ-platform IDEs (IntelliJ, CLion, etc).
  • nix: Declarative and reproducible system configuration based on the Nix package manager and using the nix-darwin extension for system configuration. This is where you can find all of the package lists and other system-wide configuration.
  • nvim: A heavily tailored Neovim configuration for my use cases, that is in desperate need of organisation and clean up. It still works, though.
  • wezterm: Configuration for Wezterm that emulates the behaviour of tmux multiplexing with lots of nice modern features.
  • xonsh: Configuration for the Xonsh shell, a modern shell that enables interactive high-level programming in python.

All of this configuration is, of course, incredibly personal, so I don't expect anybody to use it without making changes. Nevertheless, if you find yourself taking a look at this readme, I hope you find the configuration instructive or useful in some way. If something is unclear, please feel free to ask a question.

Installation

This repo comes with a simple install script that eases the installation process and makes getting set up on a new machine fairly simple. As a prerequisite, you will need the above listed programs installed to make use of the configuration.

  1. Install Nix on your system.
  2. Clone the repository into ~/dotfiles.
  3. Run nix develop ~/dotfiles to enter a nix shell with dependencies prepared.
  4. Inside that shell, execute darwin-rebuild --flake ~/dotfiles.
  5. Restart the machine. The configuration will be set up.

Please back up your configuration before trying this, as it may overwrite some existing configuration.