Skip to content

Tree-verse: using nix to make every node in our infra addressable

Notifications You must be signed in to change notification settings

abryko/treeverse-nix-demo-devoxx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Nix tree of nodes

Repository aggregating other repositories, using nix.

┌───────────────────────────────────────────┐
│Root Repository (treeverse-nix-demo-devoxx)│
└────┬────────────┬───────────────┬─────────┘
     │            │               │
     │            │               │
     │            │               │
┌────┴────┐     ┌─┴──┐      ┌─────┴──────┐
│variables│     │pkgs│      │repositories│
└────┬────┘     └────┘      ├────────────┤
     │                      │            │
     │                      │            │
   ┌─┴─┐                  ┌─┴───┐      ┌─┴───┐
   │env│                  │repoA│      │repoB│
   └───┘                  └┬───┬┘      └──┬──┘
                           │   │          │
                           │   │          │
               ┌───────────┴┐ ┌┴───┐    ┌─┴─┐
               │nixosModuleA│ │appA│    │vmB│
               └────────────┘ └────┘    └───┘

Sub-repositories

Artifacts

  • appA: simple go web server serving «Hello Devoxx!»
  • nixosModuleA: Nixos module declaring a systemd service for appA
  • vmB: Nixos VM consuming nixosModuleA
  • testB: testing vmB is working as expected

Let's build a VM!

$> nom-build -A treeverse.repositories.repoB.vmB
/nix/store/0rvv98ff9q7ysr5sbbjqszblwa5ygp5s-nixos-vm

About

Tree-verse: using nix to make every node in our infra addressable

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages