mirror of
https://github.com/kogakure/dotfiles.git
synced 2026-02-03 12:15:29 +00:00
2d3988b7e66e8a9fb52f615c4b5527b36e1353c0
Nix Dotfiles
This is my dotfile setup, using Nix, nix-darwin, and home-manager.
Install Dependencies
First, install the Xcode command-line tools:
xcode-select --install
Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install Nix
Install Nix using the Determinate Systems installer:
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
Prepare Configuration for Installation
sudo mv /etc/nix/nix.conf /etc/nix/nix.conf.before-nix-darwin
Install the Nix Flake
Important
Make sure your Terminal has full disk access in the Security & Privacy settings.
First-time Installation
Install from GitHub
To install and use this configuration directly from GitHub without cloning:
nix --extra-experimental-features nix-command --extra-experimental-features flakes run nix-darwin -- switch --flake github:kogakure/dotfiles
Clone and Install
Clone the repository:
git clone git@github.com:kogakure/dotfiles.git ~/.dotfiles
For the initial setup, run:
nix --extra-experimental-features nix-command --extra-experimental-features flakes 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:
nix --extra-experimental-features nix-command --extra-experimental-features flakes run nix-darwin -- switch --flake ~/.dotfiles#mac-mini
Updating Configuration
After making changes to your configuration, apply them with:
darwin-rebuild switch --flake ~/.dotfiles
Inspiration
My setup is inspired by davish’s Nix Setup and by a lot of talking to Claude 3.5. 😅
Languages
Lua
56.4%
Shell
30.7%
Emacs Lisp
10.1%
JavaScript
1.4%
Python
0.6%
Other
0.8%