Skip to content

🏑 Personal dotfiles configuration

Notifications You must be signed in to change notification settings

e-kostylov/dotfiles-1

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

This repository contains all of my dotfiles configuration.


These dotfiles allow me to make my daily life easier by saving me time and easily meeting my needs.

I try to keep these dotfiles tidy and up to date. I invite you to take a look at it to get different ideas for your dotfiles and why not leave comments, suggestions, questions and bug reports if something seems odd to you.

Finally, this repository has wiki pages to better understand some of the choices I have made and allow me to answer any questions you may have have about these dotfiles. Feel free to visit them ☺

List of files:

 alacritty       βž” cross-platform, GPU-accelerated terminal emulator
 bash            βž” bash settings, aliases, and custom prompts
 bin             βž” various useful scripts (e.g. borg, rofi, etc.)
 compton         βž” compositor for X11
 dunst           βž” lightweight replacement for the notification-daemons
 git             βž” global git config and aliases
 gnupg           βž” allows you to encrypt and sign your data and communication
 htop            βž” interactive process viewer
 i3              βž” dynamic tiling window manager for X11 inspired by wmii
 isync           βž” capable of synchronizing mail on IMAP server with local Maildir folder
 mpd             βž” music player daemon
 mpv             βž” media player based on MPlayer and the now unmaintained mplayer2
 ncmpcpp         βž” mpd client
 neofetch        βž” CLI system information tool
 newsboat        βž” RSS/Atom feed reader for text terminals
 polybar         βž” status bars
 python          βž” specific to Python
 qutebrowser     βž” keyboard-focused browser with a minimal GUI
 rofi            βž” window switcher, application launcher, ssh dialog and dmenu replacement
 sh              βž” common to all shells (e.g. aliases, environment variables, etc.)
 ssh             βž” SSH settings
 sway            βž” i3-compatible Wayland compositor
 systemd         βž” systemd units
 tmux            βž” terminal multiplexer
 waybar          βž” Wayland bar for Sway and Wlroots based compositors
 x11             βž” X11 settings
 zsh             βž” zshell settings, aliases, and custom prompts

NOTE: it is still possible to access my old dotfiles that I no longer use, in case they can help you.

Structure

I structured my dotfiles so that the user's home is as clean as possible in accordance with the XDG base directory specification.

In other words, this means that the following environment variables are defined:

Variable Location
XDG_BIN_HOME ~/.local/bin
XDG_CACHE_HOME ~/.cache
XDG_CONFIG_HOME ~/.config
XDG_DATA_HOME ~/.local/share
XDG_LIB_HOME ~/.local/lib

NOTE: XDG_BIN_HOME and XDG_LIB_HOME are non-standard.

Quick preview

A non-exhaustive preview of the environment I use on a daily basis:

Last Updated: 14 September 2019.

NOTE: you can find my wallpapers here.

Wall Global Newsboat Rofi

Dotfiles Manager

I'm using GNU Stow a free, lightweight dotfiles manager written in Perl to manages my dotfiles.

What's make differentiates it from other dotfiles managers is that it does not require various Python, Ruby or Perl dependencies like most dotfiles manager.

With that, it is easy to share files among multiple users or computers with a few command lines.

Getting Started

No matter what your Linux distribution, stow can easily be installed according to your package manager:

sudo pacman -S stow
sudo apt-get install stow

For macOS users:

brew install stow

Once the installation is complete, make a clone of the repository:

git clone https://github.com/rememberYou/dotfiles.git

You can now install any configurations you wish to copy using GNU Stow:

# Make sure you are in the right directory
cd dotfiles

# Example to install the sway config
stow sway

# Uninstall the sway config
stow -D sway

If you want to install all the configurations, you can do it directly with stowsym.sh:

# Change permission to execute the script
chmod +x stowsym.sh

# Installation of configuration files
./stowsym.sh -i

# Deleting of configuration files
./stowsym.sh -d

Easy, isn't it? For those who want to find my GNU Emacs configuration files, they are available: here.

For the configuration of zsh and bash, you will need to create two symbolic aliases:

ln -s ~/.config/bash/.bashrc ~
ln -s ~/.config/zsh/.zshenv ~

The reasons for this are that bash and zsh do not allow the possibility to follow the specifications of the XDG base directory.

NOTE: the .zshrc file (resp. .bashrc) cannot be renamed to zshrc (resp. bashrc) except for a few system manipulations, which is not what I recommend.

Contributions

Various functions may be optimized or spelling errors may occur. If you want to make your own correction on these dotfiles, you are free to do so.

Please note that I can't guarantee that your changes will be accepted.

License

The code is unlicensed, take what you like.

About

🏑 Personal dotfiles configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 65.8%
  • Python 31.4%
  • CSS 2.8%