BSPWM .files
Dot files for my Arch Linux + bspwm setup used on my Dell XPS 15 9560.
(NOTE: These are the bspwm dotfiles, my i3wm setup is located in the i3wm branch)
Table of contents
Screenshots
Packages
Primary
rofi
: Application launcherzsh
: Shellurxvt
: Terminal emulatorbspwm
: Window managersxhkd
: Hotkey daemondunst
: Notification daemonvim
: Editorvim-plug
: Vim Plugin Managerpolybar
: Status barfirefox
: Browserchromium
: Browserevince
: PDF readerbetterlockscreen
: Lock screenlibinput
: Touch pad driverlibinput-gestures
: Custom touchpad gestures
neofetch
: System inforanger
: File explorerlightdm
: Display Manager
Secondary
w3m
: Used to display images in rangerimgur-screenshot
: Screenclip to imgurmaim
: Screenclip to clipboardKeeWeb
: Password managerredshift
: F.lux alternative (tints your screen to make it easier on your eyes)picom
: Compositorpulseaudio / -alsa
: Audio driverSpicetify
: Spotify theming CLI toolconnman
: Network managercmst
: Front-end for connman
pamixer
: Pulseaudio managergotop
: Beautiful TUI activity monitor- plug
xcwd
: Used to open a new terminal in the same directory as the current focused terminal- Fonts:
- Iosevka
- noto-fonts
- ttf-font-awesome
- icomoon-feather
Installation
Installation and the dotfiles are to be managed with yadm, thus installation is done through cloning the repository using yadm clone
, and then confirm running the bootstrapping script when prompted to. If not prompted after cloning, executing the bootstrapping script can be done at any time with yadm bootstrap
.
Thus, if you have a completely fresh install of arch, do the following:
$ curl -fLo /usr/local/bin/yadm https://github.com/TheLocehiliosan/yadm/raw/master/yadm && chmod a+x /usr/local/bin/yadm
$ yadm clone https://github.com/4lgn/dotfiles -b bspwm
$ yadm bootstrap
The bootstrapping script should setup and install most things, and get you a completely usable system. There are, however, still some further configuration needed for some of the applications that I use. The following sub-sections will cover these extra setups.
LightDM setup
Make sure you have the following packages installed:
pacman -S --needed lightdm lightdm-webkit2-greeter lightdm-webkit-theme-litarvan
- Edit
/etc/lightdm/lightdm.conf
and setgreeter-session=lightdm-webkit2-greeter
. - Then edit
/etc/lightdm/lightdm-webkit.conf
and set theme orwebkit-theme
tolitarvan
. - Enable the LightDM as a systemd service:
systemctl enable lightdm
Vim setup
Simply open vim and it should automatically install everything the first time. If something is wrong, or nothing seemed to have been installed, run :PlugInstall
from within vim.
Firefox setup
- Go to
about:config
- Enable
toolkit.legacyUserProfileCustomizations.stylesheets
- Go to
about:addons
- Enable the
Dark theme
if not already enabled - Copy the contents of my firefox profile to yours, located at
.mozilla/firefox/<your-profile-name>/chrome/
- Optionally remove some of the extra icons in the
Customize
menu
Rounded corners (bspwm fork)
To get the rounded corners in bspwm, I currently use a fork of bspwm by dylanaraps, found here.
To patch your current bspwm with these changes, do the following:
$ git clone https://github.com/dylanaraps/bspwm
$ cd bspwm
$ make && sudo make install
- Restart your X session.
Now, unfortunately, as you will quickly notice with this fork, these corners are not anti-aliased and are quite jagged. There is currently some open issues and discussion on getting anti-aliased corners, especially a pull request by sdhand is quite promising, found here. As of writing, none of the solutions out there are without compromises or problems, so I choose to live with jagged corners as of the time being.
Device/hardware specific settings
These are some of the tweaks I've made for my specific setup, most of them are to optimize battery lifetime
Disabled modules
/etc/modprobe.d/blacklist.conf
blacklist nouveau
blacklist nvidia
blacklist psmouse
blacklist btusb
blacklist bluetooth
Disabling turbo boost
/etc/systemd/system/disable-turbo-boost.service
[Unit]
Description=Disable Turbo Bost on Intel CPU
[Service]
ExecStart=/bin/sh -c "/usr/bin/echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo"
ExecStop=/bin/sh -c "/usr/bin/echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo"
[Install]
WantedBy=sysinit.target
Enable powertop auto tune
TLP can be used instead of this if you want a less aggressive power tuning.
/etc/systemd/system/powertop.service
[Unit]
Description=Powertop tunings
[Service]
ExecStart=/usr/bin/powertop --auto-tune
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
Kernel parameters
Below are the kernel parameters I would pass to all linux installations, mainly based upon some shortcomings and oddities that I have experienced with the Dell XPS 15.
add_efi_memmap rw quiet splash i915.modeset=1 nouveau.modeset=0 acpi_rev_override=1
i915.modeset=1
: Ensure iGPU is loaded early by using KMS. (Might fix boot loader/display manager not being shown)nouveau.modeset=0
: Block nouveau from managing the GPU. (This bundled together with the previous parameter allows X to run entirely on my iGPU, as there are no drivers loaded for the GPU; this drastically improves battery life for obvious reasons)acpi_rev_override=1
: This is the most important setting, as this prevents some freezing issues I had due to the nvidia card not working well with ACPI.quiet
andsplash
: Personal preference to not show every boot message at boot (I'd just remove these if something seems wrong)add_efi_memmap
andrw
: Probably not needed anymore andrw
are usually default anyways.