- Import nixosModule.
# flake.nix
{
inputs.daeuniverse.url = "github:daeuniverse/flake.nix";
# ...
outputs = {nixpkgs, ...} @ inputs: {
nixosConfigurations.HOSTNAME = nixpkgs.lib.nixosSystem {
modules = [
inputs.daeuniverse.nixosModules.dae
inputs.daeuniverse.nixosModules.daed
];
};
}
}
- Enable dae or daed module.
To see full options, check
dae{,d}/module.nix
.
# nixos configuration module
{
# ...
services.dae = {
enable = true;
openFirewall = {
enable = true;
port = 12345;
};
/* default options
package = inputs.daeuniverse.packages.x86_64-linux.dae;
disableTxChecksumIpGeneric = false;
configFile = "/etc/dae/config.dae";
assets = with pkgs; [ v2ray-geoip v2ray-domain-list-community ];
*/
# alternative of `assets`, a dir contains geo database.
# assetsPath = "/etc/dae";
};
}
# nixos configuration module
{
# daed - dae with a web dashboard
services.daed = {
enable = true;
openFirewall = {
enable = true;
port = 12345;
};
/* default options
package = inputs.daeuniverse.packages.x86_64-linux.daed;
configDir = "/etc/daed";
listen = "127.0.0.1:2023";
*/
};
}
# nixos configuration module
{
environment.systemPackages =
with inputs.daeuniverse.packages.x86_64-linux;
[ dae daed ];
}
If you would like to get a taste of new features and do not want to wait for new releases, you may use the nightly
(unstable
branch) flake. The nightly
flake is always up-to-date with the upstream dae
and daed
(sync with the main
branch) projects. Most of the time, newly proposed changes will be included in PRs, will be fully tested, and will be exported as cross-platform executable binaries in builds (GitHub Action Workflow Build). If you would like to test out any unpublished changes, feel free to use the experiment
branch which is pinned to a specific commit in a feature branch from the upstream repositories.
Warning
Note that newly introduced features can sometimes be buggy; use at your own risk. However, we still highly encourage you to check out our latest builds as it may help us further analyze features stability and resolve potential bugs accordingly.
Adopt nightly flake
# flake.nix
{
# unstable
inputs.daeuniverse.url = "github:daeuniverse/flake.nix/unstable";
# OR
# experiment
inputs.daeuniverse.url = "github:daeuniverse/flake.nix/experiment";
# ...
}
If you prefer to use a more stable version of our software, you can use the release
branch. This branch is designated for our official releases. We create release tags based on this branch to ensure stability and reliability.
Whenever there is a new release from the upstream projects (dae
and daed
), we will also create a corresponding release tag in our repository, such as dae-v0.7.0
. These tags represent the stable versions of our software, thoroughly tested and ready for production use.
Adopt release flake
# flake.nix
{
# latest release
inputs.daeuniverse.url = "github:daeuniverse/flake.nix/release";
# OR
# specific tag
inputs.daeuniverse.url = "github:daeuniverse/flake.nix?tag=<tag>";
# ...
}
This way, users can choose the release
branch and tags for stable, production-ready
versions.
We use garnix cache and provide both x86_64-linux
and aarch64-linux
build products.
To setup the garnix cache:
nix.settings = {
substituters = ["https://cache.garnix.io"];
trusted-public-keys = [
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
];
};
ISC © 2023-2024 @daeuniverse