Second iteration of my dotfiles, designed to be more minimal, lightweight, and have as little dependencies as possible.
For the original iteration of my dotfiles, see here.
Some interesting features/choices include:
-
Doesn't require
sudo apt installorbrew installor equivalents (given that the minimal dependencies are already installed) -
nvimconfig doesn't use a plugin manage (e.g., plug), all plugins are managed as submodules within this repository.- The installation scripts symlink the submodules to the appropriate directories
- A big advantage of this approach is that all plugin commits are pinned, meaning no more bricking your
setup by doing
:PlugUpdate, or anything like that
-
tmuxconfig doesn't requiretpm
- YOU MUST CLONE WITH
--recursivefor the repo to work
git clone --recursive https://github.com/RyanJMah/dotfiles2
- You will probably have to do
:TSUninstall allthe first time you launchnvim, if you're doing the remote setup
python3pip3curltarmake- A C compiler
tmux doesn't have stand-alone pre-built binaries like nvim does, so the install scripts
have to build it from source.
As such, if you want the tmux installation you will need some more dependencies - notably, the following:
bison
The installation scripts have some dependencies as well, install them via pip.
pip3 install -r requirements.txtAll dependencies should be able to be installed by xcode-select --install.
Locally, you can just do this.
./quick-install.shThe Linux configuration supports installing on remote servers, even if they do not have internet access due to firewalls or what not (which is quite common for large companies).
This works by doing all necessary installs from internet locally, then sftp-ing the files up. This method of installation can be invoked like so:
# see --help for more options
python3 install.py --os linux --remote localhost --user testuser --password pass --port 2222To test the installation scripts, test environments are provided. They provide a "fresh" install of the target OS to run the scripts on.
A docker container running Debian 11 is provided.
cd test_environments/linux
./spinup_container.shA computer legally running MacOS is required. Apple's own virutalization framework in swift is used to spin-up a VM running a fresh install of MacOS.
NOTE:
- To clone this repo in the VM, you will need to
xcode-select --installfirst
cd test_environments/macos
make
make run
# Delete the current VM (to start fresh)
make clean