diff --git a/Makefile b/Makefile index 99fd41e..98f648e 100644 --- a/Makefile +++ b/Makefile @@ -5,16 +5,14 @@ SHELL=/usr/bin/env bash .PHONY: run run: setup ( \ - source venv/bin/activate; \ export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \ find . -name __pycache__ -o -name "*.pyc" -delete; \ python manage.py runserver; \ ) .PHONY: setup -setup: ./venv +setup: ( \ - source venv/bin/activate; \ export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \ docker-compose -f docker-compose-development.yml up -d; \ if [ -f .second_run ]; then \ @@ -46,12 +44,9 @@ setup: ./venv fi; \ ) -./venv: - python3 -m venv venv - ( \ - source venv/bin/activate; \ - pip3 install -r requirements/local.txt; \ - ) +venv: + nix build .#venv -o venv + .PHONY: clean clean: @@ -69,7 +64,6 @@ cleanall: clean .PHONY: init init: ( \ - source venv/bin/activate; \ export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \ python manage.py loaddata network_inventory.yaml; \ ) @@ -77,7 +71,6 @@ init: .PHONY: test test: ( \ - source venv/bin/activate; \ export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \ pytest -nauto --nomigrations --cov=. --cov-report=html; \ ) @@ -85,7 +78,6 @@ test: .PHONY: debug debug: ( \ - source venv/bin/activate; \ export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \ pytest --pdb --nomigrations --cov=. --cov-report=html; \ ) diff --git a/flake.nix b/flake.nix index c8eb8dc..9fb0fdc 100644 --- a/flake.nix +++ b/flake.nix @@ -15,11 +15,16 @@ let pkgs = nixpkgs.legacyPackages.${system}; machNix = mach-nix.lib."${system}"; + local_requirements = builtins.readFile ./requirements/local.txt; in { devShell = machNix.mkPythonShell { packagesExtra = with pkgs; [ pkgs.gnumake ]; - requirements = builtins.readFile ./requirements/local.txt; + requirements = local_requirements; + _.pytest-cov.propagatedBuildInputs.mod = pySelf: self: oldVal: oldVal ++ [ pySelf.tomli ]; + }; + packages.venv = machNix.mkPython { + requirements = local_requirements; _.pytest-cov.propagatedBuildInputs.mod = pySelf: self: oldVal: oldVal ++ [ pySelf.tomli ]; }; defaultPackage = (machNix.mkDockerImage {