Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nikitawootten/infra
My personal monorepo, containing my dotfiles and related infrastructure
https://github.com/nikitawootten/infra
docker dotfiles homelab makefile monorepo nix nix-flake nixos nixos-configuration
Last synced: 29 days ago
JSON representation
My personal monorepo, containing my dotfiles and related infrastructure
- Host: GitHub
- URL: https://github.com/nikitawootten/infra
- Owner: nikitawootten
- License: mit
- Created: 2022-11-22T04:30:57.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-16T18:33:40.000Z (about 2 months ago)
- Last Synced: 2024-11-16T19:29:59.854Z (about 2 months ago)
- Topics: docker, dotfiles, homelab, makefile, monorepo, nix, nix-flake, nixos, nixos-configuration
- Language: Nix
- Homepage:
- Size: 622 KB
- Stars: 12
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `infra`
[![built with nix](https://builtwithnix.org/badge.svg)](https://builtwithnix.org)
Welcome to my Nix-ified infrastructure and personal monorepo.
![man made horrors beyond comprehension](https://gist.githubusercontent.com/nikitawootten/a0b5b3e0afdaaa8e02ace16b955da7ec/raw/flake-graph.svg)
*Flake dependency diagram [generated](./.github/workflows/artifacts.yaml) with [`nikitawootten/flake-graph`](https://github.com/nikitawootten/flake-graph).*## Contents
This repository contains my Nix-related experiments.
Beyond managing dotfiles, I have also experimented with [packaging some of my commonly used applications](#packages) and [managing a homelab worth of services](#homelab).Common operations are defined in the root [`Makefile`](./Makefile).
To list Makefile targets run `make help`.`make directory` can help if you're lost:
```console
$ make directory
.
├── darwinHosts
│ └── persephone
│ { Mac Mini, mostly used for work
├── darwinModules
│ └── personal
├── homeModules
│ └── personal
│ ⎧ Misc. config, dotfiles, applications, and hacky utilities
│ ⎨ Makes every computer it infects feel like home
│ ⎩ Note: Look around before using unless you want to become me
├── hostModules
│ ├── dslr-webcam
│ │ { Module I use to configure my Olympus OM-D camera as a webcam
│ ├── homelab
│ │ { Re-usable homelab modules for media, observability, and more
│ ├── personal
│ │ { Misc. server and desktop config
│ └── raspi4sd
│ { Raspberry Pi 4 SD card configuration
├── hosts
│ ├── cochrane
│ │ { GPD Pocket 2 mini-computer, neglected & seldom used
│ ├── dionysus
│ │ { Custom-build workhorse (Ryzen 2920X, NVIDIA 2080ti)
│ ├── hades
│ │ { Dell PowerEdge R720XD, primary home server
│ ├── iris
│ │ { Raspberry Pi 4, secondary home server
│ └── voyager
│ { Framework 13 (11th Gen Intel), primary laptop
├── packages
│ ├── oscal-cli
│ ├── oscal-deep-diff
│ └── xspec
└── secrets
{ Age secrets managed by AgeNix
```### Packages
This flake contains several packages that I rely on day to day:
- [`oscal-cli`](./packages/oscal-cli/)
- [`oscal-deep-diff`](./packages/oscal-deep-diff/)
- [`xspec`](./packages/xspec/)These packages are **UNOFFICIAL**, experimental, potentially transient, and come with no guarantees or warranty.
If 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**.### Homelab
![network diagram](https://gist.githubusercontent.com/nikitawootten/a0b5b3e0afdaaa8e02ace16b955da7ec/raw/topology.svg)
*Network diagram [generated](./.github/workflows/artifacts.yaml) with [`oddlama/nix-topology`](https://github.com/oddlama/nix-topology).*The [`homelab` NixOS module](./hostModules/homelab/) packages most of my homelab-specific configuration, including media management and monitoring.
For usage examples, refer to the [`hades`](./hosts/hades/) and [`iris`](./hosts/iris/) host configurations: