diff options
Diffstat (limited to 'templates/flake')
| -rw-r--r-- | templates/flake/.envrc | 4 | ||||
| -rw-r--r-- | templates/flake/flake.nix | 42 |
2 files changed, 46 insertions, 0 deletions
diff --git a/templates/flake/.envrc b/templates/flake/.envrc new file mode 100644 index 0000000..1305de8 --- /dev/null +++ b/templates/flake/.envrc @@ -0,0 +1,4 @@ +if ! has nix_direnv_version || ! nix_direnv_version 2.2.0; then + source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.0/direnvrc" "sha256-5EwyKnkJNQeXrRkYbwwRBcXbibosCJqyIUuz9Xq+LRc=" +fi +use flake diff --git a/templates/flake/flake.nix b/templates/flake/flake.nix new file mode 100644 index 0000000..bd88f19 --- /dev/null +++ b/templates/flake/flake.nix @@ -0,0 +1,42 @@ +{ + inputs = { + nixpkgs.url = "nixpkgs"; + nix-filter.url = "github:numtide/nix-filter"; + flake-utils.url = "github:numtide/flake-utils"; + nixpkgs-terraform-providers-bin.url = "github:nix-community/nixpkgs-terraform-providers-bin"; + nixpkgs-terraform-providers-bin.inputs.nixpkgs.follows = "nixpkgs"; + poetry2nix = { + url = "github:nix-community/poetry2nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + outputs = { + self, + flake-utils, + ... + } @ inputs: + flake-utils.lib.eachDefaultSystem (system: let + pkgs = + import inputs.nixpkgs + { + inherit system; + }; + python = pkgs.python310; + poetry = inputs.poetry2nix.packages.${system}.poetry; + inherit (inputs.poetry2nix.legacyPackages.${system}) mkPoetryEnv defaultPoetryOverrides; + + more-providers = inputs.nixpkgs-terraform-providers-bin.legacyPackages.${system}.providers; + terraform = pkgs.terraform.withPlugins (p: [ + more-providers.microsoft.azuredevops + ]); + in { + devShells.default = pkgs.mkShell { + name = "default-shell"; + buildInputs = [ + terraform + poetry + pkgs.nodejs + ]; + }; + }); +} |
