{"id":18083604,"url":"https://github.com/akirak/helm-linux-disks","last_synced_at":"2025-08-08T07:06:21.493Z","repository":{"id":88818462,"uuid":"129954058","full_name":"akirak/helm-linux-disks","owner":"akirak","description":"Emacs Helm interface for mounting removable disks in Linux","archived":false,"fork":false,"pushed_at":"2020-01-21T17:26:09.000Z","size":22,"stargazers_count":11,"open_issues_count":6,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-08T05:48:12.846Z","etag":null,"topics":["emacs-lisp","linux","mounting","udisks"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akirak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2018-04-17T19:20:32.000Z","updated_at":"2022-06-17T06:35:29.000Z","dependencies_parsed_at":"2023-06-12T19:00:31.698Z","dependency_job_id":null,"html_url":"https://github.com/akirak/helm-linux-disks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/akirak/helm-linux-disks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akirak%2Fhelm-linux-disks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akirak%2Fhelm-linux-disks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akirak%2Fhelm-linux-disks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akirak%2Fhelm-linux-disks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akirak","download_url":"https://codeload.github.com/akirak/helm-linux-disks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akirak%2Fhelm-linux-disks/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269379119,"owners_count":24407355,"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-08-08T02:00:09.200Z","response_time":72,"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":["emacs-lisp","linux","mounting","udisks"],"created_at":"2024-10-31T14:08:56.998Z","updated_at":"2025-08-08T07:06:21.485Z","avatar_url":"https://github.com/akirak.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/akirak/helm-linux-disks.svg?branch=master)](https://travis-ci.org/akirak/helm-linux-disks)\n\n# helm-linux-disks\n\n[udiskie](https://github.com/coldfix/udiskie) is a useful program for mounting/unmounting removable devices in Linux, but it doesn't support LVM at present. This `helm-linux-disks` package provides an alternative, manual interface for mounting volumes in Linux through udisks2 with minimal support for LVM. \n\n## Features\n\n- Display a hierarchy of block devices using `lsblk` command\n- Use `udisksctl` command to run a bunch of operations on a device\n  - Mount/unmount a file system\n    - Kill Emacs buffers under its mount point before unmounting the file system\n  - Lock/unlock a dm-crypted device\n  - Power off a device\n- Primitive support for LVM which helps you handle a LVM-on-LUKS device\n  - Activate/deactivate a LVM volume group\n- Run dired on the mount point of a device\n- Run terminal on the mount point of a device\n- You can operate on multiple devices without closing the Helm window through `helm-execute-persistent-action`\n\n## Prerequisites\n\n- Emacs 25.1\n- Helm\n- [udisks2](https://wiki.archlinux.org/index.php/Udisks) package and `udisksctl` command\n\nBecause udisks2 is specific to Linux, `helm-linux-disks` is for Linux.\n\n## Installation\n\nThis package is not available on MELPA. Maybe it will never be on MELPA because it is limited to Linux? Use Quelpa or something to install the package from this repository.\n\nTo perform an actual mount/unmount operation on a device, `udisksd` daemon must be running. See [this tutorial](https://wiki.archlinux.org/index.php/Udisks) for information.\n\n## Usage\n\n[udiskie](https://github.com/coldfix/udiskie) is an easier, automatic way to **mount** removable devices. helm-linux-disks may be useful when you **unmount** a device.\n\nThe main entry point is `helm-linux-disks` command, which is a Helm interface displaying a list of devices.\n\n### Operations on a lsblk entry\n\nThe primary Helm source of the command displays entries from `lsblk` command.\n\nIt supports various operations on the selected device or on the mount point of the device:\n\n- \"Dwim\" action, i.e. mount/unmount, lock/unlock, or power off the entire device depending on the type and state of the entry\n- Run dired\n- Run a terminal\n- Display information\n\nThe type of the terminal is customizable as `linux-disk-terminal-type` variable.\n\n### Operations on a LVM volume group\n\nThe secondary Helm source of the command displays a list of LVM volume groups. The following operations on a selected volume group are supported:\n\n- Deactivate all the logical volumes in the volume group (default)\n- Activate all the logical volumes in the volume group\n- Display information on the volume group\n\nNote that there is no dwim action for a volume group. The default action deactivates all the logical volumes in the group, so use it with caution. This is because the LVM support is primarily intended for removing a device.\n\n### Multiple operations\n\nBecause `helm-linux-disks` is based on Helm, the following commands are supported in the session:\n\n- `helm-execute-persistent-action` (default `C-j`) runs the default action but keep the Helm window open\n- `helm-refresh` (default `C-c C-u`) refresh contents in the Helm buffer\n\nThis can be especially useful in removing a device. For example, if you have to remove a storage device `/dev/sdb` containing a file system `/dev/sdb1` which is currently mounted at somewhere, you can take the following steps in `helm-linux-disks`:\n\n1. Move the cursor to `/dev/sdb1`.\n2. `C-j` to unmount the file system.\n3. `C-c C-u` to refresh the list.\n4. Move the cursor to `/dev/sdb`.\n5. `C-j` to power off the device.\n6. Close the Helm window.\n\nLikewise, you can take a similar process to remove a crypted device:\n\n1. Unmount the file system.\n2. Lock the device.\n3. Power off the device.\n\nYou can even operate on a device with an encrypted partition containing a LVM physical volume:\n\n1. Unmount the file systems in the device.\n2. Deactivate the corresponding volume group.\n3. Lock the device.\n4. Power off the device.\n\nNote that the pattern of running `C-j` (`helm-execute-persistent-action`) and `C-c C-u` (`helm-refresh`) in sequence is so common when you use `helm-linux-disks`.\n\n## Non-goals\n\nThe following goals are **not** supported by this utility:\n\n- Create/remove/shrink/expand a file system: You can use GParted (or a command line) for those tasks. However, `helm-linux-disks` can help mount/unmount file systems.\n- Mac or Windows support: They won't be supported because those platforms have neither `lsblk` nor udisks2. Because `helm-linux-disks` is basically a wrapper around `lsblk` and `udisksctl`, supporting platforms with none of those means re-implementing most parts of the package. And I suppose those platforms already have a good GUI utility for the purpose.\n\n## Alternatives\n\nThe following volume mounters are known to exist for Linux:\n\n- [udiskie](https://github.com/coldfix/udiskie)\n- [GNOME Disks](https://en.wikipedia.org/wiki/GNOME_Disks)\n\n## License\n\nGPL v3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakirak%2Fhelm-linux-disks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakirak%2Fhelm-linux-disks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakirak%2Fhelm-linux-disks/lists"}