home/nixos/machines/foxhut/machine.nix
2025-04-30 23:31:34 +02:00

105 lines
2.9 KiB
Nix

{ pkgs, pkgs-unstable, asahi-firmware, signal-aarch64, ... }:
{ config, ... }:
let signal-desktop = signal-aarch64.packages.aarch64-linux.signal-desktop.override { electronPageSizeFix = true; };
in {
environment.systemPackages = (with pkgs-unstable; [
renoise
signal-desktop
wireguard-tools
cifs-utils
sshfs
rmapi
transmission_4-qt
vlc
]) ++ (with pkgs; [
prismlauncher
]) ++ [ signal-desktop ];
services.mysql = {
enable = true;
package = pkgs.mariadb;
dataDir = "/var/lib/mysql";
settings = {
mysqld = {
bind_address = "127.0.0.1";
# socket = "/tmp/mariadb.sock";
};
};
ensureDatabases = [
"bnuybase"
];
ensureUsers = [
{
name = "xenia";
ensurePermissions = {
"bnuybase.*" = "ALL PRIVILEGES";
};
}
];
};
services.auto-cpufreq.enable = true;
services.auto-cpufreq.settings = {
battery = {
governor = "ondemand";
turbo = "never";
};
charger = {
governor = "performance";
turbo = "auto";
};
};
networking.firewall.interfaces."enu1c2".allowedUDPPortRanges = [ { from = 0; to = 65535; } ];
networking.firewall.interfaces."enu1c2".allowedTCPPortRanges = [ { from = 0; to = 65535; } ];
networking.firewall.allowedUDPPorts = [ 51821 51820 ];
networking.wireguard = {
enable = true;
interfaces.eta = {
ips = [ "10.69.3.13/32" ];
privateKeyFile = "/home/xenia/wireguard-keys/eta.new.private";
peers = [ {
publicKey = "xAHheRS7WfS62TrnCd0neOzR9yaNdr9zkViSaa+AyWA=";
allowedIPs = [ "10.30.0.0/16" "10.250.0.0/16" "10.254.0.0/16" "192.168.30.0/24" "192.168.40.0/24" "192.168.50.0/24" "192.168.51.0/24" "192.168.250.0/24" ];
endpoint = "129.16.13.37:13233";
persistentKeepalive = 25;
} ];
};
interfaces.bnuy = {
ips = [ "10.100.1.1/32" ];
privateKeyFile = "/home/xenia/wireguard-keys/local-network.private";
peers = [ {
publicKey = "Qa3saFnPTlGbxLnoyhsczczBMUGA8F/tlGsH8wnMTWY="; # https://github.com/xeniagda/cluster-config/tree/main/keys/catboy-cafe.public
allowedIPs = [ "10.100.0.0/16" ];
endpoint = "hem.60.nu:51820";
persistentKeepalive = 25;
} ];
};
};
services.pipewire.wireplumber.extraConfig."10-bluez" = {
"monitor.bluez.properties" = {
"bluez5.enable-sbc-xq" = true;
"bluez5.enable-msbc" = false;
"bluez5.enable-hw-volume" = true;
"bluez5.codecs" = [
"sbc" "sbc_xq" "aac"
];
};
};
fileSystems."/mnt/eta" = {
device = "//10.30.12.6/users";
fsType = "cifs";
options = [ "username=eta" "password=eta" "uid=1002" "gid=1002" "x-systemd.automount" "noauto" "x-systemd.idle-timeout=60" ];
};
services.printing.enable = true;
services.avahi.enable = true;
virtualisation.docker.enable = true;
}