A cross-platform Nix flake configuration for both macOS and Linux systems. This repository provides a unified development environment with consistent tooling across platforms.
- Cross-platform: Works on both macOS (via nix-darwin) and Linux (via Home Manager)
- Automated installation: One-liner bootstrap script
- Rich toolset: Includes development tools, shell configuration, and productivity apps
- macOS integration: Native app management via Homebrew and Mac App Store
Run this command on a fresh macOS or Linux machine:
bash <(curl -sL https://raw.githubusercontent.com/lariskovski/nix/main/bootstrap.sh)
- Installs Nix package manager
- Sets up nix-darwin for system-level configuration
- Configures Homebrew integration
- Installs apps via Mac App Store using
mas
- Installs Nix package manager
- Uses Home Manager for user-level configuration
- Manages dotfiles and user packages
If you prefer to run commands manually:
-
Install Nix (if not already installed):
# macOS sh <(curl -L https://nixos.org/nix/install) --no-daemon # Linux sh <(curl -L https://nixos.org/nix/install) --daemon
-
Enable flakes (add to
~/.config/nix/nix.conf
):experimental-features = nix-command flakes
nix run nix-darwin -- switch --flake github:lariskovski/nix
nix run home-manager/release-25.05 -- switch --flake github:lariskovski/nix#homeConfigurations.larissa
Nix is my favorite package manager to use on macOS
https://github.com/thexyno/nixos-config
https://evantravers.com/articles/2024/02/06/switching-to-nix-darwin-and-flakes/