* add print button Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup Signed-off-by: Jess Frazelle <github@jessfraz.com> * generate more types Signed-off-by: Jess Frazelle <github@jessfraz.com> * add a github action to generate machine api-types Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * actually print on the real machine Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * add more Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * get the current machine Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * know when error Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * add fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * empty * empty * update machine api Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * empty * New machine-api types * emptuy * no circular deps Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * remove recursive dep Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  description = "modeling-app development environment";
 | 
						|
 | 
						|
  # Flake inputs
 | 
						|
  inputs = {
 | 
						|
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
 | 
						|
    rust-overlay.url = "github:oxalica/rust-overlay"; # A helper for Rust + Nix
 | 
						|
  };
 | 
						|
 | 
						|
  # Flake outputs
 | 
						|
  outputs = { self, nixpkgs, rust-overlay }:
 | 
						|
    let
 | 
						|
      # Overlays enable you to customize the Nixpkgs attribute set
 | 
						|
      overlays = [
 | 
						|
        # Makes a `rust-bin` attribute available in Nixpkgs
 | 
						|
        (import rust-overlay)
 | 
						|
        # Provides a `rustToolchain` attribute for Nixpkgs that we can use to
 | 
						|
        # create a Rust environment
 | 
						|
        (self: super: {
 | 
						|
          rustToolchain = super. rust-bin.stable.latest.default.override {
 | 
						|
            targets = [ "wasm32-unknown-unknown" ];
 | 
						|
            extensions = [ "rustfmt" "llvm-tools-preview" ];
 | 
						|
          };
 | 
						|
        })
 | 
						|
      ];
 | 
						|
 | 
						|
      # Systems supported
 | 
						|
      allSystems = [
 | 
						|
        "x86_64-linux" # 64-bit Intel/AMD Linux
 | 
						|
        "aarch64-linux" # 64-bit ARM Linux
 | 
						|
        "x86_64-darwin" # 64-bit Intel macOS
 | 
						|
        "aarch64-darwin" # 64-bit ARM macOS
 | 
						|
      ];
 | 
						|
 | 
						|
      # Helper to provide system-specific attributes
 | 
						|
      forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f {
 | 
						|
        pkgs = import nixpkgs { inherit overlays system; };
 | 
						|
      });
 | 
						|
 | 
						|
    in
 | 
						|
    {
 | 
						|
      # Development environment output
 | 
						|
      devShells = forAllSystems ({ pkgs }: {
 | 
						|
        default = pkgs.mkShell {
 | 
						|
          # The Nix packages provided in the environment
 | 
						|
          packages = (with pkgs; [
 | 
						|
            # The package provided by our custom overlay. Includes cargo, Clippy, cargo-fmt,
 | 
						|
            # rustdoc, rustfmt, and other tools.
 | 
						|
            rustToolchain
 | 
						|
 | 
						|
            cargo-llvm-cov
 | 
						|
            cargo-nextest
 | 
						|
 | 
						|
            just
 | 
						|
            postgresql.lib
 | 
						|
            openssl
 | 
						|
            pkg-config
 | 
						|
 | 
						|
            nodejs_22
 | 
						|
            yarn
 | 
						|
          ]) ++ pkgs.lib.optionals pkgs.stdenv.isDarwin (with pkgs; [
 | 
						|
            libiconv 
 | 
						|
            darwin.apple_sdk.frameworks.Security
 | 
						|
          ]);
 | 
						|
 | 
						|
          TARGET_CC = "${pkgs.stdenv.cc}/bin/${pkgs.stdenv.cc.targetPrefix}cc";
 | 
						|
          LIBCLANG_PATH = "${pkgs.libclang.lib}/lib";
 | 
						|
        };
 | 
						|
      });
 | 
						|
    };
 | 
						|
}
 |