Swap in RTX #1

Merged
atomaka merged 5 commits from rtx into master 2023-11-10 20:57:05 -05:00
9 changed files with 241 additions and 65 deletions

28
install-todo.md Normal file
View File

@ -0,0 +1,28 @@
# installation
## linux
* Fail hard if no `apt-get`
* Install linux-apt packges
* install homebrew
* source .zshenv
* how to check
* install shared-brew packages
* install alacritty
* install alacritty terminfo
* stow appropriate directories
* how to checck
* toggle color mode
## darwin
* install homebrew
* zprofile hack
* source .zshenv
* install shared-brew packages
* install rosetta
* how to check?
* install darwin-brew packages
* install darwin-brew-cask packages
* install tmux terminfo

View File

@ -1,7 +1,11 @@
#!/usr/bin/env bash
install_homebrew() {
if ! command -v brew > /dev/null; then
echo -n Checking homebrew...
if command -v brew > /dev/null; then
echo -n already installed...
else
echo -n installing...
NONINTERACTIVE=1 /bin/bash -c "$(
curl \
--fail \
@ -11,21 +15,31 @@ install_homebrew() {
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
)"
fi
echo done
}
install_shared_applications() {
brew install direnv fzf git stow the_silver_searcher tmux \
vim zsh rbenv ruby-build tfenv nodenv node-build tig libpq gnupg llvm \
awscli cmake jq watch gh nvim openssl@1.1 openssl@3 readline libyaml gmp \
pyenv ripgrep
install_shared_brew_packages() {
echo -n Checking shared brew packages...
missing_packages=$(
comm -23 <(cat packages-shared-brew.txt) <(brew list | sort) \
| tr "\n" " "
)
install_fzf
install_rust
install_vim
if [[ -z $missing_packages ]]; then
echo -n already installed...
else
echo -n installing $missing_packages...
brew install $missing_packages
fi
echo done
}
install_alacritty() {
if ! command -v alacritty > /dev/null; then
echo -n Checking Alacritty...
if command -v alacritty > /dev/null; then
echo -n already installed...
else
echo -n installing...
cargo install alacritty
curl \
@ -45,10 +59,15 @@ install_alacritty() {
sudo update-desktop-database
sudo ln -s /home/$USER/.cargo/bin/alacritty /usr/local/bin/alacritty
fi
echo done
}
install_alacritty_terminfo() {
if ! infocmp alacritty > /dev/null; then
echo -n Checking Alacritty terminfo...
if infocmp alacritty > /dev/null; then
echo -n already installed...
else
echo -n installing...
curl \
--fail \
--location \
@ -57,10 +76,15 @@ install_alacritty_terminfo() {
sudo tic -xe alacritty,alacritty-direct /tmp/alacritty.info
fi
echo done
}
install_tmux_terminfo() {
if ! infocmp tmux-256color > /dev/null; then
echo -n Checking Tmux terminfo...
if infocmp tmux-256color > /dev/null; then
echo -n already installed...
else
echo -n installling....
curl \
--fail \
--location \
@ -74,18 +98,30 @@ install_tmux_terminfo() {
sudo tic -xe tmux-256color tmux-256color.src
popd
fi
echo done
}
install_fzf() {
$(brew --prefix)/opt/fzf/install \
--xdg \
--no-update-rc \
--key-bindings \
--completion
echo -n Checking fzf...
if [[ $PATH =~ "fzf" ]]; then
echo -n already installed...
else
echo -n installing...
$(brew --prefix)/opt/fzf/install \
--xdg \
--no-update-rc \
--key-bindings \
--completion
fi
echo done
}
install_rust() {
if ! command -v rustup > /dev/null; then
echo -n Checking Rust...
if command -v rustup > /dev/null; then
echo -n already installed...
else
echo -n installing...
curl \
--fail \
--proto '=https' \
@ -95,13 +131,83 @@ install_rust() {
https://sh.rustup.rs \
| sh -s -- -y --no-modify-path
fi
echo done
}
install_vim() {
if ! test -d ~/.local/share/nvim/site > /dev/null; then
git clone --depth 1 https://github.com/wbthomason/packer.nvim \
~/.local/share/nvim/site/pack/packer/start/packer.nvim
install_linux_packagges() {
echo -n Checking Linux packages...
packages=$(cat packages-linux-apt.txt | tr "\n" " ")
if dpkg -s $packages >/dev/null 2>&1; then
echo -n already installed...
else
echo -n installing...
sudo apt-get install --assume-yes $packages
fi
echo done
}
install_darwin_brew_packages() {
echo -n Checking Darwin brew packages...
missing_packages=$(
comm -23 <(cat packages-darwin-brew.txt) <(brew list | sort) \
| tr "\n" " "
)
if [[ -z $missing_packages ]]; then
echo -n already installed...
else
echo -n installing $missing_packages...
brew install --cask $missing_packages
fi
echo done
}
install_darwin_brew_cask_packages() {
echo -n Checking Darwin brew cask packages...
missing_packages=$(
comm -23 <(cat packages-darwin-brew-cask.txt) <(brew list | sort) \
| tr "\n" " "
)
if [[ -z $missing_packages ]]; then
echo -n already installed...
else
echo -n installing $missing_packages...
brew install --cask $missing_packages
fi
echo done
}
install_color_default() {
echo -n Checking color default file...
if [[ -f $HOME/.config/atomaka/color.yml ]]; then
echo -n already installed...
else
echo -n installing....
$HOME/dotfiles/bin/bin/toggle-color-mode
fi
echo done
}
install_darwin_profile_hack() {
echo -n Checking profile hack...
if [[ ! -f /etc/zprofile ]]; then
echo -n already installled...
else
echo -n installing...
sudo mv /etc/{zprofile,zprofile.old}
fi
}
install_env() {
echo -n Checking zshenv available...
if [[ -z $HOMEBREW_PREFIX ]]; then
echo -n already installed...
else
echo -n installling...
source ~/dotfiles/zsh/.zshenv
fi
echo done
}
install_linux() {
@ -110,34 +216,26 @@ install_linux() {
exit 1
fi
packages="build-essential procps curl file git cmake pkg-config\
libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev\
libxkbcommon-dev python3 libssl-dev xclip"
dpkg -s $packages >/dev/null 2>&1 \
|| sudo apt-get install --assume-yes $packages
install_linux_packagges
install_homebrew
source ~/dotfiles/zsh/.zshenv
install_shared_applications
# gui
install_env
install_shared_brew_packages
install_fzf
install_rust
install_alacritty
install_alacritty_terminfo
}
install_darwin() {
install_darwin_profile_hack
install_homebrew
[[ -f /etc/zprofile ]] && sudo mv /etc/{zprofile,zprofile.old}
source ~/dotfiles/zsh/.zshenv
install_shared_applications
install_env
install_shared_brew_packages
install_fzf
install_rust
softwareupdate --install-rosetta --agree-to-license
brew install coreutils gnu-sed session-manager-plugin orbstack
# gui
brew install --cask rectangle slack google-chrome alacritty telegram \
discord element brave-browser zoom notion
install_darwin_brew_packages
install_darwin_brew_cask_packages
install_tmux_terminfo
}
@ -155,7 +253,7 @@ main() {
stow alacritty bin git nvim ruby tmux zsh
$HOME/dotfiles/bin/bin/toggle-color-mode
install_color_default
}
main

View File

@ -0,0 +1,11 @@
alacritty
brave-browser
discord
element
firefox
google-chrome
notion
rectangle
slack
telegram
zoom

4
packages-darwin-brew.txt Normal file
View File

@ -0,0 +1,4 @@
coreutils
gnu-sed
orbstack
session-manager-plugin

14
packages-linux-apt.txt Normal file
View File

@ -0,0 +1,14 @@
build-essential
cmake
curl
file
git
libfontconfig1-dev
libfreetype6-dev
libssl-dev
libxcb-xfixes0-dev
libxkbcommon-dev
pkg-config
procps
python3
xclip

33
packages-shared-brew.txt Normal file
View File

@ -0,0 +1,33 @@
awscli
bzip2
chruby
cmake
direnv
fontconfig
fzf
gh
git
gmp
gnupg
jq
libpq
libyaml
llvm
neovim
node-build
nodenv
openssl@1.1
openssl@3
pyenv
readline
ripgrep
rtx
ruby-build
stow
tfenv
the_silver_searcher
tig
tmux
vim
watch
zsh

View File

@ -28,19 +28,8 @@ if which direnv > /dev/null; then
eval "$(direnv hook zsh)"
fi
if which rbenv > /dev/null; then
eval "$(rbenv init --no-rehash -)"
(rbenv rehash &) 2> /dev/null
fi
if which nodenv > /dev/null; then
eval "$(nodenv init --no-rehash -)"
(nodenv rehash &) 2> /dev/null
fi
if which pyenv > /dev/null; then
eval "$(pyenv init --no-rehash -)"
(pyenv rehash &) 2> /dev/null
if which rtx > /dev/null; then
eval "$(rtx activate zsh)"
fi
if [ -f $HOME/.orbstack/shell/init.zsh ]; then

View File

@ -80,6 +80,14 @@ function git-root {
fi
}
function install-ruby {
if [ $# -eq 0 ]; then
echo Usage: install-ruby RUBY_VERSION
else
ruby-build $1 $HOME/.rubies/$1
fi
}
function password-generator {
if [ -x "$(command -v openssl)" ]; then
password=$(

View File

@ -7,11 +7,6 @@ XDG_CONFIG_HOME="$HOME/.config"
PERSONAL_BIN_PATH="$HOME/bin"
PERSONAL_FPATH="$ZDOTDIR/completions"
NODENV_PATH="$HOME/.nodenv/bin"
RBENV_PATH="$HOME/.rbenv/bin"
TFENV_PATH="$HOME/.tfenv/bin"
PYENV_PATH="$HOME/.pyenv/bin"
CARGO_PATH="$HOME/.cargo/bin"
if [[ "$OSTYPE" == darwin* ]]; then
@ -45,10 +40,6 @@ elif [[ "$OSTYPE" == linux* ]]; then
INFOPATH="/home/linuxbrew/.linuxbrew/share/info:${INFOPATH:-}";
fi
[[ -d "$RBENV_PATH" ]] && PATH="$RBENV_PATH:$PATH"
[[ -d "$NODENV_PATH" ]] && PATH="$NODENV_PATH:$PATH"
[[ -d "$TFENV_PATH" ]] && PATH="$TFENV_PATH:$PATH"
[[ -d "$PYENV_PATH" ]] && PATH="$PYENV_PATH:$PATH"
[[ -d "$CARGO_PATH" ]] && PATH="$CARGO_PATH:$PATH"
[[ -d "$PERSONAL_BIN_PATH" ]] && PATH="$PERSONAL_BIN_PATH:$PATH"
[[ -d "$PERSONAL_FPATH" ]] && FPATH="$PERSONAL_FPATH:$FPATH"