fix(natu): track application dependencies

This commit is contained in:
2026-09-27 17:13:18 -04:00
parent e85b9c4951
commit 12bed4613b
4 changed files with 13 additions and 10 deletions

View File

@@ -122,5 +122,3 @@
Gitea rebases the synthetic upstream root commit without the `third_party/pi` prefix.
Preserve `git-subtree-dir` and `git-subtree-split` trailers on Pi vendor commits.
- The default Pi model for NixOS user configuration is set in `configs/nixos/modules/shell/pi/default.nix`, not in vendored Pi source.
- Adding `Expr::Apply` traversal to Natu's scope graph changes `let_order` findings.
Keep application nodes out of scope traversal until a separate migration addresses the added findings.

View File

@@ -7,11 +7,11 @@
# Waybar: a top status bar reading system state at a glance.
let
cfg = config.modules.desktop.session.waybar; # NOLINT(let_order)
vpnClient = config.modules.network.vpn-client;
# A Nerd Font Private-Use-Area codepoint as a literal character, decoded
# through JSON so the glyph survives as bytes rather than an editor paste.
g = code: builtins.fromJSON ''"\u${code}"'';
vpnClient = config.modules.network.vpn-client;
user = config.user.name;
sleepOffIcon = builtins.fromJSON ''"\udb81\udcb3"'';

View File

@@ -16,12 +16,6 @@ let
util = import ./util.nix { inherit lib; };
registry = import ./registry.nix {
inherit lib util;
hosts = self.nixosConfigurations;
root = root + "/registry";
};
guestModules = import ./guests.nix {
inherit
inputs
@@ -32,6 +26,13 @@ let
repositoryModules = modules;
root = root + "/guests";
};
registry = import ./registry.nix {
inherit lib util;
hosts = self.nixosConfigurations;
root = root + "/registry";
};
modules = import ./modules.nix {
inherit util;
root = root + "/modules";

View File

@@ -42,7 +42,11 @@ impl ScopeGraph {
}
self.build_expr(body, scope)
}
ast::Expr::Apply(_) => Vec::new(),
ast::Expr::Apply(application) => [
self.build_expr(&application.lambda, scope),
self.build_expr(&application.argument, scope),
]
.concat(),
ast::Expr::Other(expressions) => expressions
.iter()
.flat_map(|expression| self.build_expr(expression, scope))