58 lines
1.4 KiB
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");
|
|
'';
|
|
};
|
|
|
|
}
|