flake/hosts/supernova/default.nix

50 lines
1.4 KiB
Nix
Raw Normal View History

{ config, pkgs, lib, inputs, ... }: with config.lyn.lib; {
imports =
[
./hardware-configuration.nix
./../../users/lyn
];
lyn.kernel.latest.enable = true;
lyn.kernel.hardened.enable = true;
lyn.profiles.base.enable = true;
# Use UEFI
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Firewall stuff:
networking.firewall.enable = true;
networking.firewall.allowPing = true;
networking.hostName = "supernova";
system.stateVersion = "24.05";
# FDE stuff
2024-10-16 20:06:17 +02:00
networking.firewall.allowedTCPPorts = [ 2222 ];
systemd.services.sshd.wantedBy = [ "cryptsetup.target" ];
networking.useDHCP = true;
2024-10-16 19:00:09 +02:00
boot.initrd = {
availableKernelModules = [ "virtio-pci" ];
secrets = {"/root/initrd-ssh-key" = "/root/initrd-ssh-key";};
network = {
2024-10-16 20:06:17 +02:00
#udhcpc.enable = true;
#flushBeforeStage2 = true;
2024-10-16 19:00:09 +02:00
enable = true;
ssh = {
enable = true;
port = 2222;
2024-10-16 20:06:17 +02:00
hostKeys = [ /root/initrd-ssh-key ];
# this includes the ssh keys of all users in the wheel group, but you can just specify some keys manually
# authorizedKeys = [ "ssh-rsa ..." ];
authorizedKeys = with lib; concatLists (mapAttrsToList (name: user: if elem "wheel" user.extraGroups then user.openssh.authorizedKeys.keys else []) config.users.users);
};
2024-10-16 20:06:17 +02:00
#postCommands = ''
# echo 'cryptsetup-askpass' >> /root/.profile
#'';
};
};
2024-10-16 19:00:09 +02:00
2024-10-16 20:06:17 +02:00
}