System configuration for David Janssen

Structure

This repo contains both the system-wide configuration used in conjunction with NixOS, as well as the user-config used with home-manager. The mksys build-script is responsible for copying the correct directories over to /etc/nixos or $HOME/.config/nixpkgs respectively, and then running the rebuilding commands.

This configuration is heavily based on https://github.com/gvolpe/nix-config.

The methods used herein are in no way guaranteed to be optimal, or even good, but they’re the best that I’ve managed, and you may find some inspiration in them also.

Themes

Themes are described in a central location, and each machine-specific configuration links to a particular theme. Rebuilding with mksys home manages to update the color-themes and wallpaper for nearly all the apps that I use. Only alacritty needs to be manually restarted.

How it works

When you call `mksys` we use the `hostname` command to figure out what system we are on. Then we copy files over from this project to `/etc/nixos` for the systemwide configuration, and/or `~/.config/nixpkgs` for the home-configuration. Then we use `nixos-rebuild` and `home-manager` to update the system-state.

Todos

  • add encrypted passwords, maybe use git-crypt?
  • add home-manager installation to build-script
  • add emacs-config distribution
  • make polybar use powerline-font features
  • improve on pinning mechanism, use niv?
  • add org-capture bindings to XMonad
  • add kmonad to home-manager