Some of my dotfiles
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CodingOtaku 71d006769c
update alacritty themes, add some gaps
2 months ago
.config update alacritty themes, add some gaps 2 months ago
.dot-screenshots Added Directory structure, moved screenshots 2 months ago
.bash_aliases Update alacritty and some confs 3 months ago
.bashrc Bash prompt fix 2 months ago
.profile Fixes 2 months ago
LICENSE Added License 11 months ago Removed WOB, using mako instead 2 months ago
config_setup move installations to another repo 9 months ago


Some of my dotfiles. Run this as a post-install script for your archlinux based distribution running Wayland. I used to use endavouros as my daily-driver, it was pretty easy to install and setup. These are my config files that made my workflow easier.
I now use vanilla arch (btw) and the same configs work great!

How to install?

Follow the steps 0 and 1 below.
Running a random script online comes with the risk of distroying a perfectly usable system, so make sure to look at the scripts, and read this entire README file for easy troubleshooting.

Alternatively, if you are using archlinux, you can use my arch-post-install script to install and configure all dependencies along with my dotfiles.

Step 0

Go through all the packags mentioned at the requirements section and install them.

Step 1

Run the following command on a terminal. This requires bash, curl, and git installed in your system, usually they are pre-installed in all GNU/Linux distributions, if not, install them using the package manager of your GNU/Linux distribution.

curl -Lks | /bin/bash

The script will try to backup your .config directory and other files it tries to copy, these will be present in the .config-backup directory in your $HOME directory.

Step 2



There is no auto update for the setup, but you can run the following command to update the config files.

This will replace your existing configurations! Don't worry, they are backed up to .config-backup directory!

bash config_setup

tip: use bash config_setup ssh if you have a codeberg account with ssh configured.

extra tip: you can also do config pull if you have not modified any of the config files! Run config status to see if there are any changes


screenshot screenshot

Directory structure

├── .bash_aliases # useful aliases
├── .bashrc # Useful functions and configs for bash (checkout eww)
├── .config
│   ├── alacritty
│     ├── alacritty.yml # Minimal configs for alacritty
│     └── dracula.yaml # Dracula theme for alacritty
│   ├── bat
│     └── config # config for bat (cat with syntax highlight).
│   ├── electron-flags.conf # Some electron workaround that I dont use.
│   ├── gtk-3.0 # Theme for GTK3 apps.
│     └── settings.ini
│   ├── mako
│     └── config # Notification color schemes.
│   ├── mpv
│     └── mpv.conf # Minor mpv config.
│   ├── nvim
│     ├── autoload
│       └── plug.vim # For plugins.
│     ├── coc-settings.json # code-auto-complete with language servers.
│     └── init.vim # neovim configs.
│   ├── qt5ct # Theme for qt5 programs.
│     └── qt5ct.conf
│   ├── qt6ct # Theme for qt6 programs.
│     └── qt6ct.conf
│   ├── ranger # Terminal file manager.
│     ├── colorschemes
│       ├──
│       └──
│     ├──
│     ├── rc.conf
│     ├── rifle.conf
│     └──
│   ├── sway
│     ├── config # Initial configurations.
│     ├── config.d # Extra configs to make sway work.
│       ├── idle.conf # tasks that run when system is idle.
│       ├── input.conf # I/O configs.
│       ├── keybindings.conf # Workspace and misc keybindings.
│       ├── modes.conf # Modes (screenshot, resize, etc.)
│       ├── special-keys.conf # Additional keybindings for volumn, brightness, laptop lid close, etc.
│       ├── startup.conf # Setup scripts to run at startup.
│       └── theme.conf # Layout, colors, top bar, wallpaper, etc.
│     ├── lock-screen.png # Default lockscreen image, replace it with what you want.
│     ├── scripts # Scripts that make this config unique.
│       ├── # Battery alerts and stuff.
│       ├── # A quick menu to control system.
│       ├── # A cleanup script to reset .vars directory when logged in to sway.
│       ├── # Statusbar (swaybar).
│       └── # Wifi strength details.
│     └── wallpaper.png # Default wallpaper, replace it with what you want.
│   ├── swaylock
│     └── config # Lockscreen config
│   └── wofi # The dmenu alternative I use (your terminal can do much better)
│       ├── config
│       └── style.css
├── .profile # Setup for terminal and environment
├── # This file
├── config_setup # Script to update this config from my git repository
└── .dot-screenshots # Screenshots of this projects
     ├── blank.png
     └── screenshot.png


Read the instructions on each of these packages to be sure that this is what you want to do.
For example, Keyboard driven tools like sway, ranger, mpv, imv, etc., are not something regular users are comfortable with using. If this is you, then click away.

And Make sure to edit my configs and make it your own :3

Script to automatically install the below are now present in the arch-post-install repository!

  • adwaita-icon-theme - GNOME standard icons
  • alacritty - A cross-platform, GPU-accelerated terminal emulator
  • bash-completion - Programmable completion for the bash shell
  • bat - Cat clone with syntax highlighting and git integration
  • brightnessctl - Lightweight brightness control tool
  • dracula-gtk-theme - Dark theme for GTK
  • dragon-drop - Simple drag-and-drop source/sink for X or Wayland
  • espeak-ng - Multi-lingual software speech synthesizer
  • ffmpeg - Complete solution to record, convert and stream audio and video
  • grim - Screenshot utility for Wayland
  • imv - Image viewer for Wayland and X11
  • iwd - Internet Wireless Daemon
  • libnotify - Library for sending desktop notifications
  • librewolf-bin - Community-maintained fork of Firefox, focused on privacy, security and freedom.
  • mako - Lightweight notification daemon for Wayland
  • man-db - A utility for reading man pages
  • mpv - a free, open source, and cross-platform media player
  • neovim - Fork of Vim aiming to improve user experience, plugins, and GUIs
  • noto-fonts - Google Noto TTF fonts
  • noto-fonts-cjk - Google Noto CJK fonts
  • noto-fonts-emoji - Google Noto emoji fonts
  • noto-fonts-extra - Google Noto TTF fonts - additional variants
  • pamixer - Pulseaudio command-line mixer like amixer
  • pavucontrol - PulseAudio Volume Control
  • pipewire-pulse - Low-latency audio/video router and processor - PulseAudio replacement
  • playerctl - mpris media player controller and lib for spotify, vlc, audacious, bmp, xmms2, and others.
  • qt6ct - Qt 6 Configuration Utility
  • ranger - Simple, vim-like file manager
  • slurp - Select a region in a Wayland compositor
  • swappy - A Wayland native snapshot editing tool
  • sway - Tiling Wayland compositor and replacement for the i3 window manager
  • swaybg - Wallpaper tool for Wayland compositors
  • swayidle - Idle management daemon for Wayland
  • swaylock - Screen locker for Wayland
  • the_silver_searcher - Code searching tool similar to Ack, but faster
  • ttf-nerd-fonts-symbols-2048-em - High number of extra glyphs from popular 'iconic fonts' (2048-em)
  • wl-clipboard - Command-line copy/paste utilities for Wayland
  • wofi - launcher for wlroots-based wayland compositors
  • yay - Yet another yogurt. Pacman wrapper and AUR helper written in go.
  • zathura - Minimalistic document viewer
  • zathura-pdf-mupdf - PDF support for Zathura (MuPDF backend) (Supports PDF, ePub, and OpenXPS)
  • zathura-pdf-mupdf - PDF support for Zathura (MuPDF backend) (Supports PDF, ePub, and OpenXPS)
  • Dracula Theme - The theme I use for almost all configs, they are already a part of my config files and is occasionally updated.


Not detecting the keyboard layout

I use the UK qwerty layout for this config, to use the layout you need, read man 5 sway-input and edit $HOME/.config/sway/config.d/input.conf.

Terminal apps not launching via wofi

Default terminal is Alacritty, wofi might not be detecting it and looks for xterm instead.
You can either install a new terminal app and set it as the default terminal in the ~/.config/sway/config file (look for variable called $term) or create a symlink to xterm with sudo ln -s /bin/alacritty /bin/xterm

Games does not launch, error: No available video device or unable to open display X

Install sdl2 package, .profile has environment variables that could potentially solve this issue.
If installing sdl2 does not work, check if the game use sdl2 or any other wayland supported libraries, else you might have to install xwayland, you will have to do this yourself.

Electron apps doesn't launch

Run the program with eww from terminal (eww signal-desktop).


How do I navigate?

Press Superkey + Enter to launch the terminal, and do cat ~/.config/sway/config.d/keybindings.conf to read the key combinations.

What is the weird arrow thingy on the wofi (application launcher)?

The arrow means that the application support other forms of opening, press tab (or click on the arrow) to see additional options.
For example, Firefox/Librewolf will have option to open the browser in private window or open profile manager.

How to connect to Wi-Fi?

Use iwctl to connect to Wi-Fi, check the man pages to know how to do this.

How to change the wallpaper?

The wallpaper and lockscreen images are present in the ~/.config/sway directory, replace them with the images you want, the configuration for this is present within ~/.config/sway/config.d/theme.conf file.

I want to add my own configs but not track them

The git does not track any files that are not already present in this repo (run config status to see if you have modified any tracked files). So even if you create $HOME/.config/sway/anotherfile it wont be tracked.
For this sway Configuration, you can add your own config files under $HOME/.config/sway/config.d directory, the existing config will import all files present there.
This is the best place to keep start-up programs, program specific configs, etc.