default template includes routes.nix example and tests with namespaces and angle-brackets.#80
default template includes routes.nix example and tests with namespaces and angle-brackets.#80
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR implements a testing infrastructure and a bidirectional "provides" mechanism for the default template, enabling hosts and users to provide configurations to each other through a routing system.
- Adds CI checks that verify the template's functionality by testing that alice and igloo can configure each other via the
providespattern - Implements a routing system (
eg/routes.nix) that enables bidirectional dependencies between users and hosts through<user>.provides.<host>and<host>.provides.<user>patterns - Refactors
den-brackets.nixto use more consistent path concatenation withlib.getAttrFromPath
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| templates/default/modules/tests.nix | Adds CI checks to validate the provides mechanism and VM builds |
| templates/default/modules/aspects/igloo.nix | Adds provides.alice configuration where igloo enables helix for alice |
| templates/default/modules/aspects/eg/routes.nix | New routing system implementing bidirectional dependencies between users and hosts |
| templates/default/modules/aspects/defaults.nix | Includes the new routes module in default includes |
| templates/default/modules/aspects/alice.nix | Adds provides.igloo configuration where alice enables nh for igloo |
| nix/den-brackets.nix | Refactors attribute path reads to use consistent concatenation pattern |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
544f24a to
f1f7b6b
Compare
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 19 out of 19 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 20 out of 20 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| mutual = from: to: { | ||
| includes = [ | ||
| # eg, `<user>._.<host>` and `<host>._.<user>` |
There was a problem hiding this comment.
The abbreviation "eg" should be "e.g." (with periods) when used to mean "for example" (from Latin "exempli gratia").
| # eg, `<user>._.<host>` and `<host>._.<user>` | |
| # e.g., `<user>._.<host>` and `<host>._.<user>` |
|
@vic: To me, the new template looks just great! I'm currently putting it to work for my config and will keep you updated on how it goes. The only thing that I would like to add is that the creation of a VM and an xserver is a difficult assumption to make: in my case, for instance, I'm running the whole thing entirely on a headless server so I have to leave all of that out. Ideally, one would make that either optional or build a different template for that? What do you think? BTW: This entire thing is still growing on me and it's such a huge pleasure! I keep notes on the side about different small things that I would like to share with you some time soon. So far I am the happiest person :) |
|
Hey @xdbr, I'm so happy that you are happiest person!! haha. Sure, anything you want to share feel free, I'd like to know about your notes and what you have in mind. Yep, we could make the VM non-graphical easily, I'll keep that in mind. Please on an issue so I not forget, I believe it is something important. Also, currently I don't have access to a Mac (my old macbook died) so I don't know how VMs work in macs. Anyways, please open an issue for toggling or opt-out from graphical VM. |
This also removes outdated
_profiledirectory. Closes #78. Instead our default template now includes aneg/routes.nixexample router and exercises namespaces and angle-brackets, ensuring via tests that they work.cc @xdbr