Merge remote-tracking branch 'ni/master'

This commit is contained in:
lassulus 2017-12-15 09:51:09 +01:00
commit ed6ae28e2d
3 changed files with 33 additions and 7 deletions
krebs
5pkgs/simple/populate
source.nix
lib

View file

@ -1,24 +1,27 @@
{ coreutils, fetchgit, git, gnused, jq, openssh, rsync, stdenv, ... }:
{ coreutils, fetchgit, findutils, git, gnused, jq, openssh, pass, rsync, stdenv
}:
let
PATH = stdenv.lib.makeBinPath [
coreutils
findutils
git
gnused
jq
openssh
pass
rsync
];
in
stdenv.mkDerivation rec {
name = "populate";
version = "2.0.0";
version = "2.1.0";
src = fetchgit {
url = http://cgit.ni.krebsco.de/populate;
rev = "refs/tags/v${version}";
sha256 = "01cvrg3m2ypg59in1qlr3rd8yzpf002k6pzjls2qb68jwkyf0h2n";
sha256 = "0cr50y6h6nps0qgpmi01h0z9wzpv2704y5zgx2salk1grkmvcfmh";
};
phases = [

View file

@ -7,9 +7,12 @@ host@{ name, secure ? false }: let
in
evalSource (toString _file) {
nixos-config.symlink = "stockholm/krebs/1systems/${name}/config.nix";
secrets.file = getAttr builder {
buildbot = toString <stockholm/krebs/6tests/data/secrets>;
krebs = "${getEnv "HOME"}/secrets/krebs/${host.name}";
secrets = getAttr builder {
buildbot.file = toString <stockholm/krebs/6tests/data/secrets>;
krebs.pass = {
dir = "${getEnv "HOME"}/brain";
name = "krebs-secrets/${name}";
};
};
stockholm.file = toString <stockholm>;
nixpkgs.git = {

View file

@ -231,7 +231,12 @@ rec {
source = submodule ({ config, ... }: {
options = {
type = let
types = ["file" "git" "symlink"];
types = [
"file"
"git"
"pass"
"symlink"
];
in mkOption {
type = enum types;
default = let
@ -255,6 +260,10 @@ rec {
type = nullOr git-source;
default = null;
};
pass = mkOption {
type = nullOr pass-source;
default = null;
};
symlink = let
symlink-target = (symlink-source.getSubOptions "FIXME").target.type;
in mkOption {
@ -287,6 +296,17 @@ rec {
};
};
pass-source = submodule {
options = {
dir = mkOption {
type = absolute-pathname;
};
name = mkOption {
type = pathname; # TODO relative-pathname
};
};
};
symlink-source = submodule {
options = {
target = mkOption {