let nasIp = "192.168.1.168"; in { network = { name = "house"; enableRollback = true; description = "machines used in my house"; storage.legacy = { }; }; defaults = { pkgs, ... }: { imports = [ # make sure you have properly added the home-manager channel! ]; documentation.enable = false; # for nixops to log in and perform operations as haak (instead of root) security.sudo.wheelNeedsPassword = false; home-manager.users.haak = (import ../home/commandline.nix); # Configure the root account users.users.root.openssh.authorizedKeys.keys = [ (import ../system/framework/keys.nix).ssh.public ]; users.extraUsers.root = { shell = pkgs.zsh; }; environment.systemPackages = with pkgs; [ tmux ripgrep htop ]; # Optimize nix store by hardlinking identitical files. nix.settings.auto-optimise-store = true; # Limit the systemd journal to 100 MB of disk or the # last 7 days of logs, whichever happens first. services.journald.extraConfig = '' SystemMaxUse=100M MaxFileSec=7day ''; }; server = { nodes, ... }: { deployment.targetHost = "192.168.1.65"; imports = [ ../system/xps11/configuration.nix ]; networking.wireless.networks.N904.pskRaw = ( (import ../system/framework/keys.nix).wifi.N904.pskRaw ); fileSystems."/storage" = { device = "${nasIp}:/storage"; fsType = "nfs"; }; }; nas = { pkgs, ... }: { deployment.targetHost = nasIp; imports = [ ../system/svalbard/configuration.nix ../home/programs/flood ]; networking.wireless.networks.N904.pskRaw = ( (import ../system/framework/keys.nix).wifi.N904.pskRaw ); services.nfs.server.enable = true; services.nfs.server.exports = '' /export 192.168.1.0/24(insecure,crossmnt,fsid=0) /export/storage 192.168.1.0/24(insecure) ''; networking.firewall.allowedTCPPorts = [ 2049 ]; }; }