Add flake
This commit is contained in:
parent
99046dba29
commit
0466b64c5a
10 changed files with 166 additions and 8 deletions
1
.envrc
1
.envrc
|
@ -1 +1,2 @@
|
|||
export DATABASE_URL=sqlite://$(pwd)/test.db
|
||||
use flake
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -5,3 +5,4 @@ target
|
|||
**/export/export.json
|
||||
test.db*
|
||||
.env
|
||||
.direnv
|
||||
|
|
4
Cargo.lock
generated
4
Cargo.lock
generated
|
@ -3474,6 +3474,10 @@ dependencies = [
|
|||
"tracing-subscriber",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "panorama-abi"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "panorama-app-sdk"
|
||||
version = "0.1.0"
|
||||
|
|
4
apps/codetrack/Makefile
Normal file
4
apps/codetrack/Makefile
Normal file
|
@ -0,0 +1,4 @@
|
|||
SOURCES := $(shell find -name "*.go")
|
||||
|
||||
main.wasm: $(SOURCES)
|
||||
GOOS=js GOARCH=wasm go build -o main.wasm
|
|
@ -3,6 +3,8 @@ version: 0.1.0
|
|||
panorama_version: 0.1.0
|
||||
description: Code tracking app similar to WakaTime
|
||||
|
||||
module: ./main.wasm
|
||||
|
||||
node_types:
|
||||
- name: heartbeat
|
||||
|
||||
|
@ -25,4 +27,4 @@ endpoints:
|
|||
|
||||
profiles:
|
||||
release:
|
||||
module: ./main.wasm
|
||||
module: ./main.wasm
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
name = "panorama-journal"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
default-target = "wasm32-unknown-unknown"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib", "rlib"]
|
||||
|
|
|
@ -8,9 +8,11 @@ pub struct AppManifest {
|
|||
pub version: Option<String>,
|
||||
pub panorama_version: Option<String>,
|
||||
pub description: Option<String>,
|
||||
pub installer_path: PathBuf,
|
||||
pub module: PathBuf,
|
||||
|
||||
#[serde(default)]
|
||||
pub endpoints: Vec<AppManifestEndpoint>,
|
||||
#[serde(default)]
|
||||
pub triggers: Vec<AppManifestTriggers>,
|
||||
}
|
||||
|
||||
|
|
|
@ -75,18 +75,23 @@ impl AppState {
|
|||
let app_path = path.as_ref();
|
||||
let manifest_path = app_path.join("manifest.yml");
|
||||
let manifest: AppManifest = {
|
||||
let file = File::open(manifest_path)?;
|
||||
serde_yaml::from_reader(file)?
|
||||
let file = File::open(&manifest_path)?;
|
||||
serde_yaml::from_reader(file).with_context(|| {
|
||||
format!(
|
||||
"Could not parse config file from {}",
|
||||
manifest_path.display()
|
||||
)
|
||||
})?
|
||||
};
|
||||
println!("Manifest: {:?}", manifest);
|
||||
|
||||
let installer_path = app_path.join(manifest.installer_path);
|
||||
let module_path = app_path.join(manifest.module);
|
||||
|
||||
let installer_program = {
|
||||
let mut file = File::open(&installer_path).with_context(|| {
|
||||
let mut file = File::open(&module_path).with_context(|| {
|
||||
format!(
|
||||
"Could not open installer from path: {}",
|
||||
installer_path.display()
|
||||
module_path.display()
|
||||
)
|
||||
})?;
|
||||
let mut buf = Vec::new();
|
||||
|
|
98
flake.lock
Normal file
98
flake.lock
Normal file
|
@ -0,0 +1,98 @@
|
|||
{
|
||||
"nodes": {
|
||||
"fenix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1719469637,
|
||||
"narHash": "sha256-cOA40mIqjIIf+mCdtuglxdP/0to1LDL1Lkef7vqVykc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "3374c72204714eb979719e77a1856009584ba4d7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "flake-utils",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1719554759,
|
||||
"narHash": "sha256-B64IsJMis4A9dePPOKi2T5EEs9AJWfsvkMKSh9/NANs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "44677ecde6c8a7a7e32f9a2709c316975bf89a60",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"fenix": "fenix",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1719378198,
|
||||
"narHash": "sha256-c1jWpdPlZyL6/a0pWa30680ivP7nMLNBPuz5hMGoifg=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "b33a0cae335b85e11a700df2d9a7c0006a3b80ec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rust-lang",
|
||||
"ref": "nightly",
|
||||
"repo": "rust-analyzer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
42
flake.nix
Normal file
42
flake.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs";
|
||||
fenix = {
|
||||
url = "github:nix-community/fenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils, fenix }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ fenix.overlays.default ];
|
||||
};
|
||||
|
||||
toolchain = pkgs.fenix.stable;
|
||||
|
||||
flakePkgs = {
|
||||
#markout = pkgs.callPackage ./. { inherit toolchain; };
|
||||
};
|
||||
in rec {
|
||||
packages = flake-utils.lib.flattenTree flakePkgs;
|
||||
|
||||
devShell = pkgs.mkShell {
|
||||
inputsFrom = with packages;
|
||||
[
|
||||
#markout
|
||||
];
|
||||
packages = (with pkgs; [
|
||||
cargo-watch
|
||||
cargo-deny
|
||||
cargo-edit
|
||||
corepack
|
||||
nodejs_20
|
||||
sqlx-cli
|
||||
go
|
||||
]) ++ (with toolchain; [ cargo rustc rustfmt clippy ]);
|
||||
};
|
||||
});
|
||||
}
|
Loading…
Reference in a new issue