universe/hosts/Infini-FRAMEWORK/default.nix

171 lines
4 KiB
Nix

{
config,
pkgs,
lib,
...
}:
{
imports = [
./hardware-configuration.nix
./filesystems.nix
./displays.nix
./router.nix
];
system.stateVersion = "23.05";
info.loc.purdue = true;
age.rekey.hostPubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF7PmPq/7e+YIVAvIcs6EOJ3pZVJhinwus6ZauJ3aVp0 root@Infini-FRAMEWORK";
persist = {
directories = [
{
directory = "/var/lib/dnsmasq/";
user = "dnsmasq";
}
];
files = [
];
};
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
boot.binfmt.addEmulatedSystemsToNixSandbox = true;
home.home.packages = with pkgs; [
ungoogled-chromium
];
environment.enableDebugInfo = true;
services.printing.drivers = [ pkgs.tmx-cups-ppd ];
modules = {
hardware = {
gpu.intel = true;
form.laptop = true;
peripherals = {
printing.enable = true;
};
};
desktop = {
wm.enable = true;
gaming = {
steam.enable = true;
prismlauncher.enable = true;
puzzles.enable = true;
};
};
};
universe.programming.all.enable = true;
services.fprintd.enable = true;
virtualisation.enable = true;
programs.ns-usbloader.enable = true;
hardware.uinput.enable = true;
services.joycond.enable = true;
programs.kdeconnect.enable = true;
hardware.printers.ensurePrinters = [
{
name = "EPSON-TM-m30";
deviceUri = "usb://EPSON/TM-m30II-NT?serial=5839394D0032780000";
model = "tm-m30-rastertotmt.ppd.gz";
}
{
name = "EPSON-TM-m30-remote";
deviceUri = "ipp://100.101.102.18/printers/EPSON-TM-m30";
model = "raw";
}
];
services.fwupd = {
enable = true;
extraRemotes = [ "lvfs-testing" ];
uefiCapsuleSettings.DisableCapsuleUpdateOnDisk = "true";
};
systemd.services.fwupd-refresh.after = [ "network-online.target" ];
systemd.services.fwupd-refresh.requires = [ "network-online.target" ];
console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-v32n.psf.gz";
systemd.services.set-initial-backlight = {
description = "Sets the initial backlight state on startup";
wantedBy = [
"sys-devices-pci0000:00-0000:00:02.0-drm-card0-card0\\x2deDP\\x2d1-intel_backlight.device"
"sys-devices-pci0000:00-0000:00:02.0-drm-card1-card1\\x2deDP\\x2d1-intel_backlight.device"
];
after = [
"system-systemd\\x2dbacklight.slice"
"systemd-backlight@backlight:intel_backlight.service"
];
serviceConfig.Type = "oneshot";
script = "${lib.getExe pkgs.brightnessctl} set 50%";
};
nix.buildMachines = [
#{
# hostName = "infini-desktop";
# system = "x86_64-linux";
# supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
# protocol = "ssh-ng";
# maxJobs = 16;
# speedFactor = 8;
# sshUser = "remotebuild";
#}
{
hostName = "infini-dl360";
systems = [
"x86_64-linux"
"aarch64-linux"
];
supportedFeatures = [
"nixos-test"
"benchmark"
"big-parallel"
"kvm"
];
protocol = "ssh-ng";
maxJobs = 32;
speedFactor = 16;
sshUser = "remotebuild";
}
];
networking.firewall.allowedUDPPorts = [ 51820 ];
networking.wg-quick.interfaces.wg0 = {
autostart = false;
address = [ "10.10.0.3/32" ];
listenPort = 51820;
privateKeyFile = "/home/infinidoge/tmp/bb-vpn-geg.key";
peers = [
{
publicKey = "SYpnrGvxx8l4w9c7KVRVW6GyNDr/iK+maPPMw/Ua7XY=";
allowedIPs = [ "10.9.0.0/24" ];
endpoint = "66.23.193.252:55555";
persistentKeepalive = 25;
}
];
};
networking.wg-quick.interfaces.wg1 = {
autostart = false;
address = [ "10.11.0.3/32" ];
listenPort = 51820;
privateKeyFile = "/home/infinidoge/tmp/bb-vpn-dfw.key";
mtu = 1300;
peers = [
{
publicKey = "uPejaHkvkjOAjm5s+ILbxmHnw2gh3A1Wtz++ijS5TmI=";
allowedIPs = [ "10.40.1.0/24" ];
endpoint = "104.167.215.168:51820";
persistentKeepalive = 25;
}
];
};
}