Repository files navigation

Redox OS Builder on GitHub CI

Unofficial Redox OS Repository Builder, builds these in GitHub CI:

As of June 2025, Redox OS supports custom repository, see how.

Why?

  • I have forks and I wanted to test it without waiting the official build server
  • I don't want to compile heavy packages in my own laptop

Custom Pkg

I have prebuilt packages repos for myself on https://redox-build.wellosoft.net/pkg/.

To use my prebuilt package in existing RedoxOS:

  1. Download and run latest images
  2. Run sudo echo "https://redox-build.wellosoft.net/pkg/" > /etc/pkg.d/40_custom
  3. Run sudo pkg install ... any pkgs you want

To make your own version, please fork this repository.

Custom Toolchain

I have build toolchains for my own personal use:

  • x86_64 toolchain the toolchain for Intel/AMD linux compatible for Ubuntu/Pop! OS 22
  • aarch64 toolchain the toolchain for Podman in MacOS without Rosetta, or for other ARM based Linux

To use these toolchain in your Redox build system, please patch mk/prefix.mk:

-	wget -O $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/relibc-install.tar.gz"+	wget -O $@.partial "https://redox-build.wellosoft.net/toolchain-$(HOST_ARCH)/$(TARGET)/relibc-install.tar.gz"

And mk/config.mk (if your system is aarch64, also see guide for MacOS):

-ifneq ($(HOST_TARGET),x86_64-unknown-linux-gnu)- $(info The binary prefix is only built for x86_64 Linux hosts)+ifneq ($(HOST_TARGET),$(HOST_ARCH)-unknown-linux-gnu)+ $(info The binary prefix is only built for $(HOST_ARCH) Linux hosts)

FAQ

How to test this build system locally?

Fork, clone this repo, and run bash setup-full.sh.

I made a fork and made adjustments, how to retrigger build?

Go to Actions tab and enable CI there. Then, go to Run setup-full.sh and click Run Workflow.

Make sure the GitHub action has read and write access (the menu is in Settings > Actions > [scroll down] Read and write permissions).

How do I build my own Dockerfile?

I've built them this way:

env PLATFORM="linux/amd64,linux/arm64" TAG="willnode/redox-os-builder"
docker buildx build --platform $PLATFORM -f Dockerfile-pkg -t $TAG:pkg . --push
docker buildx build --platform $PLATFORM -f Dockerfile-toolchain -t $TAG:toolchain . --push

The difference is pkg is based on Ubuntu 24 (While be using official toolchain which happens to have compatible GLIBC) while toolchain is Ubuntu 22 (to allow lower GLIBC).

The build is finished, how to make it available to GitHub Pages?

First, make sure that there are files in gh-pages branch.

Go to settings, pages, Choose deploy from branch and set the branch as gh-pages.

What is id_ed25519.pub.toml?

It's a public key for pkg utils verifiying signatures in .pkgar files. By default, it's generated and changed every time you want to rebuild.

To persist it across builds, add PRIVATE_KEY and PUBLIC_KEY to action secrets. The value can be obtained from build/id_ed25519.toml and build/id_ed25519.pub.toml after doing local build.

Note that GitHub secrets can't have multi line so you need to replace it with commas. With that, the typical format for PRIVATE_KEY value should be:

salt = "XXX", nonce = "YYY", skey = "ZZZ"

Can I cook all recipes with GitHub CI?

Interesting question. The last build took 90 minutes with 25GB storage on /mnt storage. The GitHub CI is generous enough even without subscription. Free GitHub account gives you free 2000 minutes CI and apparently 70GB in /mnt storage. Just read here for GitHub runners.

Generally I think you can cook all recipes if you wish, but it will definitely take longer. Currently I don't cook compilers like LLVM, Cargo and RustPython or even other stuff like games because it's not necessary to me yet.

Of 90 minutes cook recipe from last build, it consist of 8 minutes building tooling and 7 minutes on fetching. It's counting about 66 recipes. The detailed timeline is this:

2025-06-09T00:41:32.5758317Z - start
2025-06-09T00:49:36.7999268Z - prefix done
2025-06-09T00:56:27.9442671Z - fetch.sh done
2025-06-09T02:09:39.2612776Z - repo.sh done
2025-06-09T02:09:47.8987185Z - done

How to do incremental build?

Incremental builds requires PRIVATE_KEY and PUBLIC_KEY set since initial full build. You can't set it after initial full build otherwise the public keys will be invalid for old pkgar files.

After pushing your own changes in the repo, you can run Run setup-partial.sh GitHub Action. There will be an input about list of recipes you want to update — for example if you put "nano vim" then the CI will run make prefix f.nano r.nano f.vim r.vim and updates the repo files and repo.toml accordingly.

How to extract pkgar files manually?

I think there's no tool for that yet, but I made online viewer for it.

About

