A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang. (PERSONAL FORK)
1{
2 description = "Siyuan: A privacy-first, self-hosted, FOSS PKMS.";
3
4 inputs = {
5 systems.url = "github:nix-systems/default";
6 nixpkgs.url = "github:NixOS/nixpkgs";
7 flake-parts.url = "github:hercules-ci/flake-parts";
8
9 treefmt-nix = {
10 url = "github:numtide/treefmt-nix";
11 inputs.nixpkgs.follows = "nixpkgs";
12 };
13 devshell = {
14 url = "github:numtide/devshell";
15 inputs.nixpkgs.follows = "nixpkgs";
16 };
17 };
18
19 outputs = inputs @ {flake-parts, ...}:
20 flake-parts.lib.mkFlake {inherit inputs;} {
21 imports = [
22 inputs.treefmt-nix.flakeModule
23 #inputs.devshell.flakeModule
24 ];
25 systems = import inputs.systems;
26 perSystem = {
27 config,
28 self',
29 inputs',
30 pkgs,
31 system,
32 ...
33 }: let
34 siyuan-drv = pkgs.callPackage ./package.nix {};
35 in {
36 packages.default = siyuan-drv;
37
38 treefmt = {
39 programs.alejandra.enable = true;
40 };
41
42 apps.default = {
43 type = "app";
44 program = siyuan-drv + "/bin/siyuan";
45 };
46 };
47 };
48}