mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-12 12:45:27 +03:00
nixos/mysql: add group option
This commit is contained in:
parent
9b56677634
commit
3792fef4ec
1 changed files with 18 additions and 8 deletions
|
@ -59,6 +59,12 @@ in
|
||||||
description = "User account under which MySQL runs";
|
description = "User account under which MySQL runs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
group = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "mysql";
|
||||||
|
description = "Group under which MySQL runs.";
|
||||||
|
};
|
||||||
|
|
||||||
dataDir = mkOption {
|
dataDir = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
example = "/var/lib/mysql";
|
example = "/var/lib/mysql";
|
||||||
|
@ -319,21 +325,25 @@ in
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
users.users.mysql = {
|
users.users = optionalAttrs (cfg.user == "mysql") {
|
||||||
description = "MySQL server user";
|
mysql = {
|
||||||
group = "mysql";
|
description = "MySQL server user";
|
||||||
uid = config.ids.uids.mysql;
|
group = cfg.group;
|
||||||
|
uid = config.ids.uids.mysql;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.mysql.gid = config.ids.gids.mysql;
|
users.groups = optionalAttrs (cfg.group == "mysql") {
|
||||||
|
mysql.gid = config.ids.gids.mysql;
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages = [ cfg.package ];
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
|
||||||
environment.etc."my.cnf".source = cfg.configFile;
|
environment.etc."my.cnf".source = cfg.configFile;
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"d '${cfg.dataDir}' 0700 ${cfg.user} mysql - -"
|
"d '${cfg.dataDir}' 0700 '${cfg.user}' '${cfg.group}' - -"
|
||||||
"z '${cfg.dataDir}' 0700 ${cfg.user} mysql - -"
|
"z '${cfg.dataDir}' 0700 '${cfg.user}' '${cfg.group}' - -"
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services.mysql = let
|
systemd.services.mysql = let
|
||||||
|
@ -473,7 +483,7 @@ in
|
||||||
"+${setupScript}";
|
"+${setupScript}";
|
||||||
# User and group
|
# User and group
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
Group = "mysql";
|
Group = cfg.group;
|
||||||
# Runtime directory and mode
|
# Runtime directory and mode
|
||||||
RuntimeDirectory = "mysqld";
|
RuntimeDirectory = "mysqld";
|
||||||
RuntimeDirectoryMode = "0755";
|
RuntimeDirectoryMode = "0755";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue