Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
9b46fa1
Add Nix flake
skulldogged Feb 19, 2026
3438093
Merge branch 'spacedriveapp:main' into nix-build-support
skulldogged Feb 20, 2026
66abab6
fix nixd warnings + preliminarily update hash
skulldogged Feb 20, 2026
91228be
Merge branch 'spacedriveapp:main' into nix-build-support
skulldogged Feb 20, 2026
1687928
fix PATH stuff
skulldogged Feb 20, 2026
82c0595
Merge branch 'spacedriveapp:main' into nix-build-support
skulldogged Feb 20, 2026
c4111df
Merge branch 'spacedriveapp:main' into nix-build-support
skulldogged Feb 21, 2026
ad179a4
skip more tests that do not work on nix
skulldogged Feb 21, 2026
c6ad2da
Merge branch 'spacedriveapp:main' into nix-build-support
skulldogged Feb 21, 2026
303e1b6
Merge branch 'spacedriveapp:main' into nix-build-support
skulldogged Feb 21, 2026
2972429
fix unnecessary deps builds + manual deps hash handling
skulldogged Feb 21, 2026
97b4539
undo package.json change
skulldogged Feb 21, 2026
5d5e862
update flake
skulldogged Feb 21, 2026
7f5bc1b
fix main spacebot build on nix
skulldogged Feb 21, 2026
91e809f
add proper dev shell + direnv support + fmt
skulldogged Feb 22, 2026
0ab4ce9
Merge branch 'spacedriveapp:main' into nix-build-support
skulldogged Feb 22, 2026
ba8ba1d
Merge branch 'main' into nix-build-support
skulldogged Feb 22, 2026
3a0e9b7
Add spacebot-tests to packages and checks pt 1
skulldogged Feb 23, 2026
b0bf774
Add spacebot-tests to packages and checks pt 2
skulldogged Feb 23, 2026
2f68427
More build-time speedup
skulldogged Feb 23, 2026
47a73e5
use bun instead of npm for frontend build
skulldogged Feb 23, 2026
9693ec2
Merge branch 'spacedriveapp:main' into nix-build-support
skulldogged Feb 23, 2026
3a5b863
Merge branch 'main' into nix-build-support
skulldogged Feb 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use_flake
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ interface/dist/
list/
agents/

# Nix
result/
.direnv/

# Claude Code - Fichiers propriétaires (auto-généré)
.claude/
CLAUDE.md
Expand Down
77 changes: 77 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

129 changes: 129 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
{
description = "Spacebot - An AI agent for teams, communities, and multi-user environments";

inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
crane = {
url = "github:ipetkov/crane";
};
};

outputs = {
self,
nixpkgs,
flake-utils,
crane,
...
}:
flake-utils.lib.eachDefaultSystem (
system: let
pkgs = import nixpkgs {
inherit system;
};

inherit (pkgs) bun;

craneLib = crane.mkLib pkgs;

cargoSrc = pkgs.lib.fileset.toSource {
root = ./.;
fileset = pkgs.lib.fileset.unions [
./Cargo.toml
./Cargo.lock
./build.rs
./src
./migrations
./prompts
];
};

runtimeAssetsSrc = pkgs.lib.fileset.toSource {
root = ./.;
fileset = pkgs.lib.fileset.unions [
./migrations
./prompts
];
};

frontendSrc = pkgs.lib.fileset.toSource {
root = ./.;
fileset = pkgs.lib.fileset.unions [
./interface/package.json
./interface/bun.lock
./interface/index.html
./interface/tsconfig.json
./interface/tsconfig.node.json
./interface/vite.config.ts
./interface/postcss.config.js
./interface/tailwind.config.ts
./interface/public
./interface/src
];
};

spacebotPackages = import ./nix {
inherit pkgs craneLib cargoSrc runtimeAssetsSrc frontendSrc;
};

inherit (spacebotPackages) frontend spacebot spacebot-full spacebot-tests;
in {
packages = {
default = spacebot;
inherit frontend spacebot spacebot-full;
};

devShells = {
default = pkgs.mkShell {
packages = with pkgs; [
rustc
cargo
rustfmt
rust-analyzer
clippy
bun
nodejs
protobuf
cmake
openssl
pkg-config
onnxruntime
chromium
];

ORT_LIB_LOCATION = "${pkgs.onnxruntime}/lib";
CHROME_PATH = "${pkgs.chromium}/bin/chromium";
CHROME_FLAGS = "--no-sandbox --disable-dev-shm-usage --disable-gpu";
};

backend = pkgs.mkShell {
packages = with pkgs; [
rustc
cargo
rustfmt
rust-analyzer
clippy
protobuf
cmake
openssl
pkg-config
onnxruntime
];

ORT_LIB_LOCATION = "${pkgs.onnxruntime}/lib";
};
};

checks = {
inherit spacebot spacebot-full spacebot-tests;
};
}
)
// {
overlays.default = final: {
inherit (self.packages.${final.system}) spacebot spacebot-full;
};

nixosModules.default = import ./nix/module.nix self;
};
}
Loading