My collection of dotfiles + a bootstrapping script
- Cross Platform - Meant to work on Linux (Mint) and Windows
- Linking - Symlinks over copying
- Public - Private keys and licenses are separate (for now... keeping an eye on git-crypt)
- Automatic -
python bootstrap.py
sets up everything.--verify-only
only verifies, and is run every time I open a terminal - Multi-environment - All configs have defaults, though special configs with suffix
##XXX
can be chosen with priority using--environment=XXX
flag
Supports:
as well as asdf, Z, flameshot, Discord, ffmpeg, Insomnia, Krita, OBS, Seafile, Promnesia, and a ton more,,,
cd ~
sudo apt update && sudo apt install git
git clone https://github.com/Cobertos/dotfiles.git
cd dotfiles
git submodule init
git submodule update # For ASDF and Z
python3 bootstrap.py # Make sure to use the right --environment=XXX
# https://github.com/danhper/asdf-python
# https://github.com/pyenv/pyenv/wiki/Common-build-problems
asdf plugin add python
sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
asdf install python latest:3.8
asdf global python 3.8.7
# https://github.com/asdf-vm/asdf-nodejs
asdf plugin add nodejs
bash -c '${ASDF_DATA_DIR:=$HOME/.asdf}/plugins/nodejs/bin/import-release-team-keyring'
asdf install nodejs lts
asdf global nodejs 14.15.4
pip install requests
python bootstrap.py # To get all node and python dependencies
# TODO: If you have no system python in your OS, you will probably want to get one
# or install asdf manually (source the correct file into your terminal first)
This no longer works, but should I go back to Windows I'll have to update. The steps to get this to work on Windows will be something like
- Find a replacement for asdf on Windows
- The current code will work with plain old pyenv and nvm, so you could always install those manually first
- Fix all issues with \ and / paths
- Find comparable packages in chocolatey, or use Ninite or something
The old installation:
- Install chocolatey
- I would like to automate this but there's a lot of overhead with Python)
choco install ./packages.config
- Install
pyenv
by downloading and extracting at the correct location and setting up variables - Install Python 3.6+
python bootstrap.py
- Make sure to use the right
--environment=XXX
!
- Make sure to use the right
- You will need to manually install nvm for Windows for nodejs stuff
- Install Firefox
- Login to Firefox
- Disable DNS over HTTPS (or figure out a way to get hosts file working without it)
- Setup the search engine aliases for
@google
,@gh
switch to Startpage for default engine - Login to InoReader
- Login to Mangools
- Migrate any Tampermonkey scripts (or put them in here or something)
- Sublime
- Install package control to recognize symlinked packages
- Install license and license for FTP
- Setup TabNine (TabNine::Config then paste key for TabNine Local)
- Spotify
- Toggle download playlists
- Install Unity Hub
- Blender is installed separately (managing multiple Blender versions)
- Setup OBS to record into Seafile (save these prefs)
- Setup Unity defaults (External editor and stuff) (would be nice to capture these prefs)
- Hide excess folders in explorer/nemo, like Picture, Videos, etc
- Docker (removal of old and getting new)
- Migrate from old computer
- Insomnia configs (all the sqlite databases in Insomnia's home directory)
- .aws keys
- .ssh keys
- .npmrc keys
- Any environment variables holding keys
- Firefox/Chrome/wherever history
- Setup filesystem favorites
- Configure Linux Mint Desktop
- Change the theme to Dark (for Window borders, controls, and desktop)
- Change wallpapers/backgrouns to the folder that has them all in it
- Add a panel to every monitor, without grouped list applet merging and with window titles
- Change the Linux Mint start menu icon
- Install NVIDIA and eGPU drivers and all the work that goes into that
sudo apt install nvidia-driver-460
- Disable secure boot and thunderbolt security
- Add the XOrg configuration, and double check the PCIe Bus IDs
- Consider working on HotPlug support https://jpamills.wordpress.com/2017/03/18/hotplug-support-for-egpu-on-linux/
- Windows settings
- Lockscreen picture
- Uninstall unwanted default apps
- Connect phone to My Phone
- Login to other Microsoft related products (Office)
- Install office
- Set surface pen pressure to like 8-9?
- Configure taskbar preferences (non grouping etc)
- Remove certain pins from the taskbar
- Make backspace faster/proper speed
- Remove OneDrive
- Rename computer
- Install Windows App Store apps (including Paint.NET and Spotify)
- Voicemeeter Banana (Linux / Ubuntu equivalent?)
- Setup correct file associations (for .xml, .html, etc...)
- VLC Plugins
- Audacity and configurations
- Make sure that Chrome/Firefox syncs settings for refined GitHub (looks like it worked)
- /etc/hosts and C:\Windows\System32\drivers\etc\hosts or wherever it is in Windows
- Seafile notifications disabling?
- Configure keybindings (like for flameshot)
- Add a little indicator to PS1 when dotfiles is out of date
- Make
findcode
better/nicer. Can we have some sort of indexing search? - Put Userscripts for Tampermonkey in here (or maybe submodule? would be nice to use their WebDAV interface)
- Switch pip over to use the --user flag, or make it an option? Not sure what pipx needs?
- Pulling in z's config, as it should honeslty be separate per-machine, due to file path differences, and it can contain things I don't want public
- Re-evaluate if ConEmu needs to be used at all
- Installing chocolatey packages
- A separate packages.config for different workflows
- Readd all the windows registry, theme stuff, and paint.NET
- The ansible branch had some extras for screen rotation disable and removing Python execution aliases on Windows
- The ansible branch also solves choco git install flags better, and by default asks for WSL to be installed (which IMO is smarter)
- Windows PowerTools?
- Consider removing WavesMaxxAudio to stop popup and background processing
- Consider applying filter keys faster repeats fix
- https://superuser.com/questions/1058474/increase-keyboard-repeat-rate-beyond-control-panel-limits-in-windows-10
- This seems to be a Windows 10/Dell Latitude issue. I dont have this issue on this computer in Linux Mint...
- Disable Intel AMT