Merge pull request 'momo/main [pioneer]: Add erpnext' (#238) from momo/erpnext into momo/main
Some checks failed
continuous-integration/drone/push Build is failing

Reviewed-on: #238
Reviewed-by: Akshay Mankar <axeman@noreply.git.pub.solar>
This commit is contained in:
teutat3s 2023-07-17 22:52:54 +02:00
commit ca9f2f60ea
Signed by: pub.solar gitea
GPG key ID: F0332B04B7054873
12 changed files with 239 additions and 4 deletions

View file

@ -89,6 +89,31 @@
"type": "github" "type": "github"
} }
}, },
"devshell_2": {
"inputs": {
"nixpkgs": [
"erpnext",
"nixpkgs"
],
"systems": [
"erpnext",
"systems"
]
},
"locked": {
"lastModified": 1685972731,
"narHash": "sha256-VpwVUthxs3AFgvWxGTHu+KVDnS/zT3xkCtmjX2PjNQs=",
"owner": "numtide",
"repo": "devshell",
"rev": "6b2554d28d46bfa6e24b941e999a145760dad0e1",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"digga": { "digga": {
"inputs": { "inputs": {
"darwin": [ "darwin": [
@ -129,6 +154,30 @@
"type": "github" "type": "github"
} }
}, },
"erpnext": {
"inputs": {
"agenix": [
"agenix"
],
"devshell": "devshell_2",
"nixpkgs": "nixpkgs",
"systems": "systems"
},
"locked": {
"lastModified": 1689622186,
"narHash": "sha256-6GaWBmm3B4bSNlO5h2q7C3YfXfMp8wgowClAg79JfYc=",
"ref": "main",
"rev": "28a47059b7b723f2709a4f81384015ae4e8f8562",
"revCount": 28,
"type": "git",
"url": "https://git.pub.solar/axeman/erpnext-nix"
},
"original": {
"ref": "main",
"type": "git",
"url": "https://git.pub.solar/axeman/erpnext-nix"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -199,7 +248,7 @@
}, },
"flake-utils_3": { "flake-utils_3": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1687171271, "lastModified": 1687171271,
@ -283,6 +332,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs": {
"locked": {
"lastModified": 1689534811,
"narHash": "sha256-jnSUdzD/414d94plCyNlvTJJtiTogTep6t7ZgIKIHiE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1672791794, "lastModified": 1672791794,
@ -329,6 +394,7 @@
"darwin": "darwin", "darwin": "darwin",
"deploy": "deploy", "deploy": "deploy",
"digga": "digga", "digga": "digga",
"erpnext": "erpnext",
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"home": "home", "home": "home",
"latest": "latest", "latest": "latest",
@ -352,6 +418,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": { "utils": {
"locked": { "locked": {
"lastModified": 1667395993, "lastModified": 1667395993,

View file

@ -38,6 +38,9 @@
nvfetcher.url = "github:berberman/nvfetcher"; nvfetcher.url = "github:berberman/nvfetcher";
nvfetcher.inputs.nixpkgs.follows = "nixos"; nvfetcher.inputs.nixpkgs.follows = "nixos";
nvfetcher.inputs.flake-compat.follows = "flake-compat"; nvfetcher.inputs.flake-compat.follows = "flake-compat";
erpnext.url = "git+https://git.pub.solar/axeman/erpnext-nix?ref=main";
erpnext.inputs.agenix.follows = "agenix";
}; };
outputs = { outputs = {
@ -49,6 +52,7 @@
agenix, agenix,
deploy, deploy,
nvfetcher, nvfetcher,
erpnext,
... ...
} @ inputs: } @ inputs:
digga.lib.mkFlake digga.lib.mkFlake
@ -73,7 +77,12 @@
}) })
]; ];
}; };
latest = {}; latest = {
overlays = [
erpnext.overlays.default
erpnext.overlays.pythonOverlay
];
};
}; };
lib = import ./lib {lib = digga.lib // nixos.lib;}; lib = import ./lib {lib = digga.lib // nixos.lib;};
@ -124,6 +133,11 @@
#}) #})
]; ];
}; };
pioneer-momo-koeln = {
modules = [
erpnext.nixosModules.erpnext
];
};
}; };
importables = rec { importables = rec {
profiles = profiles =
@ -132,7 +146,7 @@
users = digga.lib.rakeLeaves ./users; users = digga.lib.rakeLeaves ./users;
}; };
suites = with profiles; rec { suites = with profiles; rec {
base = [base-user users.root users.barkeeper]; base = [base-user cachix users.root users.barkeeper];
pioneer-momo-koeln = base; pioneer-momo-koeln = base;
}; };

View file

@ -1,5 +1,6 @@
{ {
config, config,
latestModulesPath,
lib, lib,
pkgs, pkgs,
... ...
@ -10,6 +11,12 @@
./caddy.nix ./caddy.nix
./keycloak.nix ./keycloak.nix
./erpnext.nix
"${latestModulesPath}/services/web-servers/caddy/default.nix"
];
disabledModules = [
"services/web-servers/caddy/default.nix"
]; ];
pub-solar.core.lite = true; pub-solar.core.lite = true;

View file

@ -0,0 +1,38 @@
{
config,
lib,
inputs,
pkgs,
self,
...
}: {
age.secrets.erpnext-admin-password = {
file = "${self}/secrets/admin-password.age";
mode = "700";
owner = "erpnext";
};
age.secrets.erpnext-db-root-password = {
file = "${self}/secrets/database-root-password.age";
mode = "700";
owner = "erpnext";
};
age.secrets.erpnext-db-user-password = {
file = "${self}/secrets/database-user-password.age";
mode = "700";
owner = "erpnext";
};
# erpnext
services.erpnext = {
enable = true;
domain = "erp.momo.koeln";
# Secrets
adminPasswordFile = config.age.secrets.erpnext-admin-password.path;
database.rootPasswordFile = config.age.secrets.erpnext-db-root-password.path;
database.userPasswordFile = config.age.secrets.erpnext-db-user-password.path;
# Required to enable caddy
caddy = {};
};
}

View file

@ -7,7 +7,6 @@
# Use the GRUB 2 boot loader. # Use the GRUB 2 boot loader.
boot.loader.systemd-boot.enable = false; boot.loader.systemd-boot.enable = false;
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
# boot.loader.grub.efiSupport = true; # boot.loader.grub.efiSupport = true;
# boot.loader.grub.efiInstallAsRemovable = true; # boot.loader.grub.efiInstallAsRemovable = true;
# boot.loader.efi.efiSysMountPoint = "/boot/efi"; # boot.loader.efi.efiSysMountPoint = "/boot/efi";

View file

@ -4,6 +4,9 @@ channels: final: prev: {
inherit inherit
(channels.latest) (channels.latest)
nixd nixd
erpnext-app
frappe-app
frappe-erpnext-assets
; ;
haskellPackages = haskellPackages =
@ -21,4 +24,10 @@ channels: final: prev: {
}); });
vimPlugins = prev.vimPlugins // {inherit (channels.latest.vimPlugins) nvim-lspconfig;}; vimPlugins = prev.vimPlugins // {inherit (channels.latest.vimPlugins) nvim-lspconfig;};
python3 = prev.python3.override {
packageOverrides = pyfinal: pyprev: {
inherit (channels.latest.python3.pkgs) bench erpnext frappe;
};
};
} }

View file

@ -0,0 +1,12 @@
{
pkgs,
lib,
...
}: let
folder = ./.;
toImport = name: value: folder + ("/" + name);
filterCaches = key: value: value == "regular" && lib.hasSuffix ".nix" key && key != "default.nix";
imports = lib.mapAttrsToList toImport (lib.filterAttrs filterCaches (builtins.readDir folder));
in {
inherit imports;
}

View file

@ -0,0 +1,10 @@
{
nix.settings = {
substituters = [
"https://pub-solar.cachix.org"
];
trusted-public-keys = [
"pub-solar.cachix.org-1:ZicXIxKgdxMtgSJECWR8iihZxHRvu8ObL4n2cuBmtos="
];
};
}

Binary file not shown.

View file

@ -0,0 +1,31 @@
age-encryption.org/v1
-> ssh-ed25519 uYcDNw R6BTv8G6nl8CNTmjRcMm/WhL4uKh8UdteVz7jVbXJzk
fVKaNaK6BZzstSp45ONpM9/pgKADQvlnNGF/k4QUFbM
-> ssh-rsa kFDS0A
nB5/Huns9tUmb5t0Giua6sd8ACjpbMNB06gcR9CQ13vktOfSXf9ii0qjME8nycmi
fZstK5O0E+nSJoF7wX/fVM/5FIzLjZmQQvPbixgOWsr7+egDBWVscbpbxN1sf5bi
WsRzSWzDhkrgNBEyg7M5VR2RcXf2FSNjss2d0DlKwIw6HU2F9vbR/COE28kREkPM
E3JsyOZ5qkgRgkdfyD8kuYkCKF/hnkW49bJWPnCIgR/Mc3RueGljQh+Tmc5fuk3I
I47xXsbkc4AAHkXVzw/HUsQUTemnWh90aMVFITkGF2ia4I2PV90lcJ7Y4rEi32pN
JYek8I+io1CpOwNN+WEMxMGZwv1xJdDGloC8aBTZzqGnbIjDAYlQ0QqRcfes9eNb
qUkW80wbPCPZOygAbnE9Ud0d+lsOyoKbsDMuLEM6hCL8XFAvkfHfmgseOvdoQBNk
+HMmf/SkZM6eMcdO3YWNShcQM6h/WCr7zOBs9JoUO7wnSsSy4T8ZXzjrvoiBzHCB
iiOZSHhvcX2ncflwCsP8yf2+eUp26qJRKM65ZKAhV6H3P4hC848RTusj+DRe76vE
Fr36Xol2jXw8aoNZXNobgemE+uRmpDeDdNfrI7nRDzjOPuBY1vs/CeW692w8/YjZ
3ExQswGdkBKbCyJL5O/hGd019+/0wETlE5Hlrovy/O4
-> ssh-ed25519 hPyiJw tDYF74+DRNWfAzHcCSFojlSYg4AgdthDM00UwG8LXSA
/fp2jPNxzYhCKXD5g/eqC31buMBFiel3jC+RfKit66M
-> ssh-ed25519 YFSOsg +tDnXLwW+oVgDsjI15yshcI2KaKhADgVR1oWIqYEVzY
R4pMIeQ78orCj7l5E8LD4ZSEtBhwtqcuSb6byOSuhTI
-> ssh-ed25519 iHV63A qwPRT9Sqcwfmp7KGSFXEj3RTWWiwD17wrEfwYx127TA
Od9cP3jhO0e2VI0St8m9d6P7TYib7ZNabdq808lhYsg
-> ssh-ed25519 1bbksA s8FuQCn8yQtRtwwZ0oVrTnptC31ad4eG4Hm6K/HGPgU
odI7d6qX2Om17wmsm/VdEqLGbdk6gUzprQ3i/zDxa+k
-> ssh-ed25519 BVsyTA fZB0tnkvNfiv8yY173NmhzHHlDQkScNtFE9GpE4lJAo
AYZyonEaAATvgz3OgSI4WNu2hJdDkNmhq5+0NU4+IJg
-> N-grease z=0OX_v` ,=~E
j78YWSSwlj6xEyJT5DZra8S037G4RNR3sf9hxZL5EMYlmMeaolb5B8oJN7tN5WbH
zPRZ9HIsRsA/+/76z4D8lqVJjZIfK7Hb7OoZb8EgyB0kJBycpd86IEUcfj65hEKU
--- 3k/CdnvpyhoxyB15yBikQjtyOiAUmGEkzxsGRObsBqg
`Æõªt`TÀ[Ö<>ÏÅÇzWùã³ó ãø>ÄAئãÆù ã<>®^Psè<73>¡Nœ± iþ¯<C3BE>#`º,

View file

@ -0,0 +1,31 @@
age-encryption.org/v1
-> ssh-ed25519 uYcDNw 5YJH2FYCKHSwNXFVrfzRTB37pmd4mL8y/I4pieU84RQ
JQKHK97WkTC9QO1GNZv/q3VZUgcisrKc1twqtLPkKOo
-> ssh-rsa kFDS0A
e0nMtUJhAAk5d36AIyS2p7N+RbO7J6oSyxPap4dIoReCEjGJej7qMuYTm7nD3DK/
8XpTflPskKMXHXNkjyQ/H9FcTFwaHBmSoRJLo0lVFfCROzyXiTpKowdqeRRp9ss7
9Fj0vc9tdKfHDm3h4UyBnOAL9sZ3/49VNbnARI5luUoikVtKeIGR7hwU9AvMCcIh
YXiqhQRGUZx1w+vIaiD/lr0Qwf2bVIH+w9Gg5C53ROlNDuV8plHRFKJZJAnnUn5k
4YrcCjiIL3VtwLKK/O14wOwcdSOt3Q0GnMAJMqriVHGxZqeZDAlQaacEDcLRN3wx
GCzMbGRY8JEVrrHDr/wOcbjhrKd1nX1LnKVD8yVwxFtToLFmg7Vk50B1l62sXsFa
1Dpb5t4gh3zu0GAfgALEQ88LxEk+31n59noSjgMCwSKCuU5uUx1hrEx+sDifOzYV
zlNNzkuPqzvxlmpU5q8OOiJHJ0hY7RcL9i2dO57nl1dg8r9MkhRw3d7z/zLcAmjG
rtgDib8tvnKz+azLA77J+SiijJaVM9dQQf0aWchcid3WbXv+LTYHB4SETfborujg
tYF48SFHo4c1+FGiz/kBsb9paJNoSikqcsP6rV0HVl9fwkHtMZpPlF5843Eh1XM6
BLQMQOuabR5NQSRrDB42WQ2t08Dd7tcNf6A0seHR4GM
-> ssh-ed25519 hPyiJw 9RYiF1PRsRWNopGSVJpPe52zUNEl6Yu3q5aqoLxXWRo
L2+cuDp6S4IViqkmTR6XF7ey39cWm2xh8wQnh5OxlXQ
-> ssh-ed25519 YFSOsg pyU//r9w5oA4WqBjTivOCV0soTgM7URPcp1sB3VYiRk
G92ulppLfvGXDe2vYkgVg60s3oKxq2YEx260EzSRL80
-> ssh-ed25519 iHV63A h04fyhCuz8JUX4Fl4uD7xDrO3Cbm4fto21BK8EFJ3FY
25NrhusX8PTjf8esrERbpMOS+OnwnGgR1oBTFp7Rync
-> ssh-ed25519 1bbksA K5FpHSD72LKfwnJcN8qKLGf+3shNVfmo2Pamh7IopEs
yDnkTUv6tRirnvdjYXVJoklLDXf6n/VBYCiCM2UaYfU
-> ssh-ed25519 BVsyTA +vWsqL/+5gpnn8ygD5RlSlJDbmvKAd7L3sk/jAOKRQc
EwuoXHYlTO+gdM7SA/TMmpXw8RGSKoRpYqjmfuYrKrw
-> ..6XqV-grease 1 #+:[Jz D v8hZh
VaqjfUTgm4UiD8LaSgxeZaLdFM8DVEnBOxG6FMgqUbf2IQUTOk3Odsb0SYfzCax8
B4uXP5eXc8FgZAhME7Pv0eJHQ9kcP90BIf+YbbSs0PAWBp0cl9YIhadhMS4vmWA
--- kb+aOKZo3hrIIQpxxOc5bz9r0ZAPDtcHVGxdHoAfcnc
ÔåöòÇZ2©mŠ´6ïv&¿¦õ÷ÂÞR?çi|¦_<òcqt˜<74>²ýS¾Ñ¯ÏGü02ÁÞÈ
;$‡a<E280A1>~­Y

View file

@ -18,4 +18,7 @@ let
]; ];
in { in {
"keycloak-database-password.age".publicKeys = allKeys; "keycloak-database-password.age".publicKeys = allKeys;
"erpnext-admin-password.age".publicKeys = allKeys;
"erpnext-db-root-password.age".publicKeys = allKeys;
"erpnext-db-user-password.age".publicKeys = allKeys;
} }