{"adoption": {"forks": 91, "observed_at": "2026-08-28T04:05:59.087994+00:00", "stars": 1956}, "canonical_url": "https://ross.abutalabs.com/products/wsl-distrod", "card": {"archived": false, "artifact_type": "application", "description": "Distrod is a meta-distro for WSL 2 which installs Ubuntu, Arch, Debian, Gentoo, etc. with systemd in a minute for you. Distrod also has built-in auto-start feature on Windows startup and port forwarding ability.", "domain": ["operating-systems", "developer-tools", "self-hosted"], "enriched": true, "function": ["configuration-management", "deployment", "cli", "self-hosted"], "health_score": 47, "homepage": null, "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["nullpo-head/wsl-distrod"], "name": "nullpo-head/wsl-distrod", "platform": ["windows", "cli", "rust"], "pushed_at": "2025-10-05T14:06:36+00:00", "repo": "nullpo-head/wsl-distrod", "stars": 1956, "tags": ["wsl2", "systemd", "windows-subsystem-for-linux", "distro-installer", "port-forwarding", "auto-start", "command-line", "linux"], "topics": ["wsl", "wsl2", "wsl-environment", "wsl-installation", "ubuntu", "arch-linux", "debian", "gentoo", "rockylinux", "almalinux", "centos", "fedora", "linuxmint", "amazonlinux", "oraclelinux"], "urls": [], "use_cases": ["run systemd inside wsl 2", "install arch linux on wsl2 with systemd", "make my existing wsl distro run systemd", "start wsl services automatically on windows boot", "expose ssh server in wsl to the local network", "install any linuxcontainers.org image as a wsl distro"], "what_it_is": "Distrod is a meta-distribution installer for WSL 2 that lets users install Linux distros like Ubuntu, Arch, Debian, and Gentoo with systemd enabled in about a minute, or add systemd to an existing WSL distro. It also provides auto-start on Windows boot and a port forwarding service to expose Linux services outside Windows.", "when_to_avoid": ["you are on native Linux or a non-Windows environment", "you only need WSL 1, since Distrod targets WSL 2", "you are satisfied with the built-in systemd support in recent WSL versions", "you need a GUI desktop Linux environment rather than service management"], "when_to_choose": ["you need systemd-managed services in WSL 2 on Windows 10 or 11", "you want a quick one-click install of various Linux distros on WSL", "you want WSL distros and their services to start automatically at Windows boot", "you need to forward ports from WSL to outside Windows"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/wsl-distrod", "repo": "nullpo-head/wsl-distrod", "role": "main", "score": 43}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:06:14.111956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1df727caa3a442ae11e55a4b4f4c165c1b7a8a19f6b0c9c9c653c3cca6b0d0", "fetched_at": "2026-08-28T04:05:59.087994+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nullpo-head/wsl-distrod"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:06:14.111956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1df727caa3a442ae11e55a4b4f4c165c1b7a8a19f6b0c9c9c653c3cca6b0d0", "fetched_at": "2026-08-28T04:05:59.087994+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nullpo-head/wsl-distrod"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:06:14.111956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1df727caa3a442ae11e55a4b4f4c165c1b7a8a19f6b0c9c9c653c3cca6b0d0", "fetched_at": "2026-08-28T04:05:59.087994+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nullpo-head/wsl-distrod"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:06:14.111956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1df727caa3a442ae11e55a4b4f4c165c1b7a8a19f6b0c9c9c653c3cca6b0d0", "fetched_at": "2026-08-28T04:05:59.087994+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nullpo-head/wsl-distrod"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:06:14.111956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1df727caa3a442ae11e55a4b4f4c165c1b7a8a19f6b0c9c9c653c3cca6b0d0", "fetched_at": "2026-08-28T04:05:59.087994+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nullpo-head/wsl-distrod"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:06:14.111956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1df727caa3a442ae11e55a4b4f4c165c1b7a8a19f6b0c9c9c653c3cca6b0d0", "fetched_at": "2026-08-28T04:05:59.087994+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nullpo-head/wsl-distrod"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.087994+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:06:14.111956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1df727caa3a442ae11e55a4b4f4c165c1b7a8a19f6b0c9c9c653c3cca6b0d0", "fetched_at": "2026-08-28T04:05:59.087994+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nullpo-head/wsl-distrod"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:06:14.111956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1df727caa3a442ae11e55a4b4f4c165c1b7a8a19f6b0c9c9c653c3cca6b0d0", "fetched_at": "2026-08-28T04:05:59.087994+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nullpo-head/wsl-distrod"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:06:14.111956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1df727caa3a442ae11e55a4b4f4c165c1b7a8a19f6b0c9c9c653c3cca6b0d0", "fetched_at": "2026-08-28T04:05:59.087994+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nullpo-head/wsl-distrod"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:06:14.111956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1df727caa3a442ae11e55a4b4f4c165c1b7a8a19f6b0c9c9c653c3cca6b0d0", "fetched_at": "2026-08-28T04:05:59.087994+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nullpo-head/wsl-distrod"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 45, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1929, "days_push": 332, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 43, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}