Redox OS PKGAR Repository Builder

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Redox OS Builder on GitHub CI

Unofficial Redox OS Repository Builder, builds these in GitHub CI:

As of June 2025, Redox OS supports custom repository, see how.

Why?

  • I have forks and I wanted to test it without waiting the official build server
  • I don't want to compile heavy packages in my own laptop

Custom Pkg

I have prebuilt packages repos for myself on https://redox-build.wellosoft.net/pkg/.

To use my prebuilt package in existing RedoxOS:

  1. Download and run latest images
  2. Run sudo echo "https://redox-build.wellosoft.net/pkg/" > /etc/pkg.d/40_custom
  3. Run sudo pkg install ... any pkgs you want

To make your own version, please fork this repository.

Custom Toolchain

I have build toolchains for my own personal use:

  • x86_64 toolchain the toolchain for Intel/AMD linux compatible for Ubuntu/Pop! OS 22
  • aarch64 toolchain the toolchain for Podman in MacOS without Rosetta, or for other ARM based Linux

To use these toolchain in your Redox build system, please patch mk/prefix.mk:

-	wget -O $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/relibc-install.tar.gz"+	wget -O $@.partial "https://redox-build.wellosoft.net/toolchain-$(HOST_ARCH)/$(TARGET)/relibc-install.tar.gz"

And mk/config.mk (if your system is aarch64, also see guide for MacOS):

-ifneq ($(HOST_TARGET),x86_64-unknown-linux-gnu)- $(info The binary prefix is only built for x86_64 Linux hosts)+ifneq ($(HOST_TARGET),$(HOST_ARCH)-unknown-linux-gnu)+ $(info The binary prefix is only built for $(HOST_ARCH) Linux hosts)

FAQ

How to test this build system locally?

Fork, clone this repo, and run bash setup-full.sh.

I made a fork and made adjustments, how to retrigger build?

Go to Actions tab and enable CI there. Then, go to Run setup-full.sh and click Run Workflow.

Make sure the GitHub action has read and write access (the menu is in Settings > Actions > [scroll down] Read and write permissions).

How do I build my own Dockerfile?

I've built them this way:

env PLATFORM="linux/amd64,linux/arm64" TAG="willnode/redox-os-builder"
docker buildx build --platform $PLATFORM -f Dockerfile-pkg -t $TAG:pkg . --push
docker buildx build --platform $PLATFORM -f Dockerfile-toolchain -t $TAG:toolchain . --push

The difference is pkg is based on Ubuntu 24 (While be using official toolchain which happens to have compatible GLIBC) while toolchain is Ubuntu 22 (to allow lower GLIBC).

The build is finished, how to make it available to GitHub Pages?

First, make sure that there are files in gh-pages branch.

Go to settings, pages, Choose deploy from branch and set the branch as gh-pages.

What is id_ed25519.pub.toml?

It's a public key for pkg utils verifiying signatures in .pkgar files. By default, it's generated and changed every time you want to rebuild.

To persist it across builds, add PRIVATE_KEY and PUBLIC_KEY to action secrets. The value can be obtained from build/id_ed25519.toml and build/id_ed25519.pub.toml after doing local build.

Note that GitHub secrets can't have multi line so you need to replace it with commas. With that, the typical format for PRIVATE_KEY value should be:

salt = "XXX", nonce = "YYY", skey = "ZZZ"

Can I cook all recipes with GitHub CI?

Interesting question. The last build took 90 minutes with 25GB storage on /mnt storage. The GitHub CI is generous enough even without subscription. Free GitHub account gives you free 2000 minutes CI and apparently 70GB in /mnt storage. Just read here for GitHub runners.

Generally I think you can cook all recipes if you wish, but it will definitely take longer. Currently I don't cook compilers like LLVM, Cargo and RustPython or even other stuff like games because it's not necessary to me yet.

Of 90 minutes cook recipe from last build, it consist of 8 minutes building tooling and 7 minutes on fetching. It's counting about 66 recipes. The detailed timeline is this:

2025-06-09T00:41:32.5758317Z - start
2025-06-09T00:49:36.7999268Z - prefix done
2025-06-09T00:56:27.9442671Z - fetch.sh done
2025-06-09T02:09:39.2612776Z - repo.sh done
2025-06-09T02:09:47.8987185Z - done

How to do incremental build?

Incremental builds requires PRIVATE_KEY and PUBLIC_KEY set since initial full build. You can't set it after initial full build otherwise the public keys will be invalid for old pkgar files.

After pushing your own changes in the repo, you can run Run setup-partial.sh GitHub Action. There will be an input about list of recipes you want to update — for example if you put "nano vim" then the CI will run make prefix f.nano r.nano f.vim r.vim and updates the repo files and repo.toml accordingly.

How to extract pkgar files manually?

I think there's no tool for that yet, but I made online viewer for it.

About

Redox OS PKGAR Repository Builder

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Redox OS Builder on GitHub CI

Unofficial Redox OS Repository Builder, builds these in GitHub CI:

As of June 2025, Redox OS supports custom repository, see how.

Why?

  • I have forks and I wanted to test it without waiting the official build server
  • I don't want to compile heavy packages in my own laptop

Custom Pkg

I have prebuilt packages repos for myself on https://redox-build.wellosoft.net/pkg/.

To use my prebuilt package in existing RedoxOS:

  1. Download and run latest images
  2. Run sudo echo "https://redox-build.wellosoft.net/pkg/" > /etc/pkg.d/40_custom
  3. Run sudo pkg install ... any pkgs you want

To make your own version, please fork this repository.

Custom Toolchain

I have build toolchains for my own personal use:

  • x86_64 toolchain the toolchain for Intel/AMD linux compatible for Ubuntu/Pop! OS 22
  • aarch64 toolchain the toolchain for Podman in MacOS without Rosetta, or for other ARM based Linux

To use these toolchain in your Redox build system, please patch mk/prefix.mk:

-	wget -O $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/relibc-install.tar.gz"+	wget -O $@.partial "https://redox-build.wellosoft.net/toolchain-$(HOST_ARCH)/$(TARGET)/relibc-install.tar.gz"

And mk/config.mk (if your system is aarch64, also see guide for MacOS):

-ifneq ($(HOST_TARGET),x86_64-unknown-linux-gnu)- $(info The binary prefix is only built for x86_64 Linux hosts)+ifneq ($(HOST_TARGET),$(HOST_ARCH)-unknown-linux-gnu)+ $(info The binary prefix is only built for $(HOST_ARCH) Linux hosts)

FAQ

How to test this build system locally?

Fork, clone this repo, and run bash setup-full.sh.

I made a fork and made adjustments, how to retrigger build?

Go to Actions tab and enable CI there. Then, go to Run setup-full.sh and click Run Workflow.

Make sure the GitHub action has read and write access (the menu is in Settings > Actions > [scroll down] Read and write permissions).

How do I build my own Dockerfile?

I've built them this way:

env PLATFORM="linux/amd64,linux/arm64" TAG="willnode/redox-os-builder"
docker buildx build --platform $PLATFORM -f Dockerfile-pkg -t $TAG:pkg . --push
docker buildx build --platform $PLATFORM -f Dockerfile-toolchain -t $TAG:toolchain . --push

The difference is pkg is based on Ubuntu 24 (While be using official toolchain which happens to have compatible GLIBC) while toolchain is Ubuntu 22 (to allow lower GLIBC).

The build is finished, how to make it available to GitHub Pages?

First, make sure that there are files in gh-pages branch.

Go to settings, pages, Choose deploy from branch and set the branch as gh-pages.

What is id_ed25519.pub.toml?

It's a public key for pkg utils verifiying signatures in .pkgar files. By default, it's generated and changed every time you want to rebuild.

To persist it across builds, add PRIVATE_KEY and PUBLIC_KEY to action secrets. The value can be obtained from build/id_ed25519.toml and build/id_ed25519.pub.toml after doing local build.

Note that GitHub secrets can't have multi line so you need to replace it with commas. With that, the typical format for PRIVATE_KEY value should be:

salt = "XXX", nonce = "YYY", skey = "ZZZ"

Can I cook all recipes with GitHub CI?

Interesting question. The last build took 90 minutes with 25GB storage on /mnt storage. The GitHub CI is generous enough even without subscription. Free GitHub account gives you free 2000 minutes CI and apparently 70GB in /mnt storage. Just read here for GitHub runners.

Generally I think you can cook all recipes if you wish, but it will definitely take longer. Currently I don't cook compilers like LLVM, Cargo and RustPython or even other stuff like games because it's not necessary to me yet.

Of 90 minutes cook recipe from last build, it consist of 8 minutes building tooling and 7 minutes on fetching. It's counting about 66 recipes. The detailed timeline is this:

2025-06-09T00:41:32.5758317Z - start
2025-06-09T00:49:36.7999268Z - prefix done
2025-06-09T00:56:27.9442671Z - fetch.sh done
2025-06-09T02:09:39.2612776Z - repo.sh done
2025-06-09T02:09:47.8987185Z - done

How to do incremental build?

Incremental builds requires PRIVATE_KEY and PUBLIC_KEY set since initial full build. You can't set it after initial full build otherwise the public keys will be invalid for old pkgar files.

After pushing your own changes in the repo, you can run Run setup-partial.sh GitHub Action. There will be an input about list of recipes you want to update — for example if you put "nano vim" then the CI will run make prefix f.nano r.nano f.vim r.vim and updates the repo files and repo.toml accordingly.

How to extract pkgar files manually?

I think there's no tool for that yet, but I made online viewer for it.

About

