Notes/src/TXTs/Chroot Dev Env Setup.txt

85 lines
1.8 KiB
Plaintext

## Make Chroot Env ##
mkdir general-brew/
sudo debootstrap stable ./general-brew http://deb.debian.org/debian/
## Load Chroot ##
cd general-brew/
sudo mount -t proc proc proc/
sudo mount -t sysfs sys sys/
# sudo mount -o bind /dev dev/
sudo mount --rbind /dev dev/
sudo cp /etc/resolv.conf etc/
sudo cp /etc/hosts etc/hosts
sudo chroot . bash
## FOR GUI CHROOT LIKE ENVIRONMENT
**** In a seperate terminal from chrooted terminal ****
Xnest -ac :10 -geometry 1920x1080 ## Monitor resolution
OR
Xephyr -resizeable -screen 1920x1080 :10
## IN Chroot ##
**** Add to respective user .bashrc (or respective rc shell file) ****
export HOME=/root
OR
export HOME=/home/developer
export LC_ALL=C
export DISPLAY=:10 # Used to bind output UI to Xnest or Xephyr
apt-get update
apt-get install sudo curl wget
## Add developer user ##
adduser developer
usermod -aG sudo developer
passwd developer
## Brew Deps ##
**** Debian ****
apt-get install build-essential procps curl file git
**** Arch ****
pacman -S base-devel procps-ng curl file git
## Install Brew ##
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
## Post Brew Install ##
brew analytics off
brew install gcc openjdk maven
## Node Version Manager ##
mkdir ~/.nvm
brew install nvm
nvm install node # Gets latest version of node
nvm use node # Sets latest node as active node version to be used
npm install -g pnpm
pnpm setup # Add output to given bashrc
## Install NX Workspaces ##
**** Creates different project setups ****
pnpm -g i nx
## Create Workspace Using NX Workspaces with pnpm Specified as Package Manager ##
npx --pm pnpm create-nx-workspace@latest <workspace name>
**** CD Into Project ****
pnpm i # Install deps as needed
nx serve <project-name>