{"id":30576700,"url":"https://github.com/hackardox/nix","last_synced_at":"2026-06-29T05:31:57.537Z","repository":{"id":310167231,"uuid":"873378810","full_name":"hackardoX/nix","owner":"hackardoX","description":"A repository containing my configuration for nix","archived":false,"fork":false,"pushed_at":"2026-06-29T01:05:28.000Z","size":1713,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-29T03:06:25.002Z","etag":null,"topics":["flake","flakes","nix-darwin","snowfall","unstable"],"latest_commit_sha":null,"homepage":"https://techtonic.ltd","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hackardoX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["hackardoX"]}},"created_at":"2024-10-16T04:19:57.000Z","updated_at":"2026-06-29T01:05:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"0f32cf01-4e77-496a-b7db-f3504f41d209","html_url":"https://github.com/hackardoX/nix","commit_stats":null,"previous_names":["hackardox/nix"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hackardoX/nix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackardoX%2Fnix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackardoX%2Fnix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackardoX%2Fnix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackardoX%2Fnix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackardoX","download_url":"https://codeload.github.com/hackardoX/nix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackardoX%2Fnix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34915001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flake","flakes","nix-darwin","snowfall","unstable"],"created_at":"2025-08-29T01:10:12.532Z","updated_at":"2026-06-29T05:31:57.532Z","avatar_url":"https://github.com/hackardoX.png","language":"Nix","funding_links":["https://github.com/sponsors/hackardoX"],"categories":[],"sub_categories":[],"readme":"\u003ch3 align=\"center\"\u003e\n \u003cimg alt=\"Avatar\" src=\"https://avatars.githubusercontent.com/u/10788630?v=4\" width=\"100\"/\u003e\n \u003cbr/\u003e\n \u003cbr/\u003e\n \u003cspan\u003e\n \u003cimg alt=\"NixOS\" src=\"https://raw.githubusercontent.com/devicons/devicon/ca28c779441053191ff11710fe24a9e6c23690d6/icons/nixos/nixos-original.svg\" height=\"20\" align=\"center\"/\u003e Nix config for \u003ca href=\"https://github.com/hackardoX\"\u003ehackardoX\u003c/a\u003e\n \u003c/span\u003e\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://github.com/hackardoX/nix/commits\"\u003e\u003cimg alt=\"Last commit\" src=\"https://img.shields.io/github/last-commit/hackardoX/nix?colorA=363a4f\u0026colorB=f5a97f\u0026style=for-the-badge\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://wiki.nixos.org/wiki/Flakes\" target=\"_blank\"\u003e\n \u003cimg alt=\"Nix Flakes Ready\" src=\"https://img.shields.io/static/v1?logo=nixos\u0026logoColor=d8dee9\u0026label=Nix%20Flakes\u0026labelColor=5e81ac\u0026message=Ready\u0026color=d8dee9\u0026style=for-the-badge\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\nWelcome to my personal Nix configuration repository. This repository contains my\nnix-darwin configuration for macOS, built using\n[flake-parts](https://flake.parts/) and following the\n[dendritic pattern](https://github.com/mightyiam/dendritic).\n\n## Table of Contents\n\n1. [Getting Started](#getting-started)\n2. [Features](#features)\n3. [Architecture](#architecture)\n4. [Resources](#resources)\n\n## Getting Started\n\nBefore diving in, ensure that you have Nix installed on your system. If not, you\ncan download and install it from the official\n[Nix website](https://nixos.org/download.html) or from the\n[Determinate Systems installer](https://github.com/DeterminateSystems/nix-installer).\n\n### Clone this repository to your local machine\n\n```bash\n# New machine without git\nnix-shell -p git\n\n# Clone\ngit clone https://github.com/hackardoX/nix.git\ncd nix\n\n# First run without nix-darwin:\nnix run github:lnl7/nix-darwin#darwin-rebuild -- switch --flake github:hackardoX/nix\n# or\nnix build github:hackardoX/nix#darwinConfigurations.Andrea-MacBook-Air.system\nsudo ./result/sw/bin/darwin-rebuild switch --flake .#Andrea-MacBook-Air\n\n# Subsequent runs:\ndarwin-rebuild switch --flake .\n\n# Or with nh (recommended):\nnh darwin switch\n```\n\n## Remote Deployment\n\nFor NixOS nodes (like Hetzner VPS), I use [nixos-anywhere](https://github.com/nix-community/nixos-anywhere) for the initial unattended installation and [deploy-rs](https://github.com/serokell/deploy-rs) for subsequent updates.\n\n### Initial Provisioning\n\nTo install NixOS on a fresh machine (ensure the machine is in a Rescue/Live environment with SSH access):\n\n```bash\nnix run github:nix-community/nixos-anywhere -- --flake .#\u003cnix_host\u003e --build-on remote \u003cuser\u003e@\u003cip_address\u003e\n```\n\n### Updates\n\nOnce provisioned, deploy changes safely using deploy-rs:\n\n```bash\nnix run github:serokell/deploy-rs .#\u003cnix_host\u003e\n```\n\n## Features\n\nHere's an overview of what my Nix configuration offers:\n\n- **Flake-parts Architecture**: Modular flake structure using\n  [flake-parts](https://flake.parts/) for better composability and organization.\n\n- **Dendritic Pattern**: Configuration follows the\n  [dendritic pattern](https://github.com/mightyiam/dendritic) for a clean,\n  modular structure.\n\n- **External Dependency Integrations**:\n  - [Nixvim](https://github.com/nix-community/nixvim) for Neovim configuration.\n  - [Catppuccin](https://github.com/catppuccin/nix) for consistent, high-quality system-wide theming.\n  - [Git-hooks](https://github.com/cachix/pre-commit-hooks.nix) for automated commit validation (Commitizen, Sign-offs).\n  - [Treefmt-nix](https://github.com/numtide/treefmt-nix) for a unified formatting interface.\n\n- **macOS Support**: Seamlessly configure and manage Nix on macOS using\n  [nix-darwin](https://github.com/LnL7/nix-darwin).\n\n- **Home Manager**: Manage your dotfiles, home environment, and user-specific\n  configurations with\n  [Home Manager](https://github.com/nix-community/home-manager).\n\n- **DevShell Support**: The flake provides a development shell for convenient\n  development and maintenance of your Nix environment.\n\n- **CI with Cachix**: Continuous integration that pushes built artifacts to\n  [Cachix](https://github.com/cachix/cachix) for efficient builds.\n\n- **Secret Management**: Secure handling of sensitive information with\n  [opnix](https://github.com/brizzbuzz/opnix).\n\n- **Remote Deployment**: Easily deploy Nix configuration with [deploy-rs](https://github.com/serokell/deploy-rs)\n\n## Architecture\n\nThis configuration uses **flake-parts** with the **dendritic pattern** for a\nmodular and composable structure.\n\n### Dendritic Pattern\n\nThe dendritic pattern organizes Nix configurations into small, focused modules\nthat compose together like dendrites in a neural network. Each module defines a\nspecific piece of functionality and declares its dependencies explicitly.\n\nKey benefits:\n\n- **Modularity**: Each feature is isolated in its own module\n- **Composability**: Modules combine freely and can be reused across\n  configurations\n- **Clarity**: Module relationships and dependencies are explicit and declarative\n\nLearn more at the\n[dendritic pattern documentation](https://github.com/mightyiam/dendritic).\n\n### Directory Structure\n\n```\n.\n├── flake.nix              # Main flake entry point\n└── modules/\n    ├── darwin/            # nix-darwin modules\n    ├── homeManager/       # Home Manager modules\n    ├── nixvim/            # Nixvim configuration\n    ├── hosts/             # Host-specific configurations\n    └── ...                # Additional feature modules\n```\n\nAll modules are discovered recursively using\n[flake-parts' import-tree](https://github.com/hercules-ci/flake-parts-files).\nThe `modules/hosts/` directory contains host-specific configurations that select\nwhich modules to enable for each machine.\n\n### Module Organization\n\nConfiguration is organized into focused modules by functionality (e.g., shell,\ngit, editor, fonts). Each host configuration in `modules/hosts/` selects which\nmodules to enable and provides host-specific settings like username and system\nversion.\n\n## Resources\n\nConfigurations that inspired this setup:\n\n- [mightyiam/infra](https://github.com/mightyiam/infra) - **Main inspiration for\n  the dendritic pattern and flake-parts structure**\n- [dustinlyons/nixos-config](https://github.com/dustinlyons/nixos-config) -\n  Initial starting point\n- [khaneliman/khanelinix](https://github.com/khaneliman/khanelinix) -\n  Configuration inspiration\n\nDocumentation:\n- [dendritic pattern](https://github.com/Doc-Steve/dendritic-design-with-flake-parts)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackardox%2Fnix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackardox%2Fnix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackardox%2Fnix/lists"}