{"id":17300189,"url":"https://github.com/dankamongmen/growlight","last_synced_at":"2025-10-14T10:39:03.036Z","repository":{"id":3345937,"uuid":"4390624","full_name":"dankamongmen/growlight","owner":"dankamongmen","description":"notcurses block device manager / system installation tool","archived":false,"fork":false,"pushed_at":"2025-02-18T12:38:17.000Z","size":5364,"stargazers_count":86,"open_issues_count":42,"forks_count":12,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-19T22:11:37.564Z","etag":null,"topics":["blockdevice","filesystem","notcurses","readline"],"latest_commit_sha":null,"homepage":"https://nick-black.com/dankwiki/index.php/Growlight","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"computerlyrik/chef-prosody","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dankamongmen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"dankamongmen"}},"created_at":"2012-05-21T06:39:00.000Z","updated_at":"2025-02-18T12:38:21.000Z","dependencies_parsed_at":"2025-01-15T02:20:37.055Z","dependency_job_id":"7f5603a4-411e-4c22-b988-13c53c98bdf6","html_url":"https://github.com/dankamongmen/growlight","commit_stats":null,"previous_names":[],"tags_count":93,"template":false,"template_full_name":null,"purl":"pkg:github/dankamongmen/growlight","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dankamongmen%2Fgrowlight","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dankamongmen%2Fgrowlight/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dankamongmen%2Fgrowlight/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dankamongmen%2Fgrowlight/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dankamongmen","download_url":"https://codeload.github.com/dankamongmen/growlight/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dankamongmen%2Fgrowlight/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018782,"owners_count":26086452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockdevice","filesystem","notcurses","readline"],"created_at":"2024-10-15T11:26:36.376Z","updated_at":"2025-10-14T10:39:02.999Z","avatar_url":"https://github.com/dankamongmen.png","language":"C","funding_links":["https://github.com/sponsors/dankamongmen"],"categories":[],"sub_categories":[],"readme":"# growlight by nick black (nickblack@linux.com)\n\nBlock device manager and system installation tool.\n\nhttps://nick-black.com/dankwiki/index.php/Growlight\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"606\" height=\"600\" src=\"doc/growlight-1.2.8.png\"/\u003e\n\u003c/p\u003e\n\n[![Build Status](https://drone.dsscaw.com:4443/api/badges/dankamongmen/growlight/status.svg)](https://drone.dsscaw.com:4443/dankamongmen/growlight)\n\n\u003ca href=\"https://repology.org/project/growlight/versions\"\u003e\n \u003cimg src=\"https://repology.org/badge/vertical-allrepos/growlight.svg\" alt=\"Packaging status\" align=\"right\"\u003e\n\u003c/a\u003e\n\nDependencies:\n\n - libatasmart 0.19+\n - libblkid 2.20.1\n - libcap 2.24+\n - libcryptsetup 2.1.5+\n - libdevmapper 1.02.74+\n - libnettle 3.5.1+\n - libnotcurses 3.0.5+\n - libpci 3.1.9+\n - libpciaccess 0.13.1+\n - libudev 175+\n - libz 1.2.11+\n - mkswap(8) from util-linux\n - badblocks(8), mkfs.ext4(8), mkfs.ext3(8), mkfs.ext2(8) from e2fsprogs\n\nKernel options:\n\n - CONFIG_DM_CRYPT (for device mapper encrypt aka LUKS)\n - CONFIG_MD_RAID* (for MDRAID)\n - CONFIG_MSDOS_PARTITION (for msdos partition tables)\n - CONFIG_EFI_PARTITION (for GPT partition tables)\n ... almost certainly more\n\nBuild-only dependencies:\n\n - pkg-config 0.29+\n - cmake 3.14+\n - pandoc 2.9.2.1+ (if building man pages)\n - doctest 2.3.5+ (if building unit tests)\n\nBuilding:\n\n - mkdir build \u0026\u0026 cd build\n - cmake ..\n - make\n - (optionally) make check\n\n### User's guide\n\nIn almost all cases, growlight needs to be run as root. It will attempt to\nstart otherwise, but will generally be unable to discover or manipulate disks.\nYou'll definitely need at least `CAP_SYS_RAWIO` and `CAP_SYS_ADMIN`.\n\nHelp can be found by pressing 'H' or 'F1' in `growlight`, or running `help`\nin `growlight-readline`.\n\ngrowlight's first action is to install inotify watches in several directories,\nand then enumerate the current devices by walking same (`/sys/class/block`,\netc.). This way, it immediately learns of devices added or removed after\nstartup. growlight discovers block devices via these directories, and through\nthose block devices finds controllers. Controllers which do not have block\ndevices attaches will thus not generally be found (growlight will remain aware\nof an adapter from which all devices are removed while it's running).\n\nThe highest level of structure in growlight is the controller (\"controller\" and\n\"adapter\" are used interchangeably in growlight). A virtual controller is also\ndefined, to collect various virtual devices (especially aggregates). In the\nfullscreen view, controllers are boxes labeled by their type, bus path, and\nbandwidth. Below, we see a machine with one SATA SSD, a dmcrypt device mapper\nblock built atop that, and an unloaded SD card reader hanging off USB 3.0:\n\nNavigate among the adapters using PgUp and PgDn. Bring up the details subscreen\nwith `v` to see full details about the adapter (along with other information).\nWithin an adapter, up and down moves between block devices, and left and right\nmove between partitions. Vi keys are also supported.\n\nIn the readline mode, adapters are listed via the `adapter` command (`-v` can\nbe provided to `adapter` for full details of attached devices and filesystems):\n\n```\n[growlight](0)\u003e adapter\n[ahci-0] Southbridge device 0000:00.17.0\n Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode]\nVirtual devices\n[xhci_pci-0] Southbridge device 0000:00.14.0\n Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller\n[growlight](0)\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdankamongmen%2Fgrowlight","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdankamongmen%2Fgrowlight","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdankamongmen%2Fgrowlight/lists"}