{"id":21039329,"url":"https://github.com/clsty/dots-hyprarch","last_synced_at":"2025-10-01T04:30:53.672Z","repository":{"id":214710385,"uuid":"737180709","full_name":"clsty/dots-hyprarch","owner":"clsty","description":"dots of Hyprland on Arch Linux with vim-like keybindings","archived":false,"fork":false,"pushed_at":"2024-05-24T15:47:45.000Z","size":1288,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-19T13:47:28.794Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clsty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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}},"created_at":"2023-12-30T04:59:34.000Z","updated_at":"2024-07-03T06:42:31.000Z","dependencies_parsed_at":"2023-12-30T06:19:10.673Z","dependency_job_id":"80c08fd7-846a-463b-b84f-da811fde191e","html_url":"https://github.com/clsty/dots-hyprarch","commit_stats":null,"previous_names":["clsty/dots-hyprarch"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clsty%2Fdots-hyprarch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clsty%2Fdots-hyprarch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clsty%2Fdots-hyprarch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clsty%2Fdots-hyprarch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clsty","download_url":"https://codeload.github.com/clsty/dots-hyprarch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234822609,"owners_count":18892189,"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":[],"created_at":"2024-11-19T13:39:01.135Z","updated_at":"2025-10-01T04:30:48.230Z","avatar_url":"https://github.com/clsty.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Description\nDotfiles for Hyprland on Arch Linux.\n\nMain feature/style:\n- Vim-like keybindings (also a little Emacs styles).\n- Sweet theme.\n- (TODO)Zsh.\n\n## Installation\nSimply run:\n```bash\nt=~/dotfiles # Or anywhere else you'd like\nmkdir -p $t\ngit clone https://github.com/clsty/dots-hyprarch $t\n$t/install.sh\n```\nAnd follow the instructions of the script `install.sh`.\n\n\u003e [!WARNING]\n\u003e Uninstallation script is NOT provided. See FAQ-Whys.\n\n## Launch\nBasically, login to tty and launch the wrapper script `~/.local/bin/wrp-hyprland`.\n\n**NOTE: You'd better have a look at the script's content and edit it to suit your needs.**\n\nIf you want this done automatically, you may add the following to the end of your default shell (zsh or bash)'s config file (`.zshrc` or `.bashrc`):\n```bash\nif [ -z \"${DISPLAY}\" ] \u0026\u0026 [ \"${XDG_VTNR}\" -eq 1 ]; then\n  exec ~/.local/bin/wrp-hyprland\nfi\n```\n\n## Usage\n`Super`+`Shift`+`/` to open cheatsheet to see a list of keybinds.\n\u003e TODO: write cheatsheet in comments in `hypr/keybinds.conf` and use script to generate `ags/data/keybinds.js` from it\n\nTilix is one of the terminal, it stores configs in dconf.\nUse `.local/bin/tilix-dconf` to load/dump the Tilix config stored in dconf from/to the file `.config/Tilix.dconf`.\n\n## Credits\n- The project is largely based on the amazing [end-4/dots-hyprland (code name: illogical_impulse)](https://github.com/end-4/dots-hyprland), modified to suit my personal tastes.\n  - I'm a collaborator both of [end-4/dots-hyprland](https://github.com/end-4/dots-hyprland) and its [doc site](https://github.com/end-4/dots-hyprland-wiki), where I have reworked the install scripts (including the online setup) and initialized the doc site, and currently maintain them.\n- [Aylur/AGS](https://github.com/Aylur/ags/)-powered.\n\n## How to debug\nHere're some hints.\n\nThe bar, and the side bars, cheatsheet, etc. belongs to AGS.\nTo debug AGS, you may need to run this in shell:\n```bash\npkill ags;ags\n```\nAnd see if there're any errors, CRITICALs and WARNINGs.\n\nAlso, some common problems are listed in FAQ.\n\n## FAQ\n### The player panel does not pop up when there is media playing\n\u003e Reference: [end-4/dots-hyprland#168](https://github.com/end-4/dots-hyprland/issues/168)\n\nYour player must have mpris support (see supported client [here](https://wiki.archlinux.org/title/MPRIS)).\n\nIf you are using firefox as player, Plasma Integration extension should be installed and enabled for firefox, and the package `plasma-browser-integration` should be installed on Arch Linux.\n\nThen, when firefox is playing media, the following command:\n```bash\ndbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames|grep mpris\n```\nshould at least return\n```plain\nstring \"org.mpris.MediaPlayer2.plasma-browser-integration\"\n```\nnote that output like `string \"org.mpris.MediaPlayer2.firefox.instance_1_37\"` does NOT work.\n\nIf for some reason, firefox still does not have dbus `org.mpris.MediaPlayer2.plasma-browser-integration` showing up,\nconsider the following steps:\n1. Create a new profile using `firefox --ProfileManager`.\n2. Launch firefox with the newprofile and install the Plasma Integration extension again.\n3. Restart firefox with the new profile and try again.\n\nNote: `playerctl -F metadata` may also be helpful for debugging.\n### Firefox sometimes crashes\nWhen this happens, please use `(xWayland) Firefox`, which desktop file is provided in `~/.local/share/applications` with `env MOZ_ENABLE_WAYLAND=0` for `Exec` entry.\n\nThis is just a workround, which makes Firefox running under xWayland.\n\n### ags installation failed\n#### `PermissionError: [Errno 13] Permission denied: '/usr/local/lib/libgvc.so'`\nRun:\n```bash\npacman -Qo /usr/local/lib/libgvc.so\n```\nto check whether this file belongs to any package (very likely not, because it's inside `/usr/local`).\n\nIf not, then it's probably safe to just remove it. If you're sure about that, run this:\n```bash\nsudo mv /usr/local/lib/libgvc.so /tmp/\n```\n#### Other errors\nDelete `./cache/ags` and install it again.\n\n### How to resize | set resolution | font size\nReference: \u003chttps://github.com/end-4/dots-hyprland/issues/180#issuecomment-1880385893\u003e\n\nYou can use gsettings to change the font size, like this:\n```bash\ngsettings set org.gnome.desktop.interface font-name 'Rubik 9'\n```\nRubik here is the font name and 9 is the font size in pt (1pt = 1.3333 px)\n\nStuff should scale according to the font size. Some ags element may need a restart of ags to take effect.\n\nIf some elements are wayy too big, then it's possible that css totally not working, see \u003chttps://github.com/end-4/dots-hyprland/issues/226\u003e.\n\n### How to change time format\nReference: \u003chttps://github.com/end-4/dots-hyprland/issues/228\u003e\n\n**NOTE**: You may need to run `man date` for time format.\n\nFor AGS bar (it's not a dock bar I guess), you should edit `~/.config/ags/widgets/bar/system.js`.\nFind `\"%H:%M\"` there and change it to what you like.\nIts format may refer to [this page](https://docs.gtk.org/glib/method.DateTime.format.html).\n\nThe lockscreen is swaylock currently. Edit its config in `~/.config/swaylock/config` to suit your needs.\nFor time format you need to adjust `timestr`.\n\n### How to copy text in notification\nReference: \u003chttps://github.com/end-4/dots-hyprland/issues/224#issuecomment-1923706599\u003e\n\nClick and hold a notification for a while, and its content will be copied.\n\n### How to set city for weather\nReference: \u003chttps://github.com/end-4/dots-hyprland/issues/220#issuecomment-1923793627\u003e\n\u003chttps://github.com/end-4/dots-hyprland/commit/c2d3c5bce37dd87f19bf5e13002b2af6e0e1e5eb\u003e\n\nThe value will be used as `${city}` for `curl https://wttr.in/${city}?format=j1`.\n\nBy default the value comes from `curl ipinfo.io`.\nYou can also manually set the value by setting the env var `$AGS_WEATHER_CITY`.\n## FAQ-Whys\n### Why use `hyprland-git` from AUR instead of `hyprland` from repo of Arch Linux\nSee [end-4/dots-hyprland#158](https://github.com/end-4/dots-hyprland/issues/158).\n### Uninstallation script is NOT provided, why?\nBecause it's very hard to make a proper uninstallation script,\nwhich should revert all changes made by the installation script.\n\nFor example, the installation script will install `yay` (AUR-helper) for you if you don't have one.\nHowever, what should the uninstallation script do to revert this changes?\nRemove `yay` or `yay-bin`? Not proper, because you may already have one of them installed by yourself (NOT by the installation script).\nAnd, even if the installation script had logged the package list installed by the script, it's still not proper to remove `yay` or `yay-bin` when the log showed `yay` or `yay-bin` is installed by the script, because you may have other programs using `yay` and this removal will break their functions.\n\nIn conclusion, it's nearly not possible to write a proper uninstallation script.\nYou'd better make reverted changes manually as you need.\n\n\u003e Wait, it might still be partly possible by creating a PKGBUILD and make the dotfiles as a package for pacman... Maybe implement this some other day.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclsty%2Fdots-hyprarch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclsty%2Fdots-hyprarch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclsty%2Fdots-hyprarch/lists"}