Download flake.nix from SaylorTwift/forgecode: direct link, hf CLI and curl.
- Browser
- Download file 4.38 kB
-
https://huggingface.co/SaylorTwift/forgecode/resolve/main/flake.nix
- Command line
-
hf download hf://SaylorTwift/forgecode/flake.nix
-
curl -L -o flake.nix https://huggingface.co/SaylorTwift/forgecode/resolve/main/flake.nix
4.38 kB
| { | |
| description = "forge: AI enabled pair programmer for Claude, GPT, O Series, Grok, Deepseek, Gemini and 300+ models"; | |
| inputs = { | |
| nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; | |
| }; | |
| outputs = { self, nixpkgs }: | |
| let | |
| systems = [ | |
| "x86_64-linux" | |
| "aarch64-linux" | |
| "x86_64-darwin" | |
| "aarch64-darwin" | |
| ]; | |
| forAllSystems = nixpkgs.lib.genAttrs systems; | |
| in | |
| { | |
| formatter = forAllSystems (system: | |
| let | |
| pkgs = import nixpkgs { inherit system; }; | |
| in | |
| pkgs.nixfmt-rfc-style | |
| ); | |
| packages = forAllSystems (system: | |
| let | |
| pkgs = import nixpkgs { inherit system; }; | |
| lib = pkgs.lib; | |
| src = lib.cleanSourceWith { | |
| src = ./.; | |
| filter = path: type: | |
| lib.cleanSourceFilter path type | |
| && baseNameOf path != "target" | |
| && baseNameOf path != "result"; | |
| }; | |
| forge = pkgs.rustPlatform.buildRustPackage { | |
| pname = "forge"; | |
| version = "0.1.0-dev"; | |
| inherit src; | |
| cargoLock = { | |
| lockFile = ./Cargo.lock; | |
| allowBuiltinFetchGit = true; | |
| }; | |
| cargoBuildFlags = [ | |
| "-p" | |
| "forge_main" | |
| "--bin" | |
| "forge" | |
| ]; | |
| cargoInstallFlags = [ | |
| "-p" | |
| "forge_main" | |
| "--bin" | |
| "forge" | |
| ]; | |
| nativeBuildInputs = [ | |
| pkgs.cmake | |
| pkgs.nasm | |
| pkgs.perl | |
| pkgs.pkg-config | |
| pkgs.protobuf | |
| ]; | |
| buildInputs = | |
| [ pkgs.sqlite ] | |
| ++ lib.optionals pkgs.stdenv.isLinux [ | |
| pkgs.libxkbcommon | |
| pkgs.libx11 | |
| pkgs.libxext | |
| pkgs.libxfixes | |
| pkgs.libxcb | |
| pkgs.wayland | |
| ] | |
| ++ lib.optionals pkgs.stdenv.isDarwin [ | |
| pkgs.libiconv | |
| pkgs.apple-sdk | |
| ]; | |
| PROTOC = "${pkgs.protobuf}/bin/protoc"; | |
| PROTOC_INCLUDE = "${pkgs.protobuf}/include"; | |
| APP_VERSION = "0.1.0-dev"; | |
| doCheck = false; | |
| meta = { | |
| description = "forge: AI enabled pair programmer for Claude, GPT, O Series, Grok, Deepseek, Gemini and 300+ models"; | |
| homepage = "https://forgecode.dev"; | |
| license = lib.licenses.mit; | |
| mainProgram = "forge"; | |
| platforms = lib.platforms.unix; | |
| }; | |
| }; | |
| in | |
| { | |
| default = forge; | |
| forge = forge; | |
| } | |
| ); | |
| apps = forAllSystems (system: { | |
| default = { | |
| type = "app"; | |
| program = "${self.packages.${system}.default}/bin/forge"; | |
| }; | |
| forge = { | |
| type = "app"; | |
| program = "${self.packages.${system}.forge}/bin/forge"; | |
| }; | |
| }); | |
| devShells = forAllSystems (system: | |
| let | |
| pkgs = import nixpkgs { inherit system; }; | |
| lib = pkgs.lib; | |
| in | |
| { | |
| default = pkgs.mkShell { | |
| packages = | |
| [ | |
| pkgs.cargo | |
| pkgs.cargo-insta | |
| pkgs.cargo-llvm-cov | |
| pkgs.clippy | |
| pkgs.cmake | |
| pkgs.nasm | |
| pkgs.perl | |
| pkgs.pkg-config | |
| pkgs.protobuf | |
| pkgs.rust-analyzer | |
| pkgs.rustc | |
| pkgs.rustfmt | |
| pkgs.sqlite | |
| ] | |
| ++ lib.optionals pkgs.stdenv.isLinux [ | |
| pkgs.libxkbcommon | |
| pkgs.libx11 | |
| pkgs.libxext | |
| pkgs.libxfixes | |
| pkgs.libxcb | |
| pkgs.wayland | |
| ] | |
| ++ lib.optionals pkgs.stdenv.isDarwin [ | |
| pkgs.libiconv | |
| pkgs.darwin.apple_sdk.frameworks.AppKit | |
| pkgs.darwin.apple_sdk.frameworks.CoreGraphics | |
| pkgs.darwin.apple_sdk.frameworks.Foundation | |
| ]; | |
| PROTOC = "${pkgs.protobuf}/bin/protoc"; | |
| PROTOC_INCLUDE = "${pkgs.protobuf}/include"; | |
| APP_VERSION = "0.1.0-dev"; | |
| }; | |
| }); | |
| }; | |
| } | |