1
0
Fork 0
mirror of https://github.com/hercules-ci/flake-parts.git synced 2025-03-11 19:37:05 +00:00
flake-parts/template/default/flake.nix
Eric Drechsel fe47133e9d
Set packages.default for nix run
With the pre-2.7 `defaultPackage` key, one would write
```
defaultPackage = packages.hello
```

I guess you can do the same in 2.7, but then you have two attrs in packages, which seems like it might confuse tooling:

```
packages.default = packages.hello
```

I wonder if packages.default shouldn't be a string? but then it would need validation...
2022-06-03 14:02:13 -07:00

35 lines
1.1 KiB
Nix

{
description = "Description for the project";
inputs = {
flake-parts.url = "github:hercules-ci/flake-parts";
flake-parts.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { self, flake-parts, ... }:
flake-parts.lib.mkFlake { inherit self; } {
imports = [
# To import a flake module
# 1. Add foo to inputs
# 2. Add foo as a parameter to the outputs function
# 3. Add here: foo.flakeModule
];
systems = [ "x86_64-linux" "aarch64-darwin" ];
perSystem = { config, self', inputs', pkgs, system, ... }: {
# Per-system attributes can be defined here. The self' and inputs'
# module parameters provide easy access to attributes of the same
# system.
# Equivalent to inputs'.nixpkgs.legacyPackages.hello;
packages.default = pkgs.hello;
};
flake = {
# The usual flake attributes can be defined here, including system-
# agnostic ones like nixosModule and system-enumerating ones, although
# those are more easily expressed in perSystem.
};
};
}