pgformatter: 4.3 -> 4.4 (#96920)
[NixPkgs.git] / flake.nix
blobe7c04417ac81b6680e0e4102104602ef6965e8d4
1 # Experimental flake interface to Nixpkgs.
2 # See https://github.com/NixOS/rfcs/pull/49 for details.
4   description = "A collection of packages for the Nix package manager";
6   outputs = { self }:
7     let
9       jobs = import ./pkgs/top-level/release.nix {
10         nixpkgs = self;
11       };
13       lib = import ./lib;
15       systems = [
16         "x86_64-linux"
17         "i686-linux"
18         "x86_64-darwin"
19         "aarch64-linux"
20         "armv6l-linux"
21         "armv7l-linux"
22       ];
24       forAllSystems = f: lib.genAttrs systems (system: f system);
26     in
27     {
28       lib = lib.extend (final: prev: {
29         nixosSystem = { modules, ... } @ args:
30           import ./nixos/lib/eval-config.nix (args // {
31             modules = modules ++
32               [ { system.nixos.versionSuffix =
33                     ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified)}.${self.shortRev or "dirty"}";
34                   system.nixos.revision = final.mkIf (self ? rev) self.rev;
35                 }
36               ];
37           });
38       });
40       checks.x86_64-linux.tarball = jobs.tarball;
42       htmlDocs = {
43         nixpkgsManual = jobs.manual;
44         nixosManual = (import ./nixos/release-small.nix {
45           nixpkgs = self;
46         }).nixos.manual.x86_64-linux;
47       };
49       legacyPackages = forAllSystems (system: import ./. { inherit system; });
51       nixosModules = {
52         notDetected = import ./nixos/modules/installer/scan/not-detected.nix;
53       };
54     };