From 12bed4613bb7ca5366e62478736edc0b8d470f46 Mon Sep 17 00:00:00 2001 From: alexion Date: Sun, 27 Sep 2026 17:13:18 -0400 Subject: [PATCH] fix(natu): track application dependencies --- AGENTS.md | 2 -- configs/nixos/modules/desktop/session/waybar.nix | 2 +- src/dotfiles/default.nix | 13 +++++++------ src/natu/scope_graph.rs | 6 +++++- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 56b1af3..05a4030 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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. diff --git a/configs/nixos/modules/desktop/session/waybar.nix b/configs/nixos/modules/desktop/session/waybar.nix index 3015552..cfb3d4f 100644 --- a/configs/nixos/modules/desktop/session/waybar.nix +++ b/configs/nixos/modules/desktop/session/waybar.nix @@ -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"''; diff --git a/src/dotfiles/default.nix b/src/dotfiles/default.nix index bb5e9dc..98dcaeb 100644 --- a/src/dotfiles/default.nix +++ b/src/dotfiles/default.nix @@ -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"; diff --git a/src/natu/scope_graph.rs b/src/natu/scope_graph.rs index 4404875..0bbc9ab 100644 --- a/src/natu/scope_graph.rs +++ b/src/natu/scope_graph.rs @@ -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))