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
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
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
#bar {
# status_command i3status
#}
# hide edges
hide_edge_borders both
for_window [class="^.*"] border pixel 0
exec_always --no-startup-id /home/bl/.config/i3/scripts/polybar-launch.sh