Redox OS PKGAR Repository Builder

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Redox OS Builder on GitHub CI

Unofficial Redox OS Repository Builder, builds these in GitHub CI:

As of June 2025, Redox OS supports custom repository, see how.

Why?

  • I have forks and I wanted to test it without waiting the official build server
  • I don't want to compile heavy packages in my own laptop

Custom Pkg

I have prebuilt packages repos for myself on https://redox-build.wellosoft.net/pkg/.

To use my prebuilt package in existing RedoxOS:

  1. Download and run latest images
  2. Run sudo echo "https://redox-build.wellosoft.net/pkg/" > /etc/pkg.d/40_custom
  3. Run sudo pkg install ... any pkgs you want

To make your own version, please fork this repository.

Custom Toolchain

I have build toolchains for my own personal use:

  • x86_64 toolchain the toolchain for Intel/AMD linux compatible for Ubuntu/Pop! OS 22
  • aarch64 toolchain the toolchain for Podman in MacOS without Rosetta, or for other ARM based Linux

To use these toolchain in your Redox build system, please patch mk/prefix.mk:

-	wget -O $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/relibc-install.tar.gz"+	wget -O $@.partial "https://redox-build.wellosoft.net/toolchain-$(HOST_ARCH)/$(TARGET)/relibc-install.tar.gz"

And mk/config.mk (if your system is aarch64, also see guide for MacOS):

-ifneq ($(HOST_TARGET),x86_64-unknown-linux-gnu)- $(info The binary prefix is only built for x86_64 Linux hosts)+ifneq ($(HOST_TARGET),$(HOST_ARCH)-unknown-linux-gnu)+ $(info The binary prefix is only built for $(HOST_ARCH) Linux hosts)

FAQ

How to test this build system locally?

Fork, clone this repo, and run bash setup-full.sh.

I made a fork and made adjustments, how to retrigger build?

Go to Actions tab and enable CI there. Then, go to Run setup-full.sh and click Run Workflow.

Make sure the GitHub action has read and write access (the menu is in Settings > Actions > [scroll down] Read and write permissions).

How do I build my own Dockerfile?

I've built them this way:

env PLATFORM="linux/amd64,linux/arm64" TAG="willnode/redox-os-builder"
docker buildx build --platform $PLATFORM -f Dockerfile-pkg -t $TAG:pkg . --push
docker buildx build --platform $PLATFORM -f Dockerfile-toolchain -t $TAG:toolchain . --push

The difference is pkg is based on Ubuntu 24 (While be using official toolchain which happens to have compatible GLIBC) while toolchain is Ubuntu 22 (to allow lower GLIBC).

The build is finished, how to make it available to GitHub Pages?

First, make sure that there are files in gh-pages branch.

Go to settings, pages, Choose deploy from branch and set the branch as gh-pages.

What is id_ed25519.pub.toml?

It's a public key for pkg utils verifiying signatures in .pkgar files. By default, it's generated and changed every time you want to rebuild.

To persist it across builds, add PRIVATE_KEY and PUBLIC_KEY to action secrets. The value can be obtained from build/id_ed25519.toml and build/id_ed25519.pub.toml after doing local build.

Note that GitHub secrets can't have multi line so you need to replace it with commas. With that, the typical format for PRIVATE_KEY value should be:

salt = "XXX", nonce = "YYY", skey = "ZZZ"

Can I cook all recipes with GitHub CI?

Interesting question. The last build took 90 minutes with 25GB storage on /mnt storage. The GitHub CI is generous enough even without subscription. Free GitHub account gives you free 2000 minutes CI and apparently 70GB in /mnt storage. Just read here for GitHub runners.

Generally I think you can cook all recipes if you wish, but it will definitely take longer. Currently I don't cook compilers like LLVM, Cargo and RustPython or even other stuff like games because it's not necessary to me yet.

Of 90 minutes cook recipe from last build, it consist of 8 minutes building tooling and 7 minutes on fetching. It's counting about 66 recipes. The detailed timeline is this:

2025-06-09T00:41:32.5758317Z - start
2025-06-09T00:49:36.7999268Z - prefix done
2025-06-09T00:56:27.9442671Z - fetch.sh done
2025-06-09T02:09:39.2612776Z - repo.sh done
2025-06-09T02:09:47.8987185Z - done

How to do incremental build?

Incremental builds requires PRIVATE_KEY and PUBLIC_KEY set since initial full build. You can't set it after initial full build otherwise the public keys will be invalid for old pkgar files.

After pushing your own changes in the repo, you can run Run setup-partial.sh GitHub Action. There will be an input about list of recipes you want to update — for example if you put "nano vim" then the CI will run make prefix f.nano r.nano f.vim r.vim and updates the repo files and repo.toml accordingly.

How to extract pkgar files manually?

I think there's no tool for that yet, but I made online viewer for it.

About

