This repository contains my personal development environment setup files and scripts. Please feel free to use it as you wish.
I setup my environment primarily using the Makefile and passing in the corresponding platform name. As of now the following Makefile targets are supported which runs their respective setup scripts:
- arch
- ubuntu
- docker
- mac
Simply run make <target>
to use call the respective scripts.
Not Implemented Yet! Coming soon!
You can run make clean
to revert the changes made by running one of the setup targets.
A pre-OS install script has been included for Arch Linux. This pre-install script performs most of the Arch Linux install steps described on the Arch Wiki. To use the pre-install archiso.sh
script:
- Download Arch Linux and create a bootable-USB using the pre-installation instructions.
- Boot to the Arch Live USB and then connect to the internet.
- Use one of the following methods to run the
archiso.sh
script:
zsh <(curl -s https://raw.githubusercontent.com/s7117/.dotfiles/main/bin/archiso.sh)
- Download the script to a separate USB and run using
./archiso.sh
- While running the script will prompt you multiple times to continue. Enter
Y
to continue or anything else to exit the script.
Some of the Arch Install Script:
- Checks EFI boot mode.
- Verifies internet connectivity.
- Checks system clock time.
- Partitions the install drive (largest drive is default).
- Formats the partitions.
- Mounts the new file system.
- Changes the mirrors to the US mirrors only.
- Installs several packages via pacstrap.
- Checks and installs CPU microcode.
- Checks and Installs GPU driver.
- Configures some post-install (using arch-chroot) options.
- Prompts for root password change.
- Shows post install instructions.
During the first boot into Arch Linux do the following:
systemctl enable dhcpcd
systemctl enable ufw
systemctl enable sddm
systemctl enable iwd # for wi-fi
ufw enable # start firewall
visudo # Uncomment %wheel ALL=(ALL:ALL) ALL
useradd -m username # create user
passwd username # change user's password
usermod -aG wheel username # add user to sudoer's list
Reboot after these steps...
- Login and open terminal.
git clone https://github.com/s7117/.dotfiles.git
cd .dotfiles
make arch # Enter sudo password as needed
sudo vi /etc/default/grub
- Uncomment the
GRUB_DISABLE_OS_PROBER=false
line. sudo ~/.aurpkgs/grub2-themes/install.sh -t vimix -i color -s ultrawide2k
- Reboot.
Run the following command in the command prompt on Windows to set Windows to use UTC.
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
Refer to: https://wiki.archlinux.org/title/System_time#UTC_in_Microsoft_Windows
The following features are currently implemented. Some features are not implemented in Docker to reduce any added performance overhead.
- Sets up .zshrc with history and pointing to the ./etc/zshrc_custom file for aliases and functions.
- Sets up ZSH syntax-highlighting and autosuggestions.
- Installs Miniforge3.
- Copies the contents of ./etc/vimrc to home.
- Custom Oh-My-Posh prompt theme.
- Copies SSH config file to ~/.ssh
- Downloads Fira Code Nerd Font
- Installs Google Chrome and VSCode
- Downloads grub2-themes for simple grub theme customization.