Files
MeshChatX/flake.nix
Sudo-Ivan eaaaddbc06
Some checks failed
OSV-Scanner PR Scan / scan-pr (pull_request) Successful in 1m2s
CI / build-frontend (pull_request) Successful in 49s
CI / test-backend (pull_request) Successful in 15s
Build Test / Build and Test (pull_request) Failing after 27m1s
CI / test-lang (pull_request) Successful in 48s
Tests / test (push) Failing after 8m48s
CI / lint (push) Successful in 9m44s
CI / lint (pull_request) Successful in 9m41s
Build Test / Build and Test (push) Failing after 31m26s
Benchmarks / benchmark (push) Successful in 14m44s
Benchmarks / benchmark (pull_request) Successful in 14m47s
Build and Publish Docker Image / build-dev (pull_request) Successful in 12m47s
CI / test-backend (push) Successful in 4s
CI / build-frontend (push) Successful in 1m12s
CI / test-lang (push) Successful in 1m11s
Tests / test (pull_request) Failing after 14m19s
Build and Publish Docker Image / build (pull_request) Has been skipped
chore(flake.nix): remove Flatpak packaging dependencies from flake configuration
2026-01-03 21:36:57 -06:00

107 lines
2.7 KiB
Nix

{
description = "Reticulum-MeshChatX development environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
python = pkgs.python312;
node = pkgs.nodejs_22;
in
{
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
# Core
git
curl
go-task
pkg-config
libffi
openssl
# Audio (for LXST/Telephony)
libopus
portaudio
# Backend
python
poetry
ruff
# Frontend
node
pnpm
# Electron & Linux Packaging
electron
fakeroot
rpm
dpkg
wine
mono
# Android Development
gradle
openjdk17
# Containerization
docker
docker-compose
];
shellHook = ''
echo "Reticulum-MeshChatX development environment"
echo "Python version: $(${python}/bin/python --version)"
echo "Node version: $(${node}/bin/node --version)"
echo "Task version: $(task --version 2>/dev/null || echo 'not available')"
echo "Poetry version: $(poetry --version 2>/dev/null || echo 'not available')"
echo "PNPM version: $(pnpm --version 2>/dev/null || echo 'not available')"
# Set up development environment variables
export LD_LIBRARY_PATH="${pkgs.libopus}/lib:${pkgs.portaudio}/lib:$LD_LIBRARY_PATH"
'';
};
# Simple package definition for the backend
packages.default = pkgs.python312Packages.buildPythonPackage {
pname = "reticulum-meshchatx";
version = "4.0.0";
src = ./.;
format = "pyproject";
nativeBuildInputs = with pkgs; [
python312Packages.setuptools
python312Packages.wheel
];
propagatedBuildInputs = with pkgs.python312Packages; [
aiohttp
psutil
websockets
bcrypt
aiohttp-session
cryptography
requests
ply
# Note: rns, lxmf, lxst are handled via poetry or manual vendoring
];
buildInputs = [
pkgs.libopus
pkgs.portaudio
];
doCheck = false;
};
});
}