diff --git a/modules/environment/nix-flakes.nix b/modules/environment/nix-flakes.nix
index 8021d025..7b0c24c8 100644
--- a/modules/environment/nix-flakes.nix
+++ b/modules/environment/nix-flakes.nix
@@ -5,7 +5,7 @@
# (Copyright (c) 2003-2022 Eelco Dolstra and the Nixpkgs/NixOS contributors,
# licensed under MIT License as well)
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, nixpkgs, ... }:
with lib;
@@ -14,79 +14,8 @@ let
in
{
- ###### interface
-
- options = {
- nix = {
- registry = mkOption {
- type = types.attrsOf (types.submodule (
- let
- referenceAttrs = with types; attrsOf (oneOf [
- str
- int
- bool
- package
- ]);
- in
- { config, name, ... }:
- {
- options = {
- from = mkOption {
- type = referenceAttrs;
- example = { type = "indirect"; id = "nixpkgs"; };
- description = "The flake reference to be rewritten.";
- };
- to = mkOption {
- type = referenceAttrs;
- example = { type = "github"; owner = "my-org"; repo = "my-nixpkgs"; };
- description = "The flake reference is rewritten to.";
- };
- flake = mkOption {
- type = types.nullOr types.attrs;
- default = null;
- example = literalExpression "nixpkgs";
- description = ''
- The flake input is rewritten to.
- '';
- };
- exact = mkOption {
- type = types.bool;
- default = true;
- description = ''
- Whether the reference needs to match exactly. If set,
- a reference like nixpkgs does not
- match with a reference like nixpkgs/nixos-20.03.
- '';
- };
- };
- config = {
- from = mkDefault { type = "indirect"; id = name; };
- to = mkIf (config.flake != null) (mkDefault
- {
- type = "path";
- path = config.flake.outPath;
- } // filterAttrs
- (n: _: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash")
- config.flake);
- };
- }
- ));
- default = { };
- description = "A system-wide flake registry.";
- };
- };
- };
-
-
- ###### implementation
-
- config = {
- environment.etc = {
- "nix/registry.json".text = builtins.toJSON {
- version = 2;
- flakes = mapAttrsToList (_n: v: { inherit (v) from to exact; }) cfg.registry;
- };
- };
- };
-
+ imports = [
+ # Use options and config from upstream nix-flakes.nix
+ "${nixpkgs}nixos/modules/config/nix-flakes.nix"
+ ];
}