Merge pull request #228 from Rikki-Zero/debug

feat: 更新 flake.nix ,采用 venv 的方式生成环境,nixos用户也可以本机运行项目了
This commit is contained in:
Rikki
2025-03-11 22:19:51 +08:00
committed by GitHub
2 changed files with 56 additions and 85 deletions

56
flake.lock generated
View File

@@ -1,43 +1,21 @@
{ {
"nodes": { "nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1741196730, "lastModified": 0,
"narHash": "sha256-0Sj6ZKjCpQMfWnN0NURqRCQn2ob7YtXTAOTwCuz7fkA=", "narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=",
"owner": "NixOS", "path": "/nix/store/f30jn7l0bf7a01qj029fq55i466vmnkh-source",
"repo": "nixpkgs", "type": "path"
"rev": "48913d8f9127ea6530a2a2f1bd4daa1b8685d8a3",
"type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "id": "nixpkgs",
"ref": "nixos-24.11", "type": "indirect"
"repo": "nixpkgs",
"type": "github"
} }
}, },
"root": { "root": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs" "utils": "utils"
} }
}, },
"systems": { "systems": {
@@ -54,6 +32,24 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@@ -1,62 +1,37 @@
{ {
description = "MaiMBot Nix Dev Env"; description = "MaiMBot Nix Dev Env";
# 本配置仅方便用于开发,但是因为 nb-cli 上游打包中并未包含 nonebot2因此目前本配置并不能用于运行和调试
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; utils.url = "github:numtide/flake-utils";
flake-utils.url = "github:numtide/flake-utils";
}; };
outputs = outputs = {
{ self,
self, nixpkgs,
nixpkgs, utils,
flake-utils, ...
}: }:
flake-utils.lib.eachDefaultSystem ( utils.lib.eachDefaultSystem (system: let
system: pkgs = import nixpkgs {inherit system;};
let pythonPackages = pkgs.python3Packages;
pkgs = import nixpkgs { in {
inherit system; devShells.default = pkgs.mkShell {
}; name = "python-venv";
venvDir = "./.venv";
buildInputs = [
pythonPackages.python
pythonPackages.venvShellHook
];
pythonEnv = pkgs.python3.withPackages ( postVenvCreation = ''
ps: with ps; [ unset SOURCE_DATE_EPOCH
ruff pip install -r requirements.txt
pymongo '';
python-dotenv
pydantic
jieba
openai
aiohttp
requests
urllib3
numpy
pandas
matplotlib
networkx
python-dateutil
APScheduler
loguru
tomli
customtkinter
colorama
pypinyin
pillow
setuptools
]
);
in
{
devShell = pkgs.mkShell {
buildInputs = [
pythonEnv
pkgs.nb-cli
];
shellHook = '' postShellHook = ''
''; # allow pip to install wheels
}; unset SOURCE_DATE_EPOCH
} '';
); };
});
} }