#nix #nix-package #nixos #config-file #nix-editor #snowflakeos

nix-data

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

3 releases

0.0.3 Oct 30, 2023
0.0.2 Oct 12, 2022
0.0.1 Oct 6, 2022

#187 in Configuration

Download history 5/week @ 2023-12-18 11/week @ 2023-12-25 12/week @ 2024-01-08 14/week @ 2024-01-15 149/week @ 2024-01-22 77/week @ 2024-01-29 28/week @ 2024-02-05 36/week @ 2024-02-12 36/week @ 2024-02-19 60/week @ 2024-02-26 32/week @ 2024-03-04 37/week @ 2024-03-11 22/week @ 2024-03-18 29/week @ 2024-03-25

124 downloads per month

MIT license

53KB
1K SLoC

Nix Data

crates.io Built with Nix License: MIT

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.

Example

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);
        }
    }
}

Dependencies

~48–65MB
~1.5M SLoC