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

View file

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

View file

@ -7,4 +7,9 @@
ref = "nixos-unstable"; ref = "nixos-unstable";
rev = "<% git ls-remote https://github.com/nixos/nixpkgs-channels nixos-unstable | awk '{ print $1 }' | tr -d '\n' -%>"; 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 = [ 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; home-manager.users.root = import ../../../home-manager/configuration/text-minimal.nix;

View file

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