dotfiles/justfile

72 lines
2.1 KiB
Makefile

#!/usr/bin/env -S just --justfile
# Naive check if /Users or {{HOME}} for home.
OS := if "${HOME}" =~ '/U.*' {
"macos"
} else {
if `cat /etc/issue 2>/dev/null || true` =~ "Deb.*" { "debian" } else { "ubuntu" }
}
PWD := `pwd`
HOME := "${HOME}"
USER := "${USER}"
list-vars:
echo "{{PWD}}"
echo "{{HOME}}"
echo "{{USER}}"
git-add:
git add .
rust:
curl https://sh.rustup.rs -sSf | sh
pyenv:
sudo curl https://pyenv.run | bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> {{HOME}}/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> {{HOME}}/.bashrc
echo 'eval "$(pyenv init -)"' >> {{HOME}}/.bashrc
pyenv install 3.12.3
pyenv global 3.12.3
reset-symlinks:
rm {{HOME}}/.config/nvim || true
rm {{HOME}}/bin || true
rm {{HOME}}/.gitconfig || true
rm {{HOME}}/.shell_base || true
rm {{HOME}}/.p10k.zsh || true
rm {{HOME}}/.shell_aliases || true
rm {{HOME}}/.shell_funcs || true
rm {{HOME}}/.shell_exports || true
symlinks:
ln -s {{PWD}}/home/gitconfig {{HOME}}/.gitconfig
ln -s {{PWD}}/home/shell_base {{HOME}}/.shell_base
ln -s {{PWD}}/home/p10k.zsh {{HOME}}/.p10k.zsh
ln -s {{PWD}}/home/shell_aliases {{HOME}}/.shell_aliases
ln -s {{PWD}}/home/shell_funcs {{HOME}}/.shell_funcs
ln -s {{PWD}}/home/shell_exports {{HOME}}/.shell_exports
ln -s {{PWD}}/home/bin {{HOME}}/bin
ln -s {{PWD}}/home/config/nvim {{HOME}}/.config/
echo "source ~/.shell_base" >> ~/.bashrc
echo "source ~/.shell_base" >> ~/.zshrc
debian: rust pyenv symlinks
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:neovim-ppa/unstable
sudo apt update
sudo apt-get install -y libncurses5-dev neovim
sudo apt-get install -y build-essential zlib1g-dev libffi-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev
sudo apt-get install -y git-lfs
arch: rust pyenv symlinks
sudo pacman -S git git-lfs ctags rofi terminator tint2 tree-sitter unzip cpan base-devel bat exa nitch
ssh-keys:
cat home/ssh/*.pub > ~/.ssh/authorized_keys
brew-save:
brew bundle dump
brew-install:
brew bundle