Giter Club home page Giter Club logo

dotfiles's Introduction

Actions Status

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)
 git             โž” global git config and aliases
 gnupg           โž” allows you to encrypt and sign your data and communication
 htop            โž” interactive process viewer
 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
 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)
 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: 29 September 2020.

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 .dotfiles

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 .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 .bashrc file cannot be renamed to 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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.