Skip to content

Arch Install

Boot to USB archinstall

Keyboard: ? - jp - 0 (jp106)
Layout: 23 - Japan
Disks:  1 - nvme0n1 
Partitions: 1 - Format
File System: 1 - ext4
Disk Encryption Password: {blank}
Use grub over systemd-boot: n
Host name: bl-dt
Root password: {blank}
Super user account: bl
Password: {redacted}
Profiles (window manager): i3
i3-gaps or i3-wm: 0
Video card: 3 - nvidia
open Source or proprietary: 0 - open source
kernel: 0 - linux
Additional apps: htop vim git curl firefox 
Network interface: 2 - enp7s0
Network config: 0 - dhcp 
Time zone: Asia/tokyo
automartic sync: y
<press enter to start>
Chroot into newly installed system: n
reboot

Arch - Post-Install

i3 config:

exec /usr/bin/pasystray

Apps

sudo pacman -S firefox chromium zsh unzip git htop python python-pip vim wget feh compton rofi tmux ranger w3m youtube-dl zathura zathura-pdf-mupdf pandoc fd bat zsh-syntax-highlighting neofetch irssi nmap tcpdump imagemagick ansible bmon nload python3-pip python3-setuptools pasystray rsync rclone lxappearance dnsutils

Fonts

sudo pacman -S ttf-dejavu ttf-roboto ttf-ubuntu-font-family ttf-bitstream-vera ttf-croscore noto-fonts ttf-font-awesome nerd-fonts-hack nerd-fonts dejavu-complete 

Theme

.Xrsources:

URxvt.scrollBar: false
UXTerm*renderFont: true
URxvt.font:xft:Monospace:pixelsize=15
URxvt.boldfont:xft:Monospace-Bold:pixelsize=15
URxvt.font:     xft:bitstream vera sans mono:size=16:antialias=true
URxvt.boldFont: xft:bitstream vera sans mono:bold:size=16:antialias=true
*background:  #0a0a0f
*cursorColor:  #bfbfbf
*foreground:  #bfbfbf
*color0:  #0a0a0f
*color1:  #7e0300
*color2:  #32C05C
*color3:  #7ed000
*color4:  #000396
*color5:  #7e0375
*color6:  #0a6fa1
*color7:  #bfbfbf
*color8:  #8a8a8f
*color9:  #b00300
*color10:  #00ff00
*color11:  #b0ff00
*color12:  #0d5fa7
*color13:  #b003a7
*color14:  #1793D1
*color15:  #bfbfbf

Fonts - Japan

otf-ipafont

Python Pips

pip3 install bpytop --user
pip3 install netaddr --user
pip3 install paramiko --user
pip3 install flask --user
pip3 install pandas --user
pip3 install s-tui --user
pip3 install matplotlib --user
pip3 install requests --user

Nvidia settings

sudo pacman -S nvidia-settings After -> Open nvidia settings and change to 144hz

ZSH Install

sudo pacman -S zsh 

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 

Add .local/bin to$PATH. Add new line to $HOME/.zshrc -> export PATH=export PATH=$HOME/.local/bin:$PATH

Yay

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay ttf-material-icons ttf-weather-icons ttf-font-awesome
yay spotify
yay tldr
yay 1password

Tailscale

sudo pacman -S tailscale
sudo systemctl enable --now tailscaled
sudo tailscale up
tailscale ip -4

Docker

sudo pacman -S docker

sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker bl

SSH

sudo pacman -S openssh
sudo systemctl start sshd
sudo systemctl enable sshd
$ ssh 10.1.1.153 -l bl
The authenticity of host '10.1.1.153 (10.1.1.153)' can't be established.
ECDSA key fingerprint is SHA256:xvNbys7KV4HJHO6XsWL6bCzn8IKt7FViD04xcOBEdLM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.1.1.153' (ECDSA) to the list of known hosts.
[email protected]'s password: 

Automount Drive

$ sudo fdisk -l
[sudo] password for bl: 
Disk /dev/nvme0n1: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 960 EVO 500GB               
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: CC1AECAB-ED07-4DB3-8084-70AD689B4A5B

Device           Start       End   Sectors   Size Type
/dev/nvme0n1p1    2048   1050623   1048576   512M EFI System
/dev/nvme0n1p2 1050624 976773119 975722496 465.3G Linux filesystem


Disk /dev/nvme1n1: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: CT500P1SSD8                             
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7fd78af1

Device         Boot Start       End   Sectors   Size Id Type
/dev/nvme1n1p1       2048 976773119 976771072 465.8G 83 Linux


Disk /dev/sda: 4.55 TiB, 5000947302400 bytes, 9767475200 sectors
Disk model: Game Drive      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 1AE12402-002B-402C-A084-3DFBC337A528

Device     Start        End    Sectors  Size Type
/dev/sda1   2048 9767473151 9767471104  4.5T Microsoft basic data

$ lsblk -f
NAME FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                         
└─sda1
     exfat  1.0   WD_BLACK
                        F4D6-0A8F                                           
nvme0n1
│                                                                           
├─nvme0n1p1
│    vfat   FAT32       6BCD-2FC5                             448.4M    10% /boot
└─nvme0n1p2
     ext4   1.0         69b6d43f-266c-449c-8c10-58a50e9218f1  421.6G     3% /
nvme1n1
│                                                                           
└─nvme1n1p1
     ext4   1.0         f73feaad-67c2-4c06-9e89-713bdc90ca16       
Mount Point Type Size UUID
/mnt/n1 nvme 512G f73feaad-67c2-4c06-9e89-713bdc90ca16
/mnt/u1 usb 5T F4D6-0A8F
sudo mkdir /mnt/n1
sudo mkdir /mnt/u1
sudo chown -R bl:bl /mnt/n1
sudo chown -R bl:bl /mnt/u1
sudo nano /etc/fstab
UUID=f73feaad-67c2-4c06-9e89-713bdc90ca16 /mnt/n1 ext4 defaults 0 2
UUID=F4D6-0A8F /mnt/u1 vfat defaults 0 2
$ df -h / /mnt/u1 /mnt/n1
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  457G   13G  422G   3% /
/dev/sda1       4.6T  1.4T  3.3T  30% /mnt/u1
/dev/nvme1n1p1  458G   51G  385G  12% /mnt/n1

Bluetooth (not pairing devices)

Install service and utils, start: sudo pacman -S bluez bluez-utils blueman sudo systemctl start bluetooth sudo systemctl enable bluetooth systemctl status bluetooth

bl @ bl-dt in /mnt/u1/bl-dt [19:55:16] C:1
$ systemctl status bluetooth 
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor prese>
     Active: active (running) since Sat 2021-10-09 19:54:57 JST; 23s ago

Audio

Add the following to $HOME/.config/i3/config:

# start audio / start tray
exec_always start-pulseaudio-x11
exec --no-startup-id /usr/bin/pasystray

Polybar

create directories:

mkdir .config/i3/scripts
mkdir .config/polybar
create start script: nano .config/i3/scripts/polybar-launch.sh

#!/bin/bash
#!/usr/bin/env sh

# Terminate already running bar instances
killall -q polybar

# Wait until the processes have been shut down
while pgrep -x polybar >/dev/null; do sleep 1; done

# Launch bar1 and bar2
polybar main -r &

create polybar config: nano .config/polybar/config

; vim:ft=dosini

[colors]
#background = #2b3240 
#background-alt = #444
#foreground = ${xrdb:color7}
#foreground-alt = #555
#primary = ${xrdb:color3}
#secondary = ${xrdb:color5}
#alert = #bd2c40
#col = #00f

[colors]
background = #0a0a0f
background-alt = #444
alert = #bd2c40
col = #00f

#[colors]
;background = ${xrdb:color0:#222}
;foreground = ${xrdb:color7:#222}
;foreground-alt = ${xrdb:color7:#222}
;primary = ${xrdb:color1:#222}
;secondary = ${xrdb:color2:#222}
;alert = ${xrdb:color3:#222}

[bar/main]
monitor = ${env:MONITOR:DP-4}
width = 100%
height = 30
radius = 0
fixed-center = true

background = ${colors.background}
foreground = ${colors.foreground}

line-size = 3 
line-color = {$xrdb:color1}

padding-left =  0
padding-right = 1 

module-margin-left = 2 
module-margin-right = 2

font-0 = hack:pixelsize=12;1
font-1 = "Font Awesome 5 Free:style=Solid:pixelsize=10;3"
font-2 = Weather Icons:size=12;1
font-3 = "Font Awesome 5 Free:style=Regular:pixelsize=10;3"
font-4 = "Font Awesome 5 Brands:pixelsize=10;3"
font-5 = Material Icons:size=12;1

modules-left = i3 
;modules-center = weather
;modules-center = weather2
modules-right = filesystem cpu memory network date powermenu

tray-position = right
tray-padding = 0
;tray-transparent = true
;tray-background = #0063ff

;wm-restack = i3

;override-redirect = true

scroll-up = i3wm-wsnext
scroll-down = i3wm-wsprev

[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%

[module/filesystem]
type = internal/fs
interval = 25

mount-0 = /

label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}

#[module/home]
#type = internal/fs
#interval = 25

#mount-0 = /home/bl

#label-mounted = %{F#0a81f5}~%{F-}: %percentage_used%%
#label-unmounted = %mountpoint% not mounted
#label-unmounted-foreground = ${colors.foreground-alt}

#[module/bspwm]
#type = internal/bspwm

#label-focused = %index%
#label-focused-background = ${colors.background-alt}
#label-focused-underline= ${colors.primary}
#label-focused-padding = 2

#label-occupied = %index%
#label-occupied-padding = 2

#label-urgent = %index%!
#label-urgent-background = ${colors.alert}
#label-urgent-padding = 2

#label-empty = %index%
#label-empty-foreground = ${colors.foreground-alt}
#label-empty-padding = 2

[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false

; Only show workspaces on the same output as the bar
;pin-workspaces = true

label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}

;ws-icon-0 = "1;1: "
;ws-icon-1 = "2;"
;ws-icon-2 = "3;"
;ws-icon-3 = "4;"
;ws-icon-4 = "5;"
;ws-icon-5 = "6;"


; focused = Active workspace on focused monitor
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2


; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = 2

; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}

; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${colors.alert}
label-urgent-padding = 2

[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${xrdb:color1}
label = %percentage%%

[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${xrdb:color6}
label = %percentage_used%%

[module/network]
type = internal/network
interface = enp7s0
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-connected-underline = ${xrdb:color5}
label-connected =  %downspeed% |  %upspeed%

[module/eth]
type = internal/network
interface = enp5s0
interval = 3.0

format-connected-underline = ${xrdb:color2}
;format-connected-underline = ${xrdb:color10}
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%

;format-disconnected =
format-disconnected = <label-disconnected>
format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
label-disconnected = no eth
label-disconnected-foreground = ${colors.foreground-alt}

[module/date]
type = internal/date
interval = 5

date = " %a, %b %d, %Y"

time = " at %I:%M%p"

;format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${xrdb:color12}
;format-underline = #0a6cf5

label = %date% %time%

[module/powermenu]
type = custom/menu

format-spacing = 1

label-open = 
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}

menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2

menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot

menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0

;[module/weather]
;type = custom/script
;exec = /home/rt/projects/dotfiles/polybar/scripts/openweathermap-detailed.sh
;exec-if = ping openweathermap.org -c 1
;interval = 600
;label-font = 3

;[module/weather2]
;type = custom/script
;exec = ~/.config/polybar-forecast/target/release/polybar-forecast
;exec-if = ping openweathermap.org -c 1
;interval = 600
;label-font = 3

[module/weather]
type = custom/script
exec = /home/rt/.config/polybar-forecast
exec-if = ping openweathermap.org -c 1
interval = 600
label-font = 3


[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over

[global/wm]
margin-top = 5
margin-bottom = 5

i3 config

vim .config/i3/config:

for_window [instance="pavucontrol"] floating enable
for_window [instance="pavucontrol"] resize set 500 400
comment out last 3 lines:
#bar {
#        status_command i3status
#}
hide window borders:
# hide edges
hide_edge_borders both
for_window [class="^.*"] border pixel 0
add polybar to startup:
exec_always --no-startup-id /home/bl/.config/i3/scripts/polybar-launch.sh