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
 | 
					source ~/.local/share/omakub/defaults/bash/rc
 | 
				
			||||||
shopt -s histappend
 | 
					 | 
				
			||||||
HISTCONTROL=ignoreboth
 | 
					 | 
				
			||||||
HISTSIZE=32768
 | 
					 | 
				
			||||||
HISTFILESIZE="${HISTSIZE}"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Autocompletion
 | 
					# Editor used by CLI
 | 
				
			||||||
source /usr/share/bash-completion/bash_completion
 | 
					export EDITOR="nvim"
 | 
				
			||||||
 | 
					 | 
				
			||||||
# 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
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
export EDITOR="nvim"
 | 
					 | 
				
			||||||
@@ -1,44 +1 @@
 | 
				
			|||||||
set meta-flag on
 | 
					$include ~/.local/share/omakub/defaults/bash/inputrc
 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,36 +1,22 @@
 | 
				
			|||||||
# Ensure .config exists
 | 
					# Ensure .config exists
 | 
				
			||||||
mkdir -p ~/.config
 | 
					mkdir -p ~/.config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Link all dotfiles
 | 
					# Copy all dotfiles
 | 
				
			||||||
for entry in ~/.local/share/omakub/dotfiles/*; do
 | 
					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
 | 
						# Any existing files will be renamed .bak
 | 
				
			||||||
	if [ -f $entry ]; then
 | 
						if [ -f $entry ]; then
 | 
				
			||||||
		target=~/."$(basename $entry)"
 | 
							target=~/."$(basename $entry)"
 | 
				
			||||||
 | 
							[ -e $target ] && mv $target $target.bak
 | 
				
			||||||
		if [ -e $target ] && [ "$(readlink $target)" != $entry ]; then
 | 
							cp $entry $target
 | 
				
			||||||
			mv $target $target.bak
 | 
					 | 
				
			||||||
		fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		if [ ! -e $target ]; then
 | 
					 | 
				
			||||||
			ln -s $entry $target
 | 
					 | 
				
			||||||
		fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		touch $entry.local
 | 
					 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# Link all directories in ~/.config/
 | 
						# Copy all directories in ~/.config/
 | 
				
			||||||
	# Any existing directories will be renamed .bak
 | 
						# Any existing directories will be renamed .bak
 | 
				
			||||||
	if [ -d $entry ]; then
 | 
						if [ -d $entry ]; then
 | 
				
			||||||
		target=~/.config/"$(basename $entry)"
 | 
							target=~/.config/"$(basename $entry)"
 | 
				
			||||||
 | 
							[ -e $target ] && mv $target $target.bak
 | 
				
			||||||
		if [ -e $target ] && [ "$(readlink "$target")" != $entry ]; then
 | 
							cp -R $entry $target
 | 
				
			||||||
			mv $target $target.bak
 | 
					 | 
				
			||||||
		fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		if [ ! -e $target ]; then
 | 
					 | 
				
			||||||
			ln -s $entry $target
 | 
					 | 
				
			||||||
		fi
 | 
					 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
unset entry
 | 
					unset entry
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user