116 lines
2.2 KiB
Nix
116 lines
2.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
imports =
|
|
[ # Include the results of the hardware scan.
|
|
./hardware-configuration.nix
|
|
../../users/users.nix
|
|
../../modules/system/default.nix
|
|
../../modules/homelab/default.nix
|
|
];
|
|
|
|
modules = {
|
|
system = {
|
|
ssh.enable = true;
|
|
sops.enable = true;
|
|
docker.enable = true;
|
|
syncthing.enable = true;
|
|
tailscale.enable = true;
|
|
nvidia.enable = false;
|
|
};
|
|
homelab = {
|
|
zfs.enable = true;
|
|
smb.enable = true;
|
|
nfs.enable = true;
|
|
};
|
|
};
|
|
|
|
# enable users
|
|
users = {
|
|
blake.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
|
|
age
|
|
];
|
|
|
|
# allow proprietary packages
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
# ld fix
|
|
programs.nix-ld.enable = true;
|
|
programs.nix-ld.libraries = with pkgs; [
|
|
# Add any missing dynamic libraries for unpackaged
|
|
# programs here, NOT in environment.systemPackages
|
|
];
|
|
|
|
# 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?
|
|
|
|
}
|
|
|