rehno-lindeque / config

A collection of machine configurations, expressed in Nix

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

https://img.shields.io/badge/Built_With-Nix-5277C3.svg?logo=nixos&labelColor=73C3D5

A collection of machine configurations, expressed in Nix

Usage

This repository is based on Nix Flakes, an experimental feature of Nix that solves some of the problems around hermeticism. To learn more about Flakes, I highly recommend reading the “Nix Flakes” series by Eelco himself:

Homebrew

With the absence of some tooling in nixpkgs, the Darwin machines defined in this repository lean on nix-darwin’s Homebrew module to manage some packages, App Store apps, and macOS Applications. For this to work, Homebrew must be installed.

Don’t forget to turn off analytics!

brew analytics off

deploy-rs

For management of remote systems, I use serokell/deploy-rs. For ease of deployment, this repo hosts a nightly pipeline that builds the deploy binary for the various system architectures.

sops-nix

For secret management, I use Mic92/sops-nix. For ease of deployment, this repo hosts a nightly pipeline that builds the sops-install-secrets binary for the various system architectures.

Machines

There are several machines defined in flake.nix

macbook

As you might’ve guessed from the name, this is my personal MacBook. It provides a darwin environment of which every aspect is expressed, including: Firefox profiles literate Emacs config with declarative use-package statements, declarative Homebrew packages/casks for macOS Application installation, and various other pieces.

workbook

My work MacBook. The same as macbook but with some work specific configuration layered on top.

net1

A Raspberry Pi 4 that acts as a DHCP (ISC) server, DNS (unbound) server, proxy (nginx) server for upstream media services, and Wireguard gateway for my home network.

compute1, compute2, compute3

3 Intel NUCs that occupy 1u in my cabinet. The workhorses of my home lab. They’ve been through many iterations of running Kubernetes & Nomad, but now they’re just running various media management services.

About

A collection of machine configurations, expressed in Nix


Languages

Language:Nix 87.7%Language:CSS 12.3%