
- Add NFSv4 ID mapping configuration using services.nfs.idmapd.settings - Configure consistent domain 'home.lab' for ID mapping across all machines - Update sleeper-service NFS server with proper security (root_squash, all_squash) - Create reusable NFS client module (modules/services/nfs-client.nix) - Deploy NFS client configuration to grey-area and congenital-optimist - Maintain consistent media group GID (993) across all machines - Support both local (10.0.0.0/24) and Tailscale (100.64.0.0/10) networks - Test and verify NFS connectivity and ID mapping functionality Resolves permission management issues and enables secure file sharing across the home lab infrastructure.
66 lines
1.4 KiB
Nix
66 lines
1.4 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
inputs,
|
|
unstable,
|
|
...
|
|
}: {
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
./network-congenital-optimist.nix
|
|
|
|
# Security modules
|
|
../../modules/security/ssh-keys.nix
|
|
|
|
# Network modules
|
|
../../modules/network/extraHosts.nix
|
|
|
|
# Services
|
|
../../modules/services/nfs-client.nix
|
|
|
|
# Hardware modules
|
|
../../modules/hardware/amd-workstation.nix
|
|
|
|
# Desktop environments
|
|
../../modules/desktop/common.nix
|
|
../../modules/desktop/gnome.nix
|
|
../../modules/desktop/cosmic.nix
|
|
../../modules/desktop/sway.nix
|
|
../../modules/desktop/niri.nix
|
|
|
|
# Fonts
|
|
../../modules/desktop/fonts.nix
|
|
|
|
# Development tools
|
|
../../modules/development/tools.nix
|
|
|
|
# User configuration
|
|
../../modules/users/geir.nix
|
|
|
|
# Virtualization configuration
|
|
../../modules/virtualization/incus.nix
|
|
../../modules/virtualization/libvirt.nix
|
|
../../modules/virtualization/podman.nix
|
|
];
|
|
|
|
# Boot configuration
|
|
boot.loader.grub = {
|
|
enable = true;
|
|
zfsSupport = true;
|
|
efiSupport = true;
|
|
efiInstallAsRemovable = true;
|
|
mirroredBoots = [
|
|
{
|
|
devices = ["nodev"];
|
|
path = "/boot";
|
|
}
|
|
];
|
|
}; # ZFS services for this machine
|
|
services.zfs = {
|
|
autoScrub.enable = true;
|
|
trim.enable = true;
|
|
};
|
|
# Basic system configuration
|
|
nixpkgs.config.allowUnfree = true;
|
|
system.stateVersion = "23.11"; # DO NOT CHANGE - maintains data compatibility
|
|
}
|