These are my dotfiles and specific computer configuration steps. Feel free to borrow what you find useful, but consider many steps are tailored to me.
It uses dotbot.
You can install them in Ubuntu 24.04 with:
sudo apt install curl git python-is-python3 python3 unzip wget zip
First check the existing dotfiles in the system home directory and delete them. Then:
cd ~/
git clone --recurse-submodules https://github.com/bryant1410/dotfiles .dotfiles
cd .dotfiles/
./install
This is specialized on Linux, but may also work in other *nix envs.
These are additional steps for a computer I actively use (a "main" one), has Ubuntu and I have sudo access. It requires Python 3.5+. Run:
sudo ./install -p dotbot-apt/apt.py -p dotbot-snap/snap.py -c main_run_with_sudo.conf.yaml
./install -c main_run_without_sudo.conf.yaml
This is specialized on Ubuntu.
Steam may be shown as it failed because it actually is waiting for a user to continue from some GUI.
A Dropbox-related window may appear. Follow its steps to finish Dropbox's installation.
Set "JetBrains Mono Regular" as the font for the system Terminal, Sublime, VS Code, and Guake. Enable the font ligatures wherever possible.
Enable settings sync in the JetBrains IDEs.
Add Guake to the list of Startup Applications.
Install and set up Prey:
TEMP_DEB=$(mktemp) && wget -O "$TEMP_DEB" 'https://downloads.preyproject.com/prey-client-releases/node-client/1.13.0/prey_1.13.0_amd64.deb' && sudo dpkg --skip-same-version -i "$TEMP_DEB" && rm -f "$TEMP_DEB"
sudo apt --fix-broken -y install # Install Prey dependencies.
Symlink Pictures
to Dropbox/Pictures
:
rmdir ~/Pictures/
ln -s Dropbox/Pictures ~/Pictures
Symlink the Sublime user packages to the ones in Dropbox/Sublime
(see more in https://stackoverflow.com/a/11399206/1165181):
rm -rf ~/.config/sublime-text/Packages/User
ln -s ~/Dropbox/Sublime/Packages/User ~/.config/sublime-text/Packages/User
Make Calibre use the library in Dropbox/Calibre Library
.
Log out and log back in for Docker to work without sudo.
Set up the local bashrc and netrc file:
pushd ~
ln -s ~/Dropbox/.bashrc.local
ln -s ~/Dropbox/.netrc
popd
Set up an echo cancellation mic for PulseAudio:
cat <<EOF | sudo tee -a /etc/pulse/default.pa
.ifexists module-echo-cancel.so
load-module module-echo-cancel aec_method=webrtc source_name=echo_cancelled source_properties=device.description=EchoCancelled sink_name=echo_cancelled_sink
set-default-source echo_cancelled
set-default-sink echo_cancelled_sink
.endif
EOF
pulseaudio -k
sudo addgroup $USER audio # To load the config at boot time.
If using PipeWire, follow the steps to install NoiseTorch.
Run the following to include some common SSH configs:
if ! grep -q 'Include ~/Dropbox/ssh_config' ~/.ssh/config; then
echo 'Include ~/Dropbox/ssh_config' >> ~/.ssh/config
fi
Free the key binding Ctrl + . so it can be used by IntelliJ.
Test WebGL on Chrome (you should get 50-60 FPS). If not, force hardware-accelerated rendering in Google Chrome.
I save the git config in a 2nd user-specific path (~/.config/git/config
), so I can override stuff in the local machine (in ~/.gitconfig
), such as the email.
To debug the ~/.bashrc
file when opening a new terminal gets slow, see this gist.