- Notifications
You must be signed in to change notification settings - Fork0
pbryon/dotfiles
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Yet another dotfiles repo. Mine might be different in the following aspects.
My.bashrc
uses a config file (.bashrc.conf
) to read config parameters:
- REPO: the directory you clone repositories to
- GIT: the drectory used for local machine remotes
- SCHOOL: the directory where I keep my school files
- FIND_FILE_IGNORE: regex of folders to ignore when usingfind_file_string andfind_git_string
These are then read in theread_config()
functions inrepo.sh andschool.sh to export environment variables.
This function imports sources into the .bashrc.
import_files=(ps1 repo git-log git-all find-git-string school)load_import_files
Each of these sources can be found in thebash
subdirectory.
Please note that the above list of imports is subject to change.
Source:ps1.sh
My PS1 shows a shorter path for$REPO
and$HOME
(sub)directories.
When the current directory is a git repo, it will show the git branch and status behind the directory name, filtering status for behind and ahead.
e.g.dotfiles(ahead) [master]$
Source:repo.sh
The aliasrepo
usesgoto_repo()
andcomplete_repo()
. It can:
- navigate to a repository:
repo dotfiles
orrepo dot<TAB>
- navigate and perform a git action:
repo dot<TAB> pull
It uses the$REPO
environment variable set inread_config().
If you want to use these aliases without usingread_config()
, add the following line to the.bashrc
before theload_import_files
function call:
export REPO=<directory to your repositories>
and remove theread_config
line and/or function.
Source:find-file-string.sh
Default alias: ff (configurable in the source file)
Finds a string in the current directory's files (based onfind . -type f
).
Usage:
ff [extension] <pattern>With no extension, it will search all files.If the pattern ends with a bang (!), it's case sensitive
Examples:
Command | Description |
---|---|
ff foo | Looks for case insensitive string "foo" |
ff foo! | Looks for the case sensitive string "foo" |
ff cs foo | Looks for the case insensitive string in all.cs files |
Source:find-file-string.sh
Default alias: fn (configurable in the source file)
Finds a file in the current direcotry and subdirectories by name
Usage:
fn <pattern>
Source:find-file-string.sh
Excludes the given pattern and filters out empty linesUsage:not<pattern>
Source:find-git-string.sh
Default alias: gf (configurable in the source file)
Finds a string in the current repo's tracked files (based ongit ls-files
).
Usage:
gf [extension] <pattern>With no extension, it will search all files.If the pattern ends with a bang (!), it's case sensitive
Examples:
Command | Description |
---|---|
gf foo | Looks for case insensitive string "foo" |
gf foo! | Looks for the case sensitive string "foo" |
gf cs foo | Looks for the case insensitive string in all.cs files |
Source:find-git-string.sh
Default alias: gfc (configurable in the source file)
Finds merge conflicts based on "HEAD", "<<<<" and ">>>>"
Usage:
gfc Shows files with merge conflict indicatorsgfc -v Show conflict context (grep -C)
Source:git-aliases.sh
Contains a bunch of shorthand git aliases:
Alias | Command |
---|---|
gaa | git add --all |
gac | git add --all && git commit -v |
gai | git add --interactive |
gane | git commit --amend --no-edit |
gb | git branch -avv |
gcp | git cherry-pick |
gmt | git mergetool |
gs | git status |
gsf | git fetch && git status |
grc | git rebase --continue |
grs | git rebase --skip |
Source:git-all.sh
Runsgit $@
on all subdirectories that are git repos.
Also includespullall
, which runsgitall pull
.
Checks whether each directory is a git repo by:
- Presence of .git directory
- Current git branch
Source:git-log.sh
Alias | Command | Default entries shown |
---|---|---|
gl | git log -n | 10 |
glp | git log -n with pretty format | 200 |
refs | git reflog | head -n | 10 |
Source:git-reset-to.sh
Resets the current branch's HEAD to a given commit
Usage:
$ grtUsage: grt <target commit>
Source:git-refork.sh
Rebases this forked repository on the upstream branch
Usage:
$ refork <upstream remote>
If left blank, the upstream remote will default to "upstream"
Source:git-tags.sh
Show all defined tags and their related commits.
Usage:
$ git-tagssprint0 Finish sprint 0 0223702 Pieter Bryon 2020-10-11 17:10:04 +0200 Add TODOssprint1 Finish sprint 1 79ac3c6 vangorpdirk 2020-11-07 14:23:26 +0100#5 create personal profile page
Probably of no use to you. Aliases for my school repo.
The aliases only get set when you've got a$SCHOOL
variable in your.bashrc.conf
These can be found in./ps
Source:tail.ps1
Mimics UNIXtail -f
Usage:
tail <file>
Lists the newest file in a directory.
Source:newest.ps1
Usage:newest
The profile loaded for R Studio.
These can be found in thegit_hooks
folder and have a first line comment describing their purpose.
They purposefully don't have shebangs, so they'll work in Visual Studio
This script checks every second for a connected mouse (identified through the$mouse
variable). When a mouse is connected, it disables the trackpad. When it's disconnected, it re-enables it.
This script has only ever been tested on a Lenovo ThinkPad E570, so I don't know how portable it is beyond that.
This script is for personal use. I would advise against using it unless you plan to fork this repo.
Syntax:./update.sh <category>
This script can update categories of dotfiles - run the script without arguments to see which.
For *rc files, it removes the old $HOME file and creates a symlink to the copy in the directory for this repository.
If a file already exists or when it already is a symlink with a different target, you'll be prompted whether you want to remove the old file.
Thevscode
directory contains two scripts:
This script exports your currently installed VSCode extensions to a text file
This script installs/updates the extensions in the text file.
It's also called by theupdate.sh
script, provided you run it with one of:
./update.sh all./update.sh code./update.sh vscode
This directory contains some boilerplate files for web development projects with Sass and TypeScript.
About
$HOME directory config files
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.