![Neovim Logo](https://raw.githubusercontent.com/Kaweees/dwm/main/assets/img/dwm.png)
My custom patches and configurations for dynamic window manager (dwm)
Before attempting to build this project, make sure you have X Window System, packer.dwm, and a Nerd Font installed on your machine.
To get a local copy of the project up and running on your machine, follow these simple steps:
- Clone the project repository
git clone https://github.com/Kaweees/dwm.git cd dwm
- Create a symlink from the cloned folder to where neovim expects its configuration to be located. Personally, I use ansible to create symlinks for all of my dotfiles. If you are not sure where it is, check
$XDG_CONFIG_HOME/dwm
or run one of these commands to find out::echo stdpath('config') # Execute while in dwm :h rtp # Execute while in dwm
- Install the project dependencies
dwm +PlugInstall # Execute from the command line :PackerSync # Execute while in dwm
- If you want to use the WakaTime plugin, configure your API key.
:WakaTimeApiKey # Execute while in dwm
- If you want to use the GitHub Copilot plugin, authenticate your account by executing the following command while in dwm.
:Copilot auth
- statusbutton : Adds a clickable button to the left hand side of the statusbar.
- Xresources : Allows to handle settings from Xresources.
To see all of the available plugins, please refer to patches
To enter custom commands into dwm, you must first enter a specific keybind, which is called the MODKEY, followed by the command keybind. My MODKEY is Alt.
To complile and install dwm, enter the following command in the root of the project:
sudo make clean install
Command Keybind | Command Description |
---|---|
leader + c | create new window and switch to it |
leader + # | switch to window # |
leader + n | switch to next window |
leader + p | switch to previous window |
leader + : | swap window with next window |
leader + ; | swap window with previous window |
leader + & | kill window and all panes in it |
. dwm/
├── after/plugins/ - plugin-specific configurations
├── lua/config/
│ ├── packer.lua - packages installed by packer.dwm
│ ├── remap.lua - keybinds and leader configuration
│ └── set.lua - miscellaneous settings
├── init.lua - Entry point, loads all plugins and configurations
└── README.md - you are here
The source code for my website is distributed under the terms of the GNU General Public License v3.0, as I firmly believe that collaborating on free and open-source software fosters innovations that mutually and equitably beneficial to both collaborators and users alike. See LICENSE
for details and more information.