local Pipeline(channel) = { kind: "pipeline", type: "docker", name: channel, steps: [ { name: "build", image: "nixos/nix", commands: [ "nix-channel --add https://nixos.org/channels/" + channel + " nixos", "nix-channel --update", "nix-build ci.nix -A buildOutputs", "nix eval -f default.nix 'lib'", "nix eval -f default.nix 'modules'", "nix eval -f default.nix 'overlays'" ], environment: { NIXPKGS_ALLOW_UNFREE: 1 } }, { name: "deploy", image: "nixpkgs/cachix", commands: [ 'nix-build ci.nix -A cacheOutputs | cachix push "${CACHIX_CACHE}"'//, // 'if [[ "cron" != "${DRONE_BUILD_EVENT}" && -z "${DRONE_PULL_REQUEST}" && "master" = "${DRONE_BRANCH}" ]]; then // curl -XPOST "https://nur-update.herokuapp.com/update?repo=${NUR_REPO}"; fi' ], environment: { NIXPKGS_ALLOW_UNFREE: 1, NUR_REPO: "xeals", CACHIX_CACHE: "xeals", CACHIX_SIGNING_KEY: { from_secret: "cachix_key" }, }, } ] }; [ Pipeline("nixpkgs-unstable"), Pipeline("nixos-unstable"), Pipeline("nixos-20.03"), ]