{"id":22540901,"url":"https://github.com/nikitawootten/infra","last_synced_at":"2025-08-22T05:04:27.974Z","repository":{"id":143453717,"uuid":"569099678","full_name":"nikitawootten/infra","owner":"nikitawootten","description":"My personal monorepo, containing my dotfiles and related infrastructure","archived":false,"fork":false,"pushed_at":"2025-08-11T03:10:36.000Z","size":640,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-22T05:03:16.250Z","etag":null,"topics":["docker","dotfiles","homelab","makefile","monorepo","nix","nix-flake","nixos","nixos-configuration"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"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/nikitawootten.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-11-22T04:30:57.000Z","updated_at":"2025-08-11T03:10:39.000Z","dependencies_parsed_at":"2023-09-27T06:39:48.674Z","dependency_job_id":"39db24e8-20d5-4649-b9cc-ca9b995c5bb4","html_url":"https://github.com/nikitawootten/infra","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nikitawootten/infra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitawootten%2Finfra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitawootten%2Finfra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitawootten%2Finfra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitawootten%2Finfra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikitawootten","download_url":"https://codeload.github.com/nikitawootten/infra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitawootten%2Finfra/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271588745,"owners_count":24785751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"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":["docker","dotfiles","homelab","makefile","monorepo","nix","nix-flake","nixos","nixos-configuration"],"created_at":"2024-12-07T12:13:05.185Z","updated_at":"2025-08-22T05:04:27.942Z","avatar_url":"https://github.com/nikitawootten.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `infra`\n\n[![built with nix](https://builtwithnix.org/badge.svg)](https://builtwithnix.org)\n\nWelcome to my Nix-ified infrastructure and personal monorepo.\n\n![man made horrors beyond comprehension](https://gist.githubusercontent.com/nikitawootten/a0b5b3e0afdaaa8e02ace16b955da7ec/raw/flake-graph.svg)\n_Flake dependency diagram [generated](./.github/workflows/artifacts.yaml) with [`nikitawootten/flake-graph`](https://github.com/nikitawootten/flake-graph)._\n\n## Contents\n\nThis repository contains my Nix-related experiments.\nBeyond managing dotfiles, I have also experimented with [packaging some of my commonly used applications](#packages) and [managing a homelab worth of services](#homelab).\n\nCommon operations are defined in the root [`Makefile`](./Makefile).\nTo list Makefile targets run `make help`.\n\n`make directory` can help if you're lost:\n\n\u003c!--\nTODO: When I'm feeling really bored, generate automatically with a pre-commit hook\n--\u003e\n\n```console\n$ make directory\n.\n├── darwinHosts\n│   ├── defiant\n│   │    { MacBook Pro M4\n│   └── persephone\n│        { Work Mac Mini M2\n├── darwinModules\n│   └── personal\n├── homeModules\n│   ├── personal\n│   │    ⎧ Misc. config, dotfiles, applications, and hacky utilities\n│   │    ⎨ Makes every computer it infects feel like home\n│   │    ⎩ Note: Look around before using unless you want to become me\n│   └── protonmail-bridge\n├── hostModules\n│   ├── dslr-webcam\n│   │    { Module I use to configure my Olympus OM-D camera as a webcam\n│   ├── homelab\n│   │    { Re-usable homelab modules for media, observability, and more\n│   ├── omada-controller\n│   ├── personal\n│   │    { Misc. server and desktop config\n│   └── raspi4sd\n│        { Raspberry Pi 4 SD card configuration\n├── hosts\n│   ├── cochrane\n│   │    { GPD Pocket 2 mini-computer, neglected \u0026 seldom used\n│   ├── dionysus\n│   │    { Custom-build workhorse (Ryzen 2920X, NVIDIA 2080ti)\n│   ├── hades\n│   │    { Dell PowerEdge R720XD, primary home server\n│   ├── hermes\n│   ├── iris\n│   │    { Raspberry Pi 4, secondary home server\n│   └── voyager\n│        { Framework 13 (11th Gen Intel), primary laptop\n├── packages\n│   ├── oscal-cli\n│   ├── oscal-deep-diff\n│   └── xspec\n└── secrets\n     { Age secrets managed by AgeNix\n```\n\n### Packages\n\nThis flake contains several packages that I rely on day to day:\n\n- [`oscal-cli`](./packages/oscal-cli/)\n- [`oscal-deep-diff`](./packages/oscal-deep-diff/)\n- [`xspec`](./packages/xspec/)\n\nThese packages are **UNOFFICIAL**, experimental, potentially transient, and come with no guarantees or warranty.\nIf you would like to see these packages submitted [upstream](https://github.com/NixOS/nixpkgs) or to the [NUR](https://nur.nix-community.org/), **please open an issue on this repository as a signal of interest**.\n\n### Homelab\n\n![network diagram](https://gist.githubusercontent.com/nikitawootten/a0b5b3e0afdaaa8e02ace16b955da7ec/raw/topology.svg)\n_Network diagram [generated](./.github/workflows/artifacts.yaml) with [`oddlama/nix-topology`](https://github.com/oddlama/nix-topology)._\n\nThe [`homelab` NixOS module](./hostModules/homelab/) packages most of my homelab-specific configuration, including media management and monitoring.\n\nFor usage examples, refer to the [`hades`](./hosts/hades/) and [`iris`](./hosts/iris/) host configurations:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikitawootten%2Finfra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikitawootten%2Finfra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikitawootten%2Finfra/lists"}