From a0c19f7f9dff15228490f37dbd5e6053e80cb05c Mon Sep 17 00:00:00 2001 From: Aria Shrimpton Date: Mon, 1 Apr 2024 19:12:12 +0100 Subject: more repro stuff --- flake.nix | 58 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 19 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index 2a82889..917e3aa 100644 --- a/flake.nix +++ b/flake.nix @@ -9,11 +9,16 @@ nixpkgs.follows = "nixpkgs"; }; }; + nixos-generators = { + url = "github:nix-community/nixos-generators"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs @ { self, nixpkgs, + nixos-generators, crane, rust-overlay, }: let @@ -24,33 +29,48 @@ }; tex-env = pkgs.callPackage ./nix/tex-env.nix inputs; racket-env = pkgs.callPackage ./nix/racket-env.nix inputs; + rust-toolchain = pkgs.rust-bin.fromRustupToolchain ((builtins.fromTOML (builtins.readFile ./src/rust-toolchain.toml)).toolchain // {profile = "minimal";}); candelabra = pkgs.callPackage ./nix/candelabra.nix inputs; in rec { - devShells.${system}.default = pkgs.mkShell { - buildInputs = [ - tex-env - racket-env + devShells.${system} = { + minimal = pkgs.mkShell { + buildInputs = [ + rust-toolchain + racket-env + pkgs.just # command runner + pkgs.inotify-tools + ]; + }; + full = pkgs.mkShell { + buildInputs = [ + rust-toolchain + racket-env + pkgs.just # command runner + pkgs.inotify-tools - pkgs.just # command runner - pkgs.biber # bibliography backend - pkgs.inotify-tools + tex-env + pkgs.biber # bibliography backend - pkgs.livebook # datavis - # god is dead - pkgs.nodejs - pkgs.nodePackages.vega-cli - pkgs.nodePackages.vega-lite - ]; + pkgs.livebook # datavis + # god is dead + pkgs.nodejs + pkgs.nodePackages.vega-cli + pkgs.nodePackages.vega-lite + ]; + }; }; - packages.${system}.default = candelabra; + packages.${system} = { + default = candelabra; + vm = nixos-generators.nixosGenerate { + inherit system; + specialArgs = { + inherit inputs tex-env racket-env candelabra; + }; + modules = [./nix/configuration.nix]; - nixosConfigurations.default = nixpkgs.lib.nixosSystem { - inherit system; - specialArgs = { - inherit inputs tex-env racket-env candelabra; + format = "vm"; }; - modules = [./nix/configuration.nix]; }; }; } -- cgit v1.2.3