diff --git a/flake.nix b/flake.nix index 8b265b80..95d7548a 100644 --- a/flake.nix +++ b/flake.nix @@ -164,6 +164,8 @@ nuenv.url = "github:DeterminateSystems/nuenv"; + daeuniverse.url = "github:daeuniverse/flake.nix"; + ######################## Some non-flake repositories ######################################### # AstroNvim is an aesthetic and feature-rich neovim config. diff --git a/hosts/idols_aquamarine/dae.nix b/hosts/idols_aquamarine/dae.nix index f2d4e553..57d5bc6c 100644 --- a/hosts/idols_aquamarine/dae.nix +++ b/hosts/idols_aquamarine/dae.nix @@ -1,11 +1,38 @@ -# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/networking/dae.nix { + pkgs, + daeuniverse, +}: +# https://github.com/daeuniverse/flake.nix +{ + imports = [ + daeuniverse.nixosModules.dae + daeuniverse.nixosModules.daed + ]; + + # dae - eBPF-based Linux high-performance transparent proxy. services.dae = { enable = true; + package = pkgs.dae; + disableTxChecksumIpGeneric = false; + configFile = ./bypass-router.dae; + assets = with pkgs; [v2ray-geoip v2ray-domain-list-community]; + # alternatively, specify assets dir + # assetsPath = "/etc/dae"; openFirewall = { enable = true; port = 12345; }; - configFile = ./bypass-router.dae; + }; + + # daed, a modern web dashboard for dae. + services.daed = { + enable = true; + package = pkgs.daed; + configdir = "/etc/daed"; + listen = "0.0.0.0:9090"; + openfirewall = { + enable = true; + port = 9090; + }; }; }