71 lines
1.4 KiB
Nix
71 lines
1.4 KiB
Nix
{pkgs, ...}: {
|
|
# Boot loader.
|
|
boot = {
|
|
kernelPackages = pkgs.linuxKernel.packages.linux_rpi4;
|
|
initrd.availableKernelModules = [
|
|
"xhci_pci"
|
|
"usbhid"
|
|
"usb_storage"
|
|
];
|
|
loader = {
|
|
grub.enable = false;
|
|
generic-extlinux-compatible.enable = true;
|
|
};
|
|
};
|
|
|
|
# Root filesystem.
|
|
fileSystems = {
|
|
"/" = {
|
|
device = "/dev/disk/by-label/NIXOS_SD";
|
|
fsType = "ext4";
|
|
options = ["noatime"];
|
|
};
|
|
};
|
|
|
|
# Printer Sharing.
|
|
services.printing = {
|
|
enable = true;
|
|
drivers = [pkgs.cups-dymo]; # Dymo label printer.
|
|
listenAddresses = ["*:631"];
|
|
allowFrom = ["all"];
|
|
browsing = true;
|
|
defaultShared = true;
|
|
openFirewall = true;
|
|
};
|
|
|
|
# Enable WebOne HTTP proxy.
|
|
services.webone.enable = true;
|
|
|
|
# Enable Netatalk AFP fileserver.
|
|
services.netatalk = {
|
|
enable = true;
|
|
settings = {
|
|
Global = {
|
|
"uam list" = "uams_guest.so";
|
|
};
|
|
iMac = {
|
|
path = "/srv/iMac";
|
|
browsable = "yes";
|
|
"read-only" = "yes";
|
|
};
|
|
};
|
|
};
|
|
|
|
systemd.tmpfiles.settings = {
|
|
"10-netatalk" = {
|
|
"/srv/netatalk" = {
|
|
d = {
|
|
group = "users";
|
|
mode = "0755";
|
|
user = "fern";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
# Open ports for services.
|
|
networking.firewall = {
|
|
allowedUDPPorts = [53 67]; # DHCP server.
|
|
allowedTCPPorts = [8080 548]; # WebOne & Netatalk.
|
|
};
|
|
}
|