{"id":21076626,"url":"https://github.com/harilvfs/dwm","last_synced_at":"2025-10-14T10:01:40.928Z","repository":{"id":257884001,"uuid":"865847801","full_name":"harilvfs/dwm","owner":"harilvfs","description":"  DWM patches with my custom config 🛠️","archived":false,"fork":false,"pushed_at":"2024-11-17T20:09:00.000Z","size":8238,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-17T21:19:22.324Z","etag":null,"topics":["dwm","dwm-desktop","linux"],"latest_commit_sha":null,"homepage":"","language":"C","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/harilvfs.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}},"created_at":"2024-10-01T08:34:27.000Z","updated_at":"2024-11-17T20:09:03.000Z","dependencies_parsed_at":"2024-11-18T01:16:26.588Z","dependency_job_id":null,"html_url":"https://github.com/harilvfs/dwm","commit_stats":null,"previous_names":["harilvfs/dwm"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harilvfs%2Fdwm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harilvfs%2Fdwm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harilvfs%2Fdwm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harilvfs%2Fdwm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harilvfs","download_url":"https://codeload.github.com/harilvfs/dwm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225413512,"owners_count":17470593,"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":["dwm","dwm-desktop","linux"],"created_at":"2024-11-19T19:29:30.428Z","updated_at":"2025-10-14T10:01:40.922Z","avatar_url":"https://github.com/harilvfs.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/harilvfs/assets/refs/heads/main/dwm/Dwm.png\" alt=\"Terminal\" width=\"200\"\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \n**DWM** is a lightweight and dynamic window manager based on X11. It is minimalistic, efficient, and designed to be customized by editing its source code. ✨\n\n\u003cbr\u003e\n\n  \u003ca href=\"#setup-manually\"\u003e\u003ckbd\u003e \u003cbr\u003e Manual Setup [ Including All ] \u003cbr\u003e \u003c/kbd\u003e\u003c/a\u003e\u0026ensp;\u0026ensp;\n  \u003ca href=\"#-installation-script\"\u003e\u003ckbd\u003e \u003cbr\u003e Setup Script \u003cbr\u003e \u003c/kbd\u003e\u003c/a\u003e\u0026ensp;\u0026ensp;\n  \u003ca href=\"https://github.com/harilvfs/dwm/tree/main/.github\"\u003e\u003ckbd\u003e \u003cbr\u003e TTY Stuffs [ Optional ] \u003cbr\u003e \u003c/kbd\u003e\u003c/a\u003e\n  \n\u003c/div\u003e\u003cbr\u003e\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://img.shields.io/github/issues/harilvfs/dwm?style=for-the-badge\u0026color=dbb6ed\u0026logoColor=85e185\u0026labelColor=1c1c29\" /\u003e \u003cimg src=\"https://img.shields.io/github/issues-pr/harilvfs/dwm?style=for-the-badge\u0026color=ef9f9c\u0026logoColor=85e185\u0026labelColor=1c1c29\" /\u003e \u003cimg src=\"https://img.shields.io/github/last-commit/harilvfs/dwm?style=for-the-badge\u0026logo=github\u0026color=7dc4e4\u0026logoColor=D9E0EE\u0026labelColor=1c1c29\"/\u003e \u003cimg src=\"https://img.shields.io/github/stars/harilvfs/dwm?style=for-the-badge\u0026logo=apachespark\u0026color=eed49f\u0026logoColor=D9E0EE\u0026labelColor=1c1c29\"/\u003e\n\n[![Discord](https://img.shields.io/discord/757266205408100413.svg?label=Discord\u0026logo=Discord\u0026style=for-the-badge\u0026color=8bd5ca\u0026logoColor=e78284\u0026labelColor=1c1c29)](https://discord.com/invite/8NJWstnUHd) [![Telegram Channel](https://img.shields.io/badge/harilvfs-Telegram-c6a0f6?style=for-the-badge\u0026logo=telegram\u0026labelColor=1c1c29)](https://t.me/harilvfs)\n\n\u003c/div\u003e\n\n\u003cimg width=\"1366\" height=\"768\" alt=\"2025-10-09_23-54\" src=\"https://github.com/user-attachments/assets/37b127b8-c91c-46fe-b9bd-cd00535b0b6e\" /\u003e\n\n\u003cbr\u003e\n\n\u003e [!NOTE]\n\u003e **This guide features DWM patches from [Chris Titus Tech](https://github.com/ChrisTitusTech/dwm-titus), tweaked to suit my personal workflow while remaining simple for anyone to use.**\n\n**I recommend to use manual way to setup and install dwm. But if you perfer a easy way then, Check Installation Script Guide [here](#-installation-script)**\n\n## Setup Manually\n\n### Arch Linux  \n\u003e \u003cimg src=\"https://img.icons8.com/?size=48\u0026id=uIXgLv5iSlLJ\u0026format=png\" width=\"20\" /\u003e\n\n```bash\nsudo pacman -S --needed --noconfirm base-devel libx11 libxinerama libxft imlib2 libxcb git unzip flameshot lxappearance feh mate-polkit meson libev uthash libconfig meson ninja gnome-keyring thunar trash-cli\n```\n\n### Debian/Ubuntu  \n\u003e \u003cimg src=\"https://img.icons8.com/?size=48\u0026id=17838\u0026format=png\" width=\"20\" /\u003e\n\n```bash\nsudo apt install -y build-essential libx11-dev libxinerama-dev libxft-dev libimlib2-dev libx11-xcb-dev libfontconfig1 libx11-6 libxft2 libxinerama1 libxcb-res0-dev git unzip flameshot lxappearance feh mate-polkit meson ninja-build gnome-keyring thunar trash-cli\n```\n\n### Fedora  \n\u003e \u003cimg src=\"https://img.icons8.com/?size=48\u0026id=ZbBhBW0N2q3D\u0026format=png\" width=\"20\" /\u003e\n\n```bash\nsudo dnf install -y libX11-devel libXinerama-devel libXft-devel imlib2-devel libxcb-devel unzip flameshot lxappearance feh mate-polkit meson ninja-build gnome-keyring thunar trash-cli\n```\n\n### openSUSE  \n\u003e \u003cimg src=\"https://raw.githubusercontent.com/harilvfs/assets/refs/heads/main/suse/opensuse.png\" width=\"20\" /\u003e\n\n```bash\nsudo zypper install libX11-devel libXinerama-devel libXft-devel imlib2-devel libxcb-devel unzip flameshot lxappearance feh mate-polkit meson ninja-build gnome-keyring thunar trash-cli\n```\n\n\u003cbr\u003e\n\n## 🔠 Nerd Fonts\n\n### Why Nerd Fonts?  \nNerd Fonts enhance font rendering and ensure proper alignment of icons in `slstatus`. For this setup, the **MesloLGS Nerd Font** is recommended.\n\n### Arch Linux  \n\u003e \u003cimg src=\"https://img.icons8.com/?size=48\u0026id=uIXgLv5iSlLJ\u0026format=png\" width=\"20\" /\u003e\n```bash\nsudo pacman -S --needed --noconfirm ttf-meslo-nerd noto-fonts-emoji ttf-joypixels ttf-cascadia-mono-nerd ttf-cascadia-code-nerd ttf-jetbrains-mono-nerd ttf-jetbrains-mono\n```\n\n### Other Distributions \n  - **Download** from: [nerdfonts.com](https://www.nerdfonts.com/font-downloads)\n  - Place the font files in `~/.fonts` or `~/.local/share/fonts`.\n  - Refresh font cache:\n    ```bash\n    fc-cache -vf\n    ```\n\n## 🎨 Wallpapers\n\n### Directory Setup\nStore wallpapers in `~/Pictures/wallpapers`. Use the following command to clone a curated wallpaper collection:\n\n```bash\ngit clone https://github.com/harilvfs/wallpapers ~/Pictures\n```\n\n## ⚙️ Configuration Files  \n\nPreconfigured package settings are included in this repository under the `config` folder. These settings enhance the DWM experience and can be installed based on your workflow and distribution.  \n\n### **Steps to Install Configurations**\n\n- Install the necessary packages for your distribution.\n- Copy the preconfigured files to your `~/.config` directory.\n\n### **Package Installation by Distribution**  \n\n#### Arch Linux  \n\u003e \u003cimg src=\"https://img.icons8.com/?size=48\u0026id=uIXgLv5iSlLJ\u0026format=png\" width=\"20\" /\u003e\n \n```bash\nsudo pacman -S --needed --noconfirm kitty alacritty kvantum dunst fastfetch fish helix neovim picom rofi starship bash zsh ghostty\n```\n- **BetterDiscord**: Install as an AppImage or via AUR using `paru` or `yay`.  \n  ```bash\n  yay -S betterdiscord-installer\n  ```\n  \n#### Fedora  \n\u003e \u003cimg src=\"https://img.icons8.com/?size=48\u0026id=ZbBhBW0N2q3D\u0026format=png\" width=\"20\" /\u003e\n\n```bash\nsudo dnf install kitty alacritty kvantum dunst fastfetch fish helix neovim picom rofi bash zsh\n```\n- **Starship**: Install using the official script:\n  ```bash\n  curl -sS https://starship.rs/install.sh | sh\n  ```\n- **BetterDiscord**: Download the AppImage from the [official website](https://betterdiscord.app/).\n\n\u003e **Ghostty**: Download Ghostty Terminal \n\u003e ```bash\n\u003e dnf copr enable pgdev/ghostty\n\u003e dnf install ghostty\n\u003e```\n\n#### Debian/Ubuntu  \n\u003e \u003cimg src=\"https://img.icons8.com/?size=48\u0026id=17838\u0026format=png\" width=\"20\" /\u003e\n \n```bash\nsudo apt install -y kitty alacritty qt5-style-kvantum fish neovim rofi dunst picom bash zsh\n```\n- **Fastfetch**: Download the appropriate `.deb` package from [Fastfetch's release page](https://github.com/fastfetch-cli/fastfetch/releases) and install it:\n  ```bash\n  sudo dpkg -i fastfetch-linux-\u003carchitecture\u003e.deb\n  ```\n- **Helix**: Install from source using the [Helix documentation](https://docs.helix-editor.com/install.html).\n- **BetterDiscord**: Download the AppImage from the [official website](https://betterdiscord.app/).\n- **Starship**: Install using the official script:\n  ```bash\n  curl -sS https://starship.rs/install.sh | sh\n  ```\n\u003e **Ghostty**: Download Ghostty Terminal\n\u003e ```bash\n\u003e echo 'deb http://download.opensuse.org/repositories/home:/clayrisser:/bookworm/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/home:clayrisser:bookworm.list\n\u003e curl -fsSL https://download.opensuse.org/repositories/home:clayrisser:bookworm/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_clayrisser_bookworm.gpg \u003e /dev/null\n\u003e sudo apt update\n\u003e sudo apt install ghostty\n\u003e ```\n\n#### openSUSE  \n\u003e \u003cimg src=\"https://raw.githubusercontent.com/harilvfs/assets/refs/heads/main/suse/opensuse.png\" width=\"20\" /\u003e\n\n```bash\nsudo zypper install kitty alacritty kvantum-manager fish neovim rofi fastfetch dunst picom starship bash zsh ghostty\n```\n- **BetterDiscord**: Download the AppImage from the [official website](https://betterdiscord.app/).\n\n### **Using Preconfigured Files**  \n\nOnce the required packages are installed, copy the preconfigured files to your `.config` directory:\n\n```bash\ncp -r config/* ~/.config/\n```\n\n\u003e [!IMPORTANT]  \n\u003e If you don’t have a preconfigured setup, it’s recommended to use the provided configurations for better compatibility with the DWM patches.\n\n## Picom Configuration\n\nPicom provides window transparency and animations.  \n\n- **Config File**: [Picom Config](https://raw.githubusercontent.com/harilvfs/i3wmdotfiles/main/picom/picom.conf)\n- **Animations**: Check out [FT-LABS](https://github.com/FT-Labs/picom).\n\n## System Tray Icons\n\nInstall system tray applets for network, Bluetooth, and sound management. \n\n- **Packages**:  \n  Install the necessary packages for your distribution:\n  \n### Arch Linux  \n\u003e \u003cimg src=\"https://img.icons8.com/?size=48\u0026id=uIXgLv5iSlLJ\u0026format=png\" width=\"20\" /\u003e\n\n  ```bash\n  sudo pacman -S --needed --noconfirm network-manager-applet blueman pasystray\n  ```\n    \n### Fedora  \n\u003e \u003cimg src=\"https://img.icons8.com/?size=48\u0026id=ZbBhBW0N2q3D\u0026format=png\" width=\"20\" /\u003e\n\n  ```bash\n  sudo dnf install network-manager-applet blueman pasystray\n  ```\n    \n### Debian/Ubuntu  \n\u003e \u003cimg src=\"https://img.icons8.com/?size=48\u0026id=17838\u0026format=png\" width=\"20\" /\u003e\n\n  ```bash\n  sudo apt install network-manager-applet blueman pasystray\n  ```\n\n### openSUSE  \n\u003e \u003cimg src=\"https://raw.githubusercontent.com/harilvfs/assets/refs/heads/main/suse/opensuse.png\" width=\"20\" /\u003e\n\n  ```bash\n  sudo zypper install NetworkManager-applet blueman pasystray\n  ```\n\n\u003e **Notes** : **For other distributions, refer to the respective package manager documentation.**\n\n## SDDM Theme \nThe setup uses the **Astronaut Theme** for SDDM.  \n\n- **Installation**:  \n  Clone the theme repository and follow the instructions to install:  \n  [Keyitdev/sddm-astronaut-theme](https://github.com/Keyitdev/sddm-astronaut-theme)\n\n## GRUB Theme [OPTIONAL]  \nCustomize your bootloader appearance with GRUB themes.  \n\n- Explore themes from ChrisTitusTech's repository:  \n  [Top-5-Bootloader-Themes](https://github.com/ChrisTitusTech/Top-5-Bootloader-Themes)\n\n\u003e **Note**: Ensure GRUB customization aligns with your workflow and is applied carefully to avoid bootloader issues.\n\n## Tmux\nIncase if you want tmux or if you are already familiar with tmux then follow this step to setup: \n\nAssuming you have tmux installed in your system.\n\n### Clone Tmux Plugin Manager [TPM]\n\n```bash\ngit clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm\n```\n\n### Configuration\n\n#### Create the configuration directory:\n\n```bash\nmkdir ~/.config/tmux\n```\n\n#### Download the tmux configuration file:\n\n```bash\nwget -O ~/.config/tmux/tmux.conf https://raw.githubusercontent.com/harilvfs/dwm/refs/heads/main/config/tmux/tmux.conf\n```\n\n#### Install Plugins\n\n```bash\ncd ~/.tmux/plugins/tpm/scripts/ \u0026\u0026\nchmod +x install_plugins.sh \u0026\u0026\n./install_plugins.sh\n```\n\n#### Install TPM\n\n```bash\ncd ~/.tmux/plugins/tpm \u0026\u0026\nchmod +x tpm \u0026\u0026\n./tpm\n```\n\n#### Update Plugins [ Optional ]\n\n```bash\ncd ~/.tmux/plugins/tpm/scripts/ \u0026\u0026\nchmod +x update_plugin.sh \u0026\u0026\n./update_plugin.sh\n```\n\n## Clone and install DWM\n\n```bash\ngit clone https://github.com/harilvfs/dwm ~/\ncd ~/dwm\nsudo make clean install\n```\n\n\u003cstrong\u003eInstall slstatus\u003c/strong\u003e\n\n```bash\ncd ~/dwm/slstatus\nsudo make clean install\n```\n\n**Add this to your** `~/.xinitrc` \u0026 `~/.xsession`\n\n```\nexec dwm\n```\n\n\u003e [!IMPORTANT]\n\u003e After installation, remember to adjust some keybindings in `config.h` to fit your use case.\n\n\u003cbr\u003e\n\n\u003e [!NOTE]\n\u003e Default keybinding for terminal is `mod + x` and for rofi is `mod + r`.\n\n---\n\n## 🛠 Installation Script\n\n**For a one click setup process, run the script:**\n\n\u003e [!NOTE]  \n\u003e Before running this script, make sure `curl` is installed.  \n\u003e\n\u003e **For Arch-based distros:**  \n\u003e ```sh\n\u003e sudo pacman -S curl --noconfirm\n\u003e ```  \n\u003e\n\u003e **For Fedora-based distros:**  \n\u003e ```sh\n\u003e sudo dnf install curl -y\n\u003e ```  \n\u003e\n\u003e **For openSUSE:**  \n\u003e ```sh\n\u003e sudo zypper install -y curl\n\u003e ```\n\n**After that, run this command in your terminal.**\n\n```bash\nbash \u003c(curl -L https://chalisehari.com.np/dwm)\n```\n\nor\n\n**If you are using fish shell**\n\n```bash\n bash -c \"$(curl -fsSL chalisehari.com.np/dwm)\"\n```\n\n\u003e [!NOTE]\n\u003e Btw remember this script is only for Arch, Fedora \u0026 openSUSE-based distros. Manual installation is recommended for other distributions or customized setups.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharilvfs%2Fdwm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharilvfs%2Fdwm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharilvfs%2Fdwm/lists"}