Remove Windows Junk Use custom removal option, because you really want to get rid of the game bar stuff. It is very annoying https://github.com/Raphire/Win11Debloat
Install Webi CLI.
Install GitHub CLI.
webi gh
Clone Neovim Config: Reference
gh auth login
cd ~/AppData/Local && gh repo clone nvim
cd ~/.config/nvim && gh repo clone nvim
cd ~/.config/nvim && gh repo clone nvim
Emplace dotfiles
# only remove if you are sure all your files are tracked in git
rm -rf ~/config/hypr
ln -s ~/.config/nvim/dotfiles/hypr ~/.config/hypr
yay -S hyprmon-bin
# run hyprmon and set positioning and scaling
hyprmon
Option 2. Alternatively you can edit the monitors.conf file, but I found the TUI to be a far better experience Scalling to monitor size Uncomment the correct lines in:
~/.config/hypr/monitors.conf
Install Neovim.
# For installing new parsers
cargo install tree-sitter-cli && \
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc && \
source ~/.bashrc
tree-sitter --version
# For compiling the parsers written in C
brew upgrade zig || brew install zig
:checkhealth
:messages
For tree-sitter issues you may want to clear the cache: nvim troubleshootingInstall neovide https://neovide.dev/
sudo pacman -S neovide
scoop bucket add extras
scoop install neovide
Open shortcut location
Right click shortcut and select properties
Add "--wsl --neovim-bin /home/linuxbrew/.linuxbrew/bin/nvim" to the end of the target
Install the nvim-helper CLI used by <leader>b and the random log helpers.
cd ~/.config/nvim/tools/nvim-helper
go install
$GOBIN or $GOPATH/bin) is on your PATH.make nvim-helper-test (from the repo root) to execute the helper's unit tests; the command automatically isolates Go's build cache in /tmp/nvim-gocache.make base64-test to execute the Neovim end-to-end check that exercises the mapping against a scratch buffer.:GoUpdate inside Neovim to run the helper's Go module updater; set vim.g.go_update_target_version (defaults to 1.24.7) to control the enforced go directive and populate the quickfix list with updated go.mod files.Fixing path issues for GUI applications like NEOVIDE Set env vars like $PATH in: ~/.config/hypr/envs.conf. This lets your
env = PATH,/home/piegarden/.local/opt/go/bin:/home/piegarden/go/bin:$PATH
# Reload for changes to take effect:
hyprctl reload
# then restart session (reload alone isn't enough)
Install ripgrep for fuzzy search
staticcheck for additional Go analysis.webi nerdfont
Install one these:
Install LazyGit.
Copy-Item .\lazygit\config.yml $env:APPDATA\lazygit\config.yml
mkdir -p ~/.config/lazygit
cp ./lazygit/config.yml ~/.config/lazygit/config.yml
jqwebi jq
Restore Vimium from backup.
Install htop for resource monitoring.
brew install htop
choco install ntop.portable
Emplace .gitconfig
cp ~/.config/nvim/.gitconfig ~/
Install fd
webi fd
shellcheck for shell script linting.nvim id_ed25519
chmod 600 id_ed25519
mkdir -p ~/deploy
mkdir -p ~/.local/share/systemd/user
Configure production & staging in .ssh/config
Install Codex (he likes using python as a tool so we add that for him).
brew install codex
webi python3
Install sops
Install raspberry pi imager
sudo pacman -S rpi-imager
sudo -E rpi-imager
# or
sudo pacman -S flatpak
flatpak install flathub org.raspberrypi.rpi-imager
flatpak run org.raspberrypi.rpi-imager
Install LVFS to update bios
sudo pacman -S fwupd
Syncthing / Wiki
sudo pacman -S rsync
mkdir -p ~/Applications
VERSION=29.5.2
mv ~/Downloads/drawio-x86_64-${VERSION}.AppImage ~/Applications/
chmod +x ~/Applications/drawio-x86_64-${VERSION}.AppImage
mv "${HOME}/Applications/drawio-x86_64-${VERSION}.AppImage" ~/Applications/drawio.AppImage
cat <<-EOF > "${HOME}/.local/share/applications/drawio.desktop"
[Desktop Entry]
Name=Draw.io
Exec=/home/piegarden/Applications/drawio.AppImage
Icon=/home/piegarden/Applications/drawio.png
Type=Application
Categories=Utility;
Terminal=false
EOF
# 1) Ensure rustup-managed toolchain is installed
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup default stable
rustup toolchain install stable
# 2) Add ARM64 Rust target to that toolchain
rustup target add --toolchain stable aarch64-unknown-linux-gnu
# 3) Cross C toolchain (needed by sqlite3-sys and other C deps)
sudo pacman -S --needed aarch64-linux-gnu-gcc
# 4) Verify
rustup target list --installed | rg aarch64-unknown-linux-gnu
rustup show active-toolchain
which cargo rustc rustup
systemctl stop docker docker.socket && \
systemctl disable docker docker.socket && \
systemctl stop containerd && \
systemctl disable containerd && \
sudo rm -f /etc/systemd/resolved.conf.d/20-docker-dns.conf
choco install windirstat
Command to open vim-dadbod
:DBUI
Connection string format for sqlite
sqlite://<file-system-path>
Example:
sqlite:///data/data.db
sudo apt-get install graphviz -y
make p
go tool pprof http://localhost:8081/debug/pprof/profile?seconds=30
go tool pprof -http=:8082 http://localhost:8081/debug/pprof/profile?seconds=1
bat (used by the snippets generator).
cp ./alacritty.toml "$HOME/.alacritty.toml"
or
cp ./.wezterm.lua "$HOME/.wezterm.lua"
Copy-Item .\alacritty.toml $env:APPDATA\alacritty\alacritty.toml
or
Copy-Item .\.wezterm.lua $env:USERPROFILE\.wezterm.lua
cp ./starship/starship.toml ~/.config/starship.toml
Copy-Item .\starship\Microsoft.PowerShell_profile.ps1 $profile
go install github.com/JeremiahVaughan/one-password-tui@latest
sudo apt install i3 -y
mkdir -p ~/.config/i3
cp ./i3/config ~/.config/i3/config
sudo apt install zsh -y
chsh -s /bin/zsh
webi fzf
sudo pacman -S hostapd
sudo pacman -S dnsmasq
in /etc/hostapd/hostapd.conf
set ssid, wpa_passphrase,
enable ieee80211n, ieee80211d, ieee80211ac, ieee80211ax,
disable require_ht (windows wants this)
set: wpa=2, wpa_key_mgmt=WPA-PSK, rsn_pairwise=CCMP, country_code=US
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo systemctl enable dnsmasq
sudo systemctl start dnsmasq
sudo mkdir /etc/systemd/system/hostapd.service.d
sudo nvim /etc/systemd/system/hostapd.service.d/override.conf
[Unit]
BindsTo=sys-subsystem-net-devices-wlan0.device
After=sys-subsystem-net-devices-wlan0.device
check active dns leases
```bash
cat /var/lib/misc/dnsmasq.leases
yay -S firefox
cargo install himalaya --locked --features "oauth2 keyring"
Install one password cli to manage the email secrets (OnePassword)[https://developer.1password.com/docs/cli/get-started/]
go install github.com/charmbracelet/crush@latest
# give crush the golang lsp
webi go-essentials
# give crush the rust lsp
rustup component add rust-analyzer
# place your api key:
# 1 (neovide). ~/.config/uwsm/env
# 2 (shell). ~/.bashr
Local model install Ollama On Windows make sure Ollama is exposed
OLLAMA_HOST=0.0.0.0
./recovery.sh
./mass-deploy.sh
Wipe out NVIM cache:
rm -rf ~/.cache/nvim ~/.local/state/nvim ~/.local/share/nvim
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\nvim-data"
systemctl --user kill -s SIGKILL <service_name>
If you need to delete a bunch of data from the DB:
# Turn off database backups
systemctl --user stop jobby
# Turn off the service
systemctl --user stop shepherd
# Run the query
sqlite3 ~/deploy/shepherd-data/data 'DELETE FROM service_log;'
# Vacuum the database
sqlite3 ~/deploy/shepherd-data/data 'VACUUM;'
# Checkpoint the WAL file
sqlite3 ~/deploy/shepherd-data/data 'PRAGMA wal_checkpoint(TRUNCATE);'
# Verify sizes are what you expect
ls -hal ~/deploy/shepherd-data
# Turn on the database backups
systemctl --user start jobby
# Turn on the service
systemctl --user start shepherd
Direct ports for UDP for current node
cd ~/deploy
fd -t f -g 'port.txt' -x sh -c 'head -n1 "$1"' sh {} | paste -sd, -