{ description = "Aria Shrimpton dissertation"; inputs = { crane.url = "github:ipetkov/crane"; crane.inputs.nixpkgs.follows = "nixpkgs"; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs = { nixpkgs.follows = "nixpkgs"; }; }; }; outputs = inputs @ { self, nixpkgs, crane, rust-overlay, }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; overlays = [(import rust-overlay)]; }; tex-env = pkgs.callPackage ./nix/tex-env.nix inputs; racket-env = pkgs.callPackage ./nix/racket-env.nix inputs; candelabra = pkgs.callPackage ./nix/candelabra.nix inputs; in rec { devShells.${system}.default = pkgs.mkShell { buildInputs = [ tex-env racket-env pkgs.just # command runner pkgs.biber # bibliography backend pkgs.gnuplot pkgs.livebook # datavis ]; }; packages.${system}.default = candelabra; nixosConfigurations.default = nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs tex-env racket-env candelabra; }; modules = [./nix/configuration.nix]; }; }; }