Skip to content

YaManicKill/dotfiles

 
 

Repository files navigation

      ██            ██     ████ ██  ██                
     ░██           ░██    ░██░ ░░  ░██                
     ░██  ██████  ██████ ██████ ██ ░██  █████   ██████
  ██████ ██░░░░██░░░██░ ░░░██░ ░██ ░██ ██░░░██ ██░░░░ 
 ██░░░██░██   ░██  ░██    ░██  ░██ ░██░███████░░█████ 
░██  ░██░██   ░██  ░██    ░██  ░██ ░██░██░░░░  ░░░░░██
░░██████░░██████   ░░██   ░██  ░██ ███░░██████ ██████ 
 ░░░░░░  ░░░░░░     ░░    ░░   ░░ ░░░  ░░░░░░ ░░░░░░  
 
  ▓▓▓▓▓▓▓▓▓▓
 ░▓ about  ▓ custom linux config files
 ░▓ author ▓ YaManicKill (forked from http://code.xero.nu/dotfiles)
 ░▓▓▓▓▓▓▓▓▓▓
 ░░░░░░░░░░

 bash           > bash config files
 bin            > scripts (will be added to path when used with the bash_profile)
 gists          > a collection of stuff that I have come accross and are useful
 git            > global git config and aliases
 ssh            > remote ssh server keep alive
 terminator     > terminal emulator with split-screen
 tmux           > minimal terminal multiplexer setup

#managing it's been said of every console user: "you are your dotfiles".

i manage mine with gnu stow, a free, portable, lightweight symlink farm manager. this allows me to keep a versioned directory of all my config files that are virtually linked into place via a single command. this makes sharing these files among many users (root) and computers super simple. and does not clutter your home directory with version control files.

#installing stow is available for all gnu/linux and most other unix like distributions via your package manager.

  • sudo pacman -S stow
  • sudo apt-get install stow
  • brew install stow

#how it works by default the stow command will create symlinks for files in the parent directory of where you execute the command. so my dotfiles setup assumes this repo is located in the root of your home directory ~/dotfiles. and all stow commands should be executed in that directory. otherwise you'll need to use the -d flag with the repo directory location.

to install most of my configs you execute the stow command with the folder name as the only argument.

to install the bash config, use the command:

stow bash

this will symlink files to ~/.config/herbstluftwm and various other places.

but you can override the default behavior and symlink files to another location with the -t (target) argument flag.

note: stow can only create a symlink if a config file does not already exist. if a default file was created upon program installation you must delete it first before you can install a new one with stow. this does not apply to directories, only files.

#node modules

A few of my files and libraries are node scripts, and require some node modules. To use them, just go to the .dotfiles directory and run npm install

#tl;dr Install dependencies

  • stow
  • node (and npm)
  • gcc-c++ (for node-gyp)
  • make (for node-gyp)
  • openssl-devl (for node-git)
  • wmctrl (for terminator.sh script)
  • tree (t() function in bashrc, shows a tree structure of directories)

Fedora:

curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo dnf install nodejs gcc-c++ make wmctrl stow openssl-devel

navigate to your home directory

cd ~

clone the repo:

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

enter the dotfiles directory

cd .dotfiles

install npm

npm install

install the bash settings

stow bash

install terminator settings

stow terminator

uninstall terminator settings

stow -D terminator

install ansible (a non-user based one)

stow -t / ansible

About

custom linux config files - managed via gnu stow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 52.4%
  • JavaScript 31.8%
  • Perl 13.2%
  • CSS 1.8%
  • Makefile 0.8%