Skip to content

My personal monorepo, containing my dotfiles and related infrastructure

License

Notifications You must be signed in to change notification settings

nikitawootten/infra

Repository files navigation

infra

built with nix

Welcome to my Nix-ified infrastructure and personal monorepo.

man made horrors beyond comprehension Flake dependency diagram generated with 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 and managing a homelab worth of services.

Common operations are defined in the root Makefile. To list Makefile targets run make help.

make directory can help if you're lost:

$ 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:

These packages are UNOFFICIAL, experimental, potentially transient, and come with no guarantees or warranty. If you would like to see these packages submitted upstream or to the NUR, please open an issue on this repository as a signal of interest.

Homelab

network diagram Network diagram generated with oddlama/nix-topology.

The homelab NixOS module packages most of my homelab-specific configuration, including media management and monitoring.

For usage examples, refer to the hades and iris host configurations: