2018-12-17 13:10:06 +01:00
|
|
|
{ versionsPath }:
|
|
|
|
|
|
|
|
{
|
|
|
|
channelSources =
|
|
|
|
let
|
|
|
|
channelVersions = (import versionsPath);
|
2019-03-06 00:04:09 +01:00
|
|
|
mkChannelSource = channel:
|
|
|
|
let
|
|
|
|
channelVersion = builtins.getAttr channel channelVersions;
|
|
|
|
in builtins.fetchGit {
|
|
|
|
# Descriptive name to make the store path easier to identify
|
|
|
|
name = "nixpkgs-channels-${channel}";
|
|
|
|
url = if builtins.hasAttr "url" channelVersion
|
|
|
|
then channelVersion."url"
|
|
|
|
else "https://github.com/NixOS/nixpkgs-channels/"
|
|
|
|
;
|
|
|
|
ref = (builtins.getAttr channel channelVersions)."ref";
|
|
|
|
rev = (builtins.getAttr channel channelVersions)."rev";
|
2018-12-17 13:10:06 +01:00
|
|
|
};
|
|
|
|
nix_path = builtins.foldl' (sum: elem: sum +":" + builtins.concatStringsSep "=" elem) "" [
|
|
|
|
[ "nixpkgs" (mkChannelSource "channelsNixosStable") ]
|
2019-01-12 22:27:07 +01:00
|
|
|
[ "nixos" (mkChannelSource "channelsNixosStable" + "/nixos") ]
|
2018-12-17 13:10:06 +01:00
|
|
|
[ "channels-nixos-stable" (mkChannelSource "channelsNixosStable") ]
|
|
|
|
[ "channels-nixos-unstable" (mkChannelSource "channelsNixosUnstable") ]
|
2019-03-31 22:48:33 +02:00
|
|
|
[ "nixpkgs-master" (mkChannelSource "nixpkgsMaster") ]
|
2019-03-06 00:04:09 +01:00
|
|
|
[ "home-manager-module" (mkChannelSource "homeManagerModule") ]
|
2018-12-17 13:10:06 +01:00
|
|
|
];
|
|
|
|
in (import (mkChannelSource "channelsNixosStable") {}).writeText "channels.rc" ''
|
|
|
|
export NIX_PATH=${nix_path}
|
|
|
|
'';
|
|
|
|
}
|