Redox OS PKGAR Repository Builder

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Redox OS Builder on GitHub CI

Unofficial Redox OS Repository Builder, builds these in GitHub CI:

As of June 2025, Redox OS supports custom repository, see how.

Why?

  • I have forks and I wanted to test it without waiting the official build server
  • I don't want to compile heavy packages in my own laptop

Custom Pkg

I have prebuilt packages repos for myself on https://redox-build.wellosoft.net/pkg/.

To use my prebuilt package in existing RedoxOS:

  1. Download and run latest images
  2. Run sudo echo "https://redox-build.wellosoft.net/pkg/" > /etc/pkg.d/40_custom
  3. Run sudo pkg install ... any pkgs you want

To make your own version, please fork this repository.

Custom Toolchain

I have build toolchains for my own personal use:

  • x86_64 toolchain the toolchain for Intel/AMD linux compatible for Ubuntu/Pop! OS 22
  • aarch64 toolchain the toolchain for Podman in MacOS without Rosetta, or for other ARM based Linux

To use these toolchain in your Redox build system, please patch mk/prefix.mk:

-	wget -O $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/relibc-install.tar.gz"+	wget -O $@.partial "https://redox-build.wellosoft.net/toolchain-$(HOST_ARCH)/$(TARGET)/relibc-install.tar.gz"

And mk/config.mk (if your system is aarch64, also see guide for MacOS):

-ifneq ($(HOST_TARGET),x86_64-unknown-linux-gnu)- $(info The binary prefix is only built for x86_64 Linux hosts)+ifneq ($(HOST_TARGET),$(HOST_ARCH)-unknown-linux-gnu)+ $(info The binary prefix is only built for $(HOST_ARCH) Linux hosts)

FAQ

How to test this build system locally?

Fork, clone this repo, and run bash setup-full.sh.

I made a fork and made adjustments, how to retrigger build?

Go to Actions tab and enable CI there. Then, go to Run setup-full.sh and click Run Workflow.

Make sure the GitHub action has read and write access (the menu is in Settings > Actions > [scroll down] Read and write permissions).

How do I build my own Dockerfile?

I've built them this way:

env PLATFORM="linux/amd64,linux/arm64" TAG="willnode/redox-os-builder"
docker buildx build --platform $PLATFORM -f Dockerfile-pkg -t $TAG:pkg . --push
docker buildx build --platform $PLATFORM -f Dockerfile-toolchain -t $TAG:toolchain . --push

The difference is pkg is based on Ubuntu 24 (While be using official toolchain which happens to have compatible GLIBC) while toolchain is Ubuntu 22 (to allow lower GLIBC).

The build is finished, how to make it available to GitHub Pages?

First, make sure that there are files in gh-pages branch.

Go to settings, pages, Choose deploy from branch and set the branch as gh-pages.

What is id_ed25519.pub.toml?

It's a public key for pkg utils verifiying signatures in .pkgar files. By default, it's generated and changed every time you want to rebuild.

To persist it across builds, add PRIVATE_KEY and PUBLIC_KEY to action secrets. The value can be obtained from build/id_ed25519.toml and build/id_ed25519.pub.toml after doing local build.

Note that GitHub secrets can't have multi line so you need to replace it with commas. With that, the typical format for PRIVATE_KEY value should be:

salt = "XXX", nonce = "YYY", skey = "ZZZ"

Can I cook all recipes with GitHub CI?

Interesting question. The last build took 90 minutes with 25GB storage on /mnt storage. The GitHub CI is generous enough even without subscription. Free GitHub account gives you free 2000 minutes CI and apparently 70GB in /mnt storage. Just read here for GitHub runners.

Generally I think you can cook all recipes if you wish, but it will definitely take longer. Currently I don't cook compilers like LLVM, Cargo and RustPython or even other stuff like games because it's not necessary to me yet.

Of 90 minutes cook recipe from last build, it consist of 8 minutes building tooling and 7 minutes on fetching. It's counting about 66 recipes. The detailed timeline is this:

2025-06-09T00:41:32.5758317Z - start
2025-06-09T00:49:36.7999268Z - prefix done
2025-06-09T00:56:27.9442671Z - fetch.sh done
2025-06-09T02:09:39.2612776Z - repo.sh done
2025-06-09T02:09:47.8987185Z - done

How to do incremental build?

Incremental builds requires PRIVATE_KEY and PUBLIC_KEY set since initial full build. You can't set it after initial full build otherwise the public keys will be invalid for old pkgar files.

After pushing your own changes in the repo, you can run Run setup-partial.sh GitHub Action. There will be an input about list of recipes you want to update — for example if you put "nano vim" then the CI will run make prefix f.nano r.nano f.vim r.vim and updates the repo files and repo.toml accordingly.

How to extract pkgar files manually?

I think there's no tool for that yet, but I made online viewer for it.

About

