https://github.com/ainevsia/envfuck
fuck environment setup
https://github.com/ainevsia/envfuck
Last synced: 6 months ago
JSON representation
fuck environment setup
- Host: GitHub
- URL: https://github.com/ainevsia/envfuck
- Owner: Ainevsia
- License: epl-2.0
- Created: 2023-07-10T12:47:23.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-07T16:02:43.000Z (10 months ago)
- Last Synced: 2025-02-09T16:22:38.606Z (8 months ago)
- Size: 44.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# envfuck
fuck environment setup
## Ubuntu
换源 https://mirror.sjtu.edu.cn/ubuntu```bash
sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list
sudo apt update
sudo apt install git tmux htop python3 ipython3 python3-pip wget proxychains4 zsh unzip p7zip-full fd-find ripgrep nginx npm btop
git config --global user.name "Ainevsia"
git config --global user.email "zhipengxu@sjtu.edu.cn"
ssh-keygen -t ed25519
ln -s $(which fdfind) ~/.local/bin/fd# install docker
sudo apt install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
## post docker installation
sudo usermod -aG docker $USER
echo 'alias dk="docker"' >> ~/.zshrc# tmux config file
wget -O ~/.tmux.conf https://raw.githubusercontent.com/Ainevsia/.config/master/.tmux.conf
wget -O ~/.tmux.conf.local https://raw.githubusercontent.com/Ainevsia/.config/master/.tmux.conf.local# proxychains
# 使用 sed 命令将文件的最后一行替换为新的内容
sudo sed -i 's/^socks.*/socks5 127.0.0.1 1080/' /etc/proxychains4.conf# oh-my-zsh
proxychains sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"# lazygit
LAZYGIT_VERSION=$(proxychains curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
proxychains 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/
echo 'alias lg="lazygit"' >> ~/.zshrc# pip
pip config set global.index-url https://mirror.sjtu.edu.cn/pypi/web/simple
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.zshrc
```# Debain
```bash
sudo sed -i "s|http://deb.debian.org/debian|http://mirror.sjtu.edu.cn/debian|g" /etc/apt/sources.list
```
# Go
```bash
wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz
sudo tar xzf go1.20.6.linux-amd64.tar.gz -C /usr/local && rm go1.20.6.linux-amd64.tar.gz
echo 'export GOPATH=$HOME/go' >> ~/.zshrc
echo 'export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin' >> ~/.zshrcgo env -w GO111MODULE=on && go env -w GOPROXY=https://goproxy.cn,direct
# protobuf
sudo apt install -y protobuf-compiler
```# Rust
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# echo -e '[source.crates-io]\nregistry = "https://github.com/rust-lang/crates.io-index"\n\nreplace-with = "tuna"\n\n[source.tuna]\nregistry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"' > $HOME/.cargo/config
echo -e '[source]\n[source.mirror]\nregistry = "sparse+https://mirrors.sjtug.sjtu.edu.cn/crates.io-index/"\n[source.crates-io]\nreplace-with = "mirror"' > $HOME/.cargo/config
echo 'export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup' >> ~/.zshrc
echo 'export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static' >> ~/.zshrccargo install --git https://github.com/kamiyaa/joshuto.git --tag v0.9.5
echo 'alias ra="joshuto"' >> ~/.zshrc
mkdir -p $HOME/.config/joshuto
wget -O $HOME/.config/joshuto/preview_file.sh https://raw.githubusercontent.com/Ainevsia/.config/master/preview_file.sh
chmod +x $HOME/.config/joshuto/preview_file.sh
wget -O $HOME/.config/joshuto/keymap.toml https://raw.githubusercontent.com/Ainevsia/.config/master/keymap.toml
wget -O $HOME/.config/joshuto/mimetype.toml https://raw.githubusercontent.com/Ainevsia/.config/master/mimetype.toml
wget -O $HOME/.config/joshuto/joshuto.toml https://raw.githubusercontent.com/Ainevsia/.config/master/joshuto.toml
wget -O $HOME/.config/joshuto/theme.toml https://raw.githubusercontent.com/Ainevsia/.config/master/theme.toml
wget -O $HOME/.config/joshuto/icons.toml https://raw.githubusercontent.com/Ainevsia/.config/master/icons.toml
wget -O $HOME/.config/joshuto/bookmarks.toml https://raw.githubusercontent.com/Ainevsia/.config/master/bookmarks.toml
```# Node npm nvm
```bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
nvm install node # "node" is an alias for the latest version
nvm use node
``````bash
npm config set registry https://registry.npmmirror.com/
pnpm config set registry https://registry.npmmirror.com/
```## Docker build
```bash
RUN sed -i 's@deb.debian.org@mirrors.ustc.edu.cn@g' /etc/apt/sources.list.d/debian.sources
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
RUN npm config set registry https://registry.npmmirror.com
RUN pip config set global.index-url https://mirror.sjtu.edu.cn/pypi/web/simple
```## Ubuntu 24.04 Setup commands
### Kernel Build
```bash
# make menuconfig
apt install -y libncurses-dev flex bison libelf-dev wget curl unzip# get linux kernel source code
wget https://mirrors.tuna.tsinghua.edu.cn/kernel/v6.x/linux-6.12.3.tar.xz && tar xJf linux-6.12.3.tar.xz# make -j
apt install -y build-essential tmux libssl-dev bc btop vim fzf zsh file gdb# yazi fastfetch ! onefetch ?
wget https://github.com/sxyazi/yazi/releases/download/v0.3.3/yazi-x86_64-unknown-linux-gnu.zip
wget https://github.com/fastfetch-cli/fastfetch/releases/download/2.31.0/fastfetch-linux-amd64.zip# oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"# make fedora initramdisk
apt install -y mkosi systemd-ukify qemu-system-x86 genisoimage
# gef
wget -O ~/.gdbinit-gef.py -q https://gef.blah.cat/py
echo source ~/.gdbinit-gef.py >> ~/.gdbinit
echo set auto-load safe-path / >> ~/.gdbinitsudo mkosi --distribution=fedora --release=41 --format=disk --output=fedora-image.img
#!/bin/bash
qemu-system-x86_64 \
-s \
-kernel /home/u/linux-6.12.3/vmlinux \
-hda /home/u/Fedora-Cloud-Base-Generic-41-1.4.x86_64.qcow2 \
-cdrom ./41/seed.iso \
-append "root=/dev/sda4 rootfstype=btrfs rootflags=subvol=root console=ttyS0" \
-m 2G -nographic
```