This repository contains my Nix configuration for both macOS and Linux systems.
It is designed to merge (the config as input) with ojsef39/nix-base configuration to create a complete system configuration.
flake.nix
: Entry point for the Nix flake configuration, defining inputs and outputs.Makefile
: Automation scripts for building and deploying configurations.renovate.json
: Configuration for dependency updates.
-
nix/core.nix
: Core Nix configurations shared across all systems. -
hosts/shared/
: Shared configurations and programs used by both macOS and Linux.import.nix
: Imports shared program modules.programs/
: Contains configurations for various programs:editor/
git/
kitty/
shell/
ssh/
yuki/
…
hosts/darwin/
:import.nix
: Imports macOS-specific modules.system.nix
: System-level settings and preferences for macOS.homebrew.nix
: Homebrew package configurations (gets imported seperately).apps.nix
: Additional applications to install on macOS.
- (darwin) Install Xcode Command Line Tools
xcode-select --install
- Clone the Repository
git clone https://github.com/ojsef39/nix-personal.git
cd nix-base
- Install Nix
Follow steps in (you have to restart your shell a couple of times):
make install
- Deploy Configuration
make deploy
# Full system deployment (auto-detects OS)
make deploy
# Deploy only for macOS
make deploy-darwin
# Deploy only for NixOS
sudo make deploy-nixos
# Update packages and configurations
make update
# Run linters
make lint
# Format the Nix code
make format
# Clean up old generations and store
sudo make clean
# Repair Nix store
sudo make repair
# Uninstall Nix (Caution: This will remove Nix from your system)
make uninstall