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";
8 jobs = import ./pkgs/top-level/release.nix {
23 forAllSystems = f: lib.genAttrs systems (system: f system);
27 lib = lib.extend (final: prev: {
28 nixosSystem = { modules, ... } @ args:
29 import ./nixos/lib/eval-config.nix (args // {
32 vmConfig = (import ./nixos/lib/eval-config.nix
34 modules = modules ++ [ ./nixos/modules/virtualisation/qemu-vm.nix ];
37 vmWithBootLoaderConfig = (import ./nixos/lib/eval-config.nix
39 modules = modules ++ [
40 ./nixos/modules/virtualisation/qemu-vm.nix
41 { virtualisation.useBootLoader = true; }
43 virtualisation.useEFIBoot =
44 config.boot.loader.systemd-boot.enable ||
45 config.boot.loader.efi.canTouchEfiVariables;
52 system.nixos.versionSuffix =
53 ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}";
54 system.nixos.revision = final.mkIf (self ? rev) self.rev;
57 vm = vmConfig.system.build.vm;
58 vmWithBootLoader = vmWithBootLoaderConfig.system.build.vm;
65 checks.x86_64-linux.tarball = jobs.tarball;
68 nixpkgsManual = jobs.manual;
69 nixosManual = (import ./nixos/release-small.nix {
71 }).nixos.manual.x86_64-linux;
74 legacyPackages = forAllSystems (system: import ./. { inherit system; });
77 notDetected = import ./nixos/modules/installer/scan/not-detected.nix;