mirror of
https://github.com/rodneyosodo/dotfiles.git
synced 2026-06-23 04:10:23 +00:00
chore: finish desktop&laptop setup
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
```
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user