██████╗ █████╗ ██╗ ██╗███████╗███╗ ██╗ Antonin Fischer (raven2cz) ██╔══██╗██╔══██╗██║ ██║██╔════╝████╗ ██║ https://fishlive.org/ ██████╔╝███████║██║ ██║█████╗ ██╔██╗ ██║ https://arch-linux.cz/ ██╔══██╗██╔══██║╚██╗ ██╔╝██╔══╝ ██║╚██╗██║ https://github.com/raven2cz ██║ ██║██║ ██║ ╚████╔╝ ███████╗██║ ╚████║ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═══╝
DOTFILES PROJECT
- Introduction
- Main GIT Subtree Project Dependencies
- Applications
- Public Wallpapers
- Global-colorscheme script
- Rofi-Themes GitHub Project in github
- Dotfiles Repository Administration Support
- License
Dotfiles are the customization and configuration files that are used to personalize your GNU/Linux or other *nix-based system. You can tell that a file is a dotfile because the name of the file will start with a period–a dot (e.g. .xinitrc
). The period at the beginning of a filename or directory name indicates that it is a hidden file or hidden directory. This repository contains my personal dotfiles as global union of many mine and other github projects. They are stored here for convenience so that I may quickly access them on new machines or new installation. Also, others may find some of my configurations helpful in customizing their own dotfiles.
Github Project’s list added as git subtrees to the dotfiles project. These depended projects are similar as libraries; can be used alone. The dotfiles project creates union of these projects and add additional configs for global usage “together”.
AwesomeWM (git-main branch) configuration with new Multicolor Theme, 80s DarkOne Theme, Amazing Theme.
The multicolor theme brings 15 best colorschemes today! 13 dark and soft, 2 light themes. You can find here nord, doom_one, tomorrow_night, palenight, dracula, dark one etc. The system binds together special lua script which change the additional applications together: kitty, alacritty (and planned next). In the public-wallpaper packages are downloaded prepared 50 wallpapers depended on the selected color scheme. Last important change is notification support with portraits with appropriate color scheme too.
All color scheme are applied on-the-fly without restart station, you just select appropriate color scheme and whole WM, wallpapers and other apps are changed. The wallpapers can be swap for appropriate color scheme by super+alt+C
forward, super+ctrl+C
backward and color scheme table is shown by super+c
.
is focused to Atom colors and 80s pastel color schemes. New complex configuration of main panel with many features and additional modifications of conky, xmenu, rofi and alacritty settings.
is focused to green colors with gold highlights. Applications styling and additional colors are based on Nordic Colors and KDE Nordic Theme An arctic, north-bluish color palette.
Polybar configuration with patched and improved modules for Awesome, i3 and XFCE4. Base design fits to MX-Linux (Debian Stable) and Arch Distros.
This is my personal Doom Emacs config. Doom Emacs is a distribution of Emacs that uses the “evil” keybindings (Vim keybindings) and includes a number of nice extensions and a bit of configuration out of the box. I am maintaining this config not just for myself, but also for those that want to explore some of what is possible with Emacs 🐧.
Raw configuration of Neovim 5 with complete Lua plugins and configuration. The project is very raw and it needs time. Neovim is hyperextensible Vim-based text editor.
Welcome to my Trading Room! My popular configuration for xfce4 for Arch and MX-Linux distributions. Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.
Qtile is a full-featured, hackable tiling window manager written and configured in Python. My inherited configuration from Arco Linux is attached and changed to my Arch Linux env.
i3 is a tiling window manager, completely written from scratch. The target platforms are GNU/Linux and BSD operating systems, our code is Free and Open Source Software (FOSS) under the BSD license. i3 is primarily targeted at advanced users and developers. Based upon the experiences we made when wanting to hack/fix wmii. Other description is included in my main config
file.
Openbox is a highly configurable window manager with extensive standards support. The *box
visual style is well known for its minimalistic appearance. Openbox uses the *box
visual style, while providing a greater number of options for theme developers than previous *box implementations. The theme documentation describes the full range of options found in Openbox themes.
The configured are ZSH
and Fish
. The ZSH was configured powerlevel10k
. But I’m using Fish now. The ZSH is connected with Fish inside .zshrc
. The full configuration of Fish is inside file $HOME/fish/config.fish
. The fisher plugin manager is used for fish configuration, because I’m Fischer 🐧.
Alacritty
and Kitty
are used.
The colorscripts have to be installed: fish-logo, DT-colorscripts, Pokemon-coloscripts.
Ranger is configured in $HOME/.config/ranger
with plugins. Ranger is using ueberzug
which has to be installed with python or from aur.
Rofi my several themes are attached in the .root
folder. All directories and files in this folder has to be copied to the real /
appropriate folders. You will understand after look…
Xmenu configuration is attached to the $HOME/xmenu
. The project is phillbush/xmenu. It is very great project, installation is described in the github project. Check youtube records with xmenu for more details.
Pass is configured in private repo. There are usage of passFF and other browser plugins…
Public wallpapers are provided by github project Public-Wallpapers. The wallpapers are used for other my projects and dotfiles.
The dirtory or symlink has to created to $HOME/Pictures/wallpapers/public-wallpapers
. I’m using symlink for whole $HOME/Pictures
mapped to cloud repository.
Provided by github repo: https://github.com/raven2cz/global-colorscheme Dynamic color scheme change of all supported applications in the system.
Provided by github repo: https://github.com/raven2cz/rofi-themes Rofi themes implementations for all best actual color schemes.
No extra tooling, no symlinks, files are tracked on a version control system, you can use different branches for different computers, you can replicate you configuration easily on new installation.
The technique consists in storing a Git bare repository in a “side” folder (like $HOME/.dotfiles
) using a specially crafted alias
so that commands are run against that repository and not the usual .git local folder, which would interfere with any other Git repositories around. Based on article https://www.atlassian.com/git/tutorials/dotfiles
This dotfiles
project is defined as git bare repository. You can ensure your dotfiles by similar way.
See the usage concept.
In this case, the git bare repository is cloned to the $HOME/.dotfiles
and the existing files which
are already included in the bare are moved to the $HOME/.config-backup
directory.
After it, all config files are checkout to correct places in your $HOME
directory and synch with this repo.
You can make similar approach with your dotfiles.
#!/bin/bash
git clone --bare git@github.com:raven2cz/dotfiles.git $HOME/.dotfiles
function config {
/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME $@
}
config checkout --force
config config status.showUntrackedFiles no
For your shell, you can use alias. Basic usage is following:
alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
config config --local status.showUntrackedFiles no
config status
config add .xinitrc
config commit -m "Add xinitrc"
config add .bashrc
config commit -m "Add bashrc"
# change more already commited files, add all updated, do NOT use --all
config add -u
config commit -m "details"
config push
Git subtree lets you nest one repository inside another as a sub-directory. It is one of several ways Git projects can manage project dependencies.
Why you may want to consider git subtree
- Management of a simple workflow is easy.
- Older version of Git are supported (even older than v1.5.2).
- The sub-project’s code is available right after the clone of the super project is done.
- git subtree does not require users of your repository to learn anything new. They can ignore the fact that you are using git subtree to manage dependencies.
- git subtree does not add new metadata files like git submodule does (i.e., .gitmodule).
- Contents of the module can be modified without having a separate repository copy of the dependency somewhere else.
The idea is based on this article https://www.atlassian.com/git/tutorials/git-subtree
The dotfiles
project is union of the github configuration projects. Each configuration is separated git subtree. The dotfiles project is automatically merged.
Just for information, updates/initial scripts are placed in $HOME/bin
directory.
$HOME/bin/init-git-subtrees-dotfiles.sh
$HOME/bin/pull-git-subtrees-dotfiles.sh
#!/bin/bash
function config {
/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME $@
}
config subtree pull --prefix .config/awesome git@github.com:raven2cz/awesomewm-config.git master --squash
The files and scripts in this repository are licensed under the MIT License, which is a very permissive license allowing you to use, modify, copy, distribute, sell, give away, etc. the software. In other words, do what you want with it. The only requirement with the MIT License is that the license and copyright notice must be provided with the software.
The configuration files are added in LICENSE
(Antonin Fischer (raven2cz) repository), and LICENSE-DT
(inherited several files from Derek Taylor). Other projects and licenses are added as git subtrees. Each git subtree is attached as whole git project with appropariate README.md and License descriptions
inside of specific folder.