GithubHelp home page GithubHelp logo

dotfiles's Introduction

dotfiles

XDG compatible .config files, managed with GNU stow

Install

$ git clone https://github.com/mklabs/dotfiles.git ~/dotfiles
$ cd ~/dotfiles

Note that stow is really good at linking stuff. That's its only job (like all good unix tools). You can clone it anywhere you want, cd into the destination and run stow *.

 $ git clone https://github.com/mklabs/dotfiles ~/dev/dotfiles

Run make install or ./install.sh and answer yes or no to stow a particular set of config files.

$ make install
Install vim/nvim (https://github.com/mklabs/vimfiles) configuration files? [Y/n]
Installing vim/nvim configuration
Cloning into 'vim/.vim'...
remote: Counting objects: 1012, done.
remote: Total 1012 (delta 0), reused 0 (delta 0), pack-reused 1012
Receiving objects: 100% (1012/1012), 357.89 KiB | 264.00 KiB/s, done.
Resolving deltas: 100% (364/364), done.
Checking connectivity... done.
Install configuration files fish? [Y/n]
LINK: .config/fish/fish.d => ../../src/mklabs/dotfiles/fish/.config/fish/fish.d
Install configuration files git? [Y/n]
LINK: .config/git => ../src/mklabs/dotfiles/git/.config/git
LINK: .gitconfig => src/mklabs/dotfiles/git/.gitconfig
Install configuration files gtk? [Y/n]
LINK: .gtkrc-2.0-kde4 => src/mklabs/dotfiles/gtk/.gtkrc-2.0-kde4
LINK: .config/gtk-3.0/settings.ini => ../../src/mklabs/dotfiles/gtk/.config/gtk-3.0/settings.ini
LINK: .gtkrc-2.0 => src/mklabs/dotfiles/gtk/.gtkrc-2.0
Install configuration files i3? [Y/n]
LINK: .config/i3 => ../src/mklabs/dotfiles/i3/.config/i3
Install configuration files i3blocks? [Y/n]
LINK: .config/i3blocks => ../src/mklabs/dotfiles/i3blocks/.config/i3blocks
Install configuration files nyaovim? [Y/n]
LINK: .config/nyaovim/nyaovimrc.html => ../../src/mklabs/dotfiles/nyaovim/.config/nyaovim/nyaovimrc.html
Install configuration files termite? [Y/n]
LINK: .config/termite => ../src/mklabs/dotfiles/termite/.config/termite
Install configuration files vim? [Y/n]
LINK: .config/nvim => ../src/mklabs/dotfiles/vim/.config/nvim
Install configuration files wallpapers? [Y/n]
LINK: .config/wallpapers => ../src/mklabs/dotfiles/wallpapers/.config/wallpapers
Install configuration files X11? [Y/n]
LINK: .xinitrc => src/mklabs/dotfiles/X11/.xinitrc

Uninstall: Run make uninstall to unstow everything. Alternatively, you can stow -v -t $HOME -D thing to unstow a particular thing.

XDG

Most of the configuration files are stored in the ~/.config directory, instead of $HOME.

Stow

GNU Stow is used to manage the installation of configuration files.

GNU Stow is a symlink farm manager which takes distinct packages of software and/or data located in separate directories on the filesystem, and makes them appear to be installed in the same place.

This is particularly useful for keeping track of system-wide and per-user installations of software built from source, but can also facilitate a more controlled approach to management of configuration files in the user's home directory, especially when coupled with version control systems.

$ stow fish
$ stow git

Overview

Fish

  • ~/.config/fish/fish.d/alias.sh - Defines few alias for git, ls, vim and docker.

  • ~/.config/fish/fish.d/fzf.sh - Defines functions to use fzf in specific directories like ~/dotfiles and ~/.vim, or specific context like git status.

  • ~/.config/fish/fish.d/nvm.sh - Function and alias to source nvm bash script using Bass.

Git

  • ~/.gitconfig - General configuration for git, including author information (me), git init template, aliases and colors.

  • ~/.config/git/teamplates - Git template to init repo from (includes hooks / exclude attributes)

Gtk

Configuration files for both gtk-2.0 and gtk-3.0. It configures the environement to use Paper theme, with Flattr icons and Paper icon as a fallback.

Font used is Droid Sans Mono 14px

i3

Configuration file for i3, based and inspired by @alexbooker screencasts

i3blocks

Configuration file for i3blocks, including scripts in ~/.config/i3blocks/scripts.

A very simple status bar with:

  • Disk usage
  • Load avergae
  • Date and time

termite

Terminal configuration for Termite, with font set to Droid Sans Mono 14 and OceanicNext theme, using base16-builder to generate the theme.

wallpapers

~/.config/wallpapers is used by feh in i3 config file to randomly pick a png or jpg file to set as background on login or i3 reload.

This includes a list of https://www.reddit.com/r/wallpapers wallpapers (removed to keep the repo small, lfs is cool but I need to configure it propetly)


~

dotfiles's People

Contributors

liya123 avatar mklabs avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

pawankr650

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.