42 lines
1 KiB
Nix
42 lines
1 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
options = {
|
|
chvp.zeroad = {
|
|
enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
asServer = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf config.chvp.zeroad.enable {
|
|
chvp.zfs.homeLinks = [
|
|
{ path = ".config/0ad"; type = "cache"; }
|
|
];
|
|
|
|
nixpkgs.config.permittedInsecurePackages = [
|
|
"spidermonkey-38.8.0"
|
|
];
|
|
|
|
nixpkgs.overlays = [
|
|
(self: super: {
|
|
zeroadPackages = (super.zeroadPackages.override { newScope = (extra: self.newScope ({ stdenv = self.gcc9Stdenv; } // extra)); });
|
|
})
|
|
];
|
|
|
|
hardware.opengl.enable = true;
|
|
home-manager.users.charlotte = { pkgs, ... }: {
|
|
home.packages = [ pkgs.zeroad ];
|
|
};
|
|
networking.firewall = lib.mkIf config.chvp.zeroad.asServer {
|
|
allowedTCPPorts = [ 20595 ];
|
|
allowedUDPPorts = [ 20595 ];
|
|
};
|
|
services.openssh.forwardX11 = lib.mkDefault config.chvp.zeroad.asServer;
|
|
};
|
|
}
|