mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 04:19:19 -08:00
style: alejandra $(fd -e nix)
This commit is contained in:
parent
97d9eecd3c
commit
e63304937d
91 changed files with 1422 additions and 1102 deletions
|
|
@ -34,7 +34,7 @@ in {
|
|||
};
|
||||
gameLibraries = mkOption {
|
||||
type = listOf str;
|
||||
default = [ "PC" ];
|
||||
default = ["PC"];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -42,10 +42,19 @@ in {
|
|||
kyuuto = {
|
||||
gameLibraries = [
|
||||
"PC"
|
||||
"Wii" "Gamecube" "N64" "SNES" "NES"
|
||||
"NDS" "GBA" "GBC"
|
||||
"PS3" "PS2" "PS1"
|
||||
"PSVita" "PSP"
|
||||
"Wii"
|
||||
"Gamecube"
|
||||
"N64"
|
||||
"SNES"
|
||||
"NES"
|
||||
"NDS"
|
||||
"GBA"
|
||||
"GBC"
|
||||
"PS3"
|
||||
"PS2"
|
||||
"PS1"
|
||||
"PSVita"
|
||||
"PSP"
|
||||
"Genesis"
|
||||
];
|
||||
};
|
||||
|
|
@ -74,7 +83,7 @@ in {
|
|||
{
|
||||
${cfg.shareDir} = mkMerge [
|
||||
shared
|
||||
{ group = "peeps"; }
|
||||
{group = "peeps";}
|
||||
];
|
||||
${cfg.transferDir} = shared;
|
||||
${cfg.libraryDir} = shared;
|
||||
|
|
@ -108,28 +117,34 @@ in {
|
|||
};
|
||||
|
||||
users = let
|
||||
mapId = id: if config.proxmoxLXC.privileged or true then 100000 + id else id;
|
||||
mapId = id:
|
||||
if config.proxmoxLXC.privileged or true
|
||||
then 100000 + id
|
||||
else id;
|
||||
mkDummyUsers = {
|
||||
name,
|
||||
group ? name,
|
||||
enable ? !config.services.${serviceName}.enable, serviceName ? name,
|
||||
enable ? !config.services.${serviceName}.enable,
|
||||
serviceName ? name,
|
||||
uid ? config.ids.uids.${name},
|
||||
gid ? config.ids.gids.${group},
|
||||
}: mkIf enable {
|
||||
users.${name} = {
|
||||
group = mkIf (group != null) group;
|
||||
uid = mapId uid;
|
||||
isSystemUser = true;
|
||||
}:
|
||||
mkIf enable {
|
||||
users.${name} = {
|
||||
group = mkIf (group != null) group;
|
||||
uid = mapId uid;
|
||||
isSystemUser = true;
|
||||
};
|
||||
groups.${group} = {
|
||||
gid = mapId gid;
|
||||
};
|
||||
};
|
||||
groups.${group} = {
|
||||
gid = mapId gid;
|
||||
};
|
||||
};
|
||||
in mkMerge [
|
||||
(mkDummyUsers { name = "deluge"; })
|
||||
(mkDummyUsers { name = "radarr"; })
|
||||
(mkDummyUsers { name = "sonarr"; })
|
||||
(mkDummyUsers { name = "lidarr"; })
|
||||
];
|
||||
in
|
||||
mkMerge [
|
||||
(mkDummyUsers {name = "deluge";})
|
||||
(mkDummyUsers {name = "radarr";})
|
||||
(mkDummyUsers {name = "sonarr";})
|
||||
(mkDummyUsers {name = "lidarr";})
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
|
|
|
|||
|
|
@ -10,9 +10,11 @@
|
|||
cfg = kyuuto.opl;
|
||||
in {
|
||||
options.kyuuto.opl = with lib.types; {
|
||||
enable = mkEnableOption "hosting" // {
|
||||
default = config.services.samba.enable;
|
||||
};
|
||||
enable =
|
||||
mkEnableOption "hosting"
|
||||
// {
|
||||
default = config.services.samba.enable;
|
||||
};
|
||||
user = mkOption {
|
||||
type = str;
|
||||
default = "opl";
|
||||
|
|
@ -39,22 +41,25 @@ in {
|
|||
};
|
||||
shares.opl = let
|
||||
inherit (config.networking.access) cidrForNetwork;
|
||||
localAddrs = cidrForNetwork.loopback.all ++ cidrForNetwork.local.all
|
||||
localAddrs =
|
||||
cidrForNetwork.loopback.all
|
||||
++ cidrForNetwork.local.all
|
||||
++ lib.optionals config.services.tailscale.enable cidrForNetwork.tail.all;
|
||||
in mkIf cfg.enable {
|
||||
comment = "Kyuuto Media OPL";
|
||||
path = cfg.rootDir;
|
||||
writeable = true;
|
||||
browseable = true;
|
||||
public = false;
|
||||
"valid users" = [
|
||||
cfg.user
|
||||
"@kyuuto-peeps"
|
||||
];
|
||||
"strict sync" = false;
|
||||
"keepalive" = 0;
|
||||
"hosts allow" = localAddrs;
|
||||
};
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
comment = "Kyuuto Media OPL";
|
||||
path = cfg.rootDir;
|
||||
writeable = true;
|
||||
browseable = true;
|
||||
public = false;
|
||||
"valid users" = [
|
||||
cfg.user
|
||||
"@kyuuto-peeps"
|
||||
];
|
||||
"strict sync" = false;
|
||||
"keepalive" = 0;
|
||||
"hosts allow" = localAddrs;
|
||||
};
|
||||
};
|
||||
services.tmpfiles = let
|
||||
setupFiles = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
|
|
@ -9,17 +8,21 @@
|
|||
inherit (config.networking.access) cidrForNetwork;
|
||||
inherit (config) kyuuto;
|
||||
cfg = config.services.samba;
|
||||
localAddrs = cidrForNetwork.loopback.all ++ cidrForNetwork.local.all
|
||||
localAddrs =
|
||||
cidrForNetwork.loopback.all
|
||||
++ cidrForNetwork.local.all
|
||||
++ optionals config.services.tailscale.enable cidrForNetwork.tail.all;
|
||||
guestUsers = mkIf cfg.guest.enable [ cfg.guest.user ];
|
||||
guestUsers = mkIf cfg.guest.enable [cfg.guest.user];
|
||||
kyuuto-media = {
|
||||
"create mask" = "0664";
|
||||
"force directory mode" = "3000";
|
||||
"directory mask" = "7775";
|
||||
};
|
||||
kyuuto-library = kyuuto-media // {
|
||||
"acl group control" = true;
|
||||
};
|
||||
kyuuto-library =
|
||||
kyuuto-media
|
||||
// {
|
||||
"acl group control" = true;
|
||||
};
|
||||
in {
|
||||
services.samba = {
|
||||
usershare = {
|
||||
|
|
@ -35,7 +38,7 @@ in {
|
|||
public = true;
|
||||
"valid users" = mkMerge [
|
||||
guestUsers
|
||||
[ "@peeps" ]
|
||||
["@peeps"]
|
||||
];
|
||||
#"guest only" = true;
|
||||
"hosts allow" = localAddrs;
|
||||
|
|
@ -54,10 +57,10 @@ in {
|
|||
public = true;
|
||||
"valid users" = mkMerge [
|
||||
guestUsers
|
||||
[ "@kyuuto-peeps" ]
|
||||
["@kyuuto-peeps"]
|
||||
];
|
||||
"read list" = guestUsers;
|
||||
"write list" = [ "@kyuuto-peeps" ];
|
||||
"write list" = ["@kyuuto-peeps"];
|
||||
"hosts allow" = localAddrs;
|
||||
}
|
||||
];
|
||||
|
|
@ -69,7 +72,7 @@ in {
|
|||
writeable = true;
|
||||
public = false;
|
||||
browseable = false;
|
||||
"valid users" = [ "@kyuuto-peeps" ];
|
||||
"valid users" = ["@kyuuto-peeps"];
|
||||
}
|
||||
];
|
||||
kyuuto-media = mkMerge [
|
||||
|
|
@ -80,7 +83,7 @@ in {
|
|||
writeable = true;
|
||||
public = false;
|
||||
browseable = false;
|
||||
"valid users" = [ "@kyuuto-peeps" ];
|
||||
"valid users" = ["@kyuuto-peeps"];
|
||||
}
|
||||
];
|
||||
shared = {
|
||||
|
|
@ -89,7 +92,7 @@ in {
|
|||
writeable = true;
|
||||
public = false;
|
||||
browseable = false;
|
||||
"valid users" = [ "@peeps" ];
|
||||
"valid users" = ["@peeps"];
|
||||
"create mask" = "0775";
|
||||
"force create mode" = "0010";
|
||||
"force directory mode" = "2000";
|
||||
|
|
@ -99,7 +102,7 @@ in {
|
|||
writeable = true;
|
||||
browseable = true;
|
||||
public = false;
|
||||
"valid users" = [ "@peeps" ];
|
||||
"valid users" = ["@peeps"];
|
||||
"create mask" = "0664";
|
||||
"force directory mode" = "5000";
|
||||
"directory mask" = "7775";
|
||||
|
|
@ -108,5 +111,5 @@ in {
|
|||
};
|
||||
|
||||
# give guest users proper access to the transfer share
|
||||
users.users.guest.extraGroups = [ "kyuuto" ];
|
||||
users.users.guest.extraGroups = ["kyuuto"];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue