KISS NixOS configuration based on Flakes & flake-parts (supports macOS too)
Find a file
2022-12-03 15:27:29 -05:00
.vscode vscode: makefile ext 2022-11-10 11:11:25 -05:00
home Remove unused email.nix 2022-12-03 15:20:26 -05:00
nix-darwin Stop hardcoding my user name 2022-12-03 15:19:06 -05:00
nixos Stop hardcoding my user name 2022-12-03 15:19:06 -05:00
systems Fix darwin build 2022-12-03 15:22:01 -05:00
.envrc flake'ify shell.nix 2022-05-08 10:25:46 -04:00
.gitattributes git: make flake.lock as auto-generated 2022-05-08 10:17:29 -04:00
.gitignore add direnv 2022-04-28 14:47:41 -04:00
activate.nix Separate out the app 2022-12-03 13:32:33 -05:00
config.nix Stop hardcoding my user name 2022-12-03 15:19:06 -05:00
flake.lock Switch to flake-parts 2022-12-01 17:20:10 -05:00
flake.nix Refactor mkHomeModule 2022-12-03 15:09:37 -05:00
Makefile note about makefile 2022-12-01 17:28:57 -05:00
README.md readme: mention nix-darwin in dir layout 2022-12-03 15:27:29 -05:00

This repository contains the Nix / NixOS configuration for all of my systems. Start from flakes.nix (see Flakes).

To build,

# First, edit nixosConfigurations in flake.nix to add your system's hostname.
# And then change `userName` to your username.
nix run

Install notes

Directory layout

  • home: home-manager config (shared between Linux and macOS)
  • nixos: nixos config for Linux
  • nix-darwin: nix-darwin config for macOS
  • systems: top-level configuration.nix('ish) for various kinds of system

Tips

  • To update NixOS (and other inputs) run nix flake update2
  • To autoformat the project tree using nixpkgs-fmt, run nix fmt.

  1. You might have to rm -rf /etc/nix/nix.conf, so our flake.nix can do its thing. ↩︎

  2. You may also update the inputs selectively, viz.: nix flake lock --update-input nixpkgs --update-input darwin --update-input home-manager ↩︎