Skip to content

Commit

Permalink
zaatar: add nas share
Browse files Browse the repository at this point in the history
  • Loading branch information
kmein committed Nov 5, 2024
1 parent 762d766 commit 1360005
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 0 deletions.
1 change: 1 addition & 0 deletions systems/zaatar/configuration.nix
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ in {
./backup.nix
./gaslight.nix
./hardware-configuration.nix
./nas.nix
./home-assistant.nix
../../configs/monitoring.nix
../../configs/retiolum.nix
Expand Down
1 change: 1 addition & 0 deletions systems/zaatar/hardware-configuration.nix
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
initrd.availableKernelModules = ["ahci" "xhci_pci" "usb_storage" "sd_mod" "sdhci_acpi" "rtsx_usb_sdmmc"];
kernelModules = ["kvm-intel"];
extraModulePackages = [];
supportedFilesystems = ["ntfs"];
loader = {
systemd-boot = {
enable = true;
Expand Down
64 changes: 64 additions & 0 deletions systems/zaatar/nas.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{ config, ... }:
{
users.extraUsers.nas = {
isSystemUser = true;
group = "nas";
uid = 7451;
};
users.extraGroups.nas = {
gid = 7452;
};

fileSystems."/nas" = {
device = "/dev/disk/by-id/0x50014ee658872039-part1";
fsType = "ntfs";
options = [ # ref https://askubuntu.com/a/113746
"defaults"
"nls=utf8"
"umask=000"
"dmask=027"
"fmask=137"
"uid=${toString config.users.extraUsers.nas.uid}"
"gid=${toString config.users.extraGroups.nas.gid}"
"windows_names"
];
};

# ref https://dataswamp.org/~solene/2020-10-18-nixos-nas.html
# ref https://www.reddit.com/r/NixOS/comments/relwsh/comment/hoapgrr/
services.samba = {
enable = true;
securityType = "user";
openFirewall = true;
extraConfig = ''
workgroup = WORKGROUP
server string = zaatar
server role = standalone server
netbios name = zaatar
security = user
hosts allow = 192.168.178. 127.0.0.1 localhost
hosts deny = 0.0.0.0/0
guest account = nobody
map to guest = Bad User
'';
shares.nas = {
path = "/nas";
browseable = "yes";
writable = "yes";
# "read only" = "no";
"guest ok" = "yes";
"create mask" = "0644";
"directory mask" = "0755";
"force user" = config.users.extraUsers.nas.name;
"force group" = config.users.extraUsers.nas.group;
};
};

services.samba-wsdd = {
enable = true;
openFirewall = true;
};

networking.firewall.enable = true;
networking.firewall.allowPing = true;
}

0 comments on commit 1360005

Please sign in to comment.