terminal user interface to jujutsu. Focused on speed and clarity
9
fork

Configure Feed

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

flake experiment

+132 -63
+30
flake.lock
··· 1 1 { 2 2 "nodes": { 3 + "flake-parts": { 4 + "inputs": { 5 + "nixpkgs-lib": "nixpkgs-lib" 6 + }, 7 + "locked": { 8 + "lastModified": 1714641030, 9 + "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", 10 + "owner": "hercules-ci", 11 + "repo": "flake-parts", 12 + "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", 13 + "type": "github" 14 + }, 15 + "original": { 16 + "id": "flake-parts", 17 + "type": "indirect" 18 + } 19 + }, 3 20 "nixpkgs": { 4 21 "locked": { 5 22 "lastModified": 1713537308, ··· 13 30 "type": "indirect" 14 31 } 15 32 }, 33 + "nixpkgs-lib": { 34 + "locked": { 35 + "lastModified": 1714640452, 36 + "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", 37 + "type": "tarball", 38 + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" 39 + }, 40 + "original": { 41 + "type": "tarball", 42 + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" 43 + } 44 + }, 16 45 "root": { 17 46 "inputs": { 47 + "flake-parts": "flake-parts", 18 48 "nixpkgs": "nixpkgs" 19 49 } 20 50 }
+102 -62
flake.nix
··· 1 1 { 2 - description = "Example JavaScript development environment for Zero to Nix"; 2 + description = "An actor-model multi-core scheduler for OCaml 5"; 3 3 4 - # Flake inputs 5 4 inputs = { 5 + nixpkgs.url = "nixpkgs-unstable"; 6 6 7 - # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 8 - nixpkgs.url = "nixpkgs-unstable"; # also valid: "nixpkgs" 7 + # bytestring = { 8 + # url = "github:riot-ml/bytestring"; 9 + # inputs.nixpkgs.follows = "nixpkgs"; 10 + # inputs.minttea.follows = "minttea"; 11 + # inputs.rio.follows = "rio"; 12 + # }; 9 13 10 - # roc={ 11 - # url="github:roc-lang/roc"; 12 - # inputs.nixpkgs.follows="nixpkgs"; 14 + # castore = { 15 + # url = "github:suri-framework/castore"; 16 + # inputs.nixpkgs.follows = "nixpkgs"; 17 + # }; 13 18 19 + # config = { 20 + # url = "github:ocaml-sys/config.ml"; 21 + # inputs.nixpkgs.follows = "nixpkgs"; 22 + # inputs.minttea.follows = "minttea"; 14 23 # }; 15 24 16 - }; 17 - # Flake outputs 18 - outputs = { self, nixpkgs, ... }@inputs: 19 - let 20 - # Systems supported 21 - allSystems = [ 22 - "x86_64-linux" # 64-bit Intel/AMD Linux 23 - ]; 24 - 25 - # Helper to provide system-specific attributes 26 - forAllSystems = f: 27 - nixpkgs.lib.genAttrs allSystems (system: 28 - f { 29 - pkgs = import nixpkgs { inherit system; }; 25 + # gluon = { 26 + # url = "github:riot-ml/gluon"; 27 + # inputs.nixpkgs.follows = "nixpkgs"; 28 + # inputs.bytestring.follows = "bytestring"; 29 + # inputs.config.follows = "config"; 30 + # inputs.minttea.follows = "minttea"; 31 + # inputs.rio.follows = "rio"; 32 + # }; 30 33 31 - }); 32 - in { 33 - # Development environment output 34 - devShells = forAllSystems ({ pkgs }: { 35 - default = 34 + # minttea = { 35 + # url = "github:leostera/minttea"; 36 + # inputs.nixpkgs.follows = "nixpkgs"; 37 + # }; 36 38 37 - pkgs.mkShell { 38 - packages = with pkgs; [ 39 + # rio = { 40 + # url = "github:riot-ml/rio"; 41 + # inputs.nixpkgs.follows = "nixpkgs"; 42 + # }; 39 43 40 - opam 41 - git 42 - gnumake 43 - m4 44 - bubblewrap 45 - bash 46 - coreutils 47 - ((pkgs.openssl.override { static = true; })) 48 - pkgs.pkg-config 49 - pkgsMusl.gmp 50 - stdenv.cc.cc.lib 51 - jujutsu 52 - glibc.static 53 - musl.dev 54 - musl 55 - pkgsMusl.gcc 56 - pkgs.dune_3 57 - pkgsMusl.ocaml 58 - ]; 59 - shellHook = 44 + # telemetry = { 45 + # url = "github:leostera/telemetry"; 46 + # inputs.nixpkgs.follows = "nixpkgs"; 47 + # }; 48 + }; 60 49 61 - let 62 - libPath = pkgs.lib.makeLibraryPath [ 63 - pkgs.pkgsMusl.stdenv.cc.cc.lib 64 - pkgs.pkgsMusl.gmp 65 - pkgs.pkgsMusl.musl 66 - ]; 67 - in '' 68 - export CC=${pkgs.pkgsMusl.musl.stdenv.cc} 69 - # # yolo 70 - # export CFLAGS="$CFLAGS -I${pkgs.pkgsMusl.stdenv.cc.cc.lib}/include -I${pkgs.pkgsMusl.gmp}/include" 71 - # export LIBS="$LIBS -L${pkgs.pkgsMusl.stdenv.cc.cc.lib}/lib -L${pkgs.pkgsMusl.gmp}/lib" 72 - ''; 50 + outputs = inputs@{ self, flake-parts, ... }: 51 + flake-parts.lib.mkFlake { inherit inputs; } { 52 + systems = 53 + [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; 54 + perSystem = { config, self', inputs', pkgs, system, ... }: 55 + let 56 + inherit (pkgs) ocamlPackages mkShell lib; 57 + inherit (ocamlPackages) buildDunePackage; 58 + version = "0.0.9+dev"; 59 + in { 60 + devShells = { 61 + default = mkShell.override { stdenv = pkgs.clang17Stdenv; } { 62 + buildInputs = with ocamlPackages; [ 63 + dune_3 64 + ocaml 65 + utop 66 + ocamlformat 67 + ]; 68 + inputsFrom = [ self'.packages.default ]; 69 + packages = builtins.attrValues { 70 + inherit (pkgs) clang_17 clang-tools_17 pkg-config; 71 + inherit (ocamlPackages) ocaml-lsp ocamlformat-rpc-lib; 72 + }; 73 + }; 73 74 }; 74 - 75 - }); 75 + packages = { 76 + # randomconv = buildDunePackage { 77 + # version = "0.2.0"; 78 + # pname = "randomconv"; 79 + # src = builtins.fetchGit { 80 + # url = "git@github.com:hannesm/randomconv.git"; 81 + # rev = "b2ce656d09738d676351f5a1c18aff0ff37a7dcc"; 82 + # ref = "refs/tags/${version}"; 83 + # }; 84 + # }; 76 85 86 + default = let 87 + pkg = buildDunePackage { 88 + inherit version; 89 + preBuild=" "; 90 + pname = "jj_tui"; 91 + propagatedBuildInputs = with ocamlPackages; 92 + [ 93 + # inputs'.bytestring.packages.default 94 + # inputs'.castore.packages.default 95 + # inputs'.config.packages.default 96 + # inputs'.gluon.packages.default 97 + # inputs'.rio.packages.default 98 + # (mdx.override { 99 + # inherit logs; 100 + # }) 101 + # mirage-crypto 102 + # mirage-crypto-rng 103 + # mtime 104 + # odoc 105 + # ptime 106 + # self'.packages.randomconv 107 + # inputs'.telemetry.packages.default 108 + # tls 109 + # uri 110 + # x509 111 + ]; 112 + src = ./.; 113 + }; 114 + in pkg; 115 + }; 116 + }; 77 117 }; 78 118 }
-1
jj_tui/bin/dune
··· 1 1 (executable 2 2 (public_name jj_tui) 3 3 (name main) 4 - (flags (:standard -cclib -static-pie )) 5 4 (libraries jj_tui lwd nottui base stdio eio_main eio-process ) 6 5 )