My NixOS configuration files.
Find a file
Christoph Heiss 97ec854f85
machines: zero: drop obsolete homelab nfs mount
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2024-01-26 20:58:15 +01:00
.git-crypt secrets: Update primary GPG key 2023-04-15 18:48:26 +02:00
common home-manager: move python3 to system packages to avoid conflict 2024-01-26 11:35:25 +01:00
extra services: home-assistant: add switch for waking/powering off workstation 2024-01-15 17:07:51 +01:00
machines machines: zero: drop obsolete homelab nfs mount 2024-01-26 20:58:15 +01:00
modules modules: gatus: add meta.maintainers entry 2024-01-05 16:05:22 +01:00
pkgs pkgs: drop obsolete neomutt override 2024-01-26 11:30:20 +01:00
secrets secrets: add last.fm api key 2024-01-23 00:10:25 +01:00
services machines: tank: switch some more services to local IPv6 only 2024-01-22 23:58:52 +01:00
system home-manager: move python3 to system packages to avoid conflict 2024-01-26 11:35:25 +01:00
.build.yml build: Use new flake-based linting 2023-10-30 18:51:26 +01:00
.editorconfig tree-wide: Add support for formatting of Markdown and CSS with prettier 2023-04-24 21:19:08 +02:00
.gitattributes pkgs: Add homer and dashboard-icons 2023-05-09 17:11:05 +02:00
.gitignore Initial commit 2023-04-01 12:15:22 +02:00
.prettierrc.json tree-wide: Add support for formatting of Markdown and CSS with prettier 2023-04-24 21:19:08 +02:00
.stylua.toml build: Add stylua configuration for linting lua code 2023-04-18 20:55:16 +02:00
default.nix morph: allow easier access to secrets via module argument 2024-01-08 12:55:49 +01:00
flake.lock flake, sources: update nixpkgs and home-manager to 31-12-2023 2024-01-05 13:36:31 +01:00
flake.nix flake: only declare output for linux platforms, darwin is not used anyway 2024-01-23 12:42:16 +01:00
LICENSE Initial commit 2023-04-01 12:15:22 +02:00
Makefile flake: Switch maui home-manager deploy to flake-only too 2023-10-31 09:16:35 +01:00
README.md machines: rename serv -> tank, switch to baremetal 2024-01-07 02:24:22 +01:00
sources.nix flake, sources: update nixpkgs and home-manager to 31-12-2023 2024-01-05 13:36:31 +01:00
statix.toml build: Disable lint W23 (repeated_keys) for statix 2023-09-25 14:16:44 +02:00

My nixOS configuration

Structure

  • common: Contains configuration that should be applied on every machine.

  • extra: Non-Nix files, e.g. configuration files for other applications.

  • machines: Host-specific configuration.

    • back: Primary backup machine.

    • fort: Public-reachable server on Hetzner infra.

    • tank: Homelab server.

    • trek: Framework laptop.

    • zero: Main Ryzen 9 workstation.

  • modules: Additional NixOS modules.

  • pkgs: Custom packages.

  • secrets: Secrects encrypted using git-crypt.

  • services: Configuration for bigger service deployments, e.g. nginx.

  • system: Configurations describing "classes" of machines, like servers or desktops.

  • system/home-manager: home-manager configuration.

Notable files

  • default.nix: Morph deployment definitions

  • flake.nix: Nix development shell definition

  • sources.nix: Contains all Nix package/module source definitions

Hacking

nix develop will provide an ephemeral shell with all tools needed.

License

The code is released into the public domain.

Other conditions apply to the following files: