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