Go to file
2024-07-03 16:04:34 +02:00
modules Update 2024-07-03 16:03:08 +02:00
nix Update 2024-07-03 16:03:08 +02:00
.gitignore Add a .gitignore and nix/nix.conf 2024-03-27 22:30:38 +01:00
.gitmodules Initial commit 2022-09-18 18:30:24 +02:00
flake.lock Update 2024-07-03 16:03:08 +02:00
flake.nix Update 2024-07-03 16:03:08 +02:00
README.org Readme pluck 2022-09-19 16:46:11 +02:00

nix-config for macOS

This repo contains a declarative specification of the setup of my mac, using Nix, with nix-darwin and Nix Flakes. The initial setup is mimicked after shaunsingh's setup. Homebrew is installed for its cask support (i.e. for mac apps lacking a Nix derivation).

Note that I am a complete novice in Nix, so this is not a reliable source for nix-stuffs (copy at your own risk).

Steps to install

  1. Install Nix for macOS

    sh <(curl -L https://nixos.org/nix/install)
  2. Install Homebrew

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  3. Clone this repo (assuming there is no ~/.config on the system already)

    git clone --recurse-submodules https://github.com/larstvei/dotfiles.git ~/.config

    Note that the --recurse-submodules pulls down my Emacs configuration, which is not necessary for the setup to work.

  4. Build the setup from flake.nix

    cd ~/.config/
    nix build .#darwinConfigurations.larstvei-macbookpro.system --extra-experimental-features nix-command --extra-experimental-features flakes
    ./result/sw/bin/darwin-rebuild switch --flake .#larstvei-macbookpro

Maintaining

After making changes, I run the following command (from the ~/.config directory):

darwin-rebuild switch --flake .#larstvei-macbookpro