Skip to content

afermg/nix-configs

Repository files navigation

Nix Configuration

Overview

This is my NixOS + MacOS Nix shared configuration. It is based on merging two configurations:

  • nixos-config: This facilitates sharing packages between computers, I strongly recommend it as a base configuration to use as a base.
  • neusis: This is the config used for multiple servers in at the Broad Institute’s Imaging Platform. I use it to support multiple users on NixOS alongside Darwin.

Set up

I haven’t set it up from scratch in a new set of computers, but I will update it once I do.

Usage

Both require superuser permissions, but in Darwin will be asked for when installing brew-based packages.

Replace moby or darwin001 with the file you want to use on machines/

NixOS

nixos-rebuild switch --flake .#moby

Update home only

If you just want to update your home configuration and packages use this command.

home-manager --flake .#your-username@your-hostname

Darwin

If darwin-rebuild is not available run this

nix run nix-darwin -- switch --flake .#darwin001

Otherwise

darwin-rebuild switch --flake .#darwin001

Where should I add packages?

Relative to the root folder of the repo.

System-widehome
NixOSmodules/nixos/packages.nixhomes/$USER/packages.nix
Darwinmodules/darwin/packages.nix
Bothmodules/shared/packages.nix[WIP] modules/shared/home-manager.nix

System-wide Darwin packages is not supported yet.

Current work

  • Trimming the fat
  • Adding multiple configs for multiple Darwin computers
  • Modify things so they are closer to nixos-config than neusis.
  • Add support to user-based config update
  • Isolate GPU packages and services