{ nixConfig = { trusted-substituters = "https://cache.nixos.org/"; trusted-public-keys = "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="; extra-experimental-features = "nix-command flakes"; }; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; flake-utils.url = "github:numtide/flake-utils"; geoip2-asn = { url = "https://dl.jakstys.lt/_/GeoLite2-ASN.mmdb"; flake = false; }; geoip2-city = { url = "https://dl.jakstys.lt/_/GeoLite2-City.mmdb"; flake = false; }; geoip2-country = { url = "https://dl.jakstys.lt/_/GeoLite2-Country.mmdb"; flake = false; }; }; outputs = { self, nixpkgs, flake-utils, geoip2-asn, geoip2-city, geoip2-country, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs {inherit system;}; devDeps = with pkgs; [ python3Packages.django_5 python3Packages.django-debug-toolbar python3Packages.django-compressor dart-sass python3Packages.geoip2 libmaxminddb ]; geoip = pkgs.stdenv.mkDerivation { name = geoip; srcs = [geoip2-asn geoip2-city geoip2-country]; dontUnpack = true; installPhase = '' runHook preInstall mkdir -p $out cp ${geoip2-asn} $out/ cp ${geoip2-city} $out/ cp ${geoip2-country} $out/ ''; }; in { devShells.default = pkgs.mkShell { LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; #GEOIP_PATH = "${geoip}"; packages = devDeps ++ [geoip]; }; formatter = pkgs.alejandra; }); }