language: nix nix: 2.3.4 sudo: false env: global: # Set this to cache your build results in cachix for faster builds # in travis and for everyone who uses your cache. # # Format: Your cachix cache host name without the ".cachix.org" suffix. # Example: mycache (for mycache.cachix.org) # # For this to work, you also need to set the CACHIX_SIGNING_KEY # in your repository settings in Travis. - CACHIX_CACHE= # Set this to notify the global nur package registry that changes are # available. # # The repo name as used in # https://github.com/nix-community/NUR/blob/master/repos.json - NUR_REPO= matrix: include: - env: NIX_CHANNEL=https://nixos.org/channels/nixpkgs-unstable - env: NIX_CHANNEL=https://nixos.org/channels/nixos-unstable - env: NIX_CHANNEL=https://nixos.org/channels/nixos-20.03 install: - nix --version # for cachix we need travis to be a trusted nix user - echo "trusted-users = $USER" | sudo tee -a /etc/nix/nix.conf - sudo systemctl restart nix-daemon - if [ -n "${CACHIX_CACHE}" ]; then travis_retry nix-channel --update; fi - if [ -n "${CACHIX_CACHE}" ]; then nix-env -iA cachix -f https://cachix.org/api/v1/install; fi - if [ -n "${CACHIX_CACHE}" ]; then cachix use "${CACHIX_CACHE}"; fi - nix-channel --add "${NIX_CHANNEL}" nixpkgs - travis_retry nix-channel --update script: - nix-build ci.nix -A buildOutputs - nix eval -f default.nix 'lib' - nix eval -f default.nix 'modules' - nix eval -f default.nix 'overlays' after_success: - if [ -n "${CACHIX_CACHE}" ]; then nix-build ci.nix -A cacheOutputs | cachix push "${CACHIX_CACHE}"; fi - if [ "cron" != "${TRAVIS_EVENT_TYPE}" -a "false" = "${TRAVIS_PULL_REQUEST}" -a "master" = "${TRAVIS_BRANCH}" ]; then curl -XPOST "https://nur-update.herokuapp.com/update?repo=${NUR_REPO}"; fi