{ description = "Sagemath flake"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; inputs.flake-utils.url = "github:numtide/flake-utils"; outputs = { self, nixpkgs, flake-utils}: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; python-packages = ps: with ps; [ jupyterlab jupyterlab-git jupyterlab-lsp jupyterlab-widgets ]; in { devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ sage (python311.withPackages python-packages) ]; shellHook = '' # sage --nodotsage -n --notebook-dir . # TODO sage --nodotsage -n=jupyterlab --notebook-dir . # exit ''; }; } ); }