/dotfiles-2

My dotfiles managed by GNU Stow - Arch, i3-gaps, bspwm, ncmpcpp, (neo)vim, zsh etc.

Primary LanguageShellGNU General Public License v3.0GPL-3.0

Claudio D. Arrieta's ↴

              ▄▄                         ▄▄▄▄      ██     ▄▄▄▄                         
              ██              ██        ██▀▀▀      ▀▀     ▀▀██                         
         ▄███▄██   ▄████▄   ███████   ███████    ████       ██       ▄████▄   ▄▄█████▄ 
        ██▀  ▀██  ██▀  ▀██    ██        ██         ██       ██      ██▄▄▄▄██  ██▄▄▄▄ ▀ 
        ██    ██  ██    ██    ██        ██         ██       ██      ██▀▀▀▀▀▀   ▀▀▀▀██▄ 
        ▀██▄▄███  ▀██▄▄██▀    ██▄▄▄     ██      ▄▄▄██▄▄▄    ██▄▄▄   ▀██▄▄▄▄█  █▄▄▄▄▄██ 
          ▀▀▀ ▀▀    ▀▀▀▀       ▀▀▀▀     ▀▀      ▀▀▀▀▀▀▀▀     ▀▀▀▀     ▀▀▀▀▀    ▀▀▀▀▀▀  

Dotfiles? How do you eat that?

In my odyssey to have the perfect dotfiles I have come across the profiles of many other people with the same objective and these two summaries of "what are dotfiles" are the ones I liked the most

In Xero's words:

  • In the *nix world programs are commonly configured in two different ways, via shell arguments or text-based configuration files. Programs with many options like window managers or text editors are configured on a per-user basis with files in your home directory ~. In unix-like operating systems any file or directory name that starts with a period or full stop character is considered hidden, and in a default view will not be displayed, thus the name dotfiles.

It's been said of every console user:

"You are your dotfiles."

In Ayekat's words:

  • This is my collection of user/application settings ("dotfiles") and personal scripts. They are mostly adapted to my personal needs, and some scripts make a few assumptions about the environment that may not necessarily be considered "standard", so it's not recommended to just copy-paste them as-is.

  • Nevertheless, I try to keep them as clean and non-WTF as possible, and people are invited to take a look at them, get ideas for their own dotfiles, and drop comments, suggestions, questions and bug reports if something seems odd.

And in my own words:

You must already have a basic idea of what dotfiles are, so I won't focus on explaining what they are but how they differ from other dotfiles:

  • My dotfiles are characterized by the fact that I try to be as minimalist and non-bloated as possible, this can be confirmed by seeing with which tools I work on a daily basis (Neovim, i3, bspwm, Arch Linux, ncmpcpp, aurutils, rofi, zathura, pass, st (simple/suckless terminal), etc.) and the fact of how I use them and how I configure them to my liking. Clearly, there are going to be some exceptions to this rule (Firefox, SystemD, PulseAudio etc.) but I do what I can to also be as comfortable as possible. So, you can think of this repository as a little guide to build your own minimalist workflow (if you're one of those people who likes this), and if you're one of those people who hates minimalism, you might find something really useful if you know how to look.

What's included?

Software What i use Link to the project Link to my own configuration files (dotfiles) of that software
Shell prompt bash and zsh with zplug bash - zsh - Zplug zsh - bash
Bar polybar Polybar Polybar
Window Compositor compton Compton Compton
VCS git git git
Launcher rofi Rofi Rofi
Music Player ncmpcpp with mpc and mpd ncmpcpp - mpd - mpc ncmpcpp - mpd
Notification Daemon dunst dunst dunst
PDF Viewer zathura Zathura Zathura
Text Editor neovim - leafpad Neovim - Leafpad Neovim
Terminal Emulator urxvt and st urxvt - st urxvt - st
Window Manager i3-gaps - bspwm i3-gaps - bspwm i3-gaps - bspwm
AUR Helper aurutils aurutils
Screenshooter scrot Scrot
Display Manager lightdm LightDM
Browser firefox Firefox
File Manager ranger and pcmanfm Ranger - PCManFM
Terminal Font hack Hack
Video Player mpv Mpv
Image Viewer feh - viewnior Feh - Viewnior
Password manager pass pass: The Standard Unix Password Manager

Other things i use and recommend

  • For desktop blurrying: Ganifladi's excellent blurmeBlurme
  • To have icons in polybar: ttf-font-awesome-4Font Awesome 4 Font Awesome 5 does not work properly with Polybar. Or at least it doesn't work like Font Awesome 4.
  • To vote for all your packages downloaded from the AUR: aurvoteAURvote Use it this way: $ aurvote -v $(pacman -Qqm) - Only for Arch Linux users.
  • To retrieve and filter the latest Pacman mirror list and the best servers available: reflectorReflector - Only for Arch Linux users.

Installation

Before installing, be sure to read useful cowboy gently-worded note and this excellent article by Anish Athalye: Dotfiles are NOT meant to be forked. That said, let's go with the installation:

  1. Install GNU Stow: GNU Stow is available for all GNU+Linux distros and most other unix-like distributions via your package manager.
  • sudo pacman -S stow
  • sudo apt-get install stow
  • brew install stow
  1. Clone this repo:
$ git clone https://github.com/davidarrieta/dotfiles.git ~/dotfiles && cd ~/dotfiles
  1. Symlink with GNU Stow all the folders you want to your home: To install most of my dotfiles you execute stow with the folder name as the only argument. For example, to install my i3 and my zshrc config use the command:
$ stow i3 
$ stow zsh 
$ stow whatever-dotfile-you-want

This will symlink files to ~/.config/i3/ ~/.zshrc and various other places.


Current workflow - Click here to see my post in /r/unixporn, Almost 450 upvotes!

Clean

Clean

TTY-Clock

TTY-Clock

r/unixporn

r/unixporn

Color scripts

Color scripts

cava and colorblocks

Cava and colorblocks

neofetch, ranger and ncmpcpp

neofetch, ranger and ncmpcpp

PCManFM and cava

PCManFM and cava

PCManFM and cava

PCManFM and cava

cava, neofetch and ranger

cava, neofetch and ranger

A bit of my i3 configuration, neofetch and mpv playing this song

i3 config, neofetch and mpv


Click here and go down if you want to see my old rice


"Hey dude your dotfiles are great but I want to learn from other people too"

Here you will find A LOT of other people's dotfiles:


Thanks to:

This repository is strongly inspired by the work of some people, and would not have existed if it were not for:


LICENSE

Copyright (C) 2018 - Claudio D. Arrieta <ArrietaDavid2001@protonmail.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

This repository contains both original and third party content. Content can be assumed to be original unless stated otherwise. Original content is copyright © 2018 Claudio D. Arrieta , and can be used and distributed under the terms of the GPLv3. All third party content is copyright their respective authors and bound by their original licenses.

All attempts have been made to identify third party content within the repository, with sources and attribution given where necessary. Please contact me if any issues are discovered.