Redox OS PKGAR Repository Builder

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Redox OS Builder on GitHub CI

Unofficial Redox OS Repository Builder, builds these in GitHub CI:

As of June 2025, Redox OS supports custom repository, see how.

Why?

  • I have forks and I wanted to test it without waiting the official build server
  • I don't want to compile heavy packages in my own laptop

Custom Pkg

I have prebuilt packages repos for myself on https://redox-build.wellosoft.net/pkg/.

To use my prebuilt package in existing RedoxOS:

  1. Download and run latest images
  2. Run sudo echo "https://redox-build.wellosoft.net/pkg/" > /etc/pkg.d/40_custom
  3. Run sudo pkg install ... any pkgs you want

To make your own version, please fork this repository.

Custom Toolchain

I have build toolchains for my own personal use:

  • x86_64 toolchain the toolchain for Intel/AMD linux compatible for Ubuntu/Pop! OS 22
  • aarch64 toolchain the toolchain for Podman in MacOS without Rosetta, or for other ARM based Linux

To use these toolchain in your Redox build system, please patch mk/prefix.mk:

-	wget -O $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/relibc-install.tar.gz"+	wget -O $@.partial "https://redox-build.wellosoft.net/toolchain-$(HOST_ARCH)/$(TARGET)/relibc-install.tar.gz"

And mk/config.mk (if your system is aarch64, also see guide for MacOS):

-ifneq ($(HOST_TARGET),x86_64-unknown-linux-gnu)- $(info The binary prefix is only built for x86_64 Linux hosts)+ifneq ($(HOST_TARGET),$(HOST_ARCH)-unknown-linux-gnu)+ $(info The binary prefix is only built for $(HOST_ARCH) Linux hosts)

FAQ

How to test this build system locally?

Fork, clone this repo, and run bash setup-full.sh.

I made a fork and made adjustments, how to retrigger build?

Go to Actions tab and enable CI there. Then, go to Run setup-full.sh and click Run Workflow.

Make sure the GitHub action has read and write access (the menu is in Settings > Actions > [scroll down] Read and write permissions).

How do I build my own Dockerfile?

I've built them this way:

env PLATFORM="linux/amd64,linux/arm64" TAG="willnode/redox-os-builder"
docker buildx build --platform $PLATFORM -f Dockerfile-pkg -t $TAG:pkg . --push
docker buildx build --platform $PLATFORM -f Dockerfile-toolchain -t $TAG:toolchain . --push

The difference is pkg is based on Ubuntu 24 (While be using official toolchain which happens to have compatible GLIBC) while toolchain is Ubuntu 22 (to allow lower GLIBC).

The build is finished, how to make it available to GitHub Pages?

First, make sure that there are files in gh-pages branch.

Go to settings, pages, Choose deploy from branch and set the branch as gh-pages.

What is id_ed25519.pub.toml?

It's a public key for pkg utils verifiying signatures in .pkgar files. By default, it's generated and changed every time you want to rebuild.

To persist it across builds, add PRIVATE_KEY and PUBLIC_KEY to action secrets. The value can be obtained from build/id_ed25519.toml and build/id_ed25519.pub.toml after doing local build.

Note that GitHub secrets can't have multi line so you need to replace it with commas. With that, the typical format for PRIVATE_KEY value should be:

salt = "XXX", nonce = "YYY", skey = "ZZZ"

Can I cook all recipes with GitHub CI?

Interesting question. The last build took 90 minutes with 25GB storage on /mnt storage. The GitHub CI is generous enough even without subscription. Free GitHub account gives you free 2000 minutes CI and apparently 70GB in /mnt storage. Just read here for GitHub runners.

Generally I think you can cook all recipes if you wish, but it will definitely take longer. Currently I don't cook compilers like LLVM, Cargo and RustPython or even other stuff like games because it's not necessary to me yet.

Of 90 minutes cook recipe from last build, it consist of 8 minutes building tooling and 7 minutes on fetching. It's counting about 66 recipes. The detailed timeline is this:

2025-06-09T00:41:32.5758317Z - start
2025-06-09T00:49:36.7999268Z - prefix done
2025-06-09T00:56:27.9442671Z - fetch.sh done
2025-06-09T02:09:39.2612776Z - repo.sh done
2025-06-09T02:09:47.8987185Z - done

How to do incremental build?

Incremental builds requires PRIVATE_KEY and PUBLIC_KEY set since initial full build. You can't set it after initial full build otherwise the public keys will be invalid for old pkgar files.

After pushing your own changes in the repo, you can run Run setup-partial.sh GitHub Action. There will be an input about list of recipes you want to update — for example if you put "nano vim" then the CI will run make prefix f.nano r.nano f.vim r.vim and updates the repo files and repo.toml accordingly.

How to extract pkgar files manually?

I think there's no tool for that yet, but I made online viewer for it.

About

Redox OS PKGAR Repository Builder

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Redox OS Builder on GitHub CI

