{ config, pkgs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix # ./unstable.nix ./ahoneybun-net.nix ./mc-ahoneybun-net.nix # ./nextcloud.nix ./tildecafe-com.nix ./rockymtnlug-org.nix # ./chat-rockymtnlug-org.nix ]; boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelParams = [ "console=ttyS0,19200n8" ]; nix.settings.auto-optimise-store = true; nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; # Use the GRUB 2 boot loader. boot.loader.grub.enable = true; boot.loader.grub.extraConfig = '' serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; terminal_input serial; terminal_output serial ''; boot.loader.grub.device = "nodev"; # or "nodev" for efi only boot.loader.timeout = 10; networking.firewall = { enable = true; allowedTCPPorts = [ 80 443 ]; }; networking.extraHosts = '' 23.32.241.51 r3.o.lencr.org ''; security.acme.acceptTerms = true; security.acme.defaults.email = "aaronhoneycutt@proton.me"; networking.hostName = "harbinger"; # Pick only one of the below networking options. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. # Set your time zone. # time.timeZone = "Europe/Amsterdam"; # Configure network proxy if necessary # networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; # Enable CUPS to print documents. # services.printing.enable = true; # Enable sound. # sound.enable = true; # hardware.pulseaudio.enable = true; # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.aaronh = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. packages = with pkgs; [ cargo git git-lfs ]; }; environment.systemPackages = with pkgs; [ acme-sh git git-lfs mtr neofetch sysstat tree wget ]; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; # programs.gnupg.agent = { # enable = true; # enableSSHSupport = true; # }; # List services that you want to enable: # Enable the OpenSSH daemon. services.openssh.settings = { enable = true; permitRootLogin = "no"; }; # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. # networking.firewall.enable = false; networking.usePredictableInterfaceNames = false; networking.useDHCP = false; networking.interfaces.eth0.useDHCP = true; system.stateVersion = "22.11"; # Did you read the comment? system.autoUpgrade.enable = true; }