Skip to content

Commit

Permalink
docs: update about new layout
Browse files Browse the repository at this point in the history
  • Loading branch information
oluceps committed Nov 6, 2024
1 parent ffec97d commit eb910ad
Showing 1 changed file with 24 additions and 33 deletions.
57 changes: 24 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
/* default options
package = inputs.daeuniverse.packages.x86_64-linux.dae;
package = inputs.daeuniverse.packages.x86_64-linux.dae; or dae-unstable etc.
disableTxChecksumIpGeneric = false;
configFile = "/etc/dae/config.dae";
assets = with pkgs; [ v2ray-geoip v2ray-domain-list-community ];
Expand Down Expand Up @@ -82,57 +82,48 @@

## Globally install packages


This flake contains serval different revision of packages:

+ dae (alias of dae-release)
+ dae-release (current latest release version)
+ dae-unstable (keep sync with dae `main` branch)
+ dae-experiment (specific pull request for untested features)

See details with `nix flake show github:daeuniverse/flake.nix`

```nix
# nixos configuration module
{
environment.systemPackages =
with inputs.daeuniverse.packages.x86_64-linux;
[ dae daed ];
[ dae daed ]; # or dae-unstable dae-experient
}
```

## Nightly build
## Package Options

- **Nightly Build**: Use the `dae-unstable` package for early access to new features, always synced with the latest updates. For testing specific, unpublished changes, try `dae-experiment`, pinned to feature branch commits.

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.
- **Release Build**: For stable, production-ready versions, use the `release` branch, designated for official releases and tagged with upstream versions (e.g., `dae-v0.7.0`).

> [!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

```nix
# flake.nix
{
# unstable
inputs.daeuniverse.url = "github:daeuniverse/flake.nix/unstable";
# OR
# experiment
inputs.daeuniverse.url = "github:daeuniverse/flake.nix/experiment";
# ...
}
```
## Script Usage

## Release build
The `main.nu` script on top-level of this repo is able to help you update the package. See help message with `./main.nu`.

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.
The cmd args looks like:
```
commands: [sync] <PROJECT> <VERSIONS...> --rev <REVISION>
```

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.
About **adding a new version**, if the `VERSIONS` you provided doesn't match any of `["release" "unstable"]`, it will:

Adopt release flake
check the `--rev` arg and read its value, run `nix-prefetch-git` to get its info, then adding a new record to `metadata.json`, finally update the vendorHash.

```nix
# 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.

## Binary cache

Expand Down

0 comments on commit eb910ad

Please sign in to comment.