this repo has no description
at main 76 lines 1.9 kB view raw
1{ 2 description = "Aria Shrimpton dissertation"; 3 inputs = { 4 crane.url = "github:ipetkov/crane"; 5 crane.inputs.nixpkgs.follows = "nixpkgs"; 6 rust-overlay = { 7 url = "github:oxalica/rust-overlay"; 8 inputs = { 9 nixpkgs.follows = "nixpkgs"; 10 }; 11 }; 12 nixos-generators = { 13 url = "github:nix-community/nixos-generators"; 14 inputs.nixpkgs.follows = "nixpkgs"; 15 }; 16 }; 17 18 outputs = inputs @ { 19 self, 20 nixpkgs, 21 nixos-generators, 22 crane, 23 rust-overlay, 24 }: let 25 system = "x86_64-linux"; 26 pkgs = import nixpkgs { 27 inherit system; 28 overlays = [(import rust-overlay)]; 29 }; 30 tex-env = pkgs.callPackage ./nix/tex-env.nix inputs; 31 racket-env = pkgs.callPackage ./nix/racket-env.nix inputs; 32 rust-toolchain = pkgs.rust-bin.fromRustupToolchain ((builtins.fromTOML (builtins.readFile ./src/rust-toolchain.toml)).toolchain // {profile = "minimal";}); 33 candelabra = pkgs.callPackage ./nix/candelabra.nix inputs; 34 in rec { 35 devShells.${system} = { 36 minimal = pkgs.mkShell { 37 buildInputs = [ 38 rust-toolchain 39 racket-env 40 pkgs.just # command runner 41 pkgs.inotify-tools 42 ]; 43 }; 44 full = pkgs.mkShell { 45 buildInputs = [ 46 rust-toolchain 47 racket-env 48 pkgs.just # command runner 49 pkgs.inotify-tools 50 51 tex-env 52 pkgs.biber # bibliography backend 53 54 pkgs.livebook # datavis 55 # god is dead 56 pkgs.nodejs 57 pkgs.nodePackages.vega-cli 58 pkgs.nodePackages.vega-lite 59 ]; 60 }; 61 }; 62 63 packages.${system} = { 64 default = candelabra; 65 vm = nixos-generators.nixosGenerate { 66 inherit system; 67 specialArgs = { 68 inherit inputs tex-env racket-env candelabra; 69 }; 70 modules = [./nix/configuration.nix]; 71 72 format = "vm"; 73 }; 74 }; 75 }; 76}