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;
|
||||
|
||||
borgstor = 504;
|
||||
|
||||
jakstpub = 505;
|
||||
};
|
||||
|
||||
ports = {
|
||||
|
@ -80,6 +80,13 @@
|
||||
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.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 = {
|
||||
"datapool-passphrase.txt".source = config.age.secrets.datapool-passphrase.path;
|
||||
};
|
||||
|
@ -92,11 +92,13 @@ in {
|
||||
weekly = 4;
|
||||
monthly = 3;
|
||||
};
|
||||
environment = {
|
||||
environment =
|
||||
{
|
||||
BORG_HOST_ID = let
|
||||
h = config.networking;
|
||||
in "${h.hostName}.${h.domain}@${h.hostId}";
|
||||
} // lib.optionalAttrs (sshKeyPath != null) {
|
||||
}
|
||||
// lib.optionalAttrs (sshKeyPath != null) {
|
||||
BORG_RSH = ''ssh -i "${config.mj.base.zfsborg.sshKeyPath}"'';
|
||||
};
|
||||
}
|
||||
|
@ -10,6 +10,7 @@
|
||||
./friendlyport
|
||||
./gitea
|
||||
./headscale
|
||||
./jakstpub
|
||||
./matrix-synapse
|
||||
./node_exporter
|
||||
./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