network_inventory/flake.nix

52 lines
1.6 KiB
Nix
Raw Normal View History

2021-12-08 18:07:49 +01:00
{
description = "A Python API for various tools I use at work.";
inputs = {
nixpkgs.url = github:NixOS/nixpkgs/nixos-21.11;
2022-01-31 19:27:53 +01:00
flake-utils = {
url = github:numtide/flake-utils;
};
mach-nix = {
2022-02-04 09:58:42 +01:00
url = "mach-nix/3.4.0";
2022-01-31 19:27:53 +01:00
};
2021-12-08 18:07:49 +01:00
};
2022-01-31 19:27:53 +01:00
outputs = { self, nixpkgs, flake-utils, mach-nix, ... }@inputs:
flake-utils.lib.eachDefaultSystem (system:
2021-12-08 18:07:49 +01:00
let
pkgs = nixpkgs.legacyPackages.${system};
2022-01-31 19:27:53 +01:00
machNix = mach-nix.lib."${system}";
2022-03-01 09:56:58 +01:00
devEnvironment = machNix.mkPython {
requirements = builtins.readFile ./requirements/local.txt;
_.pytest-cov.propagatedBuildInputs.mod = pySelf: self: oldVal: oldVal ++ [ pySelf.tomli ];
};
2022-03-01 09:56:58 +01:00
in
{
devShell = pkgs.mkShell {
buildInputs = [
devEnvironment
pkgs.gnumake
2022-03-27 14:24:48 +02:00
pkgs.python39Packages.autopep8
pkgs.python39Packages.black
pkgs.python39Packages.flake8
pkgs.python39Packages.jedi
pkgs.python39Packages.pip
pkgs.python39Packages.yapf
2022-03-01 09:56:58 +01:00
];
shellHook = ''
export DJANGO_SETTINGS_MODULE=network_inventory.settings.local
'';
2021-12-08 18:07:49 +01:00
};
2022-03-01 09:56:58 +01:00
packages.venv = devEnvironment;
2022-02-02 10:41:56 +01:00
defaultPackage = (machNix.mkDockerImage {
2022-03-01 09:56:58 +01:00
packagesExtra = with pkgs;
[ pkgs.bash ];
2022-02-01 17:56:02 +01:00
requirements = builtins.readFile ./requirements/docker.txt;
_.pytest-cov.propagatedBuildInputs.mod = pySelf: self: oldVal: oldVal ++ [ pySelf.tomli ];
2022-03-01 09:56:58 +01:00
}).override
(oldAttrs: {
name = "network-inventory";
config.Cmd = [ "run.sh" ];
});
2021-12-08 18:07:49 +01:00
});
}