{ 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 ]; }; defaultPackage = packages.strojnadzor; apps.strojnadzor = utils.lib.mkApp { drv = packages.strojnadzor; }; defaultApp = apps.strojnadzor; } ); }