Skip to content

default template includes routes.nix example and tests with namespaces and angle-brackets.#80

Merged
vic merged 1 commit intomainfrom
test-default
Nov 12, 2025
Merged

default template includes routes.nix example and tests with namespaces and angle-brackets.#80
vic merged 1 commit intomainfrom
test-default

Conversation

@vic
Copy link
Owner

@vic vic commented Nov 12, 2025

This also removes outdated _profile directory. Closes #78. Instead our default template now includes an eg/routes.nix example router and exercises namespaces and angle-brackets, ensuring via tests that they work.

cc @xdbr

@vic vic marked this pull request as ready for review November 12, 2025 19:21
Copilot AI review requested due to automatic review settings November 12, 2025 19:21
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 provides pattern
  • 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.nix to use more consistent path concatenation with lib.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.

@vic vic force-pushed the test-default branch 2 times, most recently from 544f24a to f1f7b6b Compare November 12, 2025 20:42
Copilot AI review requested due to automatic review settings November 12, 2025 20:42
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot AI review requested due to automatic review settings November 12, 2025 21:13
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@vic vic changed the title testing default template default template includes routes.nix example and tests with namespaces and angle-brackets. Nov 12, 2025
Copilot AI review requested due to automatic review settings November 12, 2025 21:34
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>`
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The abbreviation "eg" should be "e.g." (with periods) when used to mean "for example" (from Latin "exempli gratia").

Suggested change
# eg, `<user>._.<host>` and `<host>._.<user>`
# e.g., `<user>._.<host>` and `<host>._.<user>`

Copilot uses AI. Check for mistakes.
@vic vic merged commit 5e22f73 into main Nov 12, 2025
14 checks passed
@vic vic deleted the test-default branch November 12, 2025 22:10
@xdbr
Copy link

xdbr commented Nov 13, 2025

@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 :)

@vic
Copy link
Owner Author

vic commented Nov 13, 2025

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

outdated _profile examples.

2 participants