aboutsummaryrefslogtreecommitdiff
path: root/arch_install.sh
blob: 43a2ed88f3b3a56c4807951cd8b80de708533286 (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
129
130
131
132
# == 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

# keyd configuration: key remapping
sudo mkdir -p /etc/keyd
sudo wget https://raw.githubusercontent.com/krolyxon/keyd-config/master/default.conf -P /etc/keyd/

# 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