Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/eyadsibai/nix-darwin-config


https://github.com/eyadsibai/nix-darwin-config

Last synced: 27 days ago
JSON representation

Awesome Lists containing this project

README

        

# Nix Darwin Kickstarter

An extensive demo featuring a plethora of configurations that can serve as a reference for your setup. However, exercise caution, as it may **OVERWRITE** your system configuration. **DO NOT** deploy it directly to your system.

## How to Start

1. install nix
2. install homebrew
3. download this repo
4. change hostname and username
5. run 'nix --extra-experimental-features 'nix-command flakes' run nix-darwin -- switch --flake .'
6. setup the rest of the apps

## Configuration Structure

Your current nix-darwin configuration's structure should be as follows:

```bash
› tree
.
├── flake.lock # a lock file generated by nix, you can ignore it for now
├── flake.nix # the entry point of your nix configuration, you need to add your hostname here
├── home # home-manager's configuration folder, help you manage your dotfiles & user-level apps.
│   ├── shell.nix # customize zsh's dotfiles
│   ├── core.nix # user-level apps from nixpkgs(nix's official package repository)
│   ├── default.nix # home-manager's entry point, you need to import all other nix files in home folder here.
│   ├── git.nix # customize git's dotfiles
│   └── starship.nix # customize starship's dotfiles
├── Makefile # a Makefile to simplify your nix-darwin workflow.
├── README.md
└── modules # a folder contains all your nix-darwin configuration files
   ├── apps.nix # contains all your homebrew & nix apps(both GUI & CLI)
   ├── host-users.nix # defines your hostname & all your system users
   ├── nix-core.nix # nix's core configuration, you can ignore it for now
   └── system.nix # defines your macOS's system configuration(like dock, trackpad, keyboard, finder, loginwindow, etc.)
```