This script is for my specific fully configured Arch Installation with a heavily patched DWM, DWM-Blocks and all the apps I need. During the installation there are several options you can choose to customize the installation to your needs. The color scheme is Onedark. To Install just boot from the latest Arch ISO http:https://archlinux.org and execute the first command below. The other scripts will execute automatically.
Mode | UEFI | BIOS |
---|---|---|
Linux only | X | X |
Dual-Boot | X | |
SDA Controller | X | X |
Nvme Contoller | X |
The patches applied to the Suckless programms can be found in the depending repositories below.
A big shout out to the wonderful people who are doing such great work to explain linux stuff to the masses.
Derek Taylor (Distrotube) https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg
Luke Smith https://www.youtube.com/channel/UC2eYFnH61tmytImy1mTYvhA
The Linux Cast https://www.youtube.com/channel/UCylGUf9BvQooEFjgdNudoQg
- Suckless DWM https://github.com/BennyOe/dwm
- DWM Blocks https://github.com/BennyOe/dwmblocks
- Suckless Simple Terminal https://github.com/papitz/SimpleTerminal
- Dotfiles https://github.com/BennyOe/.dotfiles
- NVim https://github.com/papitz/nvim
- Wallpaper https://github.com/BennyOe/wallpaper
- Install Windows
- Resize Windows partition for the Linux install
- Install Arch with this script
- DO NOT CREATE ADDITIONAL PARTITIONS BEFORE INSTALLING ARCH!!!
get the UUID from the EFI partition with lsblk -o +UUID
edit the /etc/grub.d/40_custom
and add the following code
menuentry "Windows 10" --class windows --class os {
insmod ntfs
search --no-floppy --set=root --fs-uuid YOUR_UUID_HERE
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
install update-grub yay -S update-grub
run sudo update-grub
if running a device with WLAN run these commands to connect to the internet
iwctl device list
iwctl station <DEVICE> scan
iwctl station <DEVICE> get-networks
iwctl station <DEVICE> connect <SSID>
to fetch and execute the script run the command:
curl -sL https://git.io/JOWEH | bash
This script gets called automatically after the base install script. If you wish to execute manually, please run
curl -sL https://git.io/JOBJn | bash
Enable the sudo command promt for a password run the commands
su
visudo
uncomment the line %wheel ALL=(ALL) ALL
comment the line %wheel ALL=(ALL) NOPASSWD: ALL
to get java swing or java fx applications working in dwm add this line to your /etc/profile
export _JAVA_AWT_WM_NONREPARENTING=1
uncomment the following line in /etc/lightdm/lightdm.conf
and add your user
[Seat:*]
autologin-user=<USERNAME>
execute the following commands
groupadd -r autologin
gpasswd -a <USENAME> autologin
to avoid race conditions uncomment the following line
#logind-check-graphical=false
- Set the desired screen layout with arandr or xrandr
- Save the config with
autorandr -s <PROFILENAME>
disable switching to idle mode if audio is not used
comment out the following line in /etc/pulse/default.pa
and restart
# load-module module-suspend-on-idle
to set the password in your keyring execute the following command
secret-tool store --label='name you choose' application rust-keyring service spotifyd username <your-username>
it should look something like this
to setup the spotifyd daemon create ~/.config/spotifyd/spotifyd.conf
and add this config config file or take the one from the ~/.dotfiles
folder
systemctl enable systemd-timesyncd.service
create a file where you store your username and password
username=<USERNAME>
password=<PASSWORD>
in /etc/fstab create entry
# Local drive
UUID=<UUID> /home/<USER>/<MOUNTPOINT> ntfs-3g umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0
# Network mount
//192.168.1**.**/<SHARE> /home/<USER>/<MOUNTPOINT> cifs uid=1000,credentials=/home/<CREDENTIAL FILE>,iocharset=utf8,x-systemd.automount 0 0
mount with Label
LABEL=<DEVICENAME> <MOUNTPOINT> <FSTYPE> umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0
set the following line in /etc/systemd/logind.conf
HandlePowerKey=suspend
add the following two lines at /etc/pam.d/login
auth optional pam_gnome_keyring.so
session optional pam_gnome_keyring.so auto_start
Login keyring needs to be the default keyring. Can be set via seahorse.
open settings manager
set default apps
set terminal emulator to /usr/local/bin/st
on "others" filter "plain"
for text/plain choose application
use a custom command
st -e nvim
systemctl enable docker
systemctl start docker
sudo groupadd docker
sudo usermod -aG docker $USER
run :PackerSync
to intall all Vim plugins etc
On Surface devices run the following commands to install the Surface kernel
sudo mount /dev/nvme0n1p1 /boot/EFI
curl -s https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc | sudo pacman-key --add -
sudo pacman-key --finger 56C464BAAC421453
sudo pacman-key --lsign-key 56C464BAAC421453
sudo curl https://raw.githubusercontent.com/BennyOe/arch_install/main/surfacePacman.conf -o /etc/pacman.conf
sudo pacman -Syu
sudo pacman -S linux-surface linux-surface-headers iptsd
sudo systemctl enable iptsd
sudo grub-mkconfig -o /boot/grub/grub.cfg
Set the resolution and scale of the device in the ```~/.dwm/autostart.sh```
In ~/.dotfiles
change the branch to surface
and run ./setsymlinks.sh
then reboot the surface.
edit /etc/fstab
and comment out the swap partition line
check if the Bluetooth service is running
systemctl status bluetooth.service
if not enable it
systemctl enable --now bluetooth.service
Key | Action |
---|---|
mod + space | Rofi App launcher |
mod + return | terminal |
mod + b | togglebar |
mod + j | focus stack down |
mod + k | focus stack up |
mod + up | increase master count |
mod + down | decrease master count |
mod + l | increase master size |
mod + h | decrease master size |
mod + shift + j | move window stack up |
mod + shift +k | move window stack down |
mod + shift + return | toggle master window |
mod + tab | cycle through tags |
mod + q | kill window |
Key | Action |
---|---|
mod + ctrl + comma | cyclelayout - |
mod + ctrl + period | cyclelayout + |
Key | Action |
---|---|
mod + m | set master layout |
mod + f | fullscreen |
mod + space | toggle last layout |
mod + shift +space | togglefloating |
mod + 0 | view all tags |
mod + shift + 0 | move window to all tags |
Key | Action |
---|---|
mod + comma | focus prev monitor |
mod + period | focus next monitor |
mod + ctrl + left | tag to prev monitor |
mod + ctrl + right | tag to next monitor |
Key | Action |
---|---|
mod + y | increase gaps |
mod + shift + y | decreaase gaps |
mod + ctrl y | toggle gaps |
mod + alt + y | default gaps |
Key | Action |
---|---|
mod + p | togglescratch |
mod + minus | scratchpad show |
mod + shift + minus | scratchpad hide |
mod + = | scratchpad remove |
Key | Action |
---|---|
mod + backspace | shutdown menu |
mod + shift + backspace | quit dwm |
mod + shift + r | reload dwm |
Key | Action |
---|---|
mod + ctrl + e | switch to US layout |
mod + ctrl + d | switch to german layout |
Key | Action |
---|---|
mod + c | brave browser |
mod + x | ranger |
mod + e | thunar |
mod + ctrl + l | multilockscreen |
mod + shift + c | discord signal whatsapp |
mod + shift + t | kill picom |
mod + ctrl + t | start picom |
mod + ctrl + m | pavucontrol |
mod + shift + m | mailspring |
mod + shift + s | flameshot |
mod + ctrl + e | english keyboard |
mod + ctrl + d | german keyboard |
iw wpa_supplicant dialog wpa_actiond sudo grub efibootmgr dosfstools os-prober mtools base linux linux-firmware
base-devel vim networkmanager git man bash
$graphicsdriver xorg xorg-xinit picom nitrogen rofi dunst yay nerd-fonts-jetbrains-mono pacman-contrib
archlinux-contrib sysstat ttf-font-awesome dmenu network-manager-applet gnu-free-fonts zsh papirus-icon-theme
gtk4 arc-gtk-theme lxappearance timeshift grub-customizer polkit polkit-gnome feh bluez bluez-utils blueman
viewnior xcape multilockscreen libxft-bgra lsd pulseaudio pulseaudio-alsa pavucontrol pa-applet-git ponymix
ranger redshift thunar numlockx zathura htop-vim-git neofetch nodejs npm python-pynvim xarchiver unzip ueberzug
lightdm lightdm-mini-greeter zsh-theme-powerlevel10k-git neovim zsh oh-my-zsh zsh-autosuggestions
zsh-syntax-highlighting vim-plug gotop gotop cifs-utils ntfs-3g xclip zathura-pdf-mupdf udisks thunar-volman
pulseaudio-bluetooth lazygit pamixer gvfs xfce4-settings zip-3.0-9 bat ripgrep fd networkmanager-openconnect xdotool seahorse
signal-desktop discord brave-bin flameshot autorandr mailspring whatsapp-for-linux xidlehook
intellij-idea-ultimate-edition intellij-idea-ultimate-edition-jre jre-openjdk vlc spotify-tui playerctl spotifyd docker docker-compose
############
############
- dwm fake fullscreen fix
- test nvme with bios
- test dual with bios
- ctags dwm