dotfiles

Post tags: | dotfiles |

Using justone/dotfile

github.com/justone/dotfiles

Restart to handle changes better

Clone the justone master:
        git clone git@github.com:justone/dotfiles.git df
        
rename origin to upstream
        git remote rename origin upstream
        
Create repo df at github
        git remote add origin git@github.com:CootCraig/df.git
        git push -u origin master
        
Create a new user to develop with
        

Old Notes Follow

This repo is a skeleton/template repo for tracking dotfiles. It contains a utility (dfm) to help with managing and updating your dotfiles.

Notes as of Tue Dec 30 10:42:28 MST 2014

started with fork of https://github.com/justone/dotfiles

dotfile folders with no secrets

Just import dotfile folders with no secrets.
        cd ~/dotfiles
        bin/dfm import .gitconfig
        bin/dfm import .i3
        bin/dfm import .vim
        bin/dfm import .vimrc
         ...
        

dot files/folders with secrets

Make a list of them.

.icedove

.remmina

.weechat

List them in ~/dotfiles/.gitignore

Arrange to copy them into ~/dotfiles before running dfm install

Essential programs and dotfile candidates

  • build-essential checkinstall
  • git
  • gitlab - private gitlab servers
  • hosts - /etc/host for GCS windows host names
  • i3 - tiled window manager
  • java runtime
  • lightdm - x login manager and x.org seed package
  • music on console
  • remmina - rdp client
  • passworddragon
  • reptyr - A tool for “re-ptying” programs
  • st - suckless simple terminal
  • supervisord - programs for boot time: mocp,weecat
  • tmux
  • vim
  • weechat
  • zsh

Personal Debian package installs

  • vim tmux git
  • build-essential checkinstall libtool automake uuid-dev
  • cifs-utils winbind
  • supervisord

Research

Solarized color scheme

Using Solarized in Vim

terminator using solarized

github.com/ghuntley terminator-solarized

A color theme for terminator using Ethan Schoonover’s Solarized color scheme.

Usage
        Install the terminiator configuration file:
        
        mkdir -p ~/.config/terminator/
        cp config ~/.config/terminator/
        

terminator over ssh using solarized

http://superuser.com/questions/370556/vim-colors-not-working-properly-in-terminal

vim use the power of your “terminal” to draw the characters onto the screen. thus, how the drawn chars look depend largely on what the “terminal” is capable of. the “terminal” uses an enviroment variable to tell the apps running inside it about its capabilities: TERM.

if you want to use vim to use 256 colors you need 2 things:

  • a terminal capable of rendering at least 256 colors
  • the right TERM variable (xterm-256color)
so, try this:
        export TERM=xterm-256color
        vim
        

Use ccrypt to encrypt secrets

There is a deb file available there.

Consider these people

  • qbit
  • Zach Holman - like his subfolder organization
  • Bobby Russel - master of oh-my-zsh - Zach recommended
  • Nate Jones - justone - dotfiles - dfm
  • xero - uses stow - uses subfolders

My thoughts evolve

A git repo for each topic.
        ~/dotfiles/
        ~/dotfiles/df-bash/
        ~/dotfiles/df-git/
        ~/dotfiles/df-home-bin/
        ~/dotfiles/df-i3/
        ~/dotfiles/df-icedove/
        ~/dotfiles/df-music-on-console/
        ~/dotfiles/df-private/
        ~/dotfiles/df-remmina/
        ~/dotfiles/df-setxkbmap/
        ~/dotfiles/df-supervisord/
        ~/dotfiles/df-thunderbird/
        ~/dotfiles/df-tmux/
        ~/dotfiles/df-vim/
        ~/dotfiles/df-weechat/
        ~/dotfiles/df-zsh/
        
Software built from source - not really dotfiles
        ~/opt/raymontag/keepassc/
        ~/opt/suckless.org/st/
        

What about dfm?

github.com - justone/dotfiles

This repo is a skeleton/template repo for tracking dotfiles. It contains a utility (dfm) to help with managing and updating your dotfiles.

Where to start

  • Zach Holman - like his subfolder organization
  • Ryan Bates - bash,vim,zsh,rails - Zach recommended
  • Bobby Russel - master of oh-my-zsh - Zach recommended
  • Ryan Tomayko - great documentation - many forks - Zach recommended

People / dotfiles to study

Zach Holman - Dotfiles Are Meant to Be Forked

So, organize it. Do what programmers have been doing for years: make a smart system, follow it, and let others use it too.

There’s a lot of great projects doing this:

Ryan Bates (@rbates)

Ryan Bates (@rbates) fame has his own network of 175 forks. His project centers around bash and zsh, TextMate, Vim, and Rails.

Robby Russell (@robbyrussell)

Robby Russell (@robbyrussell) started up oh-my-zsh, a community of some 250 forks surrounding zsh.

Ryan Tomayko (@rtomayko)

Ryan Tomayko (@rtomayko) open sourced his dotfiles with a great set of documentation and some 150 developers watching the repository.

sheerun

tools

gnu stow

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. For example, /usr/local/bin could contain symlinks to files within /usr/local/stow/emacs/bin, /usr/local/stow/perl/bin etc., and likewise recursively for any other subdirectories such as …/share, …/man, and so on.

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.

log on 2015-05-01

ls -R dotfiles
        dotfiles:
        bin  README.md
        
        dotfiles/bin:
        dbeaver  dfm  glop.sh  irc  passworddragon  pw  sqlworkbench  squirrel
        
        dotfiles/bin/passworddragon:
        lib  passworddragon.jar  pwm.ico  readme.html
        
        dotfiles/bin/passworddragon/lib:
        BlowfishJ.jar  jhbasic.jar  kunststoff.jar
        

Survey

Wed Aug 9 05:00:41 MDT 2017

liquidat.wordpress.com/2013/05/24/ [Howto] Managing dotfiles with dfm

homesick

The problem of necessary software installation is also relevant for another often mentioned solution: Homesick. Homesick is Ruby based, and works similar to the GNU Stow solution mentioned above: files are stored in a hidden subdirectory, tracked with git, and linked in $HOME. The main feature here is that it can keep the configuration files in various git repositories, called ‘castles’, so you can integrate the work of projects like oh-my-zsh.

While Homesick does offer quite some features, it is Ruby based – and I cannot expect a working Ruby environment on each system, so it is out of question. I can go with Perl or Python, but that’s about it.

homeshick

Other people had the same Ruby problem and created Homeshick – a Homesick clone spelled with an additional ‘h’ and besides written in Bash. It is quite straight forward and offers all necessary features like listing and tracking various git repositories as source for dotfiles, linking the actual dotfiles to your home, and so on. This one is almost my favorite! I wouldn’t be surprised if it is the favorite for most of the users out there.

dfm

But Homeshick is only almost my favorite – meet dfm – a Utility to Manage Dotfiles! It is written in Perl and mainly does the same as mentioned above, even minus the support for more than one repository. But on the plus side it has the capability of ensuring file rights via chmod. I haven’t seen that in any other solution. Additionally it supports arbitrary scripts executed during the update process for example for host specific commands. And last but not least, using a three letter program feels, somehow, right

Try homesick

Wed Aug 9 05:07:34 MDT 2017

Have been using dfm. oh-my-zsh was problem. I do favor ruby.

But oh-my-zsh or bash-it?

Stick with bash, use bash-it

bash-it github repo