{ pkgs, lib, ... }: { imports = [ ./hardware-configuration.nix ../../common/default-minimal.nix # ../../common/packages/syncthing.nix # If you want to use modules your own flake exports (from modules/nixos): # outputs.nixosModules.example # Or modules from other flakes (such as nixos-hardware): # inputs.hardware.nixosModules.common-cpu-amd # inputs.hardware.nixosModules.common-ssd ]; boot.loader.grub.enable = false; # Enables the generation of /boot/extlinux/extlinux.conf boot.loader.generic-extlinux-compatible.enable = true; networking = { hostName = "enry"; firewall.enable = true; # firewall.allowedTCPPorts = [8080 12345 13378]; # firewall.allowedUDPPorts = [8080]; }; users.users.user = { isNormalUser = true; description = "User"; extraGroups = ["networkmanager" "wheel" "dialout" "syncthing"]; initialPassword = "correcthorsebatterystaple"; openssh.authorizedKeys.keys = [ "SHA256:RrcbPCE9BPVLAEhERm81NwXA28OKpn9U6irR2vG7K5I user@phoenix"; ]; }; # services.btrfs.autoScrub = { # enable = true; # interval = "weekly"; # fileSystems = ["/" "/data"]; # }; # 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; # }; # This setups a SSH server. Very important if you're setting up a headless system. # Feel free to remove if you don't need it. services.openssh = { enable = true; settings = { # Forbid root login through SSH. PermitRootLogin = "no"; # Use keys only. Remove if you want to SSH using password (not recommended) PasswordAuthentication = false; }; }; environment.systemPackages = with pkgs; [ ]; hardware.enableRedistributableFirmware = true; networking.wireless.enable = true; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = "23.11"; }