apps | ||
hosts | ||
legacy | ||
modules | ||
patches | ||
private | ||
templates | ||
windows | ||
.envrc | ||
.gitignore | ||
.stylua.toml | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
README.md |
This repository contains configuration files for my NixOS, macOS, and WSL hosts.
They are organized and managed by Nix, so some of the configuration may be difficult to translate to a non-Nix system.
However, some of the configurations are easier to lift directly:
Installation
NixOS - From Live Disk
Format drives and build system from any NixOS host, including the live installer disk:
This will erase your drives; use at your own risk!
lsblk # Choose the disk you want to wipe
nix-shell -p nixVersions.stable
nix run github:nmasur/dotfiles#installer -- nvme0n1 desktop
NixOS - From Existing System
If you're already running NixOS, you can switch to this configuration with the following command:
nix-shell -p nixVersions.stable
sudo nixos-rebuild switch --flake github:nmasur/dotfiles#desktop
Windows - From NixOS WSL
After installing NixOS on WSL, you can switch to the WSL configuration:
nix-shell -p nixVersions.stable
sudo nixos-rebuild switch --flake github:nmasur/dotfiles#wsl
You should also download the
FiraCode
font and install it on Windows. Install Alacritty and
move the windows/alacritty.yml
file to
C:\Users\<user>\AppData\Roaming\alacritty
.
macOS
To get started on a bare macOS installation, first install Nix:
sh -c "$(curl -L https://nixos.org/nix/install)"
Then use Nix to build nix-darwin:
nix-build https://github.com/LnL7/nix-darwin/archive/master.tar.gz -A installer
./result/bin/darwin-installer
Then switch to the macOS configuration:
darwin-rebuild switch --flake github:nmasur/dotfiles#macbook
Dealing with corporate MITM SSL certificates:
# Get the certificates
openssl s_client -showcerts -verify 5 -connect cache.nixos.org:443 < /dev/null
# Paste them in here
sudo nvim $NIX_SSL_CERT_FILE
Dealing with Neovim issues:
Update Neovim Packer plugins: :PackerSync
Update TreeSitter languages: :TSUpdateSync
Flake Templates
You can also use the templates as flakes for starting new projects:
nix flake init --template github:nmasur/dotfiles#poetry