rewrite Makefile to use nix environment

This commit is contained in:
Andreas Zweili 2022-03-01 09:49:56 +01:00
parent c03055c659
commit a1852fd292
2 changed files with 10 additions and 13 deletions

View File

@ -5,16 +5,14 @@ SHELL=/usr/bin/env bash
.PHONY: run .PHONY: run
run: setup run: setup
( \ ( \
source venv/bin/activate; \
export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \ export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \
find . -name __pycache__ -o -name "*.pyc" -delete; \ find . -name __pycache__ -o -name "*.pyc" -delete; \
python manage.py runserver; \ python manage.py runserver; \
) )
.PHONY: setup .PHONY: setup
setup: ./venv setup:
( \ ( \
source venv/bin/activate; \
export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \ export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \
docker-compose -f docker-compose-development.yml up -d; \ docker-compose -f docker-compose-development.yml up -d; \
if [ -f .second_run ]; then \ if [ -f .second_run ]; then \
@ -46,12 +44,9 @@ setup: ./venv
fi; \ fi; \
) )
./venv: venv:
python3 -m venv venv nix build .#venv -o venv
( \
source venv/bin/activate; \
pip3 install -r requirements/local.txt; \
)
.PHONY: clean .PHONY: clean
clean: clean:
@ -69,7 +64,6 @@ cleanall: clean
.PHONY: init .PHONY: init
init: init:
( \ ( \
source venv/bin/activate; \
export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \ export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \
python manage.py loaddata network_inventory.yaml; \ python manage.py loaddata network_inventory.yaml; \
) )
@ -77,7 +71,6 @@ init:
.PHONY: test .PHONY: test
test: test:
( \ ( \
source venv/bin/activate; \
export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \ export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \
pytest -nauto --nomigrations --cov=. --cov-report=html; \ pytest -nauto --nomigrations --cov=. --cov-report=html; \
) )
@ -85,7 +78,6 @@ test:
.PHONY: debug .PHONY: debug
debug: debug:
( \ ( \
source venv/bin/activate; \
export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \ export DJANGO_SETTINGS_MODULE=network_inventory.settings.local; \
pytest --pdb --nomigrations --cov=. --cov-report=html; \ pytest --pdb --nomigrations --cov=. --cov-report=html; \
) )

View File

@ -15,11 +15,16 @@
let let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
machNix = mach-nix.lib."${system}"; machNix = mach-nix.lib."${system}";
local_requirements = builtins.readFile ./requirements/local.txt;
in in
{ {
devShell = machNix.mkPythonShell { devShell = machNix.mkPythonShell {
packagesExtra = with pkgs; [ pkgs.gnumake ]; 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 ]; _.pytest-cov.propagatedBuildInputs.mod = pySelf: self: oldVal: oldVal ++ [ pySelf.tomli ];
}; };
defaultPackage = (machNix.mkDockerImage { defaultPackage = (machNix.mkDockerImage {