You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 23, 2023. It is now read-only.
So that we have to deal with only a single packaging system, we want to use only Nix.
Pros:
We'd only ever need to update a single file (nixpkgs.json) to bump all the packages we use. If for any reason we need to use different packages in some part of the system that would be as simple as modifying and referencing a copy of nixpkgs.json, which could then trivially be merged back into the original nixpkgs.json when the packages end up being in sync again.
We wouldn't need to use poetry2nix, which, while excellent, is always playing catch-up with changing Python packages.
Faster builds, since we'd be using the official Nix cache for probably every package except linz-logger.
Reproducible builds, including Docker images.
./reset-dev-env.bash would be replaced with nix-shell or direnv allow.
We would not be able to support non-POSIX platforms like Windows. Nix only supports POSIX platforms (Linux, BSD, Mac OS, etc.).
Anyone who has set up their environment to work with Ubuntu would have to install and use Nix instead. This is much simpler than the Ubuntu setup, but it is an extra step.
Enabler
So that we have to deal with only a single packaging system, we want to use only Nix.
Pros:
nixpkgs.json
) to bump all the packages we use. If for any reason we need to use different packages in some part of the system that would be as simple as modifying and referencing a copy ofnixpkgs.json
, which could then trivially be merged back into the originalnixpkgs.json
when the packages end up being in sync again../reset-dev-env.bash
would be replaced withnix-shell
ordirenv allow
.Cons:
Acceptance Criteria
npm
commands in the repo.pip
commands in the repo.Additional context
This would require developers to use Nix for development, rather than continuing to support a non-Nix workflow.
Tasks
tool.poetry
sections frompyproject.toml
to a Nix filepoetry.*
geostore/*.txt
bundle.bash
to build using Nix. This could possibly involve creating Docker containers using Nix.generate-requirements-files.bash
pip
,pip-tools
,poetry
, andpoetry2nix
from Nix shell definitionpackage*.json
shellHook
, since it would no longer be necessaryreset-dev-env.bash
infrastructure/constructs/lambda_layers/botocore
to use Nix, if possibleThe text was updated successfully, but these errors were encountered: