{"id":32556660,"url":"https://github.com/szaffarano/wofi-power-menu","last_synced_at":"2025-10-28T22:58:22.694Z","repository":{"id":229490020,"uuid":"776871258","full_name":"szaffarano/wofi-power-menu","owner":"szaffarano","description":"Highly configurable power menu using the wofi launcher power-menu","archived":false,"fork":false,"pushed_at":"2025-10-17T04:13:44.000Z","size":173,"stargazers_count":33,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-18T07:30:46.045Z","etag":null,"topics":["cli","cli-app","powermanagement","rust","wayland","wofi"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/szaffarano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-24T17:15:29.000Z","updated_at":"2025-10-17T04:13:46.000Z","dependencies_parsed_at":"2024-03-24T18:30:20.356Z","dependency_job_id":"4e1fa75a-2b5b-408b-8c67-fc688e2491ed","html_url":"https://github.com/szaffarano/wofi-power-menu","commit_stats":null,"previous_names":["szaffarano/wofi-power-menu"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/szaffarano/wofi-power-menu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szaffarano%2Fwofi-power-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szaffarano%2Fwofi-power-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szaffarano%2Fwofi-power-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szaffarano%2Fwofi-power-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szaffarano","download_url":"https://codeload.github.com/szaffarano/wofi-power-menu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szaffarano%2Fwofi-power-menu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281527380,"owners_count":26516845,"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-28T02:00:06.022Z","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":["cli","cli-app","powermanagement","rust","wayland","wofi"],"created_at":"2025-10-28T22:57:45.983Z","updated_at":"2025-10-28T22:58:22.681Z","avatar_url":"https://github.com/szaffarano.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wofi power menu\n\n![GitHub Release](https://img.shields.io/github/v/release/szaffarano/wofi-power-menu?sort=date)\n![GitHub License](https://img.shields.io/github/license/szaffarano/wofi-power-menu)\n![CI](https://github.com/szaffarano/wofi-power-menu/actions/workflows/ci.yml/badge.svg)\n![Release](https://github.com/szaffarano/wofi-power-menu/actions/workflows/release.yml/badge.svg)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n\nImplements a power menu using the [wofi](https://sr.ht/~scoopta/wofi/) launcher.\n\n## Installation\n\n### Nix\n\n#### Option 1: Using flakes (recommended)\n\nIf you have flakes enabled:\n\n```bash\n# Install directly\nnix profile install github:szaffarano/wofi-power-menu\n\n# Or run without installing\nnix run github:szaffarano/wofi-power-menu\n```\n\n#### Option 2: Add to your NixOS configuration\n\nAdd to your `configuration.nix`:\n\n```nix\n{\n  inputs.wofi-power-menu.url = \"github:szaffarano/wofi-power-menu\";\n  \n  outputs = { nixpkgs, wofi-power-menu, ... }: {\n    # Your existing config...\n    \n    environment.systemPackages = with pkgs; [\n      # Your other packages...\n      wofi-power-menu.packages.${system}.default\n    ];\n  };\n}\n```\n\n### Arch Linux\n\n#### From sources\n\nYou can install this project using an [unofficial AUR\npackage](https://aur.archlinux.org/packages/wofi-power-menu) (Thanks\n[@AsfhtgkDavid](https://github.com/AsfhtgkDavid)):\n\n```bash\nyay -S wofi-power-menu\n```\n\nAlternatively, you can build from the AUR manually:\n\n```bash\ngit clone https://aur.archlinux.org/wofi-power-menu.git\ncd wofi-power-menu\nmakepkg -si\n```\n\n#### Prebuilt\n\nIf you don't want to spend time building it, you can download the prebuilt version:\n\n```bash\nyay -S wofi-power-menu-bin\n```\n\nAlternatively, you can install from the AUR manually:\n\n```bash\ngit clone https://aur.archlinux.org/wofi-power-menu-bin.git\ncd wofi-power-menu-bin\nmakepkg -si\n```\n\nYou may need to download GPG keys:\n\n```bash\ngpg --recv-keys 42BE68F43D528467FC281E2E310FFE86A2E427BA\n```\n\n### Download Pre-built Binary\n\nYou can download the latest pre-built binary from the [GitHub releases page](https://github.com/szaffarano/wofi-power-menu/releases):\n\n1. **Download the binary and verification files:**\n\n   ```bash\n   # Download the binary\n   curl -LO https://github.com/szaffarano/wofi-power-menu/releases/latest/download/wofi-power-menu-linux-x64\n   \n   # Download verification files\n   curl -LO https://github.com/szaffarano/wofi-power-menu/releases/latest/download/wofi-power-menu-linux-x64.asc\n   curl -LO https://github.com/szaffarano/wofi-power-menu/releases/latest/download/wofi-power-menu-linux-x64.sha256\n   curl -LO https://github.com/szaffarano/wofi-power-menu/releases/latest/download/wofi-power-menu-linux-x64.sha256.asc\n   ```\n\n2. **Import the PGP public key:**\n\n   ```bash\n   # Download and import the public key\n   gpg --recv-keys 42BE68F43D528467FC281E2E310FFE86A2E427BA\n   ```\n\n3. **Verify the signature:**\n\n   ```bash\n   # Verify the signed checksum\n   gpg --verify wofi-power-menu-linux-x64.sha256.asc wofi-power-menu-linux-x64.sha256\n   \n   # Verify the binary checksum\n   sha256sum -c wofi-power-menu-linux-x64.sha256\n   ```\n\n4. **Install the binary:**\n\n   ```bash\n   # Make executable and move to PATH\n   chmod +x wofi-power-menu-linux-x64\n   sudo mv wofi-power-menu-linux-x64 /usr/local/bin/wofi-power-menu\n   ```\n\n**Note:** All releases are signed with the PGP key\n`42BE68F43D528467FC281E2E310FFE86A2E427BA` (Sebastián Zaffarano\n\u003csebas@zaffarano.com.ar\u003e).\n\n### Build from Source\n\nIf your distribution isn't listed above, you can build from source:\n\n```bash\n# Install Rust (if not already installed)\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\nsource $HOME/.cargo/env\n\n# Clone the repository\ngit clone https://github.com/szaffarano/wofi-power-menu.git\ncd wofi-power-menu\n\n# Build and install\ncargo install --path .\n```\n\nRequirements:\n- Rust 1.70 or newer\n- [wofi](https://sr.ht/~scoopta/wofi/) installed on your system\n\n## Usage\n\nJust run the program to show the power menu:\n\n![wofi-power-menu](./img/wpm.png)\n\n## CLI configuration\n\n```bash\n$ wofi-power-menu --help\n\nShows a highly configurable power menu using wofi\n\nUsage: wofi-power-menu [OPTIONS]\n\nOptions:\n  -v, --verbose                Print additional information\n  -w, --wofi-path \u003cWOFI_PATH\u003e  Path to the wofi binary\n  -d, --disable \u003cDISABLE\u003e      Menu item to disable (accepts multiple values)\n  -D, --dry-run                Simulate the command without executing it\n  -c, --confirm \u003cCONFIRM\u003e      Menu item to force confirmation\n  -l, --list-items             Show the menu items and exit\n  -h, --help                   Print help\n  -V, --version                Print version\n```\n\nexample\n\n```bash\n# list items\n./wofi-power-menu -l\nNo config file found, using default values\nAvailable items:\n----------------\nshutdown: Shut down [disabled: false, confirmation: true]\nreboot: Reboot [disabled: false, confirmation: true]\nsuspend: Suspend [disabled: false, confirmation: true]\nhibernate: Hibernate [disabled: false, confirmation: false]\nlogout: Logout [disabled: false, confirmation: false]\nlock-screen: Lock screen [disabled: false, confirmation: false]\n\n# enables confirmation for lock screen and suspend\n./wofi-power-menu --confirm lock-screen --confirm reboot\n\n# \"hides\" hibernate\n./wofi-power-menu --disable hibernate\n```\n\n## Configuration File\n\nOptionally you can create `$XDG_CONFIG_HOME/wofi-power-menu.toml` to customize\nthe app:\n\n```toml\n[wofi]\n  path = \"/alternative/path/to/wofi\"\n  extra_args = \"--allow-markup --columns=1 --hide-scroll\"\n\n[menu.shutdown]\n  title = \"Apagar\"\n\n[menu.reboot]\n  title = \"Reiniciar\"\n\n[menu.suspend]\n  title = \"Suspender\"\n  enabled = \"false\"\n\n[menu.hibernate]\n  title = \"Hibernar\"\n\n[menu.logout]\n  title = \"Salir\"\n\n[menu.lock-screen]\n    title = \"Bloquear pantalla\"\n    requires_confirmation = \"false\"\n\n[menu.ls]\n  title = \"Listar directorio\"\n  cmd = \"ls -l --color\"\n  icon = \"L\"\n```\n\nYou can configure a custom wofi location as well as change which wofi extra\nflags to use.\n\nAlso, you can customize the menue either:\n\n1. Overriding default values in any existing menu entry. The above example\n   translates the titles to Spanish, disables the `requires_confirmation` flag\n   for the `lock-screen` item, and hides (i.e. set `enabled=false` the\n   `suspend` item.\n1. Adding new entries, like `ls`. Notice that the only optional field are\n   `requires_confirmation` (defaults to `false`) and `enabled` (defaults to\n   `true`), you have to set `title`, `cmd` and `icon`.\n\n## Related tools\n\nHighly inspired by his cousin [rofi-power-menu](https://github.com/jluttine/rofi-power-menu).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszaffarano%2Fwofi-power-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszaffarano%2Fwofi-power-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszaffarano%2Fwofi-power-menu/lists"}