Go to file
2019-08-19 09:04:33 +08:00
.scripts Add a delay for screenshot capture scripts 2019-08-19 09:01:58 +08:00
alacritty Update Alacritty and i3 2019-08-19 09:04:33 +08:00
docs Update documentation 2019-08-10 14:02:52 +08:00
dunst Create config for dunst 2019-08-18 08:29:48 +08:00
gtk2 Include GTK config 2019-08-15 23:15:26 +08:00
gtk3 Include GTK config 2019-08-15 23:15:26 +08:00
i3 Update Alacritty and i3 2019-08-19 09:04:33 +08:00
i3status Improve config of i3 and ranger 2019-08-11 17:07:25 +08:00
pacman Put pacman configuration in this repo 2019-08-18 08:26:04 +08:00
ranger Update config for i3, ranger, and Xorg 2019-08-18 08:30:14 +08:00
rofi Update Alacritty and i3 2019-08-19 09:04:33 +08:00
vim Update Vim and UltiSnips config 2019-08-19 09:03:51 +08:00
wallpapers Add wallpapers (for reference color scheme and desktop background) 2019-08-15 21:48:26 +08:00
xorg Update config for i3, ranger, and Xorg 2019-08-18 08:30:14 +08:00
zsh Update config for i3, ranger, and Xorg 2019-08-18 08:30:14 +08:00
LICENSE Initial commit 2019-08-08 17:31:28 +08:00
README.adoc Update README 2019-08-18 08:44:29 +08:00

My dotfiles for my Linux-based system setup. The structure of this repo is designed to be managed with GNU Stow, a symlinks farm manager.

Screenshots

My i3 setup with multiple windows
My i3 setup with single window
My i3 setup with no window
My i3 setup with rofi

Specifications

Here are the main specifications of my machine currently running this (as of 2019-08-09):

Terminal color scheme was generated with pywal. The picture is used to generate the color pallete is this one. Its also the wallpaper used in the screenshots.

Wallpapers

Here are the wallpapers' filename along with their sources:

Custom scripts

My own scripts is in .scripts/ and should be linked in $HOME/.scripts. This is mostly used for using scripts from different configs such as from i3 and dunst.

Configured programs

Heres a list of the programs with details on the config found in this repo. Each of the directory is designed to be used/managed with GNU Stow at the indicated target path.

Zsh

A Unix shell and an alternative to the Bash.

  • Config found at zsh/ directory.

  • The usual target path for a user is at $HOME/.

    • zsh 5.7.1 (x86_64-pc-linux-gnu)

  • Take note that the configuration assumes that you install Oh My Zsh! after.

Xorg

A display server implementing X window system.

  • Config found at xorg/ directory.

  • The usual target path for a user is at $HOME/.

  • Minimum version (from Xorg -version):

    • X.Org X Server 1.20.5

    • X Protocol Version 11, Revision 0

  • The configuration is found at .Xresources containing the colors (0 to 15, foreground, and the background)

Vim

A modal text editor.

  • Config located at vim/ directory.

  • The usual target path for a user is at $HOME/.

  • Minimum version (from vim --version):

    • 8.1 (2018 May 18, compiled Jul 29 2019 20:38:53)

  • Contains my plugin list and editor configurations at .vimrc.

  • There are also some UltiSnips snippets stored in own-snippets folder (since snippets is a reserved folder name). One of the largest snippet file is the snippets for LaTeX files. It is based on Gilles Castel's UltiSnips snippets for LaTeX.

Ranger

  • Config located at ranger/ directory.

  • The usual target path for a user is at $HOME/.config/ranger/.

  • Minimum version (from ranger --version):

    • ranger version: ranger 1.9.2

    • Python version: 3.7.4 (default, Jul 16 2019, 07:12:58) [GCC 9.1.0]

  • All of the config files are basically default config files except with a few changes.

  • Contains keybinding in rc.conf. Additional keybindings include the O keybinding and their variants for opening my go-to programs such as Visual Studio Code.

  • rifle.conf contains configuration for opening a list of programs.

Alacritty

Similar to Kitty , its a GPU-based terminal emulator. Its documentation for the configuration can be viewed at the config file itself being filled with comments.

  • Config located at alacritty/ directory.

  • The usual target path for a user is at $HOME/.config/alacritty/.

  • Minimum version (from alacritty --version):

    • alacritty 0.3.3

  • Contains a single alacritty.yaml as the config file. Not much has changed except for the color scheme and the font being used.

i3-gaps

  • If its any of importance, the configuration is prone to be moved for the original version of i3 since theres consideration for merging of gaps into i3.

  • The usual target path for a user is at $HOME/.config/i3/.

  • Config located at i3/ directory.

  • Minimum version (from i3 --version):

    • i3 version 4.17 (04.08.2019) © 2009 Michael Stapelberg and contributors

  • Uses rofi as the application launcher and serves as a replacement for dmenu.

  • The containing config (config) is simply the default config with my personal config added into it. Not much to say here except I use i3bar (the default bar) and i3status (the default status bar config) to fill in.

  • The config for i3status is located in a different directory at i3status/ containing a single config file (for now).

  • Also, it uses scripts from the .scripts/ directory so be sure to put those in the appropriate location as well.

Rofi

The application switcher and launcher. Also serves as a replacement for dmenu.

  • Config located at rofi/.

  • The usual target path for a user is at $HOME/.config/rofi/.

  • Minimum version (from rofi -version):

    • Version: 1.5.4

  • Main config is config.rasi.

  • My i3 setup uses Rofi with my custom theme (fds-sidebar) with $mod+D (see image above). Every variation of my sidebar theme should import the common file (fds-sidebar-common.rasi) and only declare the colors. See fds-sidebar-dark.rasi for an example.

GTK

A library for creating programs with graphical user interface (GUI).

There are often two versions when configuring GTK: version 2 and 3.

  • Version depends on the program itself since it is usually statically linked within the GUI program.

  • GTK3 config located at gtk3/.

  • The usual target path of GTK3 for a user is at $HOME/.config/gtk-3.0/.

  • Simply contains a settings.ini file that contains common configuration thatll be applied for most GTK3 apps (Thunar, Inkscape, etc.).

  • GTK2 config located at gkt2/.

  • The usual target path of GTK2 for a user is at $HOME/ because of the .gtkrc-2.0 file needs to at $HOME/.

  • GTK color and icon theme is Arc theme and uses the light dark variation (arc-darker).

Dunst

Its a notification daemon used to display notifications sent by notifiers (programs that send messages/notifications).

  • Config location is at dunst/.

  • The usual target path for a user is at $HOME/.config/dunst/.

  • Minimum version (from dunst --version):

    • Dunst - A customizable and lightweight notification-daemon 1.4.1 (2019-07-03)

  • Simply contains a dunstrc configuring appearance of the notifications.

Additional programs used

As much as possible, I use free and open source software for all of my needs.

System administration

Tip
I recommend to start at this list especially if youre starting with a bare minimum of a Linux installation.
  • htop - A process viewer and manager.

  • lxsession - A session manager and an authentication agent for Polkit; very useful if youre usually using with a user-level account.

  • Polkit - A program for bridging unprivileged processes to privileged access.

  • systemd-boot - The UEFI boot manager.

  • udisks - A manager for mounting filesystems.

  • udiskie - An automounter for removable media.

General purpose programs

  • Audacious - An audio player with various listening options.

  • feh - A minimal image viewer.

  • Firefox - One of the major web browser second to Chrome.

  • maim - A simple screenshot utility.

  • OBS Studio - A facility for streaming and recording videos.

  • OpenShot - An intuitive video editor.

  • Thunar - A file manager. A part of the Xfce desktop environment.

  • Thunderbird - A email client.

  • VLC Media Player - A multimedia player.

  • Weechat - An IRC client on the command line.

Device drivers and servers

Music production

  • Carla - An audio plug-in host supporting various audio plug-in formats such as VST2/3, SF2, and SFZ.

  • LMMS - A digital audio workstation for beat production.

  • Musescore - A music composition and notation software.

Design

  • Blender - A top-notch 3D modelling program.

  • FreeCAD - A general purpose 3D computer-aided design program.

  • Inkscape - A vector illustration/editing program. Alternative to Adobe Illustrator.

  • Krita - A painting/illustration program.

Fonts

Documents

  • Asciidoctor - A text formatting language suitable for creating books, documentations, and writings. Highlights a heavier feature set compared to Markdown.

  • LibreOffice - An office productivity suite and serves as a free alternative to Microsoft Office suite.

  • TeX Live - A cross-platform LaTeX distribution for compiling LaTeX files.

Mathematical tools

  • Anaconda - A mathematical environment distribution.

  • Octave - A mathematical computational environment similar to Matlab.

Software development

  • CMake - A cross-platform build system that takes care of build configurations.

  • GCC - A set of compilers from GNU. I mainly use it for developing and compiling C and C++ languages.

  • Git - My one and only version control system.

  • Godot Engine - A game engine with its own interface.

  • Make - A build automation system.

  • Visual Studio Code - A text editor that comes with lightweight IDE features.

  • The programming language runtime for Python, Ruby, Java, Rust, and Go.