/dotfiles

Dotfiles, configurations, scripts, workarounds and practises from my debian machines.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

dotfiles

Screenshot

Full screenshots gallery

Contents


Introduction

Each folder is named after a package and contains every configuration file used by that application. Besides some noted exceptions, the files inside the folders are relative to home (e.g. the file vim/.vimrc goes to ~/.vimrc).

Every section here explains which settings and (if any) workarounds/fixes are used to obtain the described result.

For further reference, read carefully every section in this file, and copy only the configuration files relative to the parts you are trying to setup.

If something still doesn't work as expected, check:

If none of these helped, feel free to open an issue here. Include your distro informations and the configuration values you are trying.

Login Manager

SDDM, breeze2-sddm-theme, San Francisco Display.

Desktop

X, Plasma, i3, compton

i3 + Plasma integration

I'm using KDE Plasma as Desktop Environment + i3-gaps as (tiling) Windows Manager. Without having to use patches to either i3 or KDE - just with some tuning - everything works out of the box, including:

  • the Pager widget (which correctly reads and lets you switch i3 workspaces)
  • the Icons-only Task Manager (~dock) widget (opens for you the corresponding workspace when clicking an icon)
  • other plasmashell widgets and popups
  • multiple displays
  • everything offered by i3 (including window focusing, shortcuts and mouse-related things)

You will still use the Plasma session with startx, so set your login manager accordingly.

~350 MB base RAM consumption, compositor included.

Please note that i3 will replace KWin completely, so you won't have titlebars and every other compositing/animation feature offered by a standard Plasma installation.

Disabling the Plasma Desktop and the Plasma Wallpaper

The Plasma wallpaper is rendered at the top, hiding everything. Disable the autostart of ksplashqml:

sudo mv /usr/bin/ksplashqml /usr/bin/ksplashqml.old

Finally, in the i3 configuration we use wmctrl to kill the Plasma desktop view:

exec --no-startup-id wmctrl -c Plasma
for_window [title="Desktop — Plasma"] kill; floating enable; border none

Wallpaper

As soon as i3 is ready you can actually use the system - but - while Plasma finishes the boot (takes ~5 seconds more for me on i5 Skylake and SSD) you'll notice the Plasma boot animation as it was the wallpaper: to avoid this use "None" as Splash Screen Theme. The wallpaper is then set with feh (delay this if you still notice problems).

Glitched tooltips

If you notice something like this, compton maybe the problem, try disabling the fade effect:

wintypes :
{
	tooltip : 
	{
#    fade = true;
	 shadow = false;
	 opacity = 0.75;
	 focus = true;
	};
};

Status Bar

It's a fully transparent Plasma panel, themed with the Arc T desktop theme. The awesome-widgets plasmoid shows the following content:

<div align="right" style="color:#ffffff; font-family:'Helvetica Neue'; font-size:12pt;">$hddfreegb0G&nbsp;&nbsp;&nbsp;&nbsp;$cpu%&nbsp;&nbsp;&nbsp;&nbsp;$memgbG&nbsp;&nbsp;&nbsp;&nbsp;$temp0 &nbsp;&nbsp;&nbsp; $custom1</div>

Where $custom1 runs bat.sh. Depends on FontAwesome.

Launcher

Rofi (themed in X/.Xresources), started in i3 with bindsym $mod+d exec --no-startup-id i3-dmenu-desktop --dmenu='rofi -i -dmenu -width 40 -lines 8 -font "San Francisco Display 18"'.

Theming

  • Workspace theme: Breeze
  • Desktop theme: Arc T
  • Icon Theme: Papirus-Dark
  • Widget Style: Breeze
  • GTK theme: Breeze, monokai-gtk
  • Compositor: compton

Color Schemes

A slightly modified SpaceGray Eighties.

Typography

Font rendering settings are in the X folder.

Sans Serif, UI:

  • Helvetica Neue
  • IBM Plex Sans
  • San Francisco Display

Monospaced, text editors and shells:

  • Monaco
  • Hack
  • Input
  • Iosevka

Compositor

Everything is working without a compositor. However, xcompmgr and compton have been tested to work flawlessly on this setup.

Notifications

Notifications are handled by Plasma. If you don't see them correctly, check if you have another notification daemon installed (e.g. dunst which comes as recommended package for i3 in some distros).

Applications

Terminal Emulator

Alacritty

bash

TODO

fish

TODO

vim

TODO

tmux

TODO

Sublime Text 3

TODO

Screenshot 2

Screenshot 3

System

apt/

My machines run on Debian Sid/unstable, while having testing, stable and backports as fallback sources.

This is not a good solution if you don't know what the previous statement means or if you want a stable system and aren't prepared to fix things.

Scripts

scripts/

Bash things (some of them are aliased):

  • vpn.sh - Connect to Juniper based VPN service
  • template.tex - Template for my LaTex + Pandoc workflow
  • teamviewer.sh - Using teamviewer without wasting resources
  • backupperino.sh - Backup, encrypt and upload to Dropbox/VPS
  • avd.sh - Starting android emulators with (working) HW acceleration
  • mount.sh - sshfs preset (mounts remote folder as local filesystem, over ssh)
  • powersettings.sh - Disable things on battery, and the other way round on AC
  • bat.sh - Renders battery icon, percentage, charging and AC indicators in status bar. Executed by awesome-widgets.
  • vbox.sh - Prepares the system and updates the VirtualBox Guest Additions
  • sublimeupdate.py - (Python3) Checks if a new Sublime Text 3 version is available and installs it
  • update.sh - Update the system (APT, npm -g)

Credits