Restart of my ol' fruittools project :3
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Initial commit

MLC Bloeiman ca4e1fab

+221
+3
.envrc
··· 1 + if nix flake show &> /dev/null; then 2 + use flake 3 + fi
+3
.gitignore
··· 1 + 2 + # Ignore direnv cache 3 + .direnv/
+100
flake.lock
··· 1 + { 2 + "nodes": { 3 + "fenix": { 4 + "inputs": { 5 + "nixpkgs": [ 6 + "nixpkgs" 7 + ], 8 + "rust-analyzer-src": "rust-analyzer-src" 9 + }, 10 + "locked": { 11 + "lastModified": 1775807984, 12 + "narHash": "sha256-Redoe3D9zGN5I9QPHWL9vfMVQBehY1fKsMiRXQ83X3w=", 13 + "owner": "nix-community", 14 + "repo": "fenix", 15 + "rev": "fcf90c0c4d368b2ca917a7afa6d08e98a397e5fd", 16 + "type": "github" 17 + }, 18 + "original": { 19 + "owner": "nix-community", 20 + "repo": "fenix", 21 + "type": "github" 22 + } 23 + }, 24 + "nixpkgs": { 25 + "locked": { 26 + "lastModified": 1775710090, 27 + "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=", 28 + "owner": "NixOS", 29 + "repo": "nixpkgs", 30 + "rev": "4c1018dae018162ec878d42fec712642d214fdfa", 31 + "type": "github" 32 + }, 33 + "original": { 34 + "owner": "NixOS", 35 + "ref": "nixos-unstable", 36 + "repo": "nixpkgs", 37 + "type": "github" 38 + } 39 + }, 40 + "root": { 41 + "inputs": { 42 + "fenix": "fenix", 43 + "nixpkgs": "nixpkgs", 44 + "utils": "utils" 45 + } 46 + }, 47 + "rust-analyzer-src": { 48 + "flake": false, 49 + "locked": { 50 + "lastModified": 1775745684, 51 + "narHash": "sha256-8MbfLwd60FNa8dRFkjE+G3TT/x21G3Rsplm1bMBQUtU=", 52 + "owner": "rust-lang", 53 + "repo": "rust-analyzer", 54 + "rev": "64ddb549bc9a70d011328746fa46a8883f937b6b", 55 + "type": "github" 56 + }, 57 + "original": { 58 + "owner": "rust-lang", 59 + "ref": "nightly", 60 + "repo": "rust-analyzer", 61 + "type": "github" 62 + } 63 + }, 64 + "systems": { 65 + "locked": { 66 + "lastModified": 1681028828, 67 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 68 + "owner": "nix-systems", 69 + "repo": "default", 70 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 71 + "type": "github" 72 + }, 73 + "original": { 74 + "owner": "nix-systems", 75 + "repo": "default", 76 + "type": "github" 77 + } 78 + }, 79 + "utils": { 80 + "inputs": { 81 + "systems": "systems" 82 + }, 83 + "locked": { 84 + "lastModified": 1731533236, 85 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 86 + "owner": "numtide", 87 + "repo": "flake-utils", 88 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 89 + "type": "github" 90 + }, 91 + "original": { 92 + "owner": "numtide", 93 + "repo": "flake-utils", 94 + "type": "github" 95 + } 96 + } 97 + }, 98 + "root": "root", 99 + "version": 7 100 + }
+73
flake.nix
··· 1 + { 2 + inputs = { 3 + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 4 + utils.url = "github:numtide/flake-utils"; 5 + fenix = { 6 + url = "github:nix-community/fenix"; 7 + inputs.nixpkgs.follows = "nixpkgs"; 8 + }; 9 + }; 10 + 11 + outputs = 12 + { 13 + nixpkgs, 14 + utils, 15 + fenix, 16 + ... 17 + }: 18 + utils.lib.eachDefaultSystem ( 19 + system: 20 + let 21 + pkgs = import nixpkgs { inherit system; }; 22 + rustToolchain = fenix.packages.${system}.stable.withComponents [ 23 + "cargo" 24 + "rustc" 25 + "rustfmt" 26 + "clippy" 27 + "rust-analyzer" 28 + "rust-src" 29 + ]; 30 + # Define libraries in one place to avoid repetition 31 + libraries = with pkgs; [ 32 + stdenv.cc.cc 33 + glib 34 + dbus 35 + curl 36 + openssl 37 + ]; 38 + 39 + packages = with pkgs; [ 40 + 41 + # Language tool chains: Rust, Gleam 42 + rustToolchain 43 + gleam 44 + bun 45 + 46 + # Database 47 + dbmate 48 + sqlite 49 + 50 + # Pkg config 51 + pkg-config-unwrapped 52 + 53 + # Podman 54 + podman 55 + 56 + # Runners 57 + watchexec 58 + just 59 + ]; 60 + in 61 + { 62 + devShells.default = pkgs.mkShell { 63 + # Tools go here 64 + nativeBuildInputs = [ pkgs.pkg-config ]; 65 + 66 + # Libraries go here 67 + buildInputs = packages ++ libraries; 68 + 69 + }; 70 + } 71 + ); 72 + 73 + }
+4
orchestrator/.gitignore
··· 1 + *.beam 2 + *.ez 3 + /build 4 + erl_crash.dump
+1
orchestrator/README.md
··· 1 +
+19
orchestrator/gleam.toml
··· 1 + name = "fruittools_orchestrator" 2 + version = "1.0.0" 3 + 4 + # Fill out these fields if you intend to generate HTML documentation or publish 5 + # your project to the Hex package manager. 6 + # 7 + # description = "" 8 + # licences = ["Apache-2.0"] 9 + # repository = { type = "github", user = "", repo = "" } 10 + # links = [{ title = "Website", href = "" }] 11 + # 12 + # For a full reference of all the available options, you can have a look at 13 + # https://gleam.run/writing-gleam/gleam-toml/. 14 + 15 + [dependencies] 16 + gleam_stdlib = ">= 0.44.0 and < 2.0.0" 17 + 18 + [dev_dependencies] 19 + gleeunit = ">= 1.0.0 and < 2.0.0"
+5
orchestrator/src/fruittools_orchestrator.gleam
··· 1 + import gleam/io 2 + 3 + pub fn main() -> Nil { 4 + io.println("Hello from fruittools_orchestrator!") 5 + }
+13
orchestrator/test/fruittools_orchestrator_test.gleam
··· 1 + import gleeunit 2 + 3 + pub fn main() -> Nil { 4 + gleeunit.main() 5 + } 6 + 7 + // gleeunit test functions end in `_test` 8 + pub fn hello_world_test() { 9 + let name = "Joe" 10 + let greeting = "Hello, " <> name <> "!" 11 + 12 + assert greeting == "Hello, Joe!" 13 + }