{"id":22614408,"url":"https://github.com/tonytech83/dwm-tt","last_synced_at":"2026-01-21T05:41:51.909Z","repository":{"id":252889471,"uuid":"841474367","full_name":"tonytech83/dwm-tt","owner":"tonytech83","description":"dynamic window manager","archived":false,"fork":false,"pushed_at":"2024-10-03T09:31:26.000Z","size":303,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T07:23:53.539Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","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/tonytech83.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":"2024-08-12T13:32:59.000Z","updated_at":"2024-10-08T12:03:00.000Z","dependencies_parsed_at":"2024-08-13T05:48:05.287Z","dependency_job_id":"5c40bf6f-c521-4561-980e-17666b85b352","html_url":"https://github.com/tonytech83/dwm-tt","commit_stats":null,"previous_names":["tonytech83/dwm-tt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonytech83%2Fdwm-tt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonytech83%2Fdwm-tt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonytech83%2Fdwm-tt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonytech83%2Fdwm-tt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tonytech83","download_url":"https://codeload.github.com/tonytech83/dwm-tt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248381759,"owners_count":21094525,"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-12-08T18:09:48.053Z","updated_at":"2026-01-21T05:41:51.867Z","avatar_url":"https://github.com/tonytech83.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://seeklogo.com/images/D/dwm-logo-A5BEFB530B-seeklogo.com.png\" alt=\"dwm-logo-bordered\" width=\"195\" height=\"90\"/\u003e\n  \n  # dwm - dynamic window manager\n\u003c/div\u003e\n\n## _Overview_\nThis manual will guide you through the steps to set up a desktop environment beginning with a clean Arch-based installation. I will presume you have a good understanding of Linux-based operating systems and command-line interfaces. Given that you are reading this, it's likely you've watched some YouTube videos on 'tiling window managers,' which is typically where the journey begins. You are free to choose any window manager you prefer, but I will be demonstrating using Qtile as the initial tiling window manager since that was my starting point. Essentially, this is an overview of how I built my desktop environment from the ground up.gitlab.com/jped/suckless)\n\n## _Arch Install_\nI would make sure to have working internet:\n```sh\npacman -S networkmanager\nsystemctl enable NetworkManager\n```\nAfter you log in, your internet connection should be functioning properly, provided that your computer is connected via Ethernet. If you're using a laptop that lacks Ethernet ports, you might have previously used iwctl during the setup process, but this tool won't be available unless you've explicitly installed it afterward. Don't worry, though—we've set up NetworkManager for you. Here’s how you can connect to a wireless LAN using this application:\n```sh\n# List all available networks\nnmcli device wifi list\n# Connect to your network\nnmcli device wifi connect YOUR_SSID password YOUR_PASSWORD\n```\n\n### Xorg\nInstall dependencies:\n```sh\nsudo pacman -S --needed base-devel extra/git extra/libx11 extra/libxcb extra/libxinerama extra/libxft extra/imlib2\n```\nIf you find yourself missing a library then this can usually be found by searching for the file name using pacman:\n```sh\npacman -F Xlib-xcb.h\nextra/libx11 1.6.12-1 [installed: 1.7.2-1]\nusr/include/X11/Xlib-xcb.h\n```\n## Basic system utilities\n\n### Wallpaper\n```sh\nsudo pacman -S feh\nfeh --bg-scale path/to/wallpaper\n```\n\n### Fonts\n```sh\nsudo pacman -S ttf-dejavu ttf-liberation noto-fonts\n```\n\n### Audio\n```sh\nsudo pacman -S pulseaudio pavucontrol\n```\n\nFor a better CLI experience though, I recommend using pamixer:\n```sh\nsudo pacman -S pamixer\n```\n\n## Further configuration and tools\n### AUR helper\nNow that you've installed some software that makes your computer easier to use without testing your patience, it's time to move on to more exciting tasks. First up, you should install an AUR helper. I recommend using yay:\n```sh\nsudo pacman -Syu\nsudo pacman -S --needed base-devel\n\ngit clone https://aur.archlinux.org/yay.git\ncd yay\n\nmakepkg -si\n```\n\n### File Manager\nFor a graphical one, I suggest thunar\n```sh\nsudo pacman -S thunar\n```\n\n### Storage\nAnother basic utility you might need is automounting external hard drives or USBs. For that I use udisks and udiskie. udisks is a dependency of udiskie, so we only need to install the last one. Install also ntfs-3g package to read and write NTFS formatted drives:\n```sh\nsudo pacman -S udiskie ntfs-3g\n```\n\n### Network\nWe have configured the network through nmcli, but a graphical frontend is more friendly. I use nm-applet:\n```sh\nsudo pacman -S network-manager-applet\n```\n\n## _Xprofile_\n In order to make them permanent, we need a couple things. First, install xinit:\n ```sh\n sudo pacman -S xorg-xinit\n ```\n Now you can use ~/.xprofile to run programs before your window manager starts:\n ```sh\n touch ~/.xprofile\n ```\n For example, if you place this in ~\\\\.xprofile:\n ```sh\n exec dwm\n ```\n\n### Pathes:\n- barpadding\n- bottomstack\n- cfacts\n- colorful tags\n- cool autostart\n- dragmfact\n- dragcfact\n- fibonacci\n- gaplessgrid\n- horizgrid\n- movestack\n- notitle\n- preserveonrestart\n- statuspadding\n- status2d\n- shiftview\n- underlinetags\n- vanitygaps\n- winicon\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonytech83%2Fdwm-tt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftonytech83%2Fdwm-tt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonytech83%2Fdwm-tt/lists"}