Difference between revisions of "Power User Tools"

From PHYSpedia
Jump to: navigation, search
(Adding new repo)
Line 1: Line 1:
=Managing configs with <code>vcsh</code> and <code>mr</code>=
+
=Managing configs with <code>vcsh</code>=
  
 
<code>vcsh</code> [https://github.com/RichiH/vcsh] is a utility that allows you to create multiple git repositories to store configuration files in your home directory.
 
<code>vcsh</code> [https://github.com/RichiH/vcsh] is a utility that allows you to create multiple git repositories to store configuration files in your home directory.
Line 29: Line 29:
 
   > vcsh zsh push --set-upstream origin master # push to the origin and setup tracking
 
   > vcsh zsh push --set-upstream origin master # push to the origin and setup tracking
  
Next, add the repository to the <code>mr</code> configuration.
+
=Reverse SSH=
 
  > vim ~/.config/mr/available.d/zsh.git
 
...
 
  
Add the following lines
+
The <code>ssh</code> command has a <code>-R</code> option that can be used to allow ssh access to a computer that does not have a public, static IP address (such as a computer behind a NAT at home) using another
 
+
computer that does have a public IP Adrees.
  [$HOME/.config/vcsh/repo.d/zsh.git]
 
  checkout = vcsh clone ssh://user@host/repo/with/write/access zsh
 

Revision as of 19:50, 3 May 2017

Managing configs with vcsh

vcsh [1] is a utility that allows you to create multiple git repositories to store configuration files in your home directory. It solves the problem of having to use symlinks, and is a very nice tool. It works well with another tool named mr [2] that allows you to synchronize all of your config repos with a single command.

Common Tasks

Adding new repo

Let say you want to add a repo for tracking your zsh configuration. First, create a gitignore file for the repo so you can just do git add .

 > vim ~/.gitignore.d/zsh
 ...

Add the following lines

 /*
 !/.zsh


Now create the repository and push to a remote

 > vcsh init zsh    # create the repo
 > vcsh zsh add .   # add all files not masked by ~/.gitignore.d/zsh
 > vcsh zsh commit  # commit files
 > vcsh zsh remote add origin ssh://user@host/repo/with/write/access  # create remote repo
 > vcsh zsh push --set-upstream origin master # push to the origin and setup tracking

Reverse SSH

The ssh command has a -R option that can be used to allow ssh access to a computer that does not have a public, static IP address (such as a computer behind a NAT at home) using another computer that does have a public IP Adrees.