{"id":22147350,"url":"https://github.com/madand/runit-services","last_synced_at":"2025-07-26T02:31:48.496Z","repository":{"id":42664968,"uuid":"160995829","full_name":"madand/runit-services","owner":"madand","description":"Runit service scripts","archived":false,"fork":false,"pushed_at":"2023-01-17T22:23:46.000Z","size":46,"stargazers_count":84,"open_issues_count":0,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-07-30T19:53:46.383Z","etag":null,"topics":["backlight","colord","mpd","picom","pipewire","psd","redshift","runit","safeeyes","syncthing","thinkfan","wireplumber"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/madand.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-09T02:07:43.000Z","updated_at":"2024-07-29T10:55:47.000Z","dependencies_parsed_at":"2023-02-10T12:16:56.444Z","dependency_job_id":null,"html_url":"https://github.com/madand/runit-services","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madand%2Frunit-services","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madand%2Frunit-services/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madand%2Frunit-services/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madand%2Frunit-services/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/madand","download_url":"https://codeload.github.com/madand/runit-services/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227642190,"owners_count":17797850,"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","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":["backlight","colord","mpd","picom","pipewire","psd","redshift","runit","safeeyes","syncthing","thinkfan","wireplumber"],"created_at":"2024-12-01T23:16:47.807Z","updated_at":"2024-12-01T23:16:48.308Z","avatar_url":"https://github.com/madand.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"runit-services\n==============\n\nCollection of [runit](http://smarden.org/runit/) service scripts missing from\nthe ~~Arch~~ [Artix Linux](https://artixlinux.org/) repos.\n\nTable of Contents\n-----------------\n1. [System (root) Services](#system-services)\n2. [User (Session) Services](#user-services)\n3. [Runit Tips \u0026 Tricks](#runit-tips-tricks)\n4. [License](#license)\n\n\u003ca name=\"system-services\"\u003e\u003c/a\u003e\nSystem (root) Services\n----------------------\n\n### backlight\n\nPreserve the current display backlight level between reboots.\n\n### colord\n\n[colord](https://www.freedesktop.org/software/colord/) is a system service that\nmakes it easy to manage, install and generate color profiles to accurately color\nmanage input and output devices.\n\n### psd\n\n[Profile Sync Daemon](https://github.com/graysky2/profile-sync-daemon): symlinks\nand syncs browser profile dirs to RAM thus reducing HDD/SDD calls and\nspeeding-up browsers.\n\nWorks only with PSD v5.x, since v6+ they went systemd-only way.\n\n### thinkfan\n\n[thinkfan](https://github.com/vmatare/thinkfan): the minimalist fan control\nprogram.\n\n\u003ca name=\"user-services\"\u003e\u003c/a\u003e\nUser (Session) Services\n-----------------------\n\nThe services in this section depend on user session (X11 or otherwise) to be\ninitialized to be run. Moreover, some services can form dependency chains\n(e.g. pipewire). For dependency checking, scripts assume certain installation\npath, namely `~/.runit/sv`. For more info see the section\n[How to Use User Session Services](#how-to-user-svc).\n\n### mpd\n\n[Music Player Daemon](https://github.com/MusicPlayerDaemon/MPD): a daemon for\nplaying music of various formats.\n\nNote that the script `mpd/run` depends on `pipewire-pulse` service (see below).\nIf you don't use PipeWire, you need to delete or comment out the line\n`sv check ...`  in `mpd/run` file.\n\n### redshift\n\n[Redshift](https://github.com/jonls/redshift) adjusts the color temperature of\nyour screen according to your surroundings. This may help your eyes hurt less if\nyou are working in front of the screen at night.\n\n### safeeyes\n\n[Safe Eyes](https://slgobinath.github.io/SafeEyes/) is a Free and Open\nSource tool for Linux users to reduce and prevent repetitive strain injury\n(RSI).\n\n### syncthing\n\n[Syncthing](https://github.com/syncthing/syncthing) is a continuous file\nsynchronization program.\n\n### picom\n\n[picom](https://github.com/yshui/picom) is a compositor for X, and a fork of\nCompton.\n\n### btpd\n[btpd](https://github.com/btpd/btpd) is a BitTorrent client\nfor linux.\n\n### pipewire\n\n[PipeWire](https://pipewire.org/) is a project that aims to greatly improve\nhandling of audio and video under Linux. [WirePlumber](https://pipewire.pages.freedesktop.org/wireplumber/) is a modular session / policy manager for PipeWire. `pipewire-pulse` is a drop-in replacement for the PulseAudio daemon.\n\nNote that the PipeWire services are supposed to be run with a user session.\nMoreover, they form a startup dependency chain (`pipewire` -\u003e\n`wireplumber` -\u003e `pipewire-pulse`). So if you want to use\n`pipewire-pulse`, make sure that the other two are also installed and enabled.\n\nThe `pipewire-pulse/run` and `wireplumber/run` scripts assume certain directory\nstructure for checking their dependency. If you store your local services under\na different directory, you need to modify the `sv check` line in\n`wireplumber/run` and `pipewire-pulse/run` accordingly.\n\nSee the next section for the details on how to install and activate the pipewire\nservices.\n\n\u003ca name=\"runit-tips-tricks\"\u003e\u003c/a\u003e\nRunit Tips \u0026 Tricks\n-------------------\n\n\u003ca name=\"how-to-user-svc\"\u003e\u003c/a\u003e\n### How to Use User Session Services\n\n``` shell\nmkdir -p ~/.runit/{sv,runsvdir}\ncp -r /path/to/cloned/services/{wireplumber,pipewire{,-pulse}} ~/.runit/sv\n# Enable the services\nln -s ~/.runit/sv/pipewire ~/.runit/runsvdir/pipewire\nln -s ~/.runit/sv/wireplumber ~/.runit/runsvdir/wireplumber\nln -s ~/.runit/sv/pipewire-pulse ~/.runit/runsvdir/pipewire-pulse\n```\n\nFinally, use `runsvdir` to start the services:\n``` shell\nrunsvdir ~/.runit/runsvdir\n```\n\nIn order to start the services automatically upon login, you may want to add\nthe previous command to your `~/.xinitrc` or create a corresponding `.desktop`\nfile in `~/.config/autostart/`.\n\n### Properly restarting logger sub-service\n\nWhen you edit the logger script (e.g. `colord/log/run`) or otherwise change\nthe logger configuration (e.g. change the value of the variable `LOGGING_ENABLE`\nin `colord/conf`), you need to properly restart *both* the service and its\nlogger sub-service. This is because Runit uses a pipe between the main service\nprocess and the logger, so merely doing `sv restart colord/log` wont do the\ntrick.\n\nRunit's `exit` command kills both the service and its logger. Here is how to do\nit with a system service:\n\n``` shell\nsv exit colord\n# The following is redundant, if you use runsvdir(1) to manage the service tree.\nsv up colord\n```\n\nThe same with a user session service:\n\n``` shell\nsv exit ~/.runit/sv/mpd\n# The following is redundant, if you use runsvdir(1) to manage the service tree.\nsv up ~/.runit/sv/mpd\n```\n\n\u003ca name=\"license\"\u003e\u003c/a\u003e\nLicense\n-------\n\n[CC0](https://creativecommons.org/publicdomain/zero/1.0/) / Public Domain\n\n[![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadand%2Frunit-services","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmadand%2Frunit-services","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadand%2Frunit-services/lists"}