Unofficial Redox OS Repository Builder, builds these in GitHub CI:

As of June 2025, Redox OS supports custom repository, see how.

Why?

  • I have forks and I wanted to test it without waiting the official build server
  • I don't want to compile heavy packages in my own laptop

Custom Pkg

I have prebuilt packages repos for myself on https://redox-build.wellosoft.net/pkg/.

To use my prebuilt package in existing RedoxOS:

  1. Download and run latest images
  2. Run sudo echo "https://redox-build.wellosoft.net/pkg/" > /etc/pkg.d/40_custom
  3. Run sudo pkg install ... any pkgs you want

To make your own version, please fork this repository.

Custom Toolchain

I have build toolchains for my own personal use:

  • x86_64 toolchain the toolchain for Intel/AMD linux compatible for Ubuntu/Pop! OS 22
  • aarch64 toolchain the toolchain for Podman in MacOS without Rosetta, or for other ARM based Linux

To use these toolchain in your Redox build system, please patch mk/prefix.mk:

-	wget -O $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/relibc-install.tar.gz"+	wget -O $@.partial "https://redox-build.wellosoft.net/toolchain-$(HOST_ARCH)/$(TARGET)/relibc-install.tar.gz"

And mk/config.mk (if your system is aarch64, also see guide for MacOS):

-ifneq ($(HOST_TARGET),x86_64-unknown-linux-gnu)- $(info The binary prefix is only built for x86_64 Linux hosts)+ifneq ($(HOST_TARGET),$(HOST_ARCH)-unknown-linux-gnu)+ $(info The binary prefix is only built for $(HOST_ARCH) Linux hosts)

FAQ

How to test this build system locally?

Fork, clone this repo, and run bash setup-full.sh.

I made a fork and made adjustments, how to retrigger build?

Go to Actions tab and enable CI there. Then, go to Run setup-full.sh and click Run Workflow.

Make sure the GitHub action has read and write access (the menu is in Settings > Actions > [scroll down] Read and write permissions).

How do I build my own Dockerfile?

I've built them this way:

env PLATFORM="linux/amd64,linux/arm64" TAG="willnode/redox-os-builder"
docker buildx build --platform $PLATFORM -f Dockerfile-pkg -t $TAG:pkg . --push
docker buildx build --platform $PLATFORM -f Dockerfile-toolchain -t $TAG:toolchain . --push

The difference is pkg is based on Ubuntu 24 (While be using official toolchain which happens to have compatible GLIBC) while toolchain is Ubuntu 22 (to allow lower GLIBC).

The build is finished, how to make it available to GitHub Pages?

First, make sure that there are files in gh-pages branch.

Go to settings, pages, Choose deploy from branch and set the branch as gh-pages.

What is id_ed25519.pub.toml?

It's a public key for pkg utils verifiying signatures in .pkgar files. By default, it's generated and changed every time you want to rebuild.

To persist it across builds, add PRIVATE_KEY and PUBLIC_KEY to action secrets. The value can be obtained from build/id_ed25519.toml and build/id_ed25519.pub.toml after doing local build.

Note that GitHub secrets can't have multi line so you need to replace it with commas. With that, the typical format for PRIVATE_KEY value should be:

salt = "XXX", nonce = "YYY", skey = "ZZZ"

Can I cook all recipes with GitHub CI?

Interesting question. The last build took 90 minutes with 25GB storage on /mnt storage. The GitHub CI is generous enough even without subscription. Free GitHub account gives you free 2000 minutes CI and apparently 70GB in /mnt storage. Just read here for GitHub runners.

Generally I think you can cook all recipes if you wish, but it will definitely take longer. Currently I don't cook compilers like LLVM, Cargo and RustPython or even other stuff like games because it's not necessary to me yet.

Of 90 minutes cook recipe from last build, it consist of 8 minutes building tooling and 7 minutes on fetching. It's counting about 66 recipes. The detailed timeline is this:

2025-06-09T00:41:32.5758317Z - start
2025-06-09T00:49:36.7999268Z - prefix done
2025-06-09T00:56:27.9442671Z - fetch.sh done
2025-06-09T02:09:39.2612776Z - repo.sh done
2025-06-09T02:09:47.8987185Z - done

How to do incremental build?

Incremental builds requires PRIVATE_KEY and PUBLIC_KEY set since initial full build. You can't set it after initial full build otherwise the public keys will be invalid for old pkgar files.

After pushing your own changes in the repo, you can run Run setup-partial.sh GitHub Action. There will be an input about list of recipes you want to update — for example if you put "nano vim" then the CI will run make prefix f.nano r.nano f.vim r.vim and updates the repo files and repo.toml accordingly.

How to extract pkgar files manually?

I think there's no tool for that yet, but I made online viewer for it.

About

Redox OS PKGAR Repository Builder

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Redox OS Builder on GitHub CI

Unofficial Redox OS Repository Builder, builds these in GitHub CI:

As of June 2025, Redox OS supports custom repository, see how.

Why?

  • I have forks and I wanted to test it without waiting the official build server
  • I don't want to compile heavy packages in my own laptop

Custom Pkg

I have prebuilt packages repos for myself on https://redox-build.wellosoft.net/pkg/.

To use my prebuilt package in existing RedoxOS:

  1. Download and run latest images
  2. Run sudo echo "https://redox-build.wellosoft.net/pkg/" > /etc/pkg.d/40_custom
  3. Run sudo pkg install ... any pkgs you want

To make your own version, please fork this repository.

Custom Toolchain

I have build toolchains for my own personal use:

  • x86_64 toolchain the toolchain for Intel/AMD linux compatible for Ubuntu/Pop! OS 22
  • aarch64 toolchain the toolchain for Podman in MacOS without Rosetta, or for other ARM based Linux

To use these toolchain in your Redox build system, please patch mk/prefix.mk:

-	wget -O $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/relibc-install.tar.gz"+	wget -O $@.partial "https://redox-build.wellosoft.net/toolchain-$(HOST_ARCH)/$(TARGET)/relibc-install.tar.gz"

And mk/config.mk (if your system is aarch64, also see guide for MacOS):

-ifneq ($(HOST_TARGET),x86_64-unknown-linux-gnu)- $(info The binary prefix is only built for x86_64 Linux hosts)+ifneq ($(HOST_TARGET),$(HOST_ARCH)-unknown-linux-gnu)+ $(info The binary prefix is only built for $(HOST_ARCH) Linux hosts)

FAQ

How to test this build system locally?

Fork, clone this repo, and run bash setup-full.sh.

I made a fork and made adjustments, how to retrigger build?

Go to Actions tab and enable CI there. Then, go to Run setup-full.sh and click Run Workflow.

Make sure the GitHub action has read and write access (the menu is in Settings > Actions > [scroll down] Read and write permissions).

How do I build my own Dockerfile?

I've built them this way:

env PLATFORM="linux/amd64,linux/arm64" TAG="willnode/redox-os-builder"
docker buildx build --platform $PLATFORM -f Dockerfile-pkg -t $TAG:pkg . --push
docker buildx build --platform $PLATFORM -f Dockerfile-toolchain -t $TAG:toolchain . --push

The difference is pkg is based on Ubuntu 24 (While be using official toolchain which happens to have compatible GLIBC) while toolchain is Ubuntu 22 (to allow lower GLIBC).

The build is finished, how to make it available to GitHub Pages?

First, make sure that there are files in gh-pages branch.

Go to settings, pages, Choose deploy from branch and set the branch as gh-pages.

What is id_ed25519.pub.toml?

It's a public key for pkg utils verifiying signatures in .pkgar files. By default, it's generated and changed every time you want to rebuild.

To persist it across builds, add PRIVATE_KEY and PUBLIC_KEY to action secrets. The value can be obtained from build/id_ed25519.toml and build/id_ed25519.pub.toml after doing local build.

Note that GitHub secrets can't have multi line so you need to replace it with commas. With that, the typical format for PRIVATE_KEY value should be:

salt = "XXX", nonce = "YYY", skey = "ZZZ"

Can I cook all recipes with GitHub CI?

Interesting question. The last build took 90 minutes with 25GB storage on /mnt storage. The GitHub CI is generous enough even without subscription. Free GitHub account gives you free 2000 minutes CI and apparently 70GB in /mnt storage. Just read here for GitHub runners.

Generally I think you can cook all recipes if you wish, but it will definitely take longer. Currently I don't cook compilers like LLVM, Cargo and RustPython or even other stuff like games because it's not necessary to me yet.

Of 90 minutes cook recipe from last build, it consist of 8 minutes building tooling and 7 minutes on fetching. It's counting about 66 recipes. The detailed timeline is this:

2025-06-09T00:41:32.5758317Z - start
2025-06-09T00:49:36.7999268Z - prefix done
2025-06-09T00:56:27.9442671Z - fetch.sh done
2025-06-09T02:09:39.2612776Z - repo.sh done
2025-06-09T02:09:47.8987185Z - done

How to do incremental build?

Incremental builds requires PRIVATE_KEY and PUBLIC_KEY set since initial full build. You can't set it after initial full build otherwise the public keys will be invalid for old pkgar files.

After pushing your own changes in the repo, you can run Run setup-partial.sh GitHub Action. There will be an input about list of recipes you want to update — for example if you put "nano vim" then the CI will run make prefix f.nano r.nano f.vim r.vim and updates the repo files and repo.toml accordingly.

How to extract pkgar files manually?

I think there's no tool for that yet, but I made online viewer for it.

About

Redox OS PKGAR Repository Builder

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages