Fork 0
Nix configuration for my personal machines. Manages workstations, servers, laptops, and a few Raspberry Pis.
2025-06-26 01:32:47 +09:00
box nene: test sudo-rs 2025-06-23 18:11:17 +09:00
common makoto: enable and patch karakeep 2025-06-19 16:20:27 +09:00
modules desktop-home: add gh-dash 2025-06-23 18:23:42 +09:00
secrets ranni: move pmbridge pass to sops 2025-06-11 19:31:22 +09:00
system with pkgs cleanup 2025-04-15 17:15:30 +09:00
util mugi: stop auto deploys due to screen breakage 2025-06-02 23:56:43 +09:00
.gitignore hold system roots in ignored dir for caching 2024-03-12 00:29:06 +09:00
.sops.yaml ranni: move pmbridge pass to sops 2025-06-11 19:31:22 +09:00
flake.lock emacspkg bump 2025-06-26 01:32:47 +09:00
flake.nix nixos: 24.11 -> 25.05 2025-05-24 10:05:21 +09:00
garnix.yaml mugi: stop auto deploys due to screen breakage 2025-06-02 23:56:43 +09:00
README.md fuuka: add peertube proxied from futaba 2025-02-19 17:12:07 +09:00
UNLICENSE Unlicense 2022-07-16 18:08:10 +09:00

.nix

Nix configuration for my personal machines. Manages workstations, servers, laptops, and a few Raspberry Pis.

Boxes of Note

Box Note
nene Development workstation and builder. Mini tower sitting at my desk. Runs Sway.
yuuri Travel and conference notebook. GPD Pocket 4 running a copy of my development setup.
futaba Busiest server. Headless NUC. Runs reverse proxy for home services.
ranni Self-built NAS. ASRock Rack board, uNAS chassis. Runs ZFS. Holds media, archives, backups.
mugi Home control panel. Raspberry Pi 5 attached to touchscreen, sitting on my shelf. Provides Home Assistant dashboard, buttons.
nano Headless remote desktop server. RK3588S SBC running a persistent Sway environment, accessible from anywhere.
mika, rika Pi4 k3s cluster living in a mini rack.

Getting Started

Prerequisites

Requires NixOS with flakes enabled.

Install

$ git clone https://codeberg.org/mian/nixos-config.git ~/.nix
$ cd ~/.nix

# Add box-specific items. See others in box/*
$ vim box/somebox/default.nix

# Enter builder shell, update dependencies, build!
$ nix develop
$ nixup
$ rebuild_system

Organization

Location Description
/box Host-specific config items and top-level entrypoints. box/foo/default.nix replaces the standard /etc/nixos/configuration.nix.
/common Shared configs used by many boxes and modules.
/modules Custom NixOS modules used to mix in config sets. Exposed as my.<option>.enable, etc.
/modules/desktop Workstation GUI environment. Runs Sway.
/modules/tablet Touch-enabled GUI environment. Runs KDE Plasma.
/modules/user Common user settings, including Home Manager.
/secrets Secrets encrypted by sops and accessed via sops-nix.
/system Old system-level configs and leftovers in the process of being cleaned up and moved to /modules.
/util Build and operation utilities, shells and formatters, etc. Not referenced directly by nixosConfigurations.

License: Unlicense

This is free and unencumbered software released into the public domain.