Reproducible system configuration using nix.
Find a file
2026-03-30 17:07:36 +02: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 Bump system deps 2026-03-30 17:07:36 +02:00
nvim Bump system deps 2026-03-30 17:07:36 +02:00
wezterm Bump system deps 2026-03-11 15:28:04 +01:00
xonsh Bump system dependencies 2026-03-23 11:32:00 +01:00
.gitignore Actually import the useful packages in xonsh 2023-07-21 22:27:03 -06:00
flake.lock Bump system deps 2026-03-30 17:07:36 +02: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.