Files
interview/flake.nix
2023-07-28 22:18:54 -07:00

56 lines
1.8 KiB
Nix

{
description = "Application packaged using poetry2nix";
inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.poetry2nix = {
url = "github:nix-community/poetry2nix";
inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, flake-utils, poetry2nix }:
flake-utils.lib.eachDefaultSystem (system:
let
# see https://github.com/nix-community/poetry2nix/tree/master#api for more functions and examples.
inherit (poetry2nix.legacyPackages.${system}) mkPoetryApplication;
inherit (poetry2nix.legacyPackages.${system}) mkPoetryEnv;
pkgs = nixpkgs.legacyPackages.${system};
# poetryOverrides = pkgs.poetry2nix.overrides.withDefaults
# (self: super:
# let
# pyBuildPackages = self.python.pythonForBuild.pkgs;
# in
# {
# };
# );
poetryEnv = mkPoetryEnv {
projectDir = ./.;
# overrides = poetryOverrides;
preferWheels = true;
};
in
{
packages = {
myapp = mkPoetryApplication { projectDir = self; };
default = self.packages.${system}.myapp;
};
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
poetryEnv
python310Packages.pandas
# python310Packages.scrapy # hopefully 2.7.1 synced with poetry
];
packages = [
poetry2nix.packages.${system}.poetry
pkgs.age
pkgs.sops
pkgs.sqlitebrowser
];
shellHook = ''
LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib ]};
'';
};
});
}