summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2022-09-03 18:08:32 -0400
committerKjetil Orbekk <kj@orbekk.com>2022-09-03 18:08:32 -0400
commit5abdd7c876e821fa6b7be0f8e7298b9a4c9e1d20 (patch)
treef09b3061505f00af0ee95c9882d8a9ae0091e0ea
Empty project setup
-rw-r--r--.envrc1
-rw-r--r--.gitignore7
-rw-r--r--Cargo.lock7
-rw-r--r--Cargo.toml4
-rw-r--r--flake.lock39
-rw-r--r--flake.nix50
-rw-r--r--rust-toolchain1
-rw-r--r--webapp/Cargo.toml8
-rw-r--r--webapp/src/main.rs3
9 files changed, 120 insertions, 0 deletions
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!");
+}