-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.sh
executable file
·37 lines (27 loc) · 1.06 KB
/
install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#! /bin/bash
set -eo pipefail
pacman -Syu --noconfirm base-devel texlive neovim zip unzip zstd gzip pigz ripgrep exa dust fish git rustup nodejs npm starship pandoc wasm-pack go dotnet-sdk aspnet-runtime clang docker docker-buildx mold lazygit bacon xdg-utils tokei openssh gnuplot bat pandoc-plot mdbook fd jq tree-sitter-cli jdk17-openjdk gradle sudo perf man
# Create my user, add it to wheel, and give wheel `sudo` permission.
useradd -m -G wheel -s /usr/bin/fish elijahpotter
sed -i 's/# \(%wheel ALL=(ALL:ALL) ALL\)/\1/' /etc/sudoers
corepack enable
sudo -i -u elijahpotter bash << EOF
yarn set version stable
rustup install stable
rustup install nightly
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si --noconfirm
cd ..
rm -rf paru
git clone git@github.com:elijah-potter/dots.git
mv dots .config
echo "[target.x86_64-unknown-linux-gnu]
linker = \"clang\"
rustflags = [\"-C\", \"link-arg=-fuse-ld=$(which mold)\"]" > ~/.cargo/config.toml
git clone https://github.com/elijah-potter/tatum
cd tatum
cargo install --path .
cd ..
rm -rf tatum
EOF