samba some progress
This commit is contained in:
parent
dea3eef575
commit
2b5b9bc57f
2
data.nix
2
data.nix
@ -12,6 +12,8 @@ rec {
|
|||||||
node_exporter = 503;
|
node_exporter = 503;
|
||||||
|
|
||||||
borgstor = 504;
|
borgstor = 504;
|
||||||
|
|
||||||
|
jakstpub = 505;
|
||||||
};
|
};
|
||||||
|
|
||||||
ports = {
|
ports = {
|
||||||
|
@ -80,6 +80,13 @@
|
|||||||
publicKey = myData.hosts."vno1-oh2.servers.jakst".publicKey;
|
publicKey = myData.hosts."vno1-oh2.servers.jakst".publicKey;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jakstpub = {
|
||||||
|
enable = true;
|
||||||
|
dataDir = "/data/shared";
|
||||||
|
requires = ["data-shared.mount"];
|
||||||
|
uidgid = myData.uidgid.jakstpub;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -87,25 +94,6 @@
|
|||||||
|
|
||||||
services.journald.extraConfig = "Storage=volatile";
|
services.journald.extraConfig = "Storage=volatile";
|
||||||
|
|
||||||
#services.samba = {
|
|
||||||
# enable = true;
|
|
||||||
# securityType = "user";
|
|
||||||
# enableNmbd = true;
|
|
||||||
# enableWinbindd = false;
|
|
||||||
# extraConfig = ''
|
|
||||||
# map to guest = Bad User
|
|
||||||
# guest account = jakstpub
|
|
||||||
# passwd backend = tbdsam
|
|
||||||
# '';
|
|
||||||
# shares = {
|
|
||||||
# public = {
|
|
||||||
# path = "/data/shared";
|
|
||||||
# writable = "yes";
|
|
||||||
# printable = "no";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
#};
|
|
||||||
|
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
"datapool-passphrase.txt".source = config.age.secrets.datapool-passphrase.path;
|
"datapool-passphrase.txt".source = config.age.secrets.datapool-passphrase.path;
|
||||||
};
|
};
|
||||||
|
@ -92,11 +92,13 @@ in {
|
|||||||
weekly = 4;
|
weekly = 4;
|
||||||
monthly = 3;
|
monthly = 3;
|
||||||
};
|
};
|
||||||
environment = {
|
environment =
|
||||||
|
{
|
||||||
BORG_HOST_ID = let
|
BORG_HOST_ID = let
|
||||||
h = config.networking;
|
h = config.networking;
|
||||||
in "${h.hostName}.${h.domain}@${h.hostId}";
|
in "${h.hostName}.${h.domain}@${h.hostId}";
|
||||||
} // lib.optionalAttrs (sshKeyPath != null) {
|
}
|
||||||
|
// lib.optionalAttrs (sshKeyPath != null) {
|
||||||
BORG_RSH = ''ssh -i "${config.mj.base.zfsborg.sshKeyPath}"'';
|
BORG_RSH = ''ssh -i "${config.mj.base.zfsborg.sshKeyPath}"'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
./friendlyport
|
./friendlyport
|
||||||
./gitea
|
./gitea
|
||||||
./headscale
|
./headscale
|
||||||
|
./jakstpub
|
||||||
./matrix-synapse
|
./matrix-synapse
|
||||||
./node_exporter
|
./node_exporter
|
||||||
./nsd-acme
|
./nsd-acme
|
||||||
|
55
modules/services/jakstpub/default.nix
Normal file
55
modules/services/jakstpub/default.nix
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.mj.services.jakstpub = with lib.types; {
|
||||||
|
enable = lib.mkEnableOption "Enable jakstpub";
|
||||||
|
dataDir = lib.mkOption {type = path;};
|
||||||
|
# RequiresMountsFor is used by upstream, hacking with the unit
|
||||||
|
requires = lib.mkOption {type = listOf str;};
|
||||||
|
uidgid = lib.mkOption {type = int;};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = with config.mj.services.jakstpub;
|
||||||
|
lib.mkIf enable {
|
||||||
|
services.samba = {
|
||||||
|
enable = true;
|
||||||
|
securityType = "user";
|
||||||
|
enableNmbd = true;
|
||||||
|
enableWinbindd = false;
|
||||||
|
extraConfig = ''
|
||||||
|
map to guest = Bad User
|
||||||
|
guest account = jakstpub
|
||||||
|
'';
|
||||||
|
shares = {
|
||||||
|
public = {
|
||||||
|
path = dataDir;
|
||||||
|
writable = "yes";
|
||||||
|
printable = "no";
|
||||||
|
public = "yes";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.jakstpub = {
|
||||||
|
description = "Jakstys Public";
|
||||||
|
home = dataDir;
|
||||||
|
useDefaultShell = true;
|
||||||
|
group = "jakstpub";
|
||||||
|
isSystemUser = true;
|
||||||
|
createHome = false;
|
||||||
|
uid = uidgid;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.jakstpub.gid = uidgid;
|
||||||
|
|
||||||
|
systemd.services.samba-smbd = {
|
||||||
|
unitConfig.Requires = requires;
|
||||||
|
};
|
||||||
|
|
||||||
|
# WIP ports
|
||||||
|
#friendlyport.vpn.ports = [ 13
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user