Files
nix/hosts/snowbelle/configuration.nix

107 lines
2.1 KiB
Nix

{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
../../users/blake/blake.nix
../../modules/system/system.nix
# ../../modules/system/ssh.nix
# ../../modules/system/docker.nix
# ../../modules/system/syncthing.nix
# ../../modules/system/tailscale.nix
../../modules/homelab/homelab.nix
# ../../modules/homelab/zfs.nix
# ../../modules/homelab/smb.nix
# ../../modules/homelab/nfs.nix
];
modules = {
system = {
ssh.enable = true;
docker.enable = true;
syncthing.enable = true;
tailscale.enable = true;
#nvidia.enable = true;
};
homelab = {
zfs.enable = true;
smb.enable = true;
nfs.enable = true;
};
};
# use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# setup hostname and networking stack
networking.hostName = "snowbelle"; # Define your hostname.
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
# set timezone
time.timeZone = "America/Chicago";
# define shell
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
# package install list
environment.systemPackages = with pkgs; [
vim
rsync
wget
git
iptables
nettools
neofetch
btop
];
# enable flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Open ports in the firewall.
networking.firewall.allowedTCPPorts = [
22 # ssh
80 # http
111 # portmapper for nfs
139 # smb
443 # https
445 # cifs
1883
2049 # nfs
2222 # syncthing
3001 # uptime kuma
3030
3131
3232
3333
3434
3535
3636
3737
3838
3939
5050
5656
7070
7567
7777
9090
25777
25565
25566
25567
];
#networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
networking.firewall.enable = true;
system.stateVersion = "25.05"; # Did you read the comment?
}