Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/snowfallorg/nix-data


https://github.com/snowfallorg/nix-data

Last synced: about 16 hours ago
JSON representation

Awesome Lists containing this project

README

        

Nix Data
===
[![crates.io][crates badge]][crate]
[![Built with Nix][builtwithnix badge]][builtwithnix]
[![License: MIT][MIT badge]][MIT]

A set of modules for easily managing Nix and NixOS packages and options.

This crate contains a [cache](./src/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](./src/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.

# Example
```rust
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);
}
}
}
```

[crates badge]: https://img.shields.io/crates/v/nix-data.svg?style=for-the-badge
[crate]: https://crates.io/crates/nix-data
[builtwithnix badge]: https://img.shields.io/badge/Built%20With-Nix-41439A?style=for-the-badge&logo=nixos&logoColor=white
[builtwithnix]: https://builtwithnix.org/
[MIT badge]: https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge
[MIT]: https://opensource.org/licenses/MIT