nix: version home-manager along the nixos channels

This commit is contained in:
steveej 2019-03-06 00:04:09 +01:00
parent 0913cdc4d5
commit ec01ff74b6
5 changed files with 29 additions and 14 deletions

View file

@ -3,22 +3,26 @@
{
channelSources =
let
# channelVersions = (import ((builtins.getEnv "PWD")+"/${dir}/versions.nix"));
channelVersions = (import versionsPath);
mkChannelSource = channel: builtins.fetchGit {
# Descriptive name to make the store path easier to identify
url = "https://github.com/NixOS/nixpkgs-channels/";
# Commit hash for nixos-unstable as of 2018-09-12
# `git ls-remote https://github.com/nixos/nixpkgs-channels nixos-unstable`
ref = (builtins.getAttr channel channelVersions)."ref";
rev = (builtins.getAttr channel channelVersions)."rev";
name = "nixpkgs-channels-${channel}";
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";
};
nix_path = builtins.foldl' (sum: elem: sum +":" + builtins.concatStringsSep "=" elem) "" [
[ "nixpkgs" (mkChannelSource "channelsNixosStable") ]
[ "nixos" (mkChannelSource "channelsNixosStable" + "/nixos") ]
[ "channels-nixos-stable" (mkChannelSource "channelsNixosStable") ]
[ "channels-nixos-unstable" (mkChannelSource "channelsNixosUnstable") ]
[ "home-manager-module" (mkChannelSource "homeManagerModule") ]
];
in (import (mkChannelSource "channelsNixosStable") {}).writeText "channels.rc" ''
export NIX_PATH=${nix_path}

View file

@ -1,11 +1,12 @@
{ pkgs,
...
{ pkgs
, ...
}:
let
in {
programs.home-manager.enable = true;
programs.home-manager.path = https://github.com/rycee/home-manager/archive/445c0b1482c38172a9f8294ee16a7ca7462388e5.tar.gz;
# TODO: re-enable this with the appropriate version
# programs.home-manager.enable = true;
# programs.home-manager.path = https://github.com/rycee/home-manager/archive/445c0b1482c38172a9f8294ee16a7ca7462388e5.tar.gz;
nixpkgs.overlays = [
(import ../../overlay.nix)

View file

@ -7,4 +7,9 @@
ref = "nixos-unstable";
rev = "<% git ls-remote https://github.com/nixos/nixpkgs-channels nixos-unstable | awk '{ print $1 }' | tr -d '\n' -%>";
};
homeManagerModule = {
url = "https://github.com/rycee/home-manager";
ref = "master";
rev = "<% git ls-remote https://github.com/rycee/home-manager.git master | awk '{ print $1 }' | tr -d '\n' -%>";
};
}

View file

@ -4,7 +4,7 @@
{
imports = [
"${builtins.fetchGit { url = "https://github.com/rycee/home-manager.git"; ref = "445c0b1482c38172a9f8294ee16a7ca7462388e5"; }}/nixos"
"${<home-manager-module>}/nixos"
];
home-manager.users.root = import ../../../home-manager/configuration/text-minimal.nix;

View file

@ -7,4 +7,9 @@
ref = "nixos-unstable";
rev = "44b02b52ea6a49674f124f50009299f192ed78bb";
};
homeManagerModule = {
url = "https://github.com/rycee/home-manager/";
ref = "release-18.09";
rev = "dd94a849df69fe62fe2cb23a74c2b9330f1189ed";
};
}