diff --git a/.github/workflows/check-pulumi-ts.yml b/.github/workflows/check-pulumi-ts.yml new file mode 100644 index 0000000..ccedfae --- /dev/null +++ b/.github/workflows/check-pulumi-ts.yml @@ -0,0 +1,34 @@ +name: Check pulumi-ts + +on: + push: + paths: + - pulumi-ts/** + - .github/workflows/check-pulumi-ts.yml + workflow_dispatch: + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: cachix/install-nix-action@v22 + with: + extra_nix_config: | + access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} + + - uses: actions/checkout@v3 + with: + path: ./tmp + - run: nix flake new -t ./tmp#pulumi-ts ./work + - name: Prepare the project + working-directory: work + run: | + git init + git add . + + - run: nix develop -L -c pulumi version + working-directory: work + - run: nix develop -L -c bash -c "command -v pulumi-language-nodejs" + working-directory: work + - run: nix develop -L -c typescript-language-server --version + working-directory: work diff --git a/README.org b/README.org index df0865a..6af3b77 100644 --- a/README.org +++ b/README.org @@ -61,6 +61,8 @@ You may be able to use [[https://github.com/serokell/mix-to-nix][serokell/mix-to #+begin_src sh nix flake init -t github:akirak/flake-templates#elixir-phoenix #+end_src +*** [[file:pulumi-ts/flake.nix][pulumi-ts]] +[[https://www.pulumi.com/b/][Pulumi]], the Node.js language plugin, and ~typescript-language-server~ for development. *** [[file:meta/][meta]] This is a set of common metadata files for GitHub projects, such as =.gitignore=, =dependabot.yml=, etc. diff --git a/flake.nix b/flake.nix index 115384c..6f566b0 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,10 @@ path = ./node-typescript; description = "Toolchain for TypeScript frontend projects"; }; + pulumi-ts = { + path = ./pulumi-ts; + description = "Pulumi project in TypeScript"; + }; elixir = { path = ./elixir; description = "Simple Elixir project"; diff --git a/pulumi-ts/flake.nix b/pulumi-ts/flake.nix new file mode 100644 index 0000000..e86493a --- /dev/null +++ b/pulumi-ts/flake.nix @@ -0,0 +1,25 @@ +{ + inputs.systems.url = "github:nix-systems/default"; + + outputs = { + self, + nixpkgs, + flake-utils, + systems, + }: + flake-utils.lib.eachSystem (import systems) + (system: let + pkgs = nixpkgs.legacyPackages.${system}; + in { + # packages = flake-utils.lib.flattenTree { + # }; + + devShells.default = pkgs.mkShell { + buildInputs = with pkgs; [ + pulumi + pulumiPackages.pulumi-language-nodejs + nodePackages.typescript-language-server + ]; + }; + }); +}