nixos-config/hosts/enry/configuration.nix
2024-04-13 18:35:20 +02:00

77 lines
2 KiB
Nix

{
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";
}