wrapper-manager-fds: update project overview and module examples

This commit is contained in:
Gabriel Arazas 2024-08-26 15:59:04 +08:00
parent 5ae0bd4f63
commit 91b84bf9e3
2 changed files with 8 additions and 5 deletions

View File

@ -143,8 +143,10 @@ The project itself is made of different parts which you can use for different pu
One part of the project is the module environment. One part of the project is the module environment.
Just like https://github.com/nix-community/home-manager[home-manager] and https://github.com/nix-community/disko[disko] and https://github.com/viperML/wrapper-manager[the original source], wrapper-manager-fds comes with its own module environment. Just like https://github.com/nix-community/home-manager[home-manager] and https://github.com/nix-community/disko[disko] and https://github.com/viperML/wrapper-manager[the original source], wrapper-manager-fds comes with its own module environment.
Instead of a home environment from home-manager or an installation script from disko, wrapper-manager-fds module environment evaluates to a derivation containing a wrapper script. footnote:[While the original source also evaluates similar to that, it typically involves a set of wrappers inside of the same configuration environment rather than a single wrapper.] Instead of a home environment from home-manager, an entire operating system from NixOS, or an installation script from disko, wrapper-manager-fds module environment evaluates to a package similar to how certain environments treats them (e.g., `environment.systemPackages` for NixOS, `home.packages` for home-manager).
This can be thought of as a declarative layer over `makeWrapper` build hook from nixpkgs.
Much of the module environment relies on `makeWrapper`.
In fact, this can be thought of as a declarative layer over `makeWrapper` with some other integrations.
If you want to view the module options, you can see it in If you want to view the module options, you can see it in
ifdef::env-hugo[link:./wrapper-manager-env-options/[wrapper-manager module options].] ifdef::env-hugo[link:./wrapper-manager-env-options/[wrapper-manager module options].]
@ -184,6 +186,7 @@ Or if you want fastfetch...
---- ----
Or even both in the same configuration (which you can do). Or even both in the same configuration (which you can do).
If evaluated, this should result in a single derivation that contains two executables in `$out/bin/{fastfetch, neofetch}`.
[source, nix] [source, nix]
---- ----

View File

@ -59,7 +59,7 @@ in
visible = "shallow"; visible = "shallow";
example = lib.literalExpression '' example = lib.literalExpression ''
{ {
custom-ricing = { custom-ricing = { lib, pkgs, ... }: {
wrappers.neofetch = { wrappers.neofetch = {
arg0 = lib.getExe' pkgs.neofetch "neofetch"; arg0 = lib.getExe' pkgs.neofetch "neofetch";
appendArgs = [ appendArgs = [
@ -78,7 +78,7 @@ in
}; };
}; };
music-setup = { music-setup = { lib, pkgs, ... }: {
wrappers.yt-dlp-audio = { wrappers.yt-dlp-audio = {
arg0 = lib.getExe' pkgs.yt-dlp "yt-dlp"; arg0 = lib.getExe' pkgs.yt-dlp "yt-dlp";
prependArgs = [ prependArgs = [
@ -101,7 +101,7 @@ in
}; };
}; };
writing = { writing = { lib, pkgs, ... }: {
wrappers.asciidoctor-fds = { wrappers.asciidoctor-fds = {
arg = lib.getExe' pkgs.asciidoctor-with-extensions "asciidoctor"; arg = lib.getExe' pkgs.asciidoctor-with-extensions "asciidoctor";
executableName = "asciidoctor"; executableName = "asciidoctor";