use genco::fmt; use genco::prelude::*; fn main() -> anyhow::Result<()> { let nixpkgs = &nix::inherit("inputs", "nixpkgs"); let pkgs = &nix::variable( "pkgs", quote! { import $nixpkgs { inherit ($nixpkgs) system; config.allowUnfree = true; overlays = []; } }, ); let mk_default = &nix::with("lib", "mkDefault"); let tokens = quote! { { imports = []; environment.systemPackages = with $pkgs; []; networking.useDHCP = $mk_default true; } }; let stdout = std::io::stdout(); let mut w = fmt::IoWriter::new(stdout.lock()); let fmt = fmt::Config::from_lang::(); let config = nix::Config::default(); tokens.format_file(&mut w.as_formatter(&fmt), &config)?; Ok(()) }