chore: finish desktop&laptop setup

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
This commit is contained in:
Rodney Osodo
2025-02-17 14:17:25 +03:00
committed by b1ackd0t
parent c02f98a587
commit d8ff1f9680
5 changed files with 62 additions and 397 deletions
+47 -4
View File
@@ -73,7 +73,6 @@ ZSH_THEME="jovial"
plugins=(
ssh-agent
git
autojump
urltools
bgnotify
zsh-autosuggestions
@@ -91,12 +90,14 @@ plugins=(
virtualenv
zsh-interactive-cd
zsh-navigation-tools
aliases
)
zstyle :omz:plugins:ssh-agent agent-forwarding yes
zstyle :omz:plugins:ssh-agent identities github
zstyle :omz:plugins:ssh-agent lifetime 30d
source $ZSH/oh-my-zsh.sh
# source /opt/esp-idf/export.sh
# User configuration
@@ -107,6 +108,7 @@ export GOBIN=~/go/bin
export PATH=$PATH:~/go/bin
export PATH=$PATH:~/.local/bin
export PATH=$PATH:~/.cargo/bin
export PATH=$PATH:/opt/google-cloud-cli/bin/
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOROOT=/usr/lib/go
@@ -138,12 +140,53 @@ source ~/.oh-my-zsh/custom/plugins/bash-wakatime/bash-wakatime.sh
alias makeall="make all -j 8 && make dockers_dev -j 8"
alias gotest="go test -v --race -covermode=atomic -coverprofile=cover.out ./..."
alias gocover="go tool cover -html cover.out -o cover.html"
alias gobenchprof="go test -mod=vendor -v -bench=. -benchmem -cpuprofile=cpu.prof -memprofile=mem.prof -coverprofile=prof.out ./..."
alias gobenchprof="go test -v -bench=. -benchmem -cpuprofile=cpu.prof -memprofile=mem.prof -coverprofile=prof.out ./..."
alias gpr="git pull --rebase"
alias gprum="git pull --rebase upstream main"
alias gpf="git push --force-with-lease"
alias ze="zellij -l welcome"
alias act="/usr/bin/act"
# Function to rebase last n commits and signoff
function rebase_signoff() {
if [ $# -lt 1 ]; then
echo "Please provide the number of commits to rebase\nUsage: grs <number-of-commits>"
return
fi
git rebase -i HEAD~$1 --exec "git commit --amend --no-edit --signoff -S"
}
# Function to change directory to ~/code/$1
function cd_code() {
if [ $# -lt 1 ]; then
echo "Please provide the name of the directory to change to\nUsage: cd_code <directory-name>"
return
fi
cd ~/code/$1
}
function genpasswd() {
local length=$1
[ -z "$length" ] && length=16
tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${length} | xargs
}
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
export WASMTIME_HOME="$HOME/.wasmtime"
export PATH="$WASMTIME_HOME/bin:$PATH"
. "$HOME/.wasmedge/env"
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
autoload -U compinit; compinit
. "$HOME/.cargo/env"
-51
View File
@@ -26,54 +26,3 @@ GNOME is my desktop environment of choice. I like the simplicity of GNOME, and I
### Arch Linux
Follow the instructions in the [Arch](archinstall.md) section.
### Debian
Follow the instructions in the [Debian](debianinstall.md) section.
## Platform agnostic
### Install docker images
This is to help pull docker images ahead of time to avoid having to wait for them to download when you need them. It is done after installing docker.
```bash
bash docker/images.sh
```
### Install Python packages
This is done after installing python and pip.
```bash
pip install -r python/requirements.txt --break-system-packages
```
### Install Rust Packages
This is done after installing rust.
```bash
cargo install ouch du-dust exa bat fd-find ripgrep tealdeer cargo-generate jwt-cli wasm-pack
```
### Install Go Packages
This is done after installing go.
```bash
go install golang.org/x/tools/cmd/godoc@latest
go install github.com/fullstorydev/grpcui/cmd/grpcui@latest
go install github.com/go-delve/delve/cmd/dlv@latest
go install github.com/google/pprof@latest
go install golang.org/x/tools/gopls@latest
go install github.com/jesseduffield/lazygit@latest
go install github.com/goreleaser/goreleaser@latest
go install github.com/nats-io/gnatsd@latest
go install github.com/nats-io/natscli/nats@latest
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install github.com/go-critic/go-critic/cmd/gocritic@latest
go install github.com/derailed/k9s@latest
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
```
+8 -2
View File
@@ -7,8 +7,8 @@ prep:
ansible-galaxy collection install community.general
ansible-galaxy collection install kewlfft.aur
.PHONY: install-desktop
install-desktop: prep
.PHONY: setup-desktop
setup-desktop: prep
ansible-playbook playbooks/environment.yaml --connection=local --ask-become-pass
ansible-playbook playbooks/yay.yaml --connection=local --ask-become-pass
ansible-playbook playbooks/pacman.yaml --connection=local --ask-become-pass
@@ -18,3 +18,9 @@ install-desktop: prep
ansible-playbook playbooks/docker.yaml --connection=local --ask-become-pass
ansible-playbook playbooks/go.yaml --connection=local
ansible-playbook playbooks/rust.yaml --connection=local
.PHONY: install-desktop
install-desktop: prep
ansible-playbook playbooks/packages/desktop.yaml --connection=local --ask-become-pass
ansible-playbook playbooks/go.yaml --connection=local
ansible-playbook playbooks/rust.yaml --connection=local
+7 -237
View File
@@ -48,270 +48,40 @@ For now, you can use the following config files:
}
```
## Edit Pacman Conf
## Install Ansible
```bash
sudo vim /etc/pacman.conf
bash install
```
The changes should reflect [pacman.conf](arch/pacman.conf)
## Edit Environment
## Run ansible playbooks
```bash
sudo vim /etc/environment
```
The changes should reflect [environment](arch/environment)
## Update the system
```bash
sudo pacman -Syu
```
## Install yay
```bash
sudo pacman -Sy --needed git base-devel
```
```bash
cd ~/Downloads/ && git clone https://aur.archlinux.org/yay.git --depth=1 && cd yay/ && makepkg -si && cd ~
```
## Install Utilities
```bash
yay -S git vim neovim neofetch p7zip unrar tar flac curl wget make jdk-openjdk thefuck wakatime python-pip bpytop alacritty httpie putty
```
## Install AMD Microcode
```bash
yay -S amd-ucode
```
```bash
sudo grub-mkconfig -o /boot/grub/grub.cfg
```
## Bluetooth
```bash
yay -S bluez blueman bluez-utils
```
```bash
sudo modprobe btusb
```
```bash
sudo systemctl start bluetooth
```
```bash
sudo systemctl enable bluetooth
```
## Audio
```bash
yay -S pulseaudio pulseaudio-alsa pulseaudio-bluetooth pulseaudio-jack pavucontrol
```
## Preload
```bash
yay -S preload
```
```bash
sudo systemctl start preload.service
```
```bash
sudo systemctl enable preload.service
```
## Pacman Cache
```bash
yay -S pacman-contrib
```
```bash
sudo systemctl start paccache.timer
```
```bash
sudo systemctl enable paccache.timer
cd ansible
make setup-desktop
```
## Install major software
```bash
yay -S brave-bin slack-desktop discord easyeda kicad obsidian obs-studio vlc postman-bin inkscape gimp dnsmasq virt-manager qemu-full flameshot
```
For brave, join the existing sync chain. Then log in to your Google account.
Change keybindings for flameshot to `Print` and `Ctrl + Print`
## Sync Folders using Syncthing
## Setup Git
```bash
ssh-keygen -t ed25519 -C "socials@rodneyosodo.com" -f ~/.ssh/github
```
```bash
git config --global user.email "socials@rodneyosodo.com"
```
```bash
git config --global user.name "Rodney Osodo"
```
```bash
git config --global user.signingkey ~/.ssh/github
```
Copy the contents of `~/.ssh/github.pub` to github both for authentication and signing keys.
## Install oh-my-zsh
```bash
yay -S zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```
## Edit Zshrc
```bash
vim ~/.zshrc
```
The changes should reflect [zshrc](zsh/zshrc)
### Install Jovial Theme
```bash
curl -sSL https://github.com/zthxxx/jovial/raw/master/installer.sh | sudo -E bash -s ${USER:=`whoami`}
```
### Install autojump
```bash
cd ~/Downloads/ && git clone https://github.com/wting/autojump.git --depth=1 && cd autojump/ && ./install.py && cd ~
```
### Install ZSH Wakatime
```bash
cd ~/.oh-my-zsh/custom/plugins && git clone https://github.com/wbingli/zsh-wakatime.git --depth=1 && git clone https://github.com/irondoge/bash-wakatime.git --depth=1 && cd ~
```
## Install
```bash
yay -S go nodejs zig bun-bin mosquitto-clients kubectl rustup act github-cli docker docker-compose docker-buildx vagrant hyperfine helm nomad dbeaver visual-studio-code-bin
```
```bash
sudo systemctl start docker
```
```bash
sudo systemctl enable docker
```
```bash
sudo usermod -aG docker $USER
```
```bash
sudo systemctl restart libvirtd.service
gh auth login
rustup toolchain install nightly
rustup default nightly
rustup component add llvm-tools-preview
vagrant box add hashicorp/bionic64
vagrant box add bento/ubuntu-24.04
helm repo add stable https://charts.helm.sh/stable
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add ory https://k8s.ory.sh/helm/charts
```
## Themeing
### Extensions
```bash
yay -S gnome-tweaks gnome-browser-connector
```
- Extension Manager - <https://extensions.gnome.org/>
- Blur My Shell - <https://extensions.gnome.org/extension/3193/blur-my-shell/>
- Clipboard Indicator - <https://extensions.gnome.org/extension/779/clipboard-indicator/>
- Compiz windows effect - <https://extensions.gnome.org/extension/3210/compiz-windows-effect/>
- User Themes - <https://extensions.gnome.org/extension/19/user-themes/>
- Dash to Dock - <https://extensions.gnome.org/extension/307/dash-to-dock/>
- Window List - <https://extensions.gnome.org/extension/602/window-list/>
- Workspace Indicator - <https://extensions.gnome.org/extension/21/workspace-indicator/>
- Tray Icons: Reloaded - <https://extensions.gnome.org/extension/2890/tray-icons-reloaded/>
- Vitals - <https://extensions.gnome.org/extension/1460/vitals/>
- Just Perfection - <https://extensions.gnome.org/extension/3843/just-perfection/>
- Logo Menu - <https://extensions.gnome.org/extension/4451/logo-menu/>
- Quick Setting Tweaker - <https://extensions.gnome.org/extension/5446/quick-settings-tweaker/>
- Tiling Assistant - <https://extensions.gnome.org/extension/3733/tiling-assistant/>
- User Avatar In Quick Settings - <https://extensions.gnome.org/extension/5506/user-avatar-in-quick-settings/>
### GTK
```bash
yay -S gtk-engine-murrine sassc ttf-hack-nerd
```
Applying themes to Flatpak applications
```bash
sudo flatpak override --filesystem=$HOME/.themes
sudo flatpak override --filesystem=$HOME/.icons
flatpak override --user --filesystem=xdg-config/gtk-4.0
sudo flatpak override --filesystem=xdg-config/gtk-4.0
```
```bash
cd ~/Downloads/ && git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git --depth=1 && cd WhiteSur-gtk-theme/ && ./install.sh && cd ~
```
```bash
cd ~/Downloads/ && git clone https://github.com/Fausto-Korpsvart/Gruvbox-GTK-Theme.git --depth=1 && cd Gruvbox-GTK-Theme/ && ./install.sh -l && cd ~
```
### Cursor
```bash
cd ~/Downloads/ && git clone https://github.com/vinceliuice/McMojave-cursors.git --depth=1 && cd McMojave-cursors/ && ./install.sh && cd ~
```
### Icons
```bash
git clone https://github.com/USBA/Cupertino-Ventura-iCons.git --depth=1 ~/.icons/Cupertino-Ventura-iCons
```
## Install AMD Drivers
```bash
yay -S mesa xf86-video-amdgpu vulkan-radeon vulkan-icd-loader libva-mesa-driver mesa-vdpau amdgpu_top-bin
```
## Remove unnecessary packages
```bash
yay -Rns gnome-contacts gnome-maps simple-scan gnome-tour gnome-connections
```
-103
View File
@@ -1,103 +0,0 @@
# Installation
Work in progress.
## Setup Git
```bash
ssh-keygen -t ed25519 -C "socials@rodneyosodo.com" -f ~/.ssh/github
ssh -T git@github.com
git config --global user.email "socials@rodneyosodo.com"
git config --global user.name "Rodney Osodo"
```
Copy the contents of `~/.ssh/github.pub` to github both for authentication and signing keys.
## Install dotfiles
```bash
git clone git@github.com:rodneyosodo/dotfiles.git
cd dotfiles/
```
## Edit Zshrc
```bash
vim ~/.zshrc
```
The changes should reflect [zshrc](zsh/zshrc)
### Install Jovial Theme
```bash
curl -sSL https://github.com/zthxxx/jovial/raw/master/installer.sh | sudo -E bash -s ${USER:=`whoami`}
```
### Install autojump
```bash
cd Downloads/
git clone https://github.com/wting/autojump.git
cd autojump/
./install.py
```
### Install ZSH Wakatime
```bash
cd ~/.oh-my-zsh/custom/plugins && git clone https://github.com/wbingli/zsh-wakatime.git
git clone git@github.com:irondoge/bash-wakatime.git .wakatime/bash-wakatime
```
## Install bpytop
```bash
pip install bpytop --break-system-packages
```
## Themeing
### Extensions
```bash
yay -S gnome-tweaks gnome-browser-connector
```
- Extension Manager - <https://extensions.gnome.org/>
- Blur My Shell - <https://extensions.gnome.org/extension/3193/blur-my-shell/>
- User Themes - <https://extensions.gnome.org/extension/19/user-themes/>
- Dash to Dock - <https://extensions.gnome.org/extension/307/dash-to-dock/>
- Window List - <https://extensions.gnome.org/extension/602/window-list/>
- Workspace Indicator - <https://extensions.gnome.org/extension/21/workspace-indicator/>
- Tray Icons: Reloaded - <https://extensions.gnome.org/extension/2890/tray-icons-reloaded/>
- Vitals - <https://extensions.gnome.org/extension/1460/vitals/>
### GTK
```bash
cd Downloads/
git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git
cd WhiteSur-gtk-theme/
./install.sh
```
### Cursor
```bash
cd Downloads/
git clone https://github.com/vinceliuice/McMojave-cursors.git
cd McMojave-cursors/
./install.sh
```
### Icons
```bash
git clone git@github.com:USBA/Cupertino-Ventura-iCons.git ~/.icons/Cupertino-Ventura-iCons
```
### Notable mentions
1. <https://github.com/Fausto-Korpsvart/Material-GTK-Themes>
2. <https://github.com/Fausto-Korpsvart/Catppuccin-GTK-Theme>