Skip to content

Dotfile overview

Dotfiles control the configuration of your shell program (i.e. bash or tcsh) that you use to interact with the infrastructure. The CQLS maintains an updated set of dotfiles that points to all of the new software on the infrastructure that has been installed since the move from the old infrastructure.

Previously, configuration files were in /local/cluster/etc, and those files are still in place. If you have never changed any settings in your dotfiles, then upgrading to the new location, which is in /local/cqls/etc, should be simple.

The CQLS added a tool built in to the hpcman software to facilitate updating from /local/cluster/etc to /local/cqls/etc:

/local/cqls/opt/bin/hpcman user update-dotfiles

You can provide -c all to update all of your configs, or you can specify a particular type of dotfile, e.g. -c .bashrc to only update a single config type. This tool scans for lines that contain, e.g. std.bashrc for your .bashrc file, and updates /local/cluster/etc to /locql/cqls/etc, by default.

I tried to run the update-dotfiles and I saw warnings, why?

If you've already run the update, you'll get some warnings about no changes being made. But in some cases, you may have some warning messages despite not having an updated dotfile. This can happen if your dotfiles have no lines with std.bashrc. Your current file may look like:

# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

If you find yourself in this situation, then you can manually modify the file to look like this using e.g. nano or emacs:

# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /local/cqls/etc/std.bashrc ]; then
    . /local/cqls/etc/std.bashrc
fi

Or, you can run the command to start fresh with a new .bashrc:

cp /local/cqls/etc/fresh/bashrc ~/.bashrc

After your dotfiles are updated, you can log out and back in and you should have access to all of the newly installed software.