nix flakes
This commit is contained in:
		
							parent
							
								
									5958ebf251
								
							
						
					
					
						commit
						5c1f09360a
					
				
					 3 changed files with 171 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,2 +1,3 @@
 | 
				
			||||||
/target
 | 
					/target
 | 
				
			||||||
/storage
 | 
					/storage
 | 
				
			||||||
 | 
					/result
 | 
				
			||||||
							
								
								
									
										111
									
								
								flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,111 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "nodes": {
 | 
				
			||||||
 | 
					    "crate2nix": {
 | 
				
			||||||
 | 
					      "flake": false,
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1650460722,
 | 
				
			||||||
 | 
					        "narHash": "sha256-jk4SZ8iOnfJEceVULjyOAq4MrX9CfU5bCWMyZP9nJVA=",
 | 
				
			||||||
 | 
					        "owner": "kolloch",
 | 
				
			||||||
 | 
					        "repo": "crate2nix",
 | 
				
			||||||
 | 
					        "rev": "78258f27fc3121562a44eb02c652a5ec77cf8d02",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "kolloch",
 | 
				
			||||||
 | 
					        "repo": "crate2nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-utils": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1637014545,
 | 
				
			||||||
 | 
					        "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1651007983,
 | 
				
			||||||
 | 
					        "narHash": "sha256-GNay7yDPtLcRcKCNHldug85AhAvBpTtPEJWSSDYBw8U=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "e10da1c7f542515b609f8dfbcf788f3d85b14936",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixos-unstable",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs_2": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1637453606,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Gy6cwUswft9xqsjWxFYEnx/63/qzaFUwatcbV5GF/GQ=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "8afc4e543663ca0a6a4f496262cd05233737e732",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixpkgs-unstable",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "root": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "crate2nix": "crate2nix",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs",
 | 
				
			||||||
 | 
					        "rust-overlay": "rust-overlay",
 | 
				
			||||||
 | 
					        "utils": "utils"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "rust-overlay": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-utils": "flake-utils",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs_2"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1651114831,
 | 
				
			||||||
 | 
					        "narHash": "sha256-fbztwl7iIvnFwcm/u0Eigcvkl6uH97tEXUJqizbyl1k=",
 | 
				
			||||||
 | 
					        "owner": "oxalica",
 | 
				
			||||||
 | 
					        "repo": "rust-overlay",
 | 
				
			||||||
 | 
					        "rev": "89e658c1c8d81eeaad78750ab29975594f57eda2",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "oxalica",
 | 
				
			||||||
 | 
					        "repo": "rust-overlay",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "utils": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1649676176,
 | 
				
			||||||
 | 
					        "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "root": "root",
 | 
				
			||||||
 | 
					  "version": 7
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										59
									
								
								flake.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								flake.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,59 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  description = "transbeam: a low-latency file drop web app";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  inputs = {
 | 
				
			||||||
 | 
					    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
 | 
				
			||||||
 | 
					    utils.url = "github:numtide/flake-utils";
 | 
				
			||||||
 | 
					    rust-overlay.url = "github:oxalica/rust-overlay";
 | 
				
			||||||
 | 
					    crate2nix = {
 | 
				
			||||||
 | 
					      url = "github:kolloch/crate2nix";
 | 
				
			||||||
 | 
					      flake = false;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  outputs = { self, nixpkgs, utils, rust-overlay, crate2nix }: let
 | 
				
			||||||
 | 
					    name = "transbeam";
 | 
				
			||||||
 | 
					  in
 | 
				
			||||||
 | 
					    utils.lib.eachDefaultSystem
 | 
				
			||||||
 | 
					      (system:
 | 
				
			||||||
 | 
					        let
 | 
				
			||||||
 | 
					          pkgs = import nixpkgs {
 | 
				
			||||||
 | 
					            inherit system;
 | 
				
			||||||
 | 
					            overlays = [
 | 
				
			||||||
 | 
					              rust-overlay.overlay
 | 
				
			||||||
 | 
					              (final: prev: {
 | 
				
			||||||
 | 
					                rustc = final.rust-bin.stable.latest.default;
 | 
				
			||||||
 | 
					                cargo = final.rust-bin.stable.latest.default;
 | 
				
			||||||
 | 
					              })
 | 
				
			||||||
 | 
					            ];
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					          inherit (import "${crate2nix}/tools.nix" { inherit pkgs; })
 | 
				
			||||||
 | 
					            generatedCargoNix;
 | 
				
			||||||
 | 
					          project = import
 | 
				
			||||||
 | 
					            (generatedCargoNix {
 | 
				
			||||||
 | 
					              inherit name;
 | 
				
			||||||
 | 
					              src = ./.;
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					            { inherit pkgs; };
 | 
				
			||||||
 | 
					        in rec {
 | 
				
			||||||
 | 
					          packages.${name} = pkgs.symlinkJoin {
 | 
				
			||||||
 | 
					            inherit name;
 | 
				
			||||||
 | 
					            paths = [ packages."${name}-unwrapped" ];
 | 
				
			||||||
 | 
					            buildInputs = [ pkgs.makeWrapper ];
 | 
				
			||||||
 | 
					            postBuild = ''
 | 
				
			||||||
 | 
					              wrapProgram $out/bin/${name} \
 | 
				
			||||||
 | 
					                --set STATIC_DIR ${./static}
 | 
				
			||||||
 | 
					            '';
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          defaultPackage = packages.${name};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          packages."${name}-unwrapped" = project.rootCrate.build;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          devShell = pkgs.mkShell {
 | 
				
			||||||
 | 
					            nativeBuildInputs = with pkgs; [ rustc cargo cargo-audit stdenv.cc ];
 | 
				
			||||||
 | 
					            RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue