-`
.o+`
`ooo/ --- --- ------
`+oooo: | | | |
`+oooooo: | | | |
-+oooooo+: ------ ------
`/:-:++oooo+: |
`/++++/+++++++: |
`/++++++++++++++:
`/+++ooooooooooooo/`
./ooosssso++osssssso+`
.oossssso-````/ossssss+`
-osssssso. :ssssssso.
:osssssss/ osssso+++.
/ossssssss/ +ssssooo/-
`/ossssso+/:- -:/+osssso+-
`+sso+:-` `.-/+oso:
`++:. `-/+/
.` `
Setup Arch Linux quickly after installing, with a bunch of useful daily programs. On how to install Arch Linux, please see install.md.
- Explanation of
setup.sh
- Set up things manually
- More configurations
- Motivation
- Contribute
- Similar projects
- Projects that might be useful
After installing Arch Linux (often I do this by a USB boot), you'll be able to log in a terminal to install more programs. Typically you'll login in first as root, but it's recommended to create a new user and use that account to do more things.
useradd -m -G wheel <yourname>
passwd <yourname>
visudo
# find wheel group and allow it to execute any command
Exit and re-login use this new acconut, and continue to install more programs.
sudo pacman -S git
git clone https://github.com/ahacad/arch-up
cd arch-up/src && bash pacman.sh
The above command will install all the programs in pacman.sh
(see the explanatinos in the next section). After that you may jump to yay.sh
and install programs inside it.
Write this in your ~/.xinitrc
which will let xorg start with bspwm, running in graphical interface will prevent the problem of wrongly displaying CJK characters. Afterwards, use startx
to get into graphical interface.
exec bspwm
I recommend use Clash
for proxies (in case you are in an area where internet is confined). Refer to the documents, and use the command:
export url='https://fastly.jsdelivr.net/gh/juewuy/ShellClash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && bash /tmp/install.sh && source /etc/profile &> /dev/null
Follow the install scripts' directions and you should be able to fully install the clash proxy.
software name | explanation |
---|---|
network-manager-applet | gui for networks, this is handy at times |
man | gui for networks, this is handy at times |
base-devel | development essentials |
pacman -S xorg xorg-xinit
pacman -S compton redshift sxhkd xwallpaper bspwm dunst
This 2 lines setup GUI for you, I use bspwm.
software name | explanation |
---|---|
xorg | the X server |
xorg-setxkbmap | the setxkbmap utility |
bspwm | bspwm windows manager |
xwallpaper | for wallpaper |
compton | for transparent windows |
redshift | warmer screen to protect your eyes |
sxhkd | the universal shortcut manager that bspwm replies on |
dunst | GUI notification service |
xdotool | X11 automation tools |
software name | explanation |
---|---|
neovim | the new-vim |
git | version control |
tmux | terminal multiplexer (multiple windows) |
zsh | the zsh shell |
openssh | ssh |
zip, unzip, unrar, p7zip | compress tool |
mlocate | for locate |
cronie | crontab service |
gparted | GUI disc manager |
networkmanager | network management |
bluez, bluez-utils, blueberry | bluetooth management |
xsel | for paste to system to work in neovim |
wget | |
ntfs-3g | for the ntfs filesystem |
software name | explanation |
---|---|
python | |
python-pip | pip python package manager |
gopls | golang |
nodejs | JavaScript Runtime |
clang | a LLVM based compiler |
yarn | JavaScript package manager |
cmake | c package manager |
software name | explanation |
---|---|
fzf | fuzzy file finder, good for finding files |
mpv | video viewer |
sxiv | image viewer |
pandoc | universal file format converter |
pdftk | manipulate pdf |
alsa-utils | manage sounds |
lazygit | git TUI |
alacritty | alacritty the terminal emulator |
zathura-pdf-mupdf, zathura-djvu, zathura-ps | the zathura file viewer |
newsboat | terminal rss |
light | control brightness |
rofi | open programs easily |
tokei | code line count |
khal, vdirsyncer | terminal calendar and syncer |
cgdb | gdb with TUI |
xxd | for hex editor |
bat | rust cat clone |
htop | system monitoring |
powertop | battery monitoring |
rsync | |
pulseaudio | audio control |
pueue | run process in parallel easily |
flameshot | screen shot with ease |
ripgrep | code search with ease |
libreoffice | substitution for microsoft office |
tree | show directory tree |
ncdu | disk management |
github cli | github in command line |
software name | explanation |
---|---|
ibus-rime | the rime input method editor |
polipo | you'll need proxy to work in China |
software name | explanation |
---|---|
adobe-source-code-pro-fonts | |
rxvt-unicode | |
noto-fonts | |
noto-fonts-emoji | |
ttf-font-awesome |
software name | explanation |
---|---|
cowsay | |
krita | for drawing |
inkscape | for drawing |
gimp | for ps |
digikam | photo management |
xf86-input-wacom | wacom utilities |
mpd | music player daemon |
software name | explanation |
---|---|
iperf3 | network bandwidth measument |
aircrack-ng | Key cracker for the 802.11 WEP and WPA-PSK protocols |
As said before, due to the nature of configurations you'll have to set up a few things manually
Follow the instructions of yay, you may need export GOPROXY="https://goproxy.cn"
to help golang download packages in China. yay
is very important as it saves you tons of time for installing programs from AUR.
pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
software name | brif intro | explanations |
---|---|---|
google-chrome-stable | the Chrome browser | opnions vary when it comes to choosing a browser, though google is not fully open sourced it is still arguablely one of the best browers |
polybar | the bar for bspwm | typically you need extra stuffs for a window manager, to get something similar to MacOS, polybar is a good option for the top bar |
lf | terminal file browser | a terminal file explorer written in golang, it is fast |
typora-free | typora markdown editor | typora starts charging from December 2021, if you want to use free typora try this which is a beta version |
delta | terminal code diff | a diff tool better than the plain, there are a bunch more tools like this and you might find your own favourite |
nerd-fonts-complete | nerd fonts | |
Now go back to src/yay.sh
and install more tools.
TeX Live: I use LaTeX a lot and would typicall install it upon booting, but TeX is too big, and you might not need it, so I put it here only for your reference
natural scrolling for Linux, edit file /etc/X11/xorg.conf.d/40-libinput.conf
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "Tapping" "on"
Option "NaturalScrolling" "true"
Option "ClickMethod" "clickfinger"
EndSection
We'll use xdg-open
as the example, find applications in /usr/share/applications
and you see things like lf.desktop
.
Edit the ~/.config/mimeapps.list
and write things like:
applications/pdf=org.pwmt.zathura.desktop
where the left side is the type for the files and the right side is the application's name. You can get types of files by xdg-mime query filetype <file>
.
Sometimes the dual system (like Windows) will not be detected by grub when you are installing Arch Linux and forget to temporarily mount it, you can fix this latter. EDit /etc/default/grub
and add/uncomment the line
GRUB_DISABLE_OS_PROBER=false
Then run grub-mkconfig -o /boot/grub/grub.cfg
, this problem should be fixed.
Now head to Configurations and install personal configs.
Using Arch Linux is an enjoyable experience, you can customize it to your needs; installing Arch is not.
This repo is an opinioned repo for installing basic and advanced tools after you successfully install Arch and boot into it.
This repo containes a setup.sh
shell script to set up arch configurations after installing, this will contain lots of common tools that will give you a better development experince. Due to the nature of all the open-sourced tools, their way of configurations may vary from time to time, and some of them will have to be set up manually for this very moment, I will explain them one by one below.
This repo is related to my Configurations and wallpapers.
Any suggestion or question is welcomed, start a issue now, or make a PR.
You can also contact me through email ahacad AT 126 DOT com.
- Luke Smith LARBS: auto-rice bootstrapping scripts, Luke is a famous youtuber
- awesome readme: repos with a good README