A set of modules for easily managing Nix and NixOS packages and options.
This crate contains a cache module for caching Nix/NixOS packages and options,
such as the latest packages.json
and options.json
from the NixOS cache.
This crate also contains a config module for maintaining a set of important Nix/NixOS details,
such as the location of the users configuration.nix
file, and whether they are using flakes or not.
This can be useful so that not ever application/utility needs to maintain their own config files and preferences.
extern crate nix_data;
fn main() {
let userpkgs = nix_data::cache::profile::getprofilepkgs_versioned();
if let Ok(pkgs) = userpkgs {
println!("List of installed nix profile packages");
println!("===");
for (pkg, version) in pkgs {
println!("{}: {}", pkg, version);
}
}
}