nixos-seafile-overlay/seafile-test.nix

58 lines
1.4 KiB
Nix

{ config, pkgs, ...}:
{
imports = [
<nixpkgs/nixos/modules/profiles/minimal.nix>
<nixpkgs/nixos/modules/profiles/qemu-guest.nix>
./mod-seafile-server.nix
];
nixpkgs.overlays = [
(import ./default.nix)
];
console.keyMap = "de";
users.mutableUsers = false;
users.users.test = {
isNormalUser = true;
extraGroups = [ "wheel" ];
#hashedPassword = "$6$SZCzE/xB$Hr9sfsJ7xAcBCoptG39cxxQk8RZfldDjjGpSngOvn9Ufex5dHBEbdncXRZnfrGATsGcYPvLi7m4wIu.f8tY9B.";
password = "test";
home = "/home/test";
createHome = true;
};
# Seafile
services.seafile-server = {
enable = true;
#autorun = false;
domainName = "seaf.local";
db = {
type = "mysql";
passwordFile = toString (pkgs.writeText "testPW" "test");
};
};
# db backend
services.mysql =
{
enable = true;
package = pkgs.mariadb;
ensureDatabases = [ "ccnet" "seafile" "seahub" ];
ensureUsers = [
rec {
name = config.services.seafile-server.db.user;
ensurePermissions = {
"ccnet.*" = "ALL PRIVILEGES";
"seafile.*" = "ALL PRIVILEGES";
"seahub.*" = "ALL PRIVILEGES";
};
}
];
# set a password for the seafile user
initialScript = pkgs.writeText "mariadb-init.sql" ''
CREATE USER ${config.services.seafile-server.db.user}@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD("test");
'';
};
}