Make aider ready?
This commit is contained in:
parent
f1b25b4e44
commit
2612543973
4 changed files with 70 additions and 37 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -30,3 +30,4 @@ llamafile.git
|
||||||
/.direnv/
|
/.direnv/
|
||||||
*/dist/
|
*/dist/
|
||||||
|
|
||||||
|
.aider*
|
||||||
|
|
26
.nix/default.nix
Normal file
26
.nix/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
# list paths
|
||||||
|
pkgs-paths-list = lib.fileset.toList (lib.fileset.fromSource (lib.sources.sourceFilesBySuffices ./. [".nix"]));
|
||||||
|
# no default.nix
|
||||||
|
filtered-paths-list = builtins.filter (path: builtins.baseNameOf path != "default.nix") pkgs-paths-list;
|
||||||
|
# filename-extension parsed out
|
||||||
|
pkgs-paths =
|
||||||
|
builtins.map
|
||||||
|
(path: {
|
||||||
|
name = lib.strings.removeSuffix ".nix" (builtins.baseNameOf path);
|
||||||
|
path = path;
|
||||||
|
})
|
||||||
|
filtered-paths-list;
|
||||||
|
# import each path
|
||||||
|
imported-pkgs = lib.attrsets.mergeAttrsList (builtins.map
|
||||||
|
(pkg: {
|
||||||
|
"${pkg.name}" = pkgs.callPackage pkg.path {};
|
||||||
|
})
|
||||||
|
pkgs-paths);
|
||||||
|
in
|
||||||
|
imported-pkgs
|
|
@ -25,12 +25,12 @@ mod html_elements {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct TestController {}
|
struct TestaController {}
|
||||||
|
|
||||||
#[controller(
|
#[controller(
|
||||||
state = AppState
|
state = AppState
|
||||||
)]
|
)]
|
||||||
impl TestController {
|
impl TestaController {
|
||||||
#[route(GET "/")]
|
#[route(GET "/")]
|
||||||
async fn index(State(_): State<AppState>) -> impl IntoResponse {
|
async fn index(State(_): State<AppState>) -> impl IntoResponse {
|
||||||
maud! {
|
maud! {
|
||||||
|
@ -85,6 +85,9 @@ impl TestController {
|
||||||
|
|
||||||
maud! {
|
maud! {
|
||||||
h1 { "Item" }
|
h1 { "Item" }
|
||||||
|
div {
|
||||||
|
|
||||||
|
}
|
||||||
p {
|
p {
|
||||||
(format!("{id:?} {amount:?} {offset:?} {state:?}"))
|
(format!("{id:?} {amount:?} {offset:?} {state:?}"))
|
||||||
}
|
}
|
||||||
|
@ -202,7 +205,7 @@ async fn main() {
|
||||||
let listener = tokio::net::TcpListener::bind("0.0.0.0:8000").await.unwrap();
|
let listener = tokio::net::TcpListener::bind("0.0.0.0:8000").await.unwrap();
|
||||||
|
|
||||||
let router: axum::Router = axum::Router::new()
|
let router: axum::Router = axum::Router::new()
|
||||||
.merge(TestController::into_router(app_state.clone()))
|
.merge(TestaController::into_router(app_state.clone()))
|
||||||
.merge(DistController::into_router(app_state.clone()))
|
.merge(DistController::into_router(app_state.clone()))
|
||||||
.fallback_service(get(handle_404))
|
.fallback_service(get(handle_404))
|
||||||
.method_not_allowed_fallback(handle_405)
|
.method_not_allowed_fallback(handle_405)
|
||||||
|
|
71
flake.nix
71
flake.nix
|
@ -67,18 +67,19 @@
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
rocmSupport = true;
|
||||||
|
};
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system overlays;
|
inherit system overlays config;
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
rocmSupport = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
customNodeModules = pkgs.npmlock2nix.v2.node_modules {
|
customNodeModules = pkgs.npmlock2nix.v2.node_modules {
|
||||||
src = ./.;
|
src = ./.;
|
||||||
nodejs = pkgs.nodejs_22;
|
nodejs = pkgs.nodejs_22;
|
||||||
};
|
};
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
|
aider-chat
|
||||||
harfbuzz
|
harfbuzz
|
||||||
openssl
|
openssl
|
||||||
pango
|
pango
|
||||||
|
@ -107,44 +108,46 @@
|
||||||
"gfx1102"
|
"gfx1102"
|
||||||
"gfx1103"
|
"gfx1103"
|
||||||
];
|
];
|
||||||
|
lib = pkgs.lib;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
apps.devshell = self.outputs.devShells.${system}.default.flakeApp;
|
apps.devshell = self.outputs.devShells.${system}.default.flakeApp;
|
||||||
packages = {
|
packages =
|
||||||
cargo-leptos = pkgs.callPackage ./.nix/cargo-leptos.nix { };
|
(import ./.nix { inherit pkgs lib config; })
|
||||||
# llama-cpp = pkgs.callPackage "${llama-cpp}/.devops/nix/scope.nix" { };
|
// {
|
||||||
myllamacpp = with pkgs;
|
myllamacpp = with pkgs;
|
||||||
llamaPackages.llama-cpp.overrideDerivation (oldAttrs: {
|
llamaPackages.llama-cpp.overrideDerivation (oldAttrs: {
|
||||||
# speeds up builts by only building for a needed rocmTargets...
|
# speeds up builts by only building for a needed rocmTargets...
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
(lib.cmakeBool "LLAMA_BUILD_SERVER" true)
|
(lib.cmakeBool "LLAMA_BUILD_SERVER" true)
|
||||||
(lib.cmakeBool "BUILD_SHARED_LIBS" true)
|
(lib.cmakeBool "BUILD_SHARED_LIBS" true)
|
||||||
(lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
|
(lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
|
||||||
(lib.cmakeBool "LLAMA_CURL" true)
|
(lib.cmakeBool "LLAMA_CURL" true)
|
||||||
(lib.cmakeBool "GGML_NATIVE" true)
|
(lib.cmakeBool "GGML_NATIVE" true)
|
||||||
(lib.cmakeBool "GGML_BLAS" false)
|
(lib.cmakeBool "GGML_BLAS" false)
|
||||||
(lib.cmakeBool "GGML_CUDA" false)
|
(lib.cmakeBool "GGML_CUDA" false)
|
||||||
(lib.cmakeBool "GGML_HIP" true) # new one ? kinda undocumented ?
|
(lib.cmakeBool "GGML_HIP" true) # new one ? kinda undocumented ?
|
||||||
(lib.cmakeBool "GGML_HIPBLAS" true) # seems to be depr
|
(lib.cmakeBool "GGML_HIPBLAS" true) # seems to be depr
|
||||||
(lib.cmakeBool "GGML_METAL" false)
|
(lib.cmakeBool "GGML_METAL" false)
|
||||||
(lib.cmakeBool "GGML_VULKAN" false)
|
(lib.cmakeBool "GGML_VULKAN" false)
|
||||||
(lib.cmakeBool "GGML_STATIC" false)
|
(lib.cmakeBool "GGML_STATIC" false)
|
||||||
(lib.cmakeBool "GGML_FMA" true)
|
(lib.cmakeBool "GGML_FMA" true)
|
||||||
(lib.cmakeBool "GGML_F16C" true)
|
(lib.cmakeBool "GGML_F16C" true)
|
||||||
(lib.cmakeBool "GGML_AVX2" true)
|
(lib.cmakeBool "GGML_AVX2" true)
|
||||||
(lib.cmakeBool "GGML_AVX512" false)
|
(lib.cmakeBool "GGML_AVX512" false)
|
||||||
(lib.cmakeFeature "CMAKE_HIP_COMPILER" "${rocmPackages.llvm.clang}/bin/clang")
|
(lib.cmakeFeature "CMAKE_HIP_COMPILER" "${rocmPackages.llvm.clang}/bin/clang")
|
||||||
(lib.cmakeFeature "CMAKE_HIP_ARCHITECTURES" (builtins.concatStringsSep ";" rocmTargets))
|
(lib.cmakeFeature "CMAKE_HIP_ARCHITECTURES" (builtins.concatStringsSep ";" rocmTargets))
|
||||||
(lib.cmakeFeature "AMDGPU_TARGETS" (builtins.concatStringsSep ";" rocmTargets))
|
(lib.cmakeFeature "AMDGPU_TARGETS" (builtins.concatStringsSep ";" rocmTargets))
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
packages = with pkgs;
|
packages = with pkgs;
|
||||||
[
|
[
|
||||||
customNodeModules
|
customNodeModules
|
||||||
customRustToolchain
|
customRustToolchain
|
||||||
self.packages.${system}.myllamacpp
|
self.packages.${system}.myllamacpp
|
||||||
|
aider-chat
|
||||||
bacon
|
bacon
|
||||||
binaryen
|
binaryen
|
||||||
cacert
|
cacert
|
||||||
|
|
Loading…
Add table
Reference in a new issue