mirror of
https://github.com/kogakure/dotfiles.git
synced 2026-02-03 20:25:30 +00:00
67 lines
1.5 KiB
Markdown
67 lines
1.5 KiB
Markdown
# Nix Dotfiles
|
|
|
|
This is my dotfile setup, using [Nix](https://nixos.org/), [nix-darwin](https://github.com/LnL7/nix-darwin), and [home-manager](https://github.com/nix-community/home-manager).
|
|
|
|
> [!WARNING]
|
|
> This is a work in progress and I am still learning Nix, so expect things to be broken.
|
|
|
|
## Install Dependencies
|
|
|
|
First, install the Xcode command-line tools:
|
|
|
|
```sh
|
|
xcode-select --install
|
|
```
|
|
|
|
## Install Nix
|
|
|
|
Install Nix using the [Determinate Systems installer](https://github.com/DeterminateSystems/nix-installer):
|
|
|
|
```sh
|
|
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
|
|
```
|
|
|
|
## Install the Nix Flake
|
|
|
|
### First-time Installation
|
|
|
|
#### Install from GitHub
|
|
|
|
To install and use this configuration directly from GitHub without cloning:
|
|
|
|
```sh
|
|
nix run nix-darwin -- switch --flake github:kogakure/dotfiles
|
|
```
|
|
|
|
#### Clone and Install
|
|
|
|
Clone the repository:
|
|
|
|
```sh
|
|
git clone git@github.com:kogakure/dotfiles.git ~/.dotfiles
|
|
```
|
|
|
|
For the initial setup, run:
|
|
|
|
```sh
|
|
nix run nix-darwin -- switch --flake ~/.dotfiles
|
|
```
|
|
|
|
This command installs nix-darwin and applies your configuration.
|
|
|
|
### Selecting a Specific Configuration
|
|
|
|
By default the `$hostname` that matches the current machine is used, but it is possible to manually load one by running:
|
|
|
|
```sh
|
|
nix run nix-darwin -- switch --flake ~/.dotfiles#mac-mini
|
|
```
|
|
|
|
## Updating Configuration
|
|
|
|
After making changes to your configuration, apply them with:
|
|
|
|
```sh
|
|
darwin-rebuild switch --flake ~/.dotfiles
|
|
```
|