First
This commit is contained in:
commit
8353d5986e
52
dotfiles/.bashrc
Normal file
52
dotfiles/.bashrc
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# Setup history
|
||||||
|
shopt -s histappend
|
||||||
|
HISTCONTROL=ignoreboth
|
||||||
|
HISTSIZE=1000
|
||||||
|
HISTFILESIZE=2000
|
||||||
|
|
||||||
|
# check the window size after each command and, if necessary,
|
||||||
|
# update the values of LINES and COLUMNS.
|
||||||
|
shopt -s checkwinsize
|
||||||
|
|
||||||
|
force_color_prompt=yes
|
||||||
|
color_prompt=yes
|
||||||
|
|
||||||
|
PS1=$'\uf0a9 '
|
||||||
|
PS1="\[\e]0;\w\a\]$PS1"
|
||||||
|
|
||||||
|
# enable programmable completion features (you don't need to enable
|
||||||
|
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
||||||
|
# sources /etc/bash.bashrc).
|
||||||
|
if ! shopt -oq posix; then
|
||||||
|
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||||||
|
. /usr/share/bash-completion/bash_completion
|
||||||
|
elif [ -f /etc/bash_completion ]; then
|
||||||
|
. /etc/bash_completion
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
export PATH="./bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin"
|
||||||
|
export EDITOR="nvim"
|
||||||
|
set +h
|
||||||
|
|
||||||
|
alias ls='eza -lh --group-directories-first --icons'
|
||||||
|
alias lt='eza --tree --level=2 --long --icons --git'
|
||||||
|
alias ff="fzf --preview 'batcat --style=numbers --color=always {}'"
|
||||||
|
alias spfy='spotify --force-device-scale-factor=1.5'
|
||||||
|
alias r='./bin/rails'
|
||||||
|
alias n='nvim'
|
||||||
|
alias g='git'
|
||||||
|
alias d='docker'
|
||||||
|
alias gcm='git commit -m'
|
||||||
|
alias gcam='git commit -a -m'
|
||||||
|
alias gcad='git commit -a --amend'
|
||||||
|
alias load-dconf='cat ~/.config/gnome-settings.ini | dconf load /'
|
||||||
|
|
||||||
|
export KAMAL_REGISTRY_PASSWORD="dckr_pat_1-VLgNpkPxENCjLuZSS6AM-zfD4"
|
||||||
|
export HAYSTACK_GLOBAL_DATABASE_VERSION=8
|
||||||
|
|
||||||
|
eval "$(/usr/bin/rbenv init - bash)"
|
||||||
|
eval "$(nodenv init -)"
|
||||||
|
eval "$(zoxide init bash)"
|
||||||
|
|
||||||
|
export PATH=$PATH:/home/dhh/.spicetify
|
47
dotfiles/alacritty/alacritty.toml
Normal file
47
dotfiles/alacritty/alacritty.toml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
[env]
|
||||||
|
TERM = "xterm-256color"
|
||||||
|
|
||||||
|
[window]
|
||||||
|
padding.x = 16
|
||||||
|
padding.y = 14
|
||||||
|
decorations = "none"
|
||||||
|
|
||||||
|
[font]
|
||||||
|
normal = { family = "CaskaydiaMono Nerd Font", style = "Regular" }
|
||||||
|
size = 9
|
||||||
|
|
||||||
|
[keyboard]
|
||||||
|
bindings = [
|
||||||
|
{ key = "F11", action = "ToggleFullscreen" }
|
||||||
|
]
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
[colors.primary]
|
||||||
|
background = '#1a1b26'
|
||||||
|
foreground = '#a9b1d6'
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
[colors.normal]
|
||||||
|
black = '#32344a'
|
||||||
|
red = '#f7768e'
|
||||||
|
green = '#9ece6a'
|
||||||
|
yellow = '#e0af68'
|
||||||
|
blue = '#7aa2f7'
|
||||||
|
magenta = '#ad8ee6'
|
||||||
|
cyan = '#449dab'
|
||||||
|
white = '#787c99'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
[colors.bright]
|
||||||
|
black = '#444b6a'
|
||||||
|
red = '#ff7a93'
|
||||||
|
green = '#b9f27c'
|
||||||
|
yellow = '#ff9e64'
|
||||||
|
blue = '#7da6ff'
|
||||||
|
magenta = '#bb9af7'
|
||||||
|
cyan = '#0db9d7'
|
||||||
|
white = '#acb0d0'
|
||||||
|
|
||||||
|
[colors.selection]
|
||||||
|
background = '#7aa2f7'
|
||||||
|
|
16
dotfiles/aliases
Normal file
16
dotfiles/aliases
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# File system
|
||||||
|
alias ls='eza -lh --group-directories-first --icons'
|
||||||
|
alias lt='eza --tree --level=2 --long --icons --git'
|
||||||
|
alias ff="fzf --preview 'batcat --style=numbers --color=always {}'"
|
||||||
|
|
||||||
|
# Tools
|
||||||
|
alias n='nvim'
|
||||||
|
alias g='git'
|
||||||
|
alias d='docker'
|
||||||
|
alias bat='batcat'
|
||||||
|
|
||||||
|
# Git
|
||||||
|
alias gcm='git commit -m'
|
||||||
|
alias gcam='git commit -a -m'
|
||||||
|
alias gcad='git commit -a --amend'
|
||||||
|
|
30
dotfiles/bashrc
Normal file
30
dotfiles/bashrc
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# History control
|
||||||
|
shopt -s histappend
|
||||||
|
HISTCONTROL=ignoreboth
|
||||||
|
HISTSIZE=1000
|
||||||
|
HISTFILESIZE=2000
|
||||||
|
|
||||||
|
# Autocompletion
|
||||||
|
if ! shopt -oq posix; then
|
||||||
|
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||||||
|
. /usr/share/bash-completion/bash_completion
|
||||||
|
elif [ -f /etc/bash_completion ]; then
|
||||||
|
. /etc/bash_completion
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prefer current-directory bins
|
||||||
|
export PATH="./bin:$PATH"
|
||||||
|
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)"
|
44
dotfiles/inputrc
Normal file
44
dotfiles/inputrc
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
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
|
5
dotfiles/prompt
Normal file
5
dotfiles/prompt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
force_color_prompt=yes
|
||||||
|
color_prompt=yes
|
||||||
|
|
||||||
|
PS1=$'\uf0a9 '
|
||||||
|
PS1="\[\e]0;\w\a\]$PS1"
|
35
dotfiles/zellij/config.kdl
Normal file
35
dotfiles/zellij/config.kdl
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
themes {
|
||||||
|
tokyo-night {
|
||||||
|
fg 169 177 214
|
||||||
|
bg 26 27 38
|
||||||
|
black 56 62 90
|
||||||
|
red 249 51 87
|
||||||
|
green 158 206 106
|
||||||
|
yellow 224 175 104
|
||||||
|
blue 122 162 247
|
||||||
|
magenta 187 154 247
|
||||||
|
cyan 42 195 222
|
||||||
|
white 192 202 245
|
||||||
|
orange 255 158 100
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
theme "tokyo-night"
|
||||||
|
themes {
|
||||||
|
tokyo-night {
|
||||||
|
fg 169 177 214
|
||||||
|
bg 26 27 38
|
||||||
|
black 56 62 90
|
||||||
|
red 249 51 87
|
||||||
|
green 158 206 106
|
||||||
|
yellow 224 175 104
|
||||||
|
blue 122 162 247
|
||||||
|
magenta 187 154 247
|
||||||
|
cyan 42 195 222
|
||||||
|
white 192 202 245
|
||||||
|
orange 255 158 100
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
theme "tokyo-night"
|
||||||
|
default_layout "compact"
|
37
install.sh
Normal file
37
install.sh
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Libraries and infrastructure
|
||||||
|
sudo apt update -y
|
||||||
|
sudo apt install -y \
|
||||||
|
docker.io docker-buildx \
|
||||||
|
build-essential pkg-config autoconf bison rustc cargo clang \
|
||||||
|
libssl-dev libreadline-dev zlib1g-dev libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev libjemalloc2 \
|
||||||
|
libvips imagemagick libmagickwand-dev mupdf mupdf-tools \
|
||||||
|
redis-tools sqlite3 libsqlite3-0 libmysqlclient-dev \
|
||||||
|
rbenv apache2-utils
|
||||||
|
|
||||||
|
# CLI apps
|
||||||
|
sudo apt install -y git curl fzf ripgrep bat eza zoxide btop
|
||||||
|
sudo snap install code zellij --classic
|
||||||
|
|
||||||
|
# GUI apps
|
||||||
|
sudo apt install xournalpp nautilus-dropbox alacritty
|
||||||
|
sudo snap install 1password spotify vlc zoom-client signal-desktop pinta
|
||||||
|
|
||||||
|
# Installers
|
||||||
|
source install/gnome-tailoring.sh
|
||||||
|
source install/chrome.sh
|
||||||
|
source install/fonts.sh
|
||||||
|
source install/ulauncher.sh
|
||||||
|
source install/neovim.sh
|
||||||
|
source install/lazygit.sh
|
||||||
|
source install/lazydocker.sh
|
||||||
|
source install/ruby.sh
|
||||||
|
source install/nodenv.sh
|
||||||
|
source install/gh.sh
|
||||||
|
source install/docker.sh
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
|
||||||
|
# Start
|
||||||
|
gh auth login
|
||||||
|
docker run -d --restart unless-stopped -p 3306:3306 --name=mysql8 -e MYSQL_ROOT_PASSWORD= -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:8
|
||||||
|
docker run -d --restart unless-stopped -p 6379:6379 --name=redis redis
|
5
install/chrome.sh
Normal file
5
install/chrome.sh
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
cd ~/Downloads
|
||||||
|
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
||||||
|
sudo dpkg -i google-chrome-stable_current_amd64.deb
|
||||||
|
rm google-chrome-stable_current_amd64.deb
|
||||||
|
cd -
|
7
install/docker.sh
Normal file
7
install/docker.sh
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
DOCKER_COMPOSE_VERSION="2.27.0"
|
||||||
|
|
||||||
|
sudo usermod -aG docker ${USER}
|
||||||
|
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
|
||||||
|
mkdir -p $DOCKER_CONFIG/cli-plugins
|
||||||
|
curl -SL https://github.com/docker/compose/releases/download/v$DOCKER_COMPOSE_VERSION/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
|
||||||
|
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
|
8
install/fonts.sh
Normal file
8
install/fonts.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
cd ~/Downloads
|
||||||
|
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/CascadiaMono.zip
|
||||||
|
unzip CascadiaMono.zip -d CascadiaFont
|
||||||
|
mkdir -p ~/.local/share/fonts
|
||||||
|
cp CascadiaFont/*.ttf ~/.local/share/fonts
|
||||||
|
rm -rf CascadiaMono.zip CascadiaFont
|
||||||
|
fc-cache
|
||||||
|
cd -
|
5
install/gh.sh
Normal file
5
install/gh.sh
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg &&
|
||||||
|
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg &&
|
||||||
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list >/dev/null &&
|
||||||
|
sudo apt update &&
|
||||||
|
sudo apt install gh -y
|
3
install/gnome-tailoring.sh
Normal file
3
install/gnome-tailoring.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
sudo apt install -y gnome-tweak-tool gnome-shell-extension-manager
|
||||||
|
echo "Use Tweak Tool to set Fonts > Size > Scaling Factor: 0.80"
|
||||||
|
echo "Use Extension Manager to install: Tactile, Blur my Shell, Just Perfection"
|
7
install/lazydocker.sh
Normal file
7
install/lazydocker.sh
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
cd ~/Downloads
|
||||||
|
LAZYDOCKER_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazydocker/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
|
||||||
|
curl -Lo lazydocker.tar.gz "https://github.com/jesseduffield/lazydocker/releases/latest/download/lazydocker_${LAZYDOCKER_VERSION}_Linux_x86_64.tar.gz"
|
||||||
|
tar xf lazydocker.tar.gz lazydocker
|
||||||
|
sudo install lazydocker /usr/local/bin
|
||||||
|
rm lazydocker.tar.gz
|
||||||
|
cd -
|
7
install/lazygit.sh
Normal file
7
install/lazygit.sh
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
cd ~/Downloads
|
||||||
|
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
|
||||||
|
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
|
||||||
|
tar xf lazygit.tar.gz lazygit
|
||||||
|
sudo install lazygit /usr/local/bin
|
||||||
|
rm lazygit.tar.gz
|
||||||
|
cd -
|
4
install/neovim.sh
Normal file
4
install/neovim.sh
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
sudo add-apt-repository ppa:neovim-ppa/stable
|
||||||
|
sudo apt update -y
|
||||||
|
sudo apt install -y neovim
|
||||||
|
git clone https://github.com/LazyVim/starter ~/.config/nvim
|
12
install/nodenv.sh
Normal file
12
install/nodenv.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
git clone https://github.com/nodenv/nodenv.git ~/.nodenv
|
||||||
|
sudo ln -vs ~/.nodenv/bin/nodenv /usr/local/bin/nodenv
|
||||||
|
cd ~/.nodenv
|
||||||
|
src/configure && make -C src || true
|
||||||
|
cd ~/
|
||||||
|
mkdir -p "$(nodenv root)"/plugins
|
||||||
|
git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build
|
||||||
|
git clone https://github.com/nodenv/nodenv-aliases.git $(nodenv root)/plugins/nodenv-aliases
|
||||||
|
nodenv install 20.11.1
|
||||||
|
nodenv global 20.11.1
|
||||||
|
sudo ln -vs $(nodenv root)/shims/* /usr/local/bin/
|
||||||
|
|
5
install/ruby.sh
Normal file
5
install/ruby.sh
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
DEFAULT_RUBY_VERSION="3.3.1"
|
||||||
|
|
||||||
|
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
|
||||||
|
rbenv install $DEFAULT_RUBY_VERSION
|
||||||
|
rbenv global $DEFAULT_RUBY_VERSION
|
9
install/typora.sh
Normal file
9
install/typora.sh
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
sudo snap install typora
|
||||||
|
cd ~/Downloads
|
||||||
|
git clone https://github.com/dhh/ia_typora
|
||||||
|
mkdir -p ~/.local/share/fonts
|
||||||
|
cp ia_typora/fonts/iAWriterMonoS-* ~/.local/share/fonts/
|
||||||
|
fc-cache
|
||||||
|
mkdir -p ~/snap/typora/88/.config/Typora/themes/
|
||||||
|
cp ia_typora/ia_typora*.css ~/snap/typora/88/.config/Typora/themes/
|
||||||
|
cd -
|
4
install/ulauncher.sh
Normal file
4
install/ulauncher.sh
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
sudo add-apt-repository universe -y
|
||||||
|
sudo add-apt-repository ppa:agornostal/ulauncher -y
|
||||||
|
sudo apt update -y
|
||||||
|
sudo apt install -y ulauncher
|
Loading…
Reference in New Issue
Block a user