nix/nixos/rascal.nix

79 lines
1.9 KiB
Nix
Raw Permalink Normal View History

2023-10-03 11:52:44 -05:00
{
config,
modulesPath,
...
}: {
2023-09-05 23:51:32 -05:00
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
2023-09-05 21:46:55 -05:00
2023-10-03 11:52:44 -05:00
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "ehci_pci" "usbhid" "uas" "sd_mod"];
boot.kernelModules = ["kvm-amd"];
2023-09-05 21:46:55 -05:00
2023-09-05 23:51:32 -05:00
fileSystems."/" = {
device = "/dev/disk/by-uuid/2e2ad73a-6264-4a7b-8439-9c05295d903d";
fsType = "f2fs";
};
2023-09-05 21:46:55 -05:00
2024-05-31 10:18:37 -05:00
fileSystems."/storage" = {
device = "/dev/disk/by-uuid/410fa651-4918-447c-9337-97cc12ff6d2a";
fsType = "ext4";
};
2023-09-05 23:51:32 -05:00
boot.loader.grub = {
enable = true;
device = "/dev/sda";
};
2023-09-05 21:46:55 -05:00
2024-09-16 16:38:16 -05:00
users.groups.beefcake = {};
2024-05-31 10:18:37 -05:00
users.users = {
beefcake = {
2024-09-12 14:47:21 -05:00
isSystemUser = true;
createHome = true;
home = "/storage/backups/beefcake";
2024-09-16 16:38:16 -05:00
group = "beefcake";
2024-09-12 14:47:21 -05:00
extraGroups = ["sftponly"];
2024-05-31 10:18:37 -05:00
openssh.authorizedKeys.keys =
config.users.users.daniel.openssh.authorizedKeys.keys
++ [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK7HrojwoyHED+A/FzRjYmIL0hzofwBd9IYHH6yV0oPO root@beefcake"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAOEI82VdbyR1RYqSnFtlffHBtHFdXO0v9RmQH7GkfXo restic@beefcake"
2024-05-31 10:18:37 -05:00
];
};
daniel = {
# used for restic backups
isNormalUser = true;
extraGroups = ["users" "wheel" "video" "dialout" "uucp"];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAPLXOjupz3ScYjgrF+ehrbp9OvGAWQLI6fplX6w9Ijb daniel@lyte.dev"
];
};
root = {
openssh.authorizedKeys.keys = config.users.users.daniel.openssh.authorizedKeys.keys;
};
};
2024-09-12 14:47:21 -05:00
services.openssh.extraConfig = ''
Match Group sftponly
ChrootDirectory /storage/backups/%u
ForceCommand internal-sftp
AllowTcpForwarding no
'';
2023-09-05 23:51:32 -05:00
networking = {
hostName = "rascal";
networkmanager.enable = true;
2024-05-31 10:18:37 -05:00
firewall = {
enable = true;
allowPing = true;
allowedTCPPorts = [22];
};
2023-09-05 21:46:55 -05:00
};
services.tailscale.useRoutingFeatures = "server";
2024-06-28 15:50:00 -05:00
system.stateVersion = "24.05";
2023-09-05 21:46:55 -05:00
}