Skip to content

rodrigomideac/dotfiles

Repository files navigation

Dotfiles

These are my dotfiles that I use on my i3wm setup, with rofi and polybar.

Desktop Picture

The central point of this setup is to always open certain applications in specific workspaces. For now, I use this division:

  • Workspace 1: Chrome Browser
  • Workspace 2: Development IDEs
  • Workspace 3: Terminals
  • Workspace 4: Secondary Terminals (currently no bindings to this workspace)
  • Workspace 5: File Browsers (Ranger and Dolphin)
  • Workspace 6: Virtualbox
  • Workspace 8: Spotify
  • Workspace 9: Slack

Getting started

You need to have these dependencies installed before using this config. The dependencies are organized by category for easier installation.

Core Window Manager & Desktop

i3-wm
polybar
picom
rofi
dunst
feh
stow

Terminal & Shell

alacritty
terminator
zsh

System Utilities

nm-applet
NetworkManager
blueman
blueman-applet
light
xrandr
arandr
setxkbmap
numlockx
xdotool
yad
redshift

Audio & Media Controls

pavucontrol
amixer
playerctl

Screen & Session Management

i3-lock-fancy
betterlockscreen
maim
xclip

File Management

ranger
dolphin

Development Tools

neovim
vim
google-chrome
firefox
code

Communication & Entertainment

spotify
slack
discord

System Services & Security

kwallet
ksshaskpass
kwalletmanager
ssh-agent
notification-daemon

Additional Utilities

atuin
i3-battery-popup
solaar
qalculate-gtk
zenity
kdialog
curl

Development Environment (Optional)

jetbrains-toolbox
insomnia
virtualenv
kubectx
aws-cli
nvm
tldr

There is a deps.sh script that installs many of these dependencies via pacman and yay.

Edit the Makefile file to match your config path, and then run make stow to create the symlinks.

Note: stow will fail if the destination folders and files already exist. Make sure to copy or delete them before running make stow.

Personal Workflow Automation

After setting up the dotfiles, you can run personal workflow automation setup:

  • ./setup_personal.sh - Sets up personal automation like cron jobs for daily workflows

Further Configuration

Fonts

You might need these fonts to proper render some icons in the polybar:

VIM

The .vimrc config file needs to have the vim-plug installed.

Enable the services

So far, this config relies only on NetworkManager service. Make sure to install its package, enable and start its service via:

sudo systemctl enable NetworkManager.service
sudo systemctl start NetworkManager.service

Desktop Notifications

Some apps, such as Slack and Spotify, can crash if a desktop notification server is not running.

You can test if everything is ok by running in a shell notify-send 'Hello world!' 'This is an example notification.' --icon=dialog-information.

Ranger

To open Ranger in its workspace via rofi, we need to run it inside a terminator window named "ranger". Edit your /usr/share/applications/ranger.desktop Exec entry to terminator -T "ranger" -e "ranger" instead of only ranger.

Screen tearing on Nvidia-cards

In nvidia-settings -> X Server Display Configuration, set either Force Composition Pipeline or Force Full Composition Pipeline to true.

Multiple monitors setup

The script .config/i3/scripts/configure_monitors is run at every i3wm startup. It will set the monitors with a desired configuration by using xrandr. See the limitations of this script before using it.

  • Create a file ~/.monitor-setup with these contents, and adjust accordingly.
MONITOR_1_NAME=DP-0
MONITOR_1_RATE=144
MONITOR_2_NAME=HDMI-0
MONITOR_2_RIGHT_OF=DP-0
MONITOR_3_NAME=unset
MONITOR_3_LEFT_OF=unset

About

Dotfiles based on i3wm, rofi and polybar

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •