mio-ops/roles/iohk.nix
Craige McWhirter 69021d74d0
Added s3 cache
2020-10-27 17:07:38 +10:00

69 lines
2.6 KiB
Nix

# NixOps configuration for the hosts utilising IOHK resources
{ config, pkgs, lib, ... }:
{
nix = {
package = pkgs.nixFlakes;
binaryCaches = [
"https://cache.nixos.org"
"https://hydra.iohk.io"
"https://iohk.cachix.org"
"https://mantis-ops.cachix.org"
"s3://iohk-vit-bitte/infra/binary-cache/?region=eu-central-1"
];
binaryCachePublicKeys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
"iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo="
"mantis-ops.cachix.org-1:SornDcX8/9rFrpTjU+mAAb26sF8mUpnxgXNjmKGcglQ="
"vit-testnet-0:0lvkEoYh+XrBh7pr4bXjsUisUkUxsyLvvWBIJwym/RM="
];
extraOptions = ''
#repeat = 1 # Ensure reproducibility of builds
experimental-features = nix-command flakes ca-references
'';
};
# Set the system-wide environment
environment = {
systemPackages = with pkgs; [
awscli # Unified tool to manage your AWS services
buildkite-agent # Buildkite for IOHK
#crystal # A compiled language with Ruby like syntax and type inference
docker # Pack, ship and run any application as a lightweight container
docker-compose # Multi-container orchestration for Docker
freerdp # A Remote Desktop Protocol Client, xfreerdp
gist # Upload code to https://gist.github.com (or github enterprise)
gnupg # GNU Privacy Guard, a GPL OpenPGP implementation
go-jira # Simple command line client for Atlassian's Jira service written in Go
#icr # Interactive console for the Crystal programming languag
jq # A lightweight and flexible command-line JSON processor
keybase-gui # The Keybase official client
s3fs # Mount an S3 bucket as filesystem through FUSE
scry # Code analysis server for the Crystal programming language
shards # Dependency manager for the Crystal language
slack-dark # Slack desktop client
magic-wormhole # Securely transfer data between computers
];
variables = {
NIX_SKIP_KEYBASE_CHECKS = "1"; # As per IOHK Keybase reqs
};
};
virtualisation.docker.enable = true;
services = {
keybase.enable = true;
#postgresql = {
# enable = true; # Ensure postgresql is enabled
# package = pkgs.postgresql_10; # Set the required version, if needed
};
users.groups.docker.members = [
"craige"
];
}