aboutsummaryrefslogtreecommitdiff
path: root/arch_install.sh
blob: d2eee1fe87c1560351d63ec6ce7ffa1b57f04607 (plain)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# == MY ARCH SETUP INSTALLER == #
#part1
printf '\033c'
sed -i "s/^#ParallelDownloads = 5$/ParallelDownloads = 15/" /etc/pacman.conf
pacman --noconfirm -Sy archlinux-keyring
loadkeys us
timedatectl set-ntp true
lsblk
printf "\e[0;34mEnter the drive: \e[0m"
read drive
cfdisk $drive
printf "\e[0;34mEnter the EFI partition: \e[0m"
read efipartition
mkfs.fat -F32 $efipartition
read -p "Did you also create swap partition? [y/n]" answer
if [[ $answer = y ]] ; then
  printf "\e[0;34mEnter swap partition: \e[0m"
  read swappartition
  mkswap $swappartition
  swapon $swappartition
fi
printf "\e[0;34mEnter the linux filesystem partition: \e[0m"
read partition
mkfs.ext4 $partition
echo "mounting $partition to /mnt"
mount $partition /mnt
pacstrap /mnt base base-devel linux linux-firmware
genfstab -U /mnt >> /mnt/etc/fstab
sed '1,/^#part2/d'  arch_install.sh > /mnt/arch_install2.sh
chmod +x /mnt/arch_install2.sh
arch-chroot /mnt ./arch_install2.sh
exit

#part2
printf '\033c'
ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
hwclock --systohc
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
echo "KEYMAP=us" > /etc/vconsole.conf
printf "\e[0;34mHostname: \e[0m"
read hostname
echo $hostname > /etc/hostname
echo "127.0.0.1       localhost" >> /etc/hosts
echo "::1             localhost" >> /etc/hosts
echo "127.0.1.1       $hostname.localdomain $hostname" >> /etc/hosts
mkinitcpio -P
passwd
pacman --noconfirm -S grub efibootmgr os-prober
printf "\e[0;34mEnter EFI partition: \e[0m"
read efipartition
mkdir /boot/efi
mount $efipartition /boot/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=archlinux --recheck
sed -i 's/quiet/pci=noaer/g' /etc/default/grub
sed -i 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=0/g' /etc/default/grub
grub-mkconfig -o /boot/grub/grub.cfg

pacman -S --noconfirm xorg-server xorg-xprop xorg-xkill xorg-xsetroot xorg-xinit \
    noto-fonts noto-fonts-emoji noto-fonts-cjk ttf-jetbrains-mono-nerd ttf-font-awesome \
    awesome-terminal-fonts bat libnotify dunst ntfs-3g \
    jq mpv ncdu maim transmission-cli yt-dlp cowsay \
    pacman-contrib pavucontrol rsync ripgrep ueberzug ffmpegthumbnailer python-pywal \
    imlib2 xdotool xwallpaper zip unzip wget pcmanfm \
    fzf man-db pipewire pipewire-pulse xcompmgr pamixer \
    xclip sxhkd imagemagick lf connman wpa_supplicant git dash arc-gtk-theme papirus-icon-theme \
    neovim lua rustup xdg-user-dirs mpd ncmpcpp unclutter \
    zsh zsh-autosuggestions zathura zathura-pdf-poppler

systemctl enable connman.service
rm /bin/sh
ln -s dash /bin/sh
# echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
echo "%wheel ALL=(ALL:ALL) ALL" >> /etc/sudoers
printf "\e[0;34mEnter Username: \e[0m"
read username
useradd -m -G wheel -s /bin/zsh $username
passwd $username
echo "Pre-Installation Finish Reboot now"
ai3_path=/home/$username/arch_install3.sh
sed '1,/^#part3/d' arch_install2.sh > $ai3_path
chown $username:$username $ai3_path
chmod +x $ai3_path
su -c $ai3_path -s /bin/sh $username
exit

#part3
printf '\033c'
cd $HOME
git clone --separate-git-dir=$HOME/.dotfiles git@github.com:krolyxon/dotfiles.git tmpdotfiles
rsync --recursive --verbose --exclude '.git' tmpdotfiles/ $HOME/
rm -r tmpdotfiles
# dwm : Window Manager
git clone --depth=1 git@github.com:krolyxon/dwm.git ~/.local/src/dwm
sudo make -C ~/.local/src/dwm install

# dwmblocks: statusbar
git clone --depth=1 git@github.com:krolyxon/dwmblocks.git ~/.local/src/dwmblocks
sudo make -C ~/.local/src/dwmblocks install

# st: Terminal
git clone --depth=1 git@github.com:krolyxon/st-luke.git ~/.local/src/st
sudo make -C ~/.local/src/st-luke install

# dmenu: Program Menu
git clone --depth=1 git@github.com:krolyxon/dmenu.git ~/.local/src/dmenu
sudo make -C ~/.local/src/dmenu install

## nsxiv: image viewer
git clone --depth=1 git@github.com:krolyxon/nsxiv.git ~/.local/src/nsxiv
sudo make -C ~/.local/src/nsxiv install

 nvim: Text editor
git clone --depth=1 git@github.com:krolyxon/nvim.git ~/.config/nvim

# paru: AUR helper
git clone https://aur.archlinux.org/paru-bin.git && cd paru-bin && makepkg -sri && cd .. && rm -rf paru-bin
paru -S --noconfirm htop-vim \
    zsh-fast-syntax-highlighting-git keyd-git librewolf-bin

chsh -s $(which zsh)

ln -s ~/.config/x11/xinitrc .xinitrc
ln -s ~/.config/shell/profile .zprofile
alias dots='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
dots config --local status.showUntrackedFiles no
exit