2019-08-09 14:55:10 +00:00
|
|
|
= dotfiles
|
|
|
|
|
2019-08-15 17:29:11 +00:00
|
|
|
My dotfiles for my Linux-based system setup.
|
|
|
|
The structure of this repo is designed to be managed with
|
|
|
|
https://www.gnu.org/software/stow/[GNU Stow], a symlinks
|
|
|
|
farm manager.
|
2019-08-09 14:55:10 +00:00
|
|
|
|
2019-08-10 03:39:47 +00:00
|
|
|
== Screenshots
|
|
|
|
|
2019-08-15 17:29:11 +00:00
|
|
|
image:docs/i3-multiple-windows.png[My i3 setup with multiple windows, width=100%]
|
2019-08-10 03:39:47 +00:00
|
|
|
|
2019-08-15 17:29:11 +00:00
|
|
|
image:docs/i3-single-window.png[My i3 setup with single window, width=100%]
|
2019-08-10 03:39:47 +00:00
|
|
|
|
2019-08-15 17:29:11 +00:00
|
|
|
image:docs/i3-no-window.png[My i3 setup with no window, width=100%]
|
2019-08-10 03:39:47 +00:00
|
|
|
|
2019-08-15 17:29:11 +00:00
|
|
|
image:docs/i3-rofi.png[My i3 setup with rofi, width=100%]
|
2019-08-10 06:02:52 +00:00
|
|
|
|
2019-08-09 14:55:10 +00:00
|
|
|
== Specifications
|
|
|
|
Here are the main specifications of my machine currently running this
|
|
|
|
(as of 2019-08-09):
|
|
|
|
|
|
|
|
* **Operating system**: https://www.archlinux.org/[Arch Linux]
|
|
|
|
* **Display server**: X Window System using https://www.x.org/wiki/[Xorg]
|
|
|
|
* **Window manager**: https://i3wm.org/[i3] (specifically https://github.com/Airblader/i3[i3-gaps])
|
2019-08-15 00:49:23 +00:00
|
|
|
* **Terminal emulator**: https://github.com/jwilm/alacritty/[Alacritty]
|
2019-08-15 03:59:32 +00:00
|
|
|
* **Shell**: http://www.zsh.org/[Zsh]
|
2019-08-15 00:49:23 +00:00
|
|
|
* **Terminal emulator font**: https://github.com/be5invis/iosevka[Iosevka]
|
|
|
|
|
|
|
|
Terminal color scheme was generated with https://github.com/dylanaraps/pywal[pywal].
|
|
|
|
The picture is used to generate the color pallete is
|
|
|
|
https://www.reddit.com/r/wallpapers/comments/cckpj0/i_made_this_simple_and_clean_drawing_over_the/[this one].
|
|
|
|
It's also the wallpaper used in the screenshots.
|
2019-08-09 14:55:10 +00:00
|
|
|
|
2019-08-15 17:29:11 +00:00
|
|
|
== Wallpapers
|
|
|
|
Here are the wallpapers' filename along with their sources:
|
|
|
|
|
|
|
|
* https://www.reddit.com/r/wallpapers/comments/cckpj0/i_made_this_simple_and_clean_drawing_over_the/[`nebula.jpg`]
|
|
|
|
* https://www.reddit.com/r/wallpapers/comments/co9t14/sand/[`sand.jpg`]
|
|
|
|
|
2019-08-10 06:02:52 +00:00
|
|
|
== Configured programs
|
2019-08-15 17:29:11 +00:00
|
|
|
Here's 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
|
|
|
|
https://www.gnu.org/software/stow/[GNU Stow] at the indicated target path.
|
|
|
|
|
|
|
|
=== https://www.zsh.org/[Zsh]
|
|
|
|
A Unix shell and an alternative to the Bash.
|
|
|
|
|
|
|
|
* Config found at link:zsh/[`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
|
|
|
|
https://github.com/robbyrussell/oh-my-zsh/[Oh My Zsh!] after.
|
2019-08-09 14:55:10 +00:00
|
|
|
|
2019-08-10 03:39:47 +00:00
|
|
|
=== https://www.x.org/wiki/[Xorg]
|
|
|
|
A display server implementing X window system.
|
|
|
|
|
|
|
|
* Config found at link:xorg/[`xorg/`] directory.
|
2019-08-15 17:29:11 +00:00
|
|
|
* The usual target path for a user is at `$HOME/`.
|
2019-08-10 03:39:47 +00:00
|
|
|
* 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,
|
2019-08-09 14:55:10 +00:00
|
|
|
foreground, and the background)
|
|
|
|
|
2019-08-10 03:39:47 +00:00
|
|
|
=== https://www.vim.org/[Vim]
|
|
|
|
A modal text editor.
|
|
|
|
|
|
|
|
* Config located at link:vim/[`vim/`] directory.
|
2019-08-15 17:29:11 +00:00
|
|
|
* The usual target path for a user is at `$HOME/`.
|
2019-08-10 03:39:47 +00:00
|
|
|
* Minimum version (from `vim --version`):
|
|
|
|
** `8.1 (2018 May 18, compiled Jul 29 2019 20:38:53)`
|
2019-08-15 03:59:32 +00:00
|
|
|
* Contains my plugin list and editor configurations at `.vimrc`.
|
|
|
|
* There are also some https://github.com/sirver/UltiSnips[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 https://github.com/gillescastel/latex-snippets/[_Gilles Castel_'s UltiSnips snippets for LaTeX].
|
2019-08-09 14:55:10 +00:00
|
|
|
|
2019-08-10 03:39:47 +00:00
|
|
|
=== https://ranger.github.io/[Ranger]
|
|
|
|
A Vim-based file browser.
|
2019-08-09 14:55:10 +00:00
|
|
|
https://github.com/ranger/ranger/wiki[Here's their config documentation for it.]
|
2019-08-10 03:39:47 +00:00
|
|
|
|
|
|
|
* Config located at link:ranger/[`ranger/`] directory.
|
2019-08-15 17:29:11 +00:00
|
|
|
* The usual target path for a user is at `$HOME/.config/ranger/`.
|
2019-08-10 03:39:47 +00:00
|
|
|
* 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
|
2019-08-09 14:55:10 +00:00
|
|
|
few changes.
|
2019-08-10 03:39:47 +00:00
|
|
|
* Contains keybinding in `rc.conf`. Additional keybindings include the `O`
|
2019-08-09 14:55:10 +00:00
|
|
|
keybinding and their variants for opening my go-to programs such as
|
|
|
|
https://code.visualstudio.com/[Visual Studio Code].
|
2019-08-10 03:39:47 +00:00
|
|
|
* `rifle.conf` contains configuration for opening a list of programs.
|
2019-08-09 14:55:10 +00:00
|
|
|
|
2019-08-15 00:49:23 +00:00
|
|
|
=== https://github.com/jwilm/alacritty/[Alacritty]
|
|
|
|
Similar to https://sw.kovidgoyal.net/kitty[Kitty] , it's a GPU-based terminal
|
|
|
|
emulator.
|
|
|
|
|
|
|
|
* Config located at link:alacritty/[`alacritty/`] directory.
|
2019-08-15 17:29:11 +00:00
|
|
|
* The usual target path for a user is at `$HOME/.config/alacritty/`.
|
2019-08-15 00:49:23 +00:00
|
|
|
* 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.
|
2019-08-09 14:55:10 +00:00
|
|
|
|
2019-08-10 03:39:47 +00:00
|
|
|
=== https://github.com/Airblader/i3[i3-gaps]
|
|
|
|
A fork of i3 window manager.
|
2019-08-09 14:55:10 +00:00
|
|
|
https://i3wm.org/docs[Here's the documentation page of the program.]
|
2019-08-10 03:39:47 +00:00
|
|
|
|
|
|
|
* If it's any of importance, the configuration is prone to be moved for the
|
2019-08-09 14:55:10 +00:00
|
|
|
https://github.com/i3/i3/[original version of i3] since
|
|
|
|
https://github.com/i3/i3/issues/3724[there's consideration for merging of gaps into i3].
|
2019-08-15 17:29:11 +00:00
|
|
|
* The usual target path for a user is at `$HOME/.config/i3/`.
|
2019-08-10 03:39:47 +00:00
|
|
|
* Config located at link:i3/[`i3/`] directory.
|
|
|
|
* Minimum version (from `i3 --version`):
|
|
|
|
** `i3 version 4.17 (04.08.2019) © 2009 Michael Stapelberg and contributors`
|
|
|
|
* Uses https://github.com/davatorium/rofi[`rofi`] as the application launcher and
|
2019-08-09 14:55:10 +00:00
|
|
|
serves as a replacement for https://tools.suckless.org/dmenu/[`dmenu`].
|
2019-08-10 03:39:47 +00:00
|
|
|
* The containing config (`config`) is simply the default config with my personal
|
2019-08-09 14:55:10 +00:00
|
|
|
config added into it. Not much to say here except I use `i3bar` (the default bar) and
|
|
|
|
https://github.com/i3/i3status[`i3status`] (the default status bar config) to fill in.
|
2019-08-10 03:39:47 +00:00
|
|
|
* The config for `i3status` is located in a different directory at link:i3status[`i3status/`]
|
2019-08-09 14:55:10 +00:00
|
|
|
containing a single `config` file (for now).
|
|
|
|
|
2019-08-10 03:39:47 +00:00
|
|
|
=== https://github.com/davatorium/rofi[Rofi]
|
|
|
|
The application switcher and launcher. Also serves as a replacement
|
|
|
|
for https://tools.suckless.org/dmenu/[dmenu].
|
|
|
|
|
|
|
|
* Config located at link:rofi/[`rofi/`].
|
2019-08-15 17:29:11 +00:00
|
|
|
* The usual target path for a user is at `$HOME/.config/rofi/`.
|
2019-08-10 03:39:47 +00:00
|
|
|
* Minimum version (from `rofi -version`):
|
|
|
|
** `Version: 1.5.4`
|
|
|
|
* Main config is `config.rasi`.
|
2019-08-15 00:49:23 +00:00
|
|
|
* 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.
|
|
|
|
|
|
|
|
=== https://www.gtk.org/[GTK]
|
|
|
|
A library for creating programs with graphical user interface (GUI).
|
|
|
|
|
|
|
|
There are often two versions when configuring GTK: version 2 and 3.
|
|
|
|
|
2019-08-15 17:29:11 +00:00
|
|
|
* Version depends on the program itself since it is usually statically
|
|
|
|
linked within the GUI program.
|
2019-08-15 00:49:23 +00:00
|
|
|
* GTK3 config located at link:gtk3/[`gtk3/`].
|
2019-08-15 17:29:11 +00:00
|
|
|
* The usual target path of GTK3 for a user is at `$HOME/.config/gtk-3.0/`.
|
2019-08-15 00:49:23 +00:00
|
|
|
* Simply contains a `settings.ini` file that contains common configuration
|
|
|
|
that'll be applied for most GTK3 apps (Thunar, Inkscape, etc.).
|
2019-08-15 17:29:11 +00:00
|
|
|
* GTK2 config located at link:gtk2/[`gkt2/`].
|
|
|
|
* The usual target path of GTK2 for a user is at `$HOME/` because of the
|
|
|
|
`.gtkrc-2.0` file needs to at `$HOME/`.
|
2019-08-15 00:49:23 +00:00
|
|
|
* GTK color and icon theme is https://github.com/NicoHood/arc-theme[Arc theme]
|
|
|
|
and uses the light dark variation (`arc-darker`).
|
2019-08-10 06:02:52 +00:00
|
|
|
|
|
|
|
== Additional programs used
|
2019-08-15 00:49:23 +00:00
|
|
|
As much as possible, I use free and open source software for all of my needs.
|
2019-08-10 06:02:52 +00:00
|
|
|
|
2019-08-15 17:29:11 +00:00
|
|
|
=== System administration
|
|
|
|
TIP: I recommend to start at this list especially if you're starting with a bare
|
|
|
|
minimum of a Linux installation.
|
|
|
|
|
|
|
|
* https://github.com/lxde/lxsession[lxsession] - A session manager and an
|
|
|
|
authentication agent for Polkit; very useful if you're usually using with a user-level account.
|
|
|
|
* https://www.freedesktop.org/wiki/Software/polkit/[Polkit] - A program for bridging
|
|
|
|
unprivileged processes to privileged access.
|
|
|
|
* https://wiki.archlinux.org/index.php/Systemd-boot[systemd-boot] - The UEFI boot manager.
|
|
|
|
* https://www.freedesktop.org/wiki/Software/udisks/[udisks] - A manager for mounting filesystems.
|
|
|
|
* https://github.com/coldfix/udiskie[udiskie] - An automounter for removable media.
|
|
|
|
|
2019-08-10 06:02:52 +00:00
|
|
|
=== General purpose programs
|
2019-08-15 17:29:11 +00:00
|
|
|
* https://audacious-media-player.org/[Audacious] - An audio player with various listening options.
|
|
|
|
* https://feh.finalrewind.org/[feh] - A minimal image viewer.
|
|
|
|
* https://www.mozilla.org/en-US/firefox/new/[Firefox] - One of the major web browser second to Chrome.
|
|
|
|
* https://github.com/naelstrof/maim[maim] - A simple screenshot utility.
|
|
|
|
* https://obsproject.com/[OBS Studio] - A facility for streaming and recording videos.
|
|
|
|
* https://www.openshot.org/[OpenShot] - An intuitive video editor.
|
|
|
|
* https://docs.xfce.org/xfce/thunar/start[Thunar] - A file manager. A part of the Xfce desktop environment.
|
|
|
|
* https://www.videolan.org/vlc/[VLC Media Player] - A multimedia player.
|
2019-08-15 00:49:23 +00:00
|
|
|
|
|
|
|
=== Device drivers and servers
|
2019-08-15 17:29:11 +00:00
|
|
|
* https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture[ALSA] - A Linux
|
|
|
|
sound driver.
|
|
|
|
* https://ffmpeg.org/[ffmpeg] - A multimedia codec including for MP4, FLV, and more.
|
2019-08-10 06:02:52 +00:00
|
|
|
* https://wiki.archlinux.org/index.php/NetworkManager[GNOME NetworkManager]
|
|
|
|
|
2019-08-15 17:29:11 +00:00
|
|
|
=== Music production
|
|
|
|
* https://kx.studio/Applications:Carla[Carla] - An audio plug-in host supporting various audio
|
|
|
|
plug-in formats such as VST2/3, SF2, and SFZ.
|
|
|
|
* https://lmms.io/[LMMS] - A digital audio workstation for beat production.
|
|
|
|
|
2019-08-15 00:49:23 +00:00
|
|
|
=== Design
|
2019-08-15 17:29:11 +00:00
|
|
|
* https://blender.org/[Blender] - A top-notch 3D modelling program.
|
|
|
|
* https://www.freecadweb.org/[FreeCAD] - A general purpose 3D computer-aided design program.
|
|
|
|
* https://inkscape.org/[Inkscape] - A vector illustration/editing program.
|
2019-08-15 00:49:23 +00:00
|
|
|
|
2019-08-10 06:02:52 +00:00
|
|
|
=== Fonts
|
2019-08-15 17:29:11 +00:00
|
|
|
* https://github.com/tonsky/FiraCode[Fira Code] - A programmer-oriented font that supports ligatures.
|
2019-08-15 00:49:23 +00:00
|
|
|
* https://github.com/be5invis/iosevka[Iosevka]
|
2019-08-10 06:02:52 +00:00
|
|
|
* https://github.com/googlefonts/noto-fonts[Noto Fonts]
|
|
|
|
|
|
|
|
=== Documents
|
2019-08-15 17:29:11 +00:00
|
|
|
* https://asciidoctor.org/[Asciidoctor] - A text formatting language suitable for creating
|
|
|
|
books, documentations, and writings. Highlights a heavier feature set compared to Markdown.
|
|
|
|
* https://www.libreoffice.org/[LibreOffice] - An office productivity suite and serves as a
|
|
|
|
free alternative to Microsoft Office suite.
|
|
|
|
* https://www.tug.org/texlive/[TeX Live] - A cross-platform LaTeX distribution for compiling LaTeX files.
|
|
|
|
|
|
|
|
=== Mathematical tools
|
|
|
|
* https://www.anaconda.com/[Anaconda] - A mathematical environment distribution.
|
|
|
|
* https://www.gnu.org/software/octave/[Octave] - A mathematical computational environment similar to Matlab.
|
|
|
|
|
|
|
|
=== Software development
|
|
|
|
* https://cmake.org/[CMake] - A cross-platform build system that takes care of build configurations.
|
|
|
|
* https://gcc.gnu.org/[GCC] - A set of compilers from GNU. I mainly use it for developing and compiling
|
|
|
|
C and C++ languages.
|
|
|
|
* https://git-scm.com/[Git] - My one and only version control system.
|
|
|
|
* https://www.gnu.org/software/make/[Make] - A build automation system.
|
|
|
|
* https://code.visualstudio.com/[Visual Studio Code] - A text editor that comes with lightweight IDE features.
|
|
|
|
* The programming language runtime for https://www.python.org/[Python],
|
|
|
|
https://www.ruby-lang.org/en/[Ruby], https://www.java.com/[Java],
|
|
|
|
https://www.rust-lang.org/[Rust], and https://golang.org/[Go].
|
|
|
|
|