Let people own their own basic configs
Just call for defaults, then overwrite
This commit is contained in:
		
							
								
								
									
										5
									
								
								defaults/bash/init
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								defaults/bash/init
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
eval "$(rbenv init - bash)"
 | 
			
		||||
eval "$(nodenv init -)"
 | 
			
		||||
eval "$(zoxide init bash)"
 | 
			
		||||
eval "$(zellij setup --generate-auto-start bash)"
 | 
			
		||||
source /usr/share/doc/fzf/examples/key-bindings.bash
 | 
			
		||||
							
								
								
									
										41
									
								
								defaults/bash/inputrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								defaults/bash/inputrc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
set meta-flag on
 | 
			
		||||
set input-meta on
 | 
			
		||||
set output-meta on
 | 
			
		||||
set convert-meta off
 | 
			
		||||
set completion-ignore-case on
 | 
			
		||||
set completion-prefix-display-length 2
 | 
			
		||||
set show-all-if-ambiguous on
 | 
			
		||||
set show-all-if-unmodified on
 | 
			
		||||
 | 
			
		||||
# Arrow keys match what you've typed so far against your command history
 | 
			
		||||
"\e[A": history-search-backward
 | 
			
		||||
"\e[B": history-search-forward
 | 
			
		||||
"\e[C": forward-char
 | 
			
		||||
"\e[D": backward-char
 | 
			
		||||
 | 
			
		||||
# Immediately add a trailing slash when autocompleting symlinks to directories
 | 
			
		||||
set mark-symlinked-directories on
 | 
			
		||||
 | 
			
		||||
# Do not autocomplete hidden files unless the pattern explicitly begins with a dot
 | 
			
		||||
set match-hidden-files off
 | 
			
		||||
 | 
			
		||||
# Show all autocomplete results at once
 | 
			
		||||
set page-completions off
 | 
			
		||||
 | 
			
		||||
# If there are more than 200 possible completions for a word, ask to show them all
 | 
			
		||||
set completion-query-items 200
 | 
			
		||||
 | 
			
		||||
# Show extra file information when completing, like `ls -F` does
 | 
			
		||||
set visible-stats on
 | 
			
		||||
 | 
			
		||||
$if Bash
 | 
			
		||||
  # Be more intelligent when autocompleting by also looking at the text after
 | 
			
		||||
  # the cursor. For example, when the current line is "cd ~/src/mozil", and
 | 
			
		||||
  # the cursor is on the "z", pressing Tab will not autocomplete it to "cd
 | 
			
		||||
  # ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the
 | 
			
		||||
  # Readline used by Bash 4.)
 | 
			
		||||
  set skip-completed-text on
 | 
			
		||||
 | 
			
		||||
  # Coloring for Bash 4 tab completions.
 | 
			
		||||
  set colored-stats on
 | 
			
		||||
$endif
 | 
			
		||||
							
								
								
									
										4
									
								
								defaults/bash/rc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								defaults/bash/rc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
source ~/.local/share/omakub/defaults/bash/shell
 | 
			
		||||
source ~/.local/share/omakub/defaults/bash/aliases
 | 
			
		||||
source ~/.local/share/omakub/defaults/bash/prompt
 | 
			
		||||
source ~/.local/share/omakub/defaults/bash/init
 | 
			
		||||
							
								
								
									
										12
									
								
								defaults/bash/shell
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								defaults/bash/shell
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
# History control
 | 
			
		||||
shopt -s histappend
 | 
			
		||||
HISTCONTROL=ignoreboth
 | 
			
		||||
HISTSIZE=32768
 | 
			
		||||
HISTFILESIZE="${HISTSIZE}"
 | 
			
		||||
 | 
			
		||||
# Autocompletion
 | 
			
		||||
source /usr/share/bash-completion/bash_completion
 | 
			
		||||
 | 
			
		||||
# Set complete path
 | 
			
		||||
export PATH="./bin:$HOME/.local/bin:$HOME/.local/share/omakub/bin:$HOME/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
 | 
			
		||||
set +h
 | 
			
		||||
@@ -1,26 +1,4 @@
 | 
			
		||||
# History control
 | 
			
		||||
shopt -s histappend
 | 
			
		||||
HISTCONTROL=ignoreboth
 | 
			
		||||
HISTSIZE=32768
 | 
			
		||||
HISTFILESIZE="${HISTSIZE}"
 | 
			
		||||
source ~/.local/share/omakub/defaults/bash/rc
 | 
			
		||||
 | 
			
		||||
# Autocompletion
 | 
			
		||||
source /usr/share/bash-completion/bash_completion
 | 
			
		||||
 | 
			
		||||
# Set complete path
 | 
			
		||||
export PATH="./bin:$HOME/.rbenv/bin:$HOME/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
 | 
			
		||||
set +h
 | 
			
		||||
 | 
			
		||||
# Load configuration first from omabox, then local overwrites
 | 
			
		||||
for file in ~/.{prompt,exports,aliases}; do
 | 
			
		||||
	[ -r "$file" ] && [ -f "$file" ] && source "$file"
 | 
			
		||||
	[ -r "$file.local" ] && [ -f "$file.local" ] && source "$file.local"
 | 
			
		||||
done
 | 
			
		||||
unset file
 | 
			
		||||
 | 
			
		||||
# Run iniitializers
 | 
			
		||||
eval "$(rbenv init - bash)"
 | 
			
		||||
eval "$(nodenv init -)"
 | 
			
		||||
eval "$(zoxide init bash)"
 | 
			
		||||
eval "$(zellij setup --generate-auto-start bash)"
 | 
			
		||||
source /usr/share/doc/fzf/examples/key-bindings.bash
 | 
			
		||||
# Editor used by CLI
 | 
			
		||||
export EDITOR="nvim"
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
export EDITOR="nvim"
 | 
			
		||||
@@ -1,44 +1 @@
 | 
			
		||||
set meta-flag on
 | 
			
		||||
set input-meta on
 | 
			
		||||
set output-meta on
 | 
			
		||||
set convert-meta off
 | 
			
		||||
set completion-ignore-case on
 | 
			
		||||
set completion-prefix-display-length 2
 | 
			
		||||
set show-all-if-ambiguous on
 | 
			
		||||
set show-all-if-unmodified on
 | 
			
		||||
 | 
			
		||||
# Arrow keys match what you've typed so far against your command history
 | 
			
		||||
"\e[A": history-search-backward
 | 
			
		||||
"\e[B": history-search-forward
 | 
			
		||||
"\e[C": forward-char
 | 
			
		||||
"\e[D": backward-char
 | 
			
		||||
 | 
			
		||||
# Immediately add a trailing slash when autocompleting symlinks to directories
 | 
			
		||||
set mark-symlinked-directories on
 | 
			
		||||
 | 
			
		||||
# Do not autocomplete hidden files unless the pattern explicitly begins with a dot
 | 
			
		||||
set match-hidden-files off
 | 
			
		||||
 | 
			
		||||
# Show all autocomplete results at once
 | 
			
		||||
set page-completions off
 | 
			
		||||
 | 
			
		||||
# If there are more than 200 possible completions for a word, ask to show them all
 | 
			
		||||
set completion-query-items 200
 | 
			
		||||
 | 
			
		||||
# Show extra file information when completing, like `ls -F` does
 | 
			
		||||
set visible-stats on
 | 
			
		||||
 | 
			
		||||
$if Bash
 | 
			
		||||
  # Be more intelligent when autocompleting by also looking at the text after
 | 
			
		||||
  # the cursor. For example, when the current line is "cd ~/src/mozil", and
 | 
			
		||||
  # the cursor is on the "z", pressing Tab will not autocomplete it to "cd
 | 
			
		||||
  # ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the
 | 
			
		||||
  # Readline used by Bash 4.)
 | 
			
		||||
  set skip-completed-text on
 | 
			
		||||
 | 
			
		||||
  # Coloring for Bash 4 tab completions.
 | 
			
		||||
  set colored-stats on
 | 
			
		||||
$endif
 | 
			
		||||
 | 
			
		||||
# End with local overrides
 | 
			
		||||
$include ~/.inputrc.local
 | 
			
		||||
$include ~/.local/share/omakub/defaults/bash/inputrc
 | 
			
		||||
 
 | 
			
		||||
@@ -1,36 +1,22 @@
 | 
			
		||||
# Ensure .config exists
 | 
			
		||||
mkdir -p ~/.config
 | 
			
		||||
 | 
			
		||||
# Link all dotfiles
 | 
			
		||||
# Copy all dotfiles
 | 
			
		||||
for entry in ~/.local/share/omakub/dotfiles/*; do
 | 
			
		||||
	# Link all root files as .file in ~/
 | 
			
		||||
	# Copy all root files as .file in ~/
 | 
			
		||||
	# Any existing files will be renamed .bak
 | 
			
		||||
	if [ -f $entry ]; then
 | 
			
		||||
		target=~/."$(basename $entry)"
 | 
			
		||||
 | 
			
		||||
		if [ -e $target ] && [ "$(readlink $target)" != $entry ]; then
 | 
			
		||||
			mv $target $target.bak
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
		if [ ! -e $target ]; then
 | 
			
		||||
			ln -s $entry $target
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
		touch $entry.local
 | 
			
		||||
		[ -e $target ] && mv $target $target.bak
 | 
			
		||||
		cp $entry $target
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# Link all directories in ~/.config/
 | 
			
		||||
	# Copy all directories in ~/.config/
 | 
			
		||||
	# Any existing directories will be renamed .bak
 | 
			
		||||
	if [ -d $entry ]; then
 | 
			
		||||
		target=~/.config/"$(basename $entry)"
 | 
			
		||||
 | 
			
		||||
		if [ -e $target ] && [ "$(readlink "$target")" != $entry ]; then
 | 
			
		||||
			mv $target $target.bak
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
		if [ ! -e $target ]; then
 | 
			
		||||
			ln -s $entry $target
 | 
			
		||||
		fi
 | 
			
		||||
		[ -e $target ] && mv $target $target.bak
 | 
			
		||||
		cp -R $entry $target
 | 
			
		||||
	fi
 | 
			
		||||
done
 | 
			
		||||
unset entry
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user