{"id":19748839,"url":"https://github.com/jnbdz/suckless","last_synced_at":"2026-02-17T08:32:32.791Z","repository":{"id":140345064,"uuid":"488711400","full_name":"jnbdz/suckless","owner":"jnbdz","description":"All the suckless essentials (mostly git modules).","archived":false,"fork":false,"pushed_at":"2022-05-04T22:45:39.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-25T22:46:50.631Z","etag":null,"topics":["dwm","st","suckless","suckless-dwm","suckless-terminal"],"latest_commit_sha":null,"homepage":"","language":null,"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/jnbdz.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}},"created_at":"2022-05-04T19:01:50.000Z","updated_at":"2022-05-04T19:30:46.000Z","dependencies_parsed_at":"2023-03-12T12:00:17.681Z","dependency_job_id":null,"html_url":"https://github.com/jnbdz/suckless","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jnbdz/suckless","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnbdz%2Fsuckless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnbdz%2Fsuckless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnbdz%2Fsuckless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnbdz%2Fsuckless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jnbdz","download_url":"https://codeload.github.com/jnbdz/suckless/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnbdz%2Fsuckless/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29537837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T08:11:05.436Z","status":"ssl_error","status_checked_at":"2026-02-17T08:09:38.860Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["dwm","st","suckless","suckless-dwm","suckless-terminal"],"created_at":"2024-11-12T02:23:53.704Z","updated_at":"2026-02-17T08:32:32.782Z","avatar_url":"https://github.com/jnbdz.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# suckless\nAll the suckless essentials (mostly git modules).\n\n## Install\n```bash\nsudo apt-get install autoconf build-essential xutils-dev libxft-dev libxft2 libxinerama-dev libx11-xcb-dev libxcb-res0-dev fonts-linuxlibertine fonts-inconsolata fonts-symbola ttf-ancient-fonts-symbola fonts-noto\n```\n\n### Install the needed fonts\n```bash\n# 1. Download the latest version\nwget https://github.com/eosrei/twemoji-color-font/releases/download/v13.1.0/TwitterColorEmoji-SVGinOT-Linux-13.1.0.tar.gz\n# 2. Uncompress the file\ntar zxf TwitterColorEmoji-SVGinOT-Linux-13.1.0.tar.gz\n# 3. Run the installer\ncd TwitterColorEmoji-SVGinOT-Linux-13.1.0\n./install.sh\n```\n**Source:** https://github.com/eosrei/twemoji-color-font\n\n```bash\n# 1. Download the latest version\nwget https://github.com/eosrei/emojione-color-font/releases/download/v1.4/EmojiOneColor-SVGinOT-Linux-1.4.tar.gz\n# 2. Uncompress the file\ntar zxf EmojiOneColor-SVGinOT-Linux-1.4.tar.gz\n# 3. Run the installer\ncd EmojiOneColor-SVGinOT-Linux-1.4\n./install.sh\n```\nYou might also need: https://raw.githubusercontent.com/LukeSmithxyz/voidrice/master/.config/fontconfig/fonts.conf\n\n### Reload fonts in Debian\n```bash\ndpkg-reconfigure fontconfig fontconfig-config\n```\n\n### Install on Debian distros (Kali, Debian, Ubuntu, etc)\nFor Debian based Linux distros you need to install `libxft-bgra` for the emojis to show.\n\n#### For win-kex (Kali in Windows WSL)\nAfter you install `dwn` you will need to modify: `/usr/lib/win-kex/xstartup`\n\nHere is an article I wrote on the subject: [How to change Window Manager (GUI) for win-kex](https://jeannicolasboulay.medium.com/how-to-change-window-manager-gui-for-win-kex-7b6a749f423b)\n\n#### Install libxft-bgra\nYou might need to install it outside of the package manager. If the package manager has `libxft-dev` `libxft2` than you are golden!\n\nYou need to install `libxft-bgra` before `st` and `dwm`. If you want the emojs.\n\n```bash\ncd ./lib/libxft\n# Make sure it is the right branch --\u003e libXft-2.3.4-debian\ngit branch -a\n# Install\nsh autogen.sh --sysconfdir=/etc --prefix=/usr --mandir=/usr/share/man\n```\n### Install `dwm`\nInside the dwm source: \n```bash\nsudo make install\n```\n### Install `st`\nSame as `dwm`.\n\n## Git\n### Add module\n```bash\ngit submodule add [url]\ngit add [...]\n```\n### Change branch for the module\n```bash\ngit checkout -t [branch]\ngit add [add again the dir of the module]\ngit commit [...]\ngit push\n```\nDon't forget to update where you have clone the repo: \n```bash\ngit submodule update --recursive\n```\n\n### Add upstream\nIf you are working on the lib `libxft-bgra` you need to do this step.\n```bash\ngit remote add upstream git@gitlab.freedesktop.org:xorg/lib/libxft.git \ngit remote set-url --push upstream DISABLE\n```\nThen to verify that evrything was added correctly for the upstream: \n`git remote -v`\n\nThis is what you should see: \n```bash\norigin  git@github.com:jnbdz/libxft.git (fetch)\norigin  git@github.com:jnbdz/libxft.git (push)\nupstream        git@gitlab.freedesktop.org:xorg/lib/libxft.git (fetch)\nupstream        DISABLE (push)\n```\nTo pull changes from the upstream (verify that you are in the right branch first):\n```bash\ngit fetch upstream\ngit rebase upstream/master\n```\n\n**Sources:**\n- https://gitlab.freedesktop.org/xorg/lib/libxft/ (repo page for libxft)\n- https://www.atlassian.com/git/tutorials/git-submodule (basic of git modules)\n- https://stackoverflow.com/questions/29882960/changing-an-existing-submodules-branch (instructions on how to change submodules branch in git)\n- https://gist.github.com/0xjac/85097472043b697ab57ba1b1c7530274 (upstream \u0026 forking instructions)\n- https://github.com/ra-c/libxft-bgra-debian (a version of libxft-bgra that runs on debian (it contains a patch file))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjnbdz%2Fsuckless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjnbdz%2Fsuckless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjnbdz%2Fsuckless/lists"}