From 73465203b2043ecc3c9d9db68103fc44010b7af0 Mon Sep 17 00:00:00 2001 From: Deepak Mallubhotla Date: Sun, 12 Jun 2022 10:42:45 -0500 Subject: [PATCH] nix: adds flake.nix --- flake.nix | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 flake.nix diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..9115735 --- /dev/null +++ b/flake.nix @@ -0,0 +1,55 @@ +{ + description = "Application packaged using poetry2nix"; + + inputs.flake-utils.url = "github:numtide/flake-utils?rev=0f8662f1319ad6abf89b3380dd2722369fc51ade"; + inputs.nixpkgs.url = "github:NixOS/nixpkgs?rev=e194871435cad8ffb1d64b64fb7df3b2b8a10088"; + inputs.poetry2nix.url = "github:nix-community/poetry2nix?rev=7b71679fa7df00e1678fc3f1d1d4f5f372341b63"; + + outputs = { self, nixpkgs, flake-utils, poetry2nix }: + { + # Nixpkgs overlay providing the application + overlay = nixpkgs.lib.composeManyExtensions [ + poetry2nix.overlay + (final: prev: { + # The application + deepdog = prev.poetry2nix.mkPoetryApplication { + overrides = [ + prev.poetry2nix.defaultPoetryOverrides + ]; + projectDir = ./.; + }; + deepdogEnv = prev.poetry2nix.mkPoetryEnv { + overrides = [ + prev.poetry2nix.defaultPoetryOverrides + ]; + projectDir = ./.; + }; + }) + ]; + } // (flake-utils.lib.eachDefaultSystem (system: + let + pkgs = import nixpkgs { + inherit system; + overlays = [ self.overlay ]; + }; + in + { + apps = { + deepdog = pkgs.deepdog; + }; + + defaultApp = pkgs.deepdog; + devShell = pkgs.mkShell { + buildInputs = [ + pkgs.poetry + pkgs.deepdogEnv + pkgs.deepdog + ]; + shellHook = '' + export DO_NIX_CUSTOM=1 + ''; + packages = [ pkgs.nodejs-16_x ]; + }; + + })); +}