From 50be8b1cd2f42b257bd2704c538de3a81ac17189 Mon Sep 17 00:00:00 2001 From: David Luevano Alvarado Date: Sat, 16 Apr 2022 00:37:05 -0600 Subject: initial commit basic files added, should be compatible everywhere --- .bashrc | 25 +++++++ .config/dircolors | 185 ++++++++++++++++++++++++++++++++++++++++++++++++++ .config/shell/aliasrc | 20 ++++++ .config/shell/profile | 58 ++++++++++++++++ .profile | 1 + 5 files changed, 289 insertions(+) create mode 100644 .bashrc create mode 100644 .config/dircolors create mode 100644 .config/shell/aliasrc create mode 100644 .config/shell/profile create mode 120000 .profile diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..fd006d2 --- /dev/null +++ b/.bashrc @@ -0,0 +1,25 @@ +# if not running interactively, don't do anything +[[ $- != *i* ]] && return + +# color mapping +grey='\[\033[1;30m\]' +red='\[\033[0;31m\]' +RED='\[\033[1;31m\]' +green='\[\033[0;32m\]' +GREEN='\[\033[1;32m\]' +yellow='\[\033[0;33m\]' +YELLOW='\[\033[1;33m\]' +magenta='\[\033[0;35m\]' +MAGENTA='\[\033[1;35m\]' +white='\[\033[0;37m\]' +WHITE='\[\033[1;37m\]' +blue='\[\033[0;34m\]' +BLUE='\[\033[1;34m\]' +cyan='\[\033[0;36m\]' +CYAN='\[\033[1;36m\]' +NC='\[\033[0m\]' + +PS1="$RED[$YELLOW\u$GREEN@$BLUE\h $MAGENTA\W$RED]$CYAN\$$NC " + +[ ! -z "$XDG_CONFIG_HOME" ] && [ -f $XDG_CONFIG_HOME/dircolors ] && eval "$(dircolors $XDG_CONFIG_HOME/dircolors)" +[ ! -z "$XDG_CONFIG_HOME" ] && [ -f $XDG_CONFIG_HOME/shell/aliasrc ] && source $XDG_CONFIG_HOME/shell/aliasrc diff --git a/.config/dircolors b/.config/dircolors new file mode 100644 index 0000000..c04ba08 --- /dev/null +++ b/.config/dircolors @@ -0,0 +1,185 @@ +# Below are TERM entries, which can be a glob patterns, to match +# against the TERM environment variable to determine if it is colorizable. +TERM Eterm +TERM ansi +TERM *color* +TERM con[0-9]*x[0-9]* +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM gnome +TERM hurd +TERM jfbterm +TERM konsole +TERM kterm +TERM linux +TERM linux-c +TERM mlterm +TERM putty +TERM rxvt* +TERM screen* +TERM st +TERM terminator +TERM tmux* +TERM vt100 +TERM xterm* +TERM alacritty +# Below are the color init strings for the basic file types. +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +#NORMAL 00 # no color code at all +#FILE 00 # regular file: use no color at all +RESET 0 # reset to "normal" color +DIR 01;35 # directory +LINK 04;36 # symbolic link. (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00 # regular file with more than one link +FIFO 40;33 # pipe +SOCK 01;35 # socket +DOOR 01;35 # door +BLK 40;33;01 # block device driver +CHR 40;33;01 # character device driver +ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ... +MISSING 00 # ... and the files they point to +SETUID 37;41 # file that is setuid (u+s) +SETGID 30;43 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky +STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable +# This is for files with execute permission: +EXEC 01;32 +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') +# If you use DOS-style suffixes, you may want to uncomment the following: +#.cmd 01;32 # executables (bright green) +#.exe 01;32 +#.com 01;32 +#.btm 01;32 +#.bat 01;32 +# Or if you want to colorize scripts even if they do not have the +# executable bit actually set. +#.sh 01;32 +#.csh 01;32 + # archives or compressed (bright red) +.tar 01;31 +.tgz 01;31 +.arc 01;31 +.arj 01;31 +.taz 01;31 +.lha 01;31 +.lz4 01;31 +.lzh 01;31 +.lzma 01;31 +.tlz 01;31 +.txz 01;31 +.tzo 01;31 +.t7z 01;31 +.zip 01;31 +.z 01;31 +.dz 01;31 +.gz 01;31 +.lrz 01;31 +.lz 01;31 +.lzo 01;31 +.xz 01;31 +.zst 01;31 +.tzst 01;31 +.bz2 01;31 +.bz 01;31 +.tbz 01;31 +.tbz2 01;31 +.tz 01;31 +.deb 01;31 +.rpm 01;31 +.jar 01;31 +.war 01;31 +.ear 01;31 +.sar 01;31 +.rar 01;31 +.alz 01;31 +.ace 01;31 +.zoo 01;31 +.cpio 01;31 +.7z 01;31 +.rz 01;31 +.cab 01;31 +.wim 01;31 +.swm 01;31 +.dwm 01;31 +.esd 01;31 +# image formats +.jpg 01;35 +.jpeg 01;35 +.mjpg 01;35 +.mjpeg 01;35 +.gif 01;35 +.bmp 01;35 +.pbm 01;35 +.pgm 01;35 +.ppm 01;35 +.tga 01;35 +.xbm 01;35 +.xpm 01;35 +.tif 01;35 +.tiff 01;35 +.png 01;35 +.svg 01;35 +.svgz 01;35 +.mng 01;35 +.pcx 01;35 +.mov 01;35 +.mpg 01;35 +.mpeg 01;35 +.m2v 01;35 +.mkv 01;35 +.webm 01;35 +.ogm 01;35 +.mp4 01;35 +.m4v 01;35 +.mp4v 01;35 +.vob 01;35 +.qt 01;35 +.nuv 01;35 +.wmv 01;35 +.asf 01;35 +.rm 01;35 +.rmvb 01;35 +.flc 01;35 +.avi 01;35 +.fli 01;35 +.flv 01;35 +.gl 01;35 +.dl 01;35 +.xcf 01;35 +.xwd 01;35 +.yuv 01;35 +.cgm 01;35 +.emf 01;35 +# https://wiki.xiph.org/MIME_Types_and_File_Extensions +.ogv 01;35 +.ogx 01;35 +# audio formats +.aac 00;36 +.au 00;36 +.flac 00;36 +.m4a 00;36 +.mid 00;36 +.midi 00;36 +.mka 00;36 +.mp3 00;36 +.mpc 00;36 +.ogg 00;36 +.ra 00;36 +.wav 00;36 +# https://wiki.xiph.org/MIME_Types_and_File_Extensions +.oga 00;36 +.opus 00;36 +.spx 00;36 +.xspf 00;36 \ No newline at end of file diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc new file mode 100644 index 0000000..5ddbf80 --- /dev/null +++ b/.config/shell/aliasrc @@ -0,0 +1,20 @@ +#!/bin/sh + +# vim selection +command -v nvim &> /dev/null && alias vim="nvim" vimdiff="nvim -d" + +# verbosity +alias cp="cp -iv" +alias mv="mv -iv" +alias rm="rm -iv" +alias mkdir="mkdir -pv" + +# ls and use color when available +alias ls="ls -Ah --color=always --group-directories-first" + alias ll="ls -l" + alias lll="ls -ltr" +alias grep="grep --color=auto" +alias diff="diff --color=auto" + +# dotfiles bare repository management +alias dots="/usr/bin/git --git-dir=$HOME/.mdots/ --work-tree=$HOME" \ No newline at end of file diff --git a/.config/shell/profile b/.config/shell/profile new file mode 100644 index 0000000..f3ab4ca --- /dev/null +++ b/.config/shell/profile @@ -0,0 +1,58 @@ +#!/bin/sh + +# read personal programs +export PATH="$PATH:$(du -L "$HOME/.local/bin/" | cut -f2 | tr '\n' ':' | sed 's/:*$//')" +# default programs +if command -v nvim &> /dev/null; then + export EDITOR="nvim" +elif command -v vim &> /dev/null; then + export EDITOR="vim" +fi +# ~/ cleanup + # XDG base directory specification found in: + # https://wiki.archlinux.org/index.php/XDG_Base_Directory +export XDG_CONFIG_HOME="$HOME/.config" +export XDG_CACHE_HOME="$HOME/.cache" +export XDG_DATA_HOME="$HOME/.local/share" +export XDG_STATE_HOME="$HOME/.local/state" +export GOPATH="$XDG_DATA_HOME/go" +export LESSHISTFILE="-" +export HISTFILE="$XDG_STATE_HOME/bash/history" +export WGETRC="$XDG_CONFIG_HOME/wgetrc" +# less +export LESS=-R +if command -v source-highlight &> /dev/null; then + export LESSOPEN="| /usr/sbin/source-highlight %s" +fi + # Taken from LS's dots. Not sure if should keep the '\e', since without it + # less freaks out. Also, more info on the following links: + # https://unix.stackexchange.com/questions/108699/documentation-on-less-termcap-variables + # https://misc.flogisoft.com/bash/tip_colors_and_formatting + # At last, I changed the codes to actually do what they're supposed to do. +export LESS_TERMCAP_mb="$(printf '%b' '\e[5;31m')" +export LESS_TERMCAP_md="$(printf '%b' '\e[1;36m')" +export LESS_TERMCAP_me="$(printf '%b' '\e[0m')" +export LESS_TERMCAP_so="$(printf '%b' '\e[1;45;33m')" +export LESS_TERMCAP_se="$(printf '%b' '\e[0m')" +export LESS_TERMCAP_us="$(printf '%b' '\e[4;32m')" +export LESS_TERMCAP_ue="$(printf '%b' '\e[0m')" + # What these termcap variables mean: + # termcap terminfo + # ks smkx make the keypad send commands + # ke rmkx make the keypad send digits + # vb flash emit visual bell + # mb blink start blink + # md bold start bold + # me sgr0 turn off bold, blink and underline + # so smso start standout (reverse video) + # se rmso stop standout + # us smul start underline + # ue rmul stop underline + +# if running bash +if [ -n "$BASH_VERSION" ]; then + # include .bashrc if it exists + if [ -f "$HOME/.bashrc" ]; then + source "$HOME/.bashrc" + fi +fi \ No newline at end of file diff --git a/.profile b/.profile new file mode 120000 index 0000000..8486fca --- /dev/null +++ b/.profile @@ -0,0 +1 @@ +.config/shell/profile \ No newline at end of file -- cgit v1.2.3