dotfiles/hosts/swan/default.nix

89 lines
2.6 KiB
Nix
Raw Normal View History

2023-02-18 15:24:54 +00:00
# The Swan
# System configuration for my home NAS server
{ inputs, globals, overlays, ... }:
with inputs;
nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { };
modules = [
2023-03-20 03:36:15 +00:00
globals
2023-02-18 15:24:54 +00:00
home-manager.nixosModules.home-manager
disko.nixosModules.disko
../../modules/common
../../modules/nixos
2023-02-18 15:24:54 +00:00
{
# Hardeware
2023-02-18 15:24:54 +00:00
server = true;
2023-02-27 02:50:24 +00:00
networking.hostName = "swan";
boot.initrd.availableKernelModules =
[ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelParams = [
"radeon.si_support=0"
"amdgpu.si_support=1"
"radeon.cik_support=0"
"amdgpu.cik_support=1"
"amdgpu.dc=1"
];
hardware.enableRedistributableFirmware = true;
powerManagement.cpuFreqGovernor = "powersave";
hardware.cpu.intel.updateMicrocode = true;
2023-02-26 13:23:31 +00:00
# ZFS
2023-02-27 02:50:24 +00:00
zfs.enable = true;
# head -c 8 /etc/machine-id
networking.hostId = "600279f4"; # Random ID required for ZFS
disko = {
enableConfig = true;
2023-02-27 01:49:46 +00:00
devices = (import ../../disks/root.nix { disk = "/dev/nvme0n1"; });
# // (import ../../disks/zfs.nix {
# pool = "tank";
# disks = [ "/dev/sda" "/dev/sdb" "/dev/sdc" ];
# });
};
2023-02-27 02:50:24 +00:00
boot.zfs.extraPools = [ "tank" ];
2023-02-26 13:23:31 +00:00
2023-02-18 15:24:54 +00:00
gui.enable = false;
theme = { colors = (import ../../colorscheme/gruvbox).dark; };
nixpkgs.overlays = overlays;
2023-02-27 02:50:24 +00:00
neovim.enable = true;
2023-02-18 15:24:54 +00:00
caddy.enable = true;
cloudflare.enable = true;
2023-02-28 04:27:10 +00:00
streamServer = "stream.masu.rs";
2023-03-01 04:54:48 +00:00
nextcloudServer = "cloud.masu.rs";
2023-03-04 01:04:02 +00:00
bookServer = "books.masu.rs";
2023-03-12 13:24:16 +00:00
arrServer = "download.masu.rs";
transmissionServer = "download.masu.rs";
2023-02-28 05:05:04 +00:00
samba.enable = true;
2023-02-18 15:24:54 +00:00
2023-06-19 12:30:30 +00:00
cloudflareTunnel = {
enable = true;
id = "646754ac-2149-4a58-b51a-e1d0a1f3ade2";
credentialsFile = ../../private/cloudflared-swan.age;
ca =
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCHF/UMtJqPFrf6f6GRY0ZFnkCW7b6sYgUTjTtNfRj1RdmNic1NoJZql7y6BrqQinZvy7nsr1UFDNWoHn6ah3tg= open-ssh-ca@cloudflareaccess.org";
};
2023-02-28 02:02:45 +00:00
backup.s3 = {
endpoint = "s3.us-west-002.backblazeb2.com";
bucket = "noahmasur-backup";
accessKeyId = "0026b0e73b2e2c80000000005";
};
2023-02-18 15:24:54 +00:00
# Disable passwords, only use SSH key
publicKey =
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s";
# Clone dotfiles
dotfiles.enable = true;
# services.nfs.server.enable = true;
2023-02-18 15:24:54 +00:00
}
];
}