Usage
-
Add it to your inputs.
-
Call the mkRefOutput function from lib
Example:
{
description = "Your flake package description"; # optional
inputs.dsf.url = "github:cruel-intentions/devshell-files"; # optional
inputs.flakeNimbleLib.url = "github:riinr/nim-flakes-lib";
inputs.nixpkgs.url = "github:nixos/nixpkgs";
inputs.dsf.inputs.nixpkgs.follows = "nixpkgs"; # optional
inputs.flakeNimbleLib.inputs.nixpkgs.follows = "nixpkgs";
outputs = inputs:
inputs.flakeNimbleLib.lib.mkRefOutput {
nixpkgs = inputs.nixpkgs;
self = inputs.self;
src = ./.; # source could be an input also
meta.ref = "master";
meta.version = "0.1.0";
meta.name = "my_package_name";
meta.desc = "My package description";
}
# optional
# use devshell to configure your dev environment
// # merge objects: `{ a = "a"; } // { b = "b"; }` == `{ a = "a"; b = "b"; }`
(inputs.dsf.lib.shell
inputs
[
${inputs.flakeNimbleLib}/modules/nimcfg-files.nix # helper to create cfg files
./nix/project.nix # your devshell configs
]
);
}
Add this as flake.nix
in your repository then run nix flake show
, it display what packages this libs generates for you.
Currently only defaultPackage
and src
package, but in future we're planning to add musl
and cosmopolitan
packages, and maybe some other archs.
To build defaultPackage
run nix build
, it compiles your project to result/bin/my_package_name