about summary refs log tree commit diff
path: root/bash
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>1970-01-01 03:00:00 +0300
committerAzat Bahawi <azat@bahawi.net>2022-09-20 11:51:54 +0300
commit38bab29776950ac2364ed64195b89887717c33de (patch)
treeedaaf366a55dbe96d268019124536bc504c64e87 /bash
chore: init HEAD master
Diffstat (limited to '')
-rw-r--r--bash/.bash.d/10_options.bash14
-rw-r--r--bash/.bash.d/20_history.bash10
-rw-r--r--bash/.bash.d/30_completion.bash3
-rw-r--r--bash/.bash.d/60_prompt.bash3
-rw-r--r--bash/.bash_logout6
-rw-r--r--bash/.bash_profile11
-rw-r--r--bash/.bashrc11
-rwxr-xr-xbash/@install10
8 files changed, 68 insertions, 0 deletions
diff --git a/bash/.bash.d/10_options.bash b/bash/.bash.d/10_options.bash
new file mode 100644
index 0000000..fac4943
--- /dev/null
+++ b/bash/.bash.d/10_options.bash
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+[[ $- == *i* ]] && stty -ixon
+
+set -b +H
+
+set -o notify
+
+shopt -s extglob
+shopt -s globstar
+
+shopt -s autocd 2>/dev/null
+shopt -s dirspell 2>/dev/null
+shopt -s cdspell 2>/dev/null
diff --git a/bash/.bash.d/20_history.bash b/bash/.bash.d/20_history.bash
new file mode 100644
index 0000000..942b884
--- /dev/null
+++ b/bash/.bash.d/20_history.bash
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+shopt -s histappend
+shopt -s histreedit
+shopt -s histverify
+
+[[ ${HISTFILE} =~ (_bash)+$ ]] && HISTFILE="${HISTFILE}_bash"
+HISTCONTROL=erasedups:ignorespace
+HISTFILESIZE=$HISTSIZE
+HISTTIMEFORMAT="[%F %T] "
diff --git a/bash/.bash.d/30_completion.bash b/bash/.bash.d/30_completion.bash
new file mode 100644
index 0000000..9ea2fb0
--- /dev/null
+++ b/bash/.bash.d/30_completion.bash
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+complete -A directory cd
diff --git a/bash/.bash.d/60_prompt.bash b/bash/.bash.d/60_prompt.bash
new file mode 100644
index 0000000..c404206
--- /dev/null
+++ b/bash/.bash.d/60_prompt.bash
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+PS1="\[\033[0;32m\]\w\[\033[0m\] \[\033[0;33m\]λ\[\033[0m\] "
diff --git a/bash/.bash_logout b/bash/.bash_logout
new file mode 100644
index 0000000..4ad2227
--- /dev/null
+++ b/bash/.bash_logout
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+if [ -f "${HOME}/.bin/logout-hook" ]; then
+    # shellcheck disable=SC1091
+    source "${HOME}/.bin/logout-hook"
+fi
diff --git a/bash/.bash_profile b/bash/.bash_profile
new file mode 100644
index 0000000..2691445
--- /dev/null
+++ b/bash/.bash_profile
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+if [ -z "${PROFILE_SOURCED}" ] && [ -f "${HOME}"/.profile ]; then
+    # shellcheck disable=SC1091
+    source "${HOME}/.profile"
+fi
+
+if [ -f "${HOME}/.bashrc" ]; then
+    # shellcheck disable=SC1091
+    source "${HOME}/.bashrc"
+fi
diff --git a/bash/.bashrc b/bash/.bashrc
new file mode 100644
index 0000000..2a5ac92
--- /dev/null
+++ b/bash/.bashrc
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+if [ -z "${PROFILE_SOURCED}" ] && [ -f "${HOME}"/.profile ]; then
+    # shellcheck disable=SC1091
+    source "${HOME}/.profile"
+fi
+
+for i in "${HOME}"/.bash.d/*.bash; do
+    # shellcheck disable=SC1090
+    [[ -r "${i}" ]] && source "${i}"
+done
diff --git a/bash/@install b/bash/@install
new file mode 100755
index 0000000..4b99750
--- /dev/null
+++ b/bash/@install
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+[ ! -d "${HOME}/.bash.d" ] &&
+    mkdir -p "${HOME}/.bash.d"
+
+stow \
+    --target="${HOME}" \
+    --ignore="^@.*" \
+    --verbose \
+    bash

Consider giving Nix/NixOS a try! <3