From 5abdd7c876e821fa6b7be0f8e7298b9a4c9e1d20 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sat, 3 Sep 2022 18:08:32 -0400 Subject: Empty project setup --- .envrc | 1 + .gitignore | 7 +++++++ Cargo.lock | 7 +++++++ Cargo.toml | 4 ++++ flake.lock | 39 +++++++++++++++++++++++++++++++++++++++ flake.nix | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ rust-toolchain | 1 + webapp/Cargo.toml | 8 ++++++++ webapp/src/main.rs | 3 +++ 9 files changed, 120 insertions(+) create mode 100644 .envrc create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 rust-toolchain create mode 100644 webapp/Cargo.toml create mode 100644 webapp/src/main.rs diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..28a2635 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +.idea +*.log +tmp/ +*/target +*/debug +**/*.rs.bk diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..a3c1013 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "webapp" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..3a8bb9f --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,4 @@ +[workspace] +members = [ + "webapp", +] diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..4fb607b --- /dev/null +++ b/flake.lock @@ -0,0 +1,39 @@ +{ + "nodes": { + "flake-utils": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 0, + "narHash": "sha256-Kqd6r9aNIzjYGhMFYATdKwRbXBCGLcdqAJMLr4I8LG0=", + "path": "/nix/store/l0zpkxzcinla9fr0rf9qy18gga43fxml-source", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..2d0d812 --- /dev/null +++ b/flake.nix @@ -0,0 +1,50 @@ +{ + inputs = { flake-utils.url = "github:numtide/flake-utils"; }; + + outputs = { self, nixpkgs, flake-utils }: + flake-utils.lib.eachDefaultSystem (system: + let pkgs = nixpkgs.legacyPackages.${system}; + in { + devShell = pkgs.mkShell { + buildInputs = with pkgs; [ + stdenv + openssl + pkg-config + llvmPackages_latest.llvm + llvmPackages_latest.bintools + zlib.out + rustup + #xorriso + #grub2 + #qemu + llvmPackages_latest.lld + #python3 + ]; + RUSTC_VERSION = pkgs.lib.readFile ./rust-toolchain; + # https://github.com/rust-lang/rust-bindgen#environment-variables + LIBCLANG_PATH = pkgs.lib.makeLibraryPath [ pkgs.llvmPackages_latest.libclang.lib ]; + HISTFILE = toString ./.history; + shellHook = '' + export PATH=$PATH:~/cargo/bin + export PATH=$PATH:~/.rustup/toolchains/$RUSTC_VERSION-x86_64-unknown-linux-gnu/bin/ + ''; + # Add libvmi precompiled library to rustc search path + # RUSTFLAGS = (builtins.map (a: ''-L ${a}/lib'') [ + # pkgs.libvmi + # ]); + # Add libvmi, glibc, clang, glib headers to bindgen search path + BINDGEN_EXTRA_CLANG_ARGS = + # Includes with normal include path + (builtins.map (a: ''-I"${a}/include"'') [ + # pkgs.libvmi + pkgs.glibc.dev + ]) + # Includes with special directory paths + ++ [ + ''-I"${pkgs.llvmPackages_latest.libclang.lib}/lib/clang/${pkgs.llvmPackages_latest.libclang.version}/include"'' + ''-I"${pkgs.glib.dev}/include/glib-2.0"'' + ''-I${pkgs.glib.out}/lib/glib-2.0/include/'' + ]; + }; + }); +} diff --git a/rust-toolchain b/rust-toolchain new file mode 100644 index 0000000..2bf5ad0 --- /dev/null +++ b/rust-toolchain @@ -0,0 +1 @@ +stable diff --git a/webapp/Cargo.toml b/webapp/Cargo.toml new file mode 100644 index 0000000..0c4d9de --- /dev/null +++ b/webapp/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "webapp" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/webapp/src/main.rs b/webapp/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/webapp/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} -- cgit v1.2.3