aboutsummaryrefslogtreecommitdiff
path: root/bash
diff options
context:
space:
mode:
authorMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-02-23 15:03:10 -0500
committerMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-02-23 15:03:10 -0500
commit36a274dbc066068ff25b839e21ce3b82ec292c88 (patch)
tree7e3de8bafab79cfa86c93f467413b8f43273a8a5 /bash
parentb29aab34dff6b76fd8eb067d51d2fe41be594616 (diff)
big updatesHEADmain
Diffstat (limited to 'bash')
-rw-r--r--bash/dot-bashrc15
-rw-r--r--bash/dot-config/dir_colors274
-rw-r--r--bash/dot-config/shellshort/bm-dirs4
-rw-r--r--bash/dot-config/shellshort/shortcutenvrc5
-rw-r--r--bash/dot-config/shellshort/shortcutrc5
-rw-r--r--bash/dot-config/shellshort/zshnameddirs4
-rw-r--r--bash/dot-profile11
7 files changed, 294 insertions, 24 deletions
diff --git a/bash/dot-bashrc b/bash/dot-bashrc
index cc15ea0..8159104 100644
--- a/bash/dot-bashrc
+++ b/bash/dot-bashrc
@@ -9,6 +9,7 @@ export HISTCONTROL='ignoredups'
export HISTFILESIZE=100000
export HISTSIZE=10000
+shopt -s histappend
shopt -s autocd
shopt -s checkwinsize
shopt -u promptvars
@@ -38,11 +39,17 @@ alias p='sudo pacman'
alias SS='sudo systemctl'
alias Su='systemctl --user'
alias v='nvim'
-alias vn='NVIM_APPNAME=nvim-min nvim'
alias vv='uv run nvim'
alias neofetch='fastfetch -c examples/13'
-alias cvim='nvim -c "cd ~/.config/nvim" -c "Ex"'
-alias hm='home-manager --flake ~/nix'
+alias cvim='nvim -c "cd ~/.config/nvim" -c "Oil"'
+
+if [[ -f ~/.config/dir_colors ]]; then
+ eval "$(COLORTERM=1 dircolors -b -- ~/.config/dir_colors)"
+else
+ eval "$(COLORTERM=1 dircolors -b)"
+fi
+export MANPAGER="sh -c 'bat --paging always --theme ansi -p -l man'"
+# export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat --paging always --theme ansi -p -l man'"
# source: https://wiki.archlinux.org/title/GnuPG#Configure_pinentry_to_use_the_correct_TTY
GPG_TTY="$(tty)"
@@ -53,7 +60,7 @@ gpg-connect-agent updatestartuptty /bye >/dev/null
source "${XDG_CONFIG_HOME:-$HOME/.config}"/bash/functions.bash
# shellcheck source=notes.bash
-source "${XDG_CONFIG_HOME:-$HOME/.config}"/bash/notes.bash
+# source "${XDG_CONFIG_HOME:-$HOME/.config}"/bash/notes.bash
bind '"\C-o":"\C-ulf\C-m"'
diff --git a/bash/dot-config/dir_colors b/bash/dot-config/dir_colors
new file mode 100644
index 0000000..e9e01be
--- /dev/null
+++ b/bash/dot-config/dir_colors
@@ -0,0 +1,274 @@
+# vim: ft=conf
+# Configuration file for dircolors, a utility to help you set the
+# LS_COLORS environment variable used by GNU ls with the --color option.
+
+# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+# Copying and distribution of this file, with or without modification,
+# are permitted provided the copyright notice and this notice are preserved.
+
+#
+# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
+# slackware version of dircolors) are recognized but ignored.
+
+# You can copy this file to .dir_colors in your $HOME directory to override
+# the system defaults.
+
+# Global config options can be specified before TERM or COLORTERM entries
+
+# ===================================================================
+# Terminal filters
+# ===================================================================
+# Below are TERM or COLORTERM entries, which can be glob patterns, which
+# restrict following config to systems with matching environment variables.
+COLORTERM ?*
+TERM Eterm
+TERM ansi
+TERM *color*
+TERM con[0-9]*x[0-9]*
+TERM cons25
+TERM console
+TERM cygwin
+TERM *direct*
+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 vt220
+TERM xterm*
+
+# ===================================================================
+# Basic file attributes
+# ===================================================================
+# Below are the color init strings for the basic file types.
+# One can use codes for 256 or more colors supported by modern terminals.
+# The default color codes use the capabilities of an 8 color terminal
+# with some additional attributes as per the following codes:
+# 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;34 # directory
+LINK 01;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 01;37;41 # symlink to nonexistent file, or non-stat'able file ...
+MISSING 0 # ... and the files they point to
+SETUID 37;41 # regular file that is setuid (u+s)
+SETGID 30;43 # regular file that is setgid (g+s)
+CAPABILITY 00 # regular file with capability (very expensive to lookup)
+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 regular files with execute permission:
+EXEC 01;32
+
+# ===================================================================
+# File extension attributes
+# ===================================================================
+# List any file extensions like '.gz' or '.tar' that you would like ls
+# to color below. Put the suffix, a space, and the color init string.
+# (and any comments you want to add after a '#').
+# Suffixes are matched case insensitively, but if you define different
+# init strings for separate cases, those will be honored.
+#
+
+# 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 color scripts even if they do not have the
+# executable bit actually set.
+#.sh 01;32
+#.csh 01;32
+
+# archives or compressed (bright red)
+.7z 01;31
+.ace 01;31
+.alz 01;31
+.apk 01;31
+.arc 01;31
+.arj 01;31
+.bz 01;31
+.bz2 01;31
+.cab 01;31
+.cpio 01;31
+.crate 01;31
+.deb 01;31
+.drpm 01;31
+.dwm 01;31
+.dz 01;31
+.ear 01;31
+.egg 01;31
+.esd 01;31
+.gz 01;31
+.jar 01;31
+.lha 01;31
+.lrz 01;31
+.lz 01;31
+.lz4 01;31
+.lzh 01;31
+.lzma 01;31
+.lzo 01;31
+.pyz 01;31
+.rar 01;31
+.rpm 01;31
+.rz 01;31
+.sar 01;31
+.swm 01;31
+.t7z 01;31
+.tar 01;31
+.taz 01;31
+.tbz 01;31
+.tbz2 01;31
+.tgz 01;31
+.tlz 01;31
+.txz 01;31
+.tz 01;31
+.tzo 01;31
+.tzst 01;31
+.udeb 01;31
+.war 01;31
+.whl 01;31
+.wim 01;31
+.xz 01;31
+.z 01;31
+.zip 01;31
+.zoo 01;31
+.zst 01;31
+
+# image formats
+.avif 01;35
+.jpg 01;35
+.jpeg 01;35
+.jxl 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
+.webp 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
+
+# Text/document files
+.cfg 00;32
+.conf 00;32
+.diff 00;32
+.doc 00;32
+.ini 00;32
+.log 00;32
+.patch 00;32
+.pdf 00;32
+.ps 00;32
+.tex 00;32
+.txt 00;32
+
+# 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
+
+# backup files
+*~ 00;90
+*# 00;90
+.bak 00;90
+.crdownload 00;90
+.dpkg-dist 00;90
+.dpkg-new 00;90
+.dpkg-old 00;90
+.dpkg-tmp 00;90
+.old 00;90
+.orig 00;90
+.part 00;90
+.rej 00;90
+.rpmnew 00;90
+.rpmorig 00;90
+.rpmsave 00;90
+.swp 00;90
+.tmp 00;90
+.ucf-dist 00;90
+.ucf-new 00;90
+.ucf-old 00;90
+
diff --git a/bash/dot-config/shellshort/bm-dirs b/bash/dot-config/shellshort/bm-dirs
index 4ecd6c0..1b26d16 100644
--- a/bash/dot-config/shellshort/bm-dirs
+++ b/bash/dot-config/shellshort/bm-dirs
@@ -1,2 +1,2 @@
-mit $HOME/mit/18.650-spring-26/
-linatt $HOME/mit/linear-attention/
+mit $HOME/teaching/18.650-spring-26/
+linatt $HOME/research/linear-attention/
diff --git a/bash/dot-config/shellshort/shortcutenvrc b/bash/dot-config/shellshort/shortcutenvrc
deleted file mode 100644
index 8f0b3fb..0000000
--- a/bash/dot-config/shellshort/shortcutenvrc
+++ /dev/null
@@ -1,5 +0,0 @@
-# vim: filetype=sh
-[ -n "mit" ] && export mit="/home/moreka/mit/18.650-spring-26/"
-[ -n "linatt" ] && export linatt="/home/moreka/mit/linear-attention/"
-[ -n "cala" ] && export cala="/home/moreka/.config/alacritty/alacritty.toml"
-[ -n "cnir" ] && export cnir="/home/moreka/.config/niri/config.kdl"
diff --git a/bash/dot-config/shellshort/shortcutrc b/bash/dot-config/shellshort/shortcutrc
deleted file mode 100644
index e8571c1..0000000
--- a/bash/dot-config/shellshort/shortcutrc
+++ /dev/null
@@ -1,5 +0,0 @@
-# vim: filetype=sh
-alias mit="cd /home/moreka/mit/18.650-spring-26/ && ls -A" \
-linatt="cd /home/moreka/mit/linear-attention/ && ls -A" \
-cala="$EDITOR /home/moreka/.config/alacritty/alacritty.toml" \
-cnir="$EDITOR /home/moreka/.config/niri/config.kdl" \
diff --git a/bash/dot-config/shellshort/zshnameddirs b/bash/dot-config/shellshort/zshnameddirs
deleted file mode 100644
index d7453ec..0000000
--- a/bash/dot-config/shellshort/zshnameddirs
+++ /dev/null
@@ -1,4 +0,0 @@
-hash -d mit=/home/moreka/mit/18.650-spring-26/
-hash -d linatt=/home/moreka/mit/linear-attention/
-hash -d cala=/home/moreka/.config/alacritty/alacritty.toml
-hash -d cnir=/home/moreka/.config/niri/config.kdl
diff --git a/bash/dot-profile b/bash/dot-profile
index ca4932c..ee18485 100644
--- a/bash/dot-profile
+++ b/bash/dot-profile
@@ -3,7 +3,7 @@
export EDITOR=nvim
export SUDO_EDITOR=$EDITOR
-export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat --paging always -p -lman'"
+
export XDG_CONFIG_HOME="$HOME"/.config
export XDG_CACHE_HOME="$HOME"/.cache
@@ -11,13 +11,16 @@ export XDG_DATA_HOME="$HOME"/.local/share
export XDG_STATE_HOME="$HOME"/.local/state
export XDG_BIN_HOME="$HOME"/.local/bin
-PATH="${PATH}:${XDG_BIN_HOME}:$HOME/.nix-profile/bin"
+PATH="${PATH}:${XDG_BIN_HOME}"
+# PATH="${PATH}:$HOME/.nix-profile/bin"
export PATH
-XDG_DATA_DIRS="$HOME/.nix-profile/share:$XDG_DATA_DIRS"
-export XDG_DATA_DIRS
+# XDG_DATA_DIRS="$HOME/.nix-profile/share:$XDG_DATA_DIRS"
+# export XDG_DATA_DIRS
export LESSHISTFILE="$XDG_CACHE_HOME"/lesshst
+export LESS="-R -M --shift 5"
+
export CARGO_HOME="$XDG_DATA_HOME"/cargo
export TEXMFHOME="$XDG_DATA_HOME"/texmf
export TEXMFVAR="$XDG_CACHE_HOME"/texlive/texmf-var