nix-config  by Veraticus

Declarative Nix configuration for macOS and Linux

created 2 years ago
729 stars

Top 48.4% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a declarative Nix configuration for managing both macOS and Linux systems, aiming for reproducibility and consistency. It's designed for users who want to manage their development environments, dotfiles, and system configurations across multiple machines using Nix flakes. The primary benefit is a unified, modular, and reproducible setup for personal computing and server infrastructure.

How It Works

The configuration leverages Nix flakes for managing system and user configurations across different hardware architectures (x86_64 Linux, aarch64 macOS). It employs nix-darwin for macOS and NixOS for Linux, with home-manager for user-level dotfiles and application management. A key innovation is the "Devspace" system, a tmux-based persistent development environment that automatically manages project contexts, Git worktrees, and theme integration, ensuring sessions survive reboots and disconnections.

Quick Start & Requirements

  • Install/Run: Use darwin-rebuild switch --flake ".#$(hostname -s)" on macOS or sudo nixos-rebuild switch --flake ".#$(hostname)" on Linux.
  • Prerequisites: Nix package manager, Nix flakes enabled.
  • Resources: Requires Nix installation. Setup time varies based on Nix cache availability and system complexity.
  • Docs: CLAUDE.md for testing.

Highlighted Details

  • Unified configuration for macOS (M-series) and multiple NixOS home servers.
  • Modular design separating system and user configurations.
  • Catppuccin Mocha theme applied across applications.
  • Custom Caddy web server package.
  • Devspace system for persistent, isolated, and theme-aware tmux development environments.
  • Remote link opening for browser integration on the server.

Maintenance & Community

  • Maintained by Josh Symonds.
  • No explicit community links (Discord/Slack) or roadmap mentioned in the README.

Licensing & Compatibility

  • License not explicitly stated in the README. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The repository is presented as personal configuration, and its suitability for broader adoption may depend on the user's familiarity with Nix and the specific customizations. The lack of explicit licensing information could be a concern for commercial use.

Health Check
Last commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
5
Star History
739 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.