Skip to content

Latest commit

 

History

History
107 lines (70 loc) · 5.74 KB

README.md

File metadata and controls

107 lines (70 loc) · 5.74 KB

❄️ nix-config

Built with Nix

NixOS and Home Manager configuration for my machines.

Installation / Update

NixOS hosts

From the root of this repository, apply both the NixOS configuration and the Home Manager configuration:

sudo nixos-rebuild switch --flake ./#x220-nixos --show-trace --verbose

From the root of this repository, apply only the Home Manager configuration:

home-manager switch \
  --extra-experimental-features nix-command \
  --extra-experimental-features flakes \
  --flake .#jack@x220-nixos

ℹ️ As long as the configuration of a host (e.g. nixos/hosts/x220/configuration.nix) includes nix.settings.experimental-features = [ "nix-command" "flakes" ]; the --extra-experimental-features flags can be omitted.

home-manager switch --flake .#jack@x220-nixos

Docs

Credits

I owe a lot to Vimjoyer and his excellent videos on NixOS and Home Manager.

I also learned a lot by looking at other people's NixOS and Home Manager configurations. Here is a non exhaustive list of repositories I often look at for inspiration, and why I think they are worth mentioning.

  • it's well organized and well documented.
  • it contains a few notes that explain how to manage this configuration.
  • it configures Neovim using an external Nix flake.
  • it includes a build script to deploy the configuration to a new NixOS machine.
  • it's well documented. There is a short README in almost any directory. This keeps the documentation focused on a small subset of the entire configuration. I really like this approach.
  • the author wrote this NixOS & Flakes Book.
  • it uses impermanence (as a Home Manager module) to remove files/directories that are not specified in the nix config.
  • it uses Disko for declarative disk management: luks + lvm + btrfs.
  • it uses Stylix to customize the theme for the entire system and the software you use.

Other