{"id":40093837,"url":"https://github.com/truelecter/infra","last_synced_at":"2026-01-19T10:07:47.327Z","repository":{"id":64124046,"uuid":"508057029","full_name":"truelecter/infra","owner":"truelecter","description":"My Nix-managed stuff configuration","archived":false,"fork":false,"pushed_at":"2026-01-11T02:34:41.000Z","size":3215,"stargazers_count":41,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-11T10:20:36.674Z","etag":null,"topics":["deploy-rs","flake","flake-parts","flakes","haumea","nix","nix-darwin","nix-flake","nix-flakes","nixago","nixos"],"latest_commit_sha":null,"homepage":null,"language":"Nix","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/truelecter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"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}},"created_at":"2022-06-27T20:45:50.000Z","updated_at":"2026-01-11T02:34:43.000Z","dependencies_parsed_at":"2023-09-24T23:29:09.026Z","dependency_job_id":"1bf15861-409e-476b-8954-53cec1d0ebec","html_url":"https://github.com/truelecter/infra","commit_stats":null,"previous_names":["truelecter/infra","truelecter/hive"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/truelecter/infra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truelecter%2Finfra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truelecter%2Finfra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truelecter%2Finfra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truelecter%2Finfra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/truelecter","download_url":"https://codeload.github.com/truelecter/infra/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truelecter%2Finfra/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28565062,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T08:53:44.001Z","status":"ssl_error","status_checked_at":"2026-01-19T08:52:40.245Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["deploy-rs","flake","flake-parts","flakes","haumea","nix","nix-darwin","nix-flake","nix-flakes","nixago","nixos"],"created_at":"2026-01-19T10:07:47.265Z","updated_at":"2026-01-19T10:07:47.313Z","avatar_url":"https://github.com/truelecter.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003etruelecter's infra\u003c/h1\u003e\n  \u003cimg alt=\"hosts build\" src=\"https://img.shields.io/github/actions/workflow/status/truelecter/infra/build-hosts.yaml?branch=master\u0026event=push\u0026style=for-the-badge\u0026logo=github\u0026label=hosts\u0026labelColor=303446\u0026color=40a02b\" /\u003e\n  \u003cimg alt=\"shells build\" src=\"https://img.shields.io/github/actions/workflow/status/truelecter/infra/build-devshell.yaml?branch=master\u0026event=push\u0026style=for-the-badge\u0026logo=github\u0026label=shells\u0026labelColor=303446\u0026color=40a02b\" /\u003e\n  \u003cimg alt=\"nixos 25.05\" src=\"https://img.shields.io/badge/NixOS-25.05-4bb7c9?style=for-the-badge\u0026logo=nixos\u0026logoColor=white\u0026labelColor=303446\" /\u003e\n\u003c/div\u003e\n\n## Introduction\n\nThis repository contains the Nix code that builds my systems using flake-parts. None of these NixOS and Darwin configurations will work out of the box for you (unless you have my keys 😱).\u003cbr/\u003e\nThis repo is intended for sharing some interesting parts of my infra and for some inspiration for how I was inspired myself based on other similar repos.\u003cbr/\u003e\n\n## Why Nix?\n\nNix allows for easy to manage, collaborative, reproducible deployments. This means that once something is setup and configured once, it works forever. If someone else shares their configuration, anyone can make use of it.\n\nThis flake is configured using [flake-parts](https://github.com/hercules-ci/flake-parts) for a modular approach.\n\n## Repository Structure\n\n- `/nixos` - NixOS configurations\n  - `/nixos/hosts/x86_64` - x86_64 NixOS hosts\n    - **tl-wsl** - WSL system\n    - **depsos** - Server for publically hosted services\n    - **nas** - NAS with some multimedia stuff\n    - **sirius** - Home Assistant and 3D printer coordination\n  - `/nixos/hosts/aarch64` - aarch64 NixOS hosts\n    - 3D Printers:\n      - **voron** - Voron 2.4 300mm\n      - **vzbot235** - VzBot 235\n      - **tiny-m** - Tiny-M 150mm\n    - Misc:\n      - **oracle** - Game servers and remote builder\n- `/darwin` - Darwin configurations\n  - `/darwin/hosts` - aarch64-darwin hosts\n    - **suadbook** - Main workstation\n    - **tl-mm4** - aarch64-darwin and aarch64-linux builder\n- `/home` - Home-manager configurations\n- `/parts` - flake-parts modules\n  - `/parts/klipper` - Klipper 3D printer related configurations\n  - `/parts/raspberry-pi` - Raspberry Pi specific configurations\n  - `/parts/rockchip` - Rockchip SoC configurations\n  - `/parts/k8s` - K3S wrappers and version pinning\n  - `/parts/minecraft-servers` - Minecraft server configurations\n- `/profiles` - Shared system profiles\n- `/lib` - Helper functions and utilities\n- `/secrets` - Encrypted secrets (using sops-nix)\n- `/shell` - Development shell configurations\n\n## Apply Configurations\n\n### NixOS Hosts\n\nFor NixOS hosts, you can use [deploy-rs](https://github.com/serokell/deploy-rs) to deploy configurations:\n\n```bash\ndeploy --skip-checks '.#\u003chostname\u003e'\n```\n\n### Darwin Hosts\n\nFor macOS hosts running nix-darwin:\n\n```bash\n# First-time setup - bootstrap aarch64-linux builder\nnix run github:nixos/nixpkgs/nixpkgs-23.11-darwin#darwin.linux-builder\nnix build --builders 'builder@localhost aarch64-linux /etc/nix/builder_ed25519' .#darwinConfigurations.\u003chostname\u003e.system\n\n# Switch configuration (local)\ndarwin-rebuild switch --flake .#\u003chostname\u003e\n\n# Switch configuration (remote)\ndeploy --skip-checks '.#\u003chostname\u003e'\n```\n\n## Development\n\nA development shell is available with useful utilities:\n\n```bash\nnix develop\n```\n\n## Resources\n\n### Core\n\n- [hercules-ci/flake-parts](https://github.com/hercules-ci/flake-parts) - Core of this flake.\n- [LnL7/nix-darwin](https://github.com/LnL7/nix-darwin) - Darwin hosts management.\n- [nix-community/NixOS-WSL](https://github.com/nix-community/NixOS-WSL) - WSL support for NixOS.\n- [nix-community/home-manager](https://github.com/nix-community/home-manager) - Dotfiles and user management.\n- [serokell/deploy-rs](https://github.com/serokell/deploy-rs) - Deployment tool for all the hosts.\n- [Mic92/sops-nix](https://github.com/Mic92/sops-nix) - Secrets management.\n\n### Repo management\n\n- [numtide/devshell](https://github.com/numtide/devshell) - Shell environment for all the tools for this flake.\n- [nix-community/nixago](https://github.com/nix-community/nixago) - Repo config file management.\n- [berberman/nvfetcher](https://github.com/berberman/nvfetcher) - Source version management.\n\n### Libraries\n\n- [nix-community/haumea](https://github.com/nix-community/haumea) - Filesystem-based module system.\n- [nixos/nixos-hardware](https://github.com/nixos/nixos-hardware) - Useful hardware-configuration modules.\n- [nabam/nixos-rockchip](https://github.com/nabam/nixos-rockchip) - Useful modules for Rockchip SoCs.\n- [nix-community/pyproject.nix](https://github.com/nix-community/pyproject.nix) - Python libraries fetching for certain packages.\n- [nix-community/nix-vscode-extensions](https://github.com/nix-community/nix-vscode-extensions) - VSCode extensions management.\n- [nix-community/nixos-vscode-server](https://github.com/nix-community/nixos-vscode-server) - VSCode server fixes for NixOS.\n\n### Notable mentions\n\n- [linyinfeng/dotfiles](https://github.com/linyinfeng/dotfiles) - Big inspiration for this flake structure and some library functions.\n\n## Previous configurations\n\nThis is a third iteration of repository structure. You can find previous attempts here:\n- [divnix/digga](https://github.com/divnix/digga)-based - [truelecter/infra@old-digga-config](https://github.com/truelecter/infra/tree/old-digga-config)\n- [divnix/hive](https://github.com/divnix/hive)-based - [truelecter/infra@old-hive-config](https://github.com/truelecter/infra/tree/old-hive-config)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruelecter%2Finfra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftruelecter%2Finfra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruelecter%2Finfra/lists"}