Skip to content

Keyitdev/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keyitdev Dotfiles

Arch dotfiles. i3 dotfiles.

Stars Forks Ko-fi

These dotfiles are built for a simple and efficient Arch Linux environment using i3 (X11) as the window manager.

This repository mirrors the directory structure of the operating system, so to apply the configurations, simply copy the files into your system. It also includes many optional packages and tools that I personally use - you don't need to install all of them. For more details, refer to the detailed information. Also if you're looking for older versions, check out the other branches.

Showcase

Installation

Install base system.

sudo pacman -S --needed archlinux-keyring base base-devel linux linux-firmware git pulseaudio xorg xorg-xinit 

Install yay.

git clone https://aur.archlinux.org/yay-bin.git "$HOME"/.srcs/yay && cd "$HOME"/.srcs/yay/ && makepkg -si

Install dependencies.

yay -S --needed btop code dunst fastfetch feh i3-wm i3lock-color kitty mate-polkit mpd ncmpcpp papirus-icon-theme picom polybar rofi xss-lock zsh zed ttf-roboto-mono ttf-opensans ttf-iosevka-nerd ffcast inotify-tools jq libnotify rofi-vscode-mode scrot slop upower xclip

Clone this repository and copy files.

git clone -b v4 --depth 1 https://www.github.com/keyitdev/dotfiles.git "$HOME"/dotfiles
cp -ri "$HOME"/dotfiles/home/. "$HOME"/
sudo cp -ri "$HOME"/dotfiles/usr/.  /usr/

Set zsh as default shell.

chsh -s /bin/zsh

Note

And that’s it! You’ve successfully installed the base system and riced programs. However, your system may still be missing some important programs such as a media player or even a web browser. Steps below are optional, but I highly recommend checking them out.

Set up networking.

yay -S dhcpcd iwd
sudo systemctl enable --now dhcpcd.service iwd.service

Install optional dependencies.

yay -S --needed bc dmenu downgrade fzf mpc nano vim net-tools ntp tree vi wget
yay -S --needed 7zip czkawka-gui firefox firefox-beta-bin firefox-developer-edition gimp inkscape gparted libreoffice-fresh mpv vlc nemo nemo-fileroller obs-studio obsidian qalculate-gtk rsync vnstat yt-dlp
yay -S --needed cpupower-gui ntfs-3g nvidia cuda nvtop vulkan-radeon
yay -S --needed cloc cronie docker gcc clang make npm python pypy python-numpy python-pandas python-scipy python-matplotlib python-requests tmux
yay -S --needed noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra

Enable optional services.

sudo systemctl enable ntpd.service
sudo systemctl enable vnstat.service

Support and Contributions

You can support me simply by dropping a star on github. If you enjoyed it and would like to show your appreciation, you can tip me using kofi. Ko-fi

Feel free to create an issue or pull request.

  • However, check the issues tab first to avoid creating duplicates.
  • When opening an issue, please provide detailed information about the problem. I can't help if you just write something like "this thing is not working" - include as much relevant information as possible.
  • Before starting to work on a pull request for a new feature, please open an issue first so we can discuss about it.
  • Avoid overusing AI. We don't need 500 emojis. More lines of code doesn't mean better code - focus on simplicity and quality.

If you need any help, you can ask questions here on discussions or contact me on discord / reddit.

Thanks to all contributors! :D

Detailed information

tree WIP

Dependencies

Base (~190 Mib)

  • archlinux-keyring base base-devel linux linux-firmware - base
  • dhcpcd - DHCP client (optional)
  • git - version control system
  • iwd- wireless network daemon (optional)
  • pulseaudio - sound server for handling audio
  • xorg - display server
  • xorg-xinit - script to manually start the X server without a display manager (optional)

Programs (~607 Mib)

  • btop - resource monitor
  • code - code editor
  • dunst - notification deamon
  • fastfetch - system information fetcher
  • feh - wallpaper setter
  • i3-wm - dynamic tiling window manager
  • kitty - terminal emulator
  • i3lock-color - lock screen (AUR)
  • mate-polkit - controlling system-wide privileges
  • mpd - music playback service
  • ncmpcpp - MPD client
  • papirus-icon-theme - modern icon pack
  • picom - compositor for X11
  • polybar - status bar
  • rofi - application launcher
  • xss-lock - hooks into XScreenSaver events to lock the screen when idle
  • zsh - shell
  • zed - code editor

Fonts (~1040 Mib)

  • ttf-roboto-mono ttf-opensans ttf-iosevka-nerd

Scripts (~3 Mib)

  • ffcast - script for recording your screen (AUR)
  • inotify-tools - command-line utilities for monitoring filesystem events
  • jq - JSON processor
  • libnotify - library for sending desktop notifications
  • rofi-vscode-mode - lauch recently used vsc workspace
  • scrot - screenshot utility
  • slop - select a region on screen
  • upower - power management daemon
  • xclip - clipboard manager for X

Additional dependencies

All of these packages are optional, but without them, some things may not work correctly. I recommend atleast installing basic utilities. To install all packages, you need approximately 8.4 GiB of free disk space (5 GiB takes cuda package).

Basic utilities (optional) (~21 Mib)

yay -S bc dmenu downgrade fzf mpc nano vim net-tools ntp tree vi wget

  • bc - command-line calculator
  • dmenu - app launcher
  • downgrade - pkg downgrader
  • fzf - fuzzy finder
  • mpc - comand-line MPD client
  • nano vim - text editors
  • net-tools - network tools
  • ntp - time sync
  • tree - directory tree viewer
  • vi - basic text editor
  • wget - command-line downloader

Basic programs (optional) (~1700Mib)

yay -S 7zip czkawka-gui firefox firefox-beta-bin firefox-developer-edition gimp inkscape gparted libreoffice-fresh mpv vlc nemo nemo-fileroller obs-studio obsidian qalculate-gtk rsync vnstat yt-dlp

  • 7zip - archiver
  • czkawka-gui - duplicate finder
  • firefox firefox-beta-bin firefox-developer-edition - web browsers
  • gimp inkscape - image editors
  • gparted - partition tool
  • libreoffice-fresh - office suite
  • mpv vlc - media players
  • nemo nemo-fileroller - file manager
  • obs-studio - screen recorder
  • obsidian - notes app
  • qalculate-gtk - calculator with advanced functions
  • rsync - file sync and backup
  • vnstat - network monitor
  • yt-dlp - video downloader

Drivers (optional) (~4900 Mib)

yay -S cpupower-gui ntfs-3g nvidia cuda nvtop vulkan-radeon

  • cpupower-gui - CPU settings
  • ntfs-3g - NTFS filesystem support
  • nvidia cuda nvtop - NVIDIA drivers
  • vulkan-radeon - AMD Vulkan

Programming (optional) (~1000Mib)

yay -S cloc cronie docker gcc clang make npm python pypy python-numpy python-pandas python-scipy python-matplotlib python-requests tmux

  • cloc - counts lines of code
  • cronie - task scheduler
  • docker - container platform
  • gcc clang make - compilers and build tools
  • npm - Node.js package manager
  • python pypy python-numpy python-pandas python-scipy python-matplotlib python-requests - Python interpreters and libraries
  • tmux - terminal multiplexer

Emoji fonts (~750 MiB)

yay -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra

  • noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra

Keybindings Overview

Keybinding Action Keybinding Action
Mod + Return Launch terminal Mod + H Split in horizontal orientation
Mod + D Open menu Mod + V Split in vertical orientation
Mod + Shift + Q Close focused window Mod + Space Toggle focus mode (tiling / floating)
Mod + F Toggle fullscreen Mod + Shift + Space Toggle tiling / floating mode
Mod + Q Launch Firefox Developer Edition Mod + J/K/L/; Change focus direction
Mod + W Open recent VSC workspace Mod + Shift + J/K/L/; Move focused window
Mod + E Open file manager (Nemo) Mod + 1 to 0 Switch to workspaces 1 to 10
Mod + A Open menu (drun version) Mod + Shift + 1 to 0 Move focused window to workspaces 1 to 10
Mod + S Open screenshots dir in Nemo Mod + Shift + E Exit i3
Mod + Z Launch ncmpcpp Mod + Shift + R Restart i3
Mod + X Open powermenu Mod + Shift + C Reload i3 config file
Mod + C Launch screenshot script Mod + B Move workspace to the other monitor
Mod + I Lock screen Mod + N Set dual monitor mode
Mod + G Enter gap mode Mod + M Set single-monitor mode

Color palette

Bg Bg 2 Bg 3 Border Fg White Gray Black
#1b1b25 #282A36 #16161e #343746 #dedede #eeffff #727480 #15121c
#1b1b25 #282A36 #16161e #343746 #dedede #eeffff #727480 #15121c
Red Green Yellow Blue Purple Cyan Pink Orange
#cb5760 #999f63 #d4a067 #6c90a8 #776690 #528a9b #ffa8c5 #c87c3e
#cb5760 #999f63 #d4a067 #6c90a8 #776690 #528a9b #ffa8c5 #c87c3e

License

Distributed under the GPLv3+ License.
Copyright (C) 2022-2025 Keyitdev.