8.3 KiB
8.3 KiB
title | date | draft | toc |
---|---|---|---|
Setup flameboi (Pop OS) | 2022-07-23T08:00:00+05:30 | false | true |
Stage 0000: Initial setup
Set hostname
sudo hostnamectl set-hostname flameboi
Set timezone
sudo timedatectl set-timezone Asia/Kolkata
Set DNS Server
temp_var=$(nmcli -g name,device connection show | grep "enp" | cut -f1 -d":")
nmcli connection modify "$temp_var" ipv4.dns "1.1.1.2,1.0.0.2"
nmcli connection modify "$temp_var" ipv4.ignore-auto-dns yes
Unmask (and enable) NVIDIA services
sudo systemctl unmask nvidia-suspend nvidia-hibernate nvidia-resume
sudo systemctl enable nvidia-suspend nvidia-hibernate nvidia-resume
# sudo apt autoremove "*nvidia"
# sudo apt install system76-driver-nvidia
Generate SSH keys
cd $HOME/.ssh
ssh-keygen -t ed25519 -f bluefeds
ssh-keygen -t ed25519 -f gitea
ssh-keygen -t ed25519 -f github
ssh-keygen -t ed25519 -f gitlab
ssh-keygen -t ed25519 -f sentinel
Reboot
systemctl reboot
Stage 0001
Upgrade packages
sudo apt-get update
sudo apt-get upgrade
Reboot
systemctl reboot
Stage 0010
Install GNOME extensions
sudo apt install gnome-shell-extensions -y
A few extensions:
- Clipboard Indicator
clipboard-indicator@tudmotu.com
- Impatience
impatience@gfxmonk.net
(Set it to 0.5x) - Net speed Simplified
netspeedsimplified@prateekmedia.extension
- Permanent notifications
permanent-notifications@bonzini.gnu.org
Install packages
sudo apt-get install adb alacritty aria2 autoconf barrier bat bc bison bridge-utils btop build-essential cifs-utils cmake cmatrix curl ethtool exfat-fuse fakeroot fastboot fdisk ffmpeg flex fonts-firacode fonts-fork-awesome gdb-multiarch git handbrake hdparm htop imagemagick iotop iperf iperf3 libc6-dev libelf-dev libncurses-dev libncurses5-dev libnotify-bin libpam-google-authenticator libssl-dev libvirt-clients libvirt-daemon-system linux-headers-generic linux-headers-$(uname -r) linux-tools-$(uname -r) linux-tools-common linux-tools-generic locate lsb-release make mediainfo meld mlocate mpv neofetch neovim nethogs nload nvme-cli obs-plugins obs-studio openocd opensbi openssh-client openssh-server python3 python3-pip qemu qemu-efi-aarch64 qemu-efi-arm qemu-kvm qemu-system-arm qemu-system-misc qemu-system-x86 qemu-utils rar ripgrep rsync signify-openbsd smartmontools speedtest-cli tar tmux transmission-cli tree u-boot-qemu unrar unzip valgrind vim virt-manager vlc wakeonlan webp wget wget2 xsel xz-utils yt-dlp zfs-dkms zip zsh zsh-autosuggestions zsh-syntax-highlighting
linux-headers-$(uname -r) linux-tools-$(uname -r)
Fancy a window manager?
sudo apt-get install breeze-cursor-theme bspwm dunst feh gtk-chtheme i3lock-fancy jq libnotify-bin lxappearance picom polybar rofi socat sxhkd wmctrl xcursor-themes
echo "gtk-application-prefer-dark-theme=true" | tee $HOME/.config/gtk-3.0/settings.ini
Temporarily export var DOTFILES_DIR
pointing to wherever dotfiles is cloned.
sudo cp -v $DOTFILES_DIR/_OTHER/flameboi/usr/share/xsessions/bspwm.desktop /usr/share/xsessions/
vim-plug (Neovim)
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
Open nvim
and type :PlugInstall
Rust setup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup default stable
rustup component add rust-src rust-analyzer
#rustup component add rust-analysis
cargo install cargo-outdated cargo-tree
Flatpak
flatpak install flathub com.bitwarden.desktop com.brave.Browser com.dangeredwolf.ModernDeck com.github.micahflee.torbrowser-launcher com.github.tchx84.Flatseal com.sublimetext.three flathub io.gitlab.librewolf-community org.ksnip.ksnip org.mozilla.firefox org.mozilla.Thunderbird org.telegram.desktop
Virtualization
Add pratham
to necessary groups
sudo adduser pratham libvirt
sudo adduser pratham kvm
Edit /etc/libvirt/qemu.conf
and modify it as follows:
user = "pratham"
[...]
roup = "pratham"
Restart the libvirtd
service
sudo systemctl restart libvirtd
Make alacritty the default terminal
gsettings set org.gnome.desktop.default-applications.terminal exec '/usr/bin/alacritty'
sudo update-alternatives --config x-terminal-emulator
Don't crawl specific directories with updatedb
Add /heathen_disk/personal/media/camera_roll
to the PRUNEPATHS
value in /etc/updatedb.conf
.
Stage 0011: Cron setup
pratham
's cron
# empty for now
root
's cron
# empty for now
Stage 0100: Enable services
Enable HDD-related services
Temporarily export var DOTFILES_DIR
pointing to wherever dotfiles is cloned.
sudo cp -v $DOTFILES_DIR/_OTHER/flameboi/etc/systemd/system/*.service /etc/systemd/system/
sudo systemctl enable hdd-standby-on-boot.service hdd-standby-on-resume.service
Stage 0101: Window Manager (bspwm)
Use $HOME/.xinitrc
for starting bspwm from GDM
Edit /usr/share/xsessions/bspwm.desktop
[Desktop Entry]
Name=bspwm
Comment=Binary space partitioning window manager
Exec=/home/shivoham/.xinitrc
Type=Application
Chrome-based browser scaling
Add the following line to /etc/alternatives/brave-browser
[...]
"$HERE/brave" "$@" --force-device-scale-factor=1.25 || true
ADd the following line to /etc/alternatives/google-chrome
[...]
exec -a "$0" "$HERE/chrome" "$@" --force-device-scale-factor=1.25
Stage 0110: Sublime Text 3
Install extensions
Edit preferences
Preferences > Settings
"ui_scale": 1.25,
"font_face": "Fira Code",
"font_options":["subpixel_antialias"],
"atomic_save": true,
"auto_complete_delay": 1,
"caret_extra_width": 1,
"color_scheme": "Packages/Theme - TwoDark/TwoDark.tmTheme",
"draw_shadows": false,
"ensure_newline_at_eof_on_save": true,
"fade_fold_buttons": true,
"highlight_modified_tabs": true,
"indent_guide_options":["draw_active"],
"save_on_focus_lost": true,
"shift_tab_unindent": true,
"show_encoding": true,
"show_line_endings": true,
"theme": "TwoDark.sublime-theme",
"auto_complete_triggers": [{"selector": "source.python", "characters": ".",}],
"ignored_packages": ["Vintage"],
"font_size": 12,
Edit key bindings
Preferences > Key bindings
{"keys": ["ctrl+tab"], "command": "next_view"},
{"keys": ["ctrl+shift+tab"], "command": "prev_view"},
Stage 0111: ZFS Setup
Create zpool
sudo zpool create -o ashift=12 bhugol raidz1 /dev/sda /dev/sdb /dev/sdc /dev/sdd
Set global zpool properties
sudo zfs set atime=off bhugol
sudo zfs set checksum=sha512 bhugol
sudo zfs set compression=zstd-19 bhugol
sudo zfs set primarycache=all bhugol
sudo zfs set recordsize=1M bhugol
sudo zfs set snapdir=hidden bhugol
sudo zfs set xattr=sa bhugol
Create ZFS datasets
sudo zfs create bhugol/media
sudo zfs create bhugol/media/camera_roll
sudo zfs create bhugol/media/movies
sudo zfs create bhugol/media/tv_series
sudo zfs create bhugol/backup
sudo zfs create bhugol/backup/barbet
sudo zfs create bhugol/backup/bluefeds
sudo zfs create bhugol/backup/flameboi
sudo zfs create bhugol/backup/ringmaster
sudo zfs create bhugol/backup/sentinel
sudo zpool export bhugol
sudo zpool import *trial run to get the pool-id*
sudo zpool import -d /dev/disk/by-id <pool-id>
Own your mount points
sudo chown pratham:pratham -vR /bhugol
Add bi-monthly cron job for ZFS scrub
sudo crontab -e
0 0 1,15 * * /usr/sbin/zpool scrub bhugol
Set ZFS parameters
sudoedit /etc/modprobe.d/zfs.conf
options zfs zfs_scan_idle = 0
options zfs zfs_scrub_delay = 0
options zfs zfs_scan_min_time_ms = 5000