inital nixos config commit

This commit is contained in:
2025-10-03 23:57:28 -05:00
commit bb73c757a9
29 changed files with 3809 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
../../modules/ssh.nix
../../modules/docker.nix
../../homelab/zfs.nix
../../homelab/smb.nix
../../homelab/nfs.nix
];
# 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;
# define blake group
users.groups.blake = {};
# create blake user
users.users.blake = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "docker" ]; # Enable sudo for the user.
shell = pkgs.zsh;
group = "blake";
};
# package install list
environment.systemPackages = with pkgs; [
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
rsync
wget
git
iptables
nftables
];
# 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
2049 # nfs
];
#networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
networking.firewall.enable = true;
system.stateVersion = "25.05"; # Did you read the comment?
}