92 lines
2.5 KiB
Nix
92 lines
2.5 KiB
Nix
{
|
|
description = "A very basic flake";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-20.09";
|
|
utils.url = "github:numtide/flake-utils";
|
|
pypi2nix = {
|
|
url = "github:nix-community/pypi2nix";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, utils, pypi2nix }:
|
|
{
|
|
overlay = final: prev: {
|
|
strojnadzor = self.packages.${final.system}.strojnadzor;
|
|
};
|
|
|
|
nixosModules.strojnadzor = {
|
|
imports = [ ./module.nix ];
|
|
nixpkgs.overlays = [ self.overlay ];
|
|
};
|
|
nixosModule = self.nixosModules.strojnadzor;
|
|
|
|
nixosConfigurations.strojnadzor = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
self.nixosModules.strojnadzor
|
|
{
|
|
networking.hostName = "strojnadzor";
|
|
boot.isContainer = true;
|
|
services.strojnadzor.enable = true;
|
|
}
|
|
];
|
|
};
|
|
} // utils.lib.eachSystem [ "x86_64-linux" ] (
|
|
system: let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
python = import ./requirements.nix { inherit pkgs; };
|
|
pypi2nix' = import pypi2nix;
|
|
in
|
|
rec {
|
|
devShell = pkgs.mkShell {
|
|
name = "strojnadzor-env";
|
|
buildInputs = [
|
|
pkgs.nodejs
|
|
pypi2nix
|
|
python.interpreter
|
|
];
|
|
};
|
|
|
|
packages.strojnadzor = python.mkDerivation {
|
|
pname = "strojnadzor";
|
|
version = "0.0.1";
|
|
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
|
|
buildInputs = [];
|
|
propagatedBuildInputs = with python.packages; [
|
|
aldryn-forms
|
|
django-absolute
|
|
django-cms
|
|
django-emailit
|
|
django-filer
|
|
django-sekizai
|
|
django-simple-captcha
|
|
django-treebeard
|
|
djangocms-bootstrap4
|
|
djangocms-file
|
|
djangocms-googlemap
|
|
djangocms-icon
|
|
djangocms-link
|
|
djangocms-picture
|
|
djangocms-snippet
|
|
djangocms-style
|
|
djangocms-text-ckeditor
|
|
djangocms-video
|
|
easy-thumbnails
|
|
gunicorn
|
|
python-dotenv
|
|
setuptools
|
|
];
|
|
passthru.exePath = "/bin/strojnadzor-admin";
|
|
};
|
|
defaultPackage = packages.strojnadzor;
|
|
|
|
apps.strojnadzor = utils.lib.mkApp {
|
|
drv = packages.strojnadzor;
|
|
};
|
|
defaultApp = apps.strojnadzor;
|
|
|
|
}
|
|
);
|
|
}
|