This repository contains my public Nix base configuration for both macOS and Linux systems.
It is designed to be used as an input in another nix config, see an example: ojsef39/nix-personal
- Move pkgs for all systems to shared/pkgs.nix
- Move packages to where they get used e.g. eza to shell/default.nix
- Use Vesktop instead of Discord
- Update READMEs
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.
Check if Brew list got merged correctly:
nix eval .#darwinConfigurations.mac.config.homebrew.masApps
Check if programs got merged correctly:
nix eval .#darwinConfigurations.mac.config.system.programs.zsh.sessionVariables.PATH