Skip to content

Latest commit

 

History

History
37 lines (24 loc) · 1.7 KB

File metadata and controls

37 lines (24 loc) · 1.7 KB

dotfiles

This repository contains configuration files and setup scripts for configuring my development environment.

Why powershell?

I've experimented with a few methods in the past to maintain a consistent setup, including shell/batch scripts and Python. However, keeping two sets of scripts — one for Windows and one for Linux — proved challenging to stay up to date. Bootstrapping Python of correct versions wasn't an straightforward task as well.

After trying various scripting languages like Python, shell, and batch scripts, I found a decent solution in powershell. Using powershell, I can now easily set up configurations and install tools on both Windows and Linux with a unified approach. This not only simplifies the whole process but also saves me from the headache of managing different sets of scripts, making development more efficient and straightforward.

TODOs

  • make sure that none of commands requires admin (except package installations)

Repository structure

  • bootstrap/ - scripts to bootstrap powershell on various environments

  • packages/ - list of tools to install and how to configure them

    • packages.json - list of packages to install
    • packageName/ - configuration files for a packages with name packageName
  • docker/ - script for testing\working with this setup in a container

  • test/ - configuration tests, ensure that everything is installed correctly.

Notes

Those are created by configuration scripts:

  • $HOME/.environment.json contains environment variables loaded by $PROFILE on a new session
  • $HOME/.path.json contains path additions loaded by $PROFILE on a new session
  • Setting DOTFILES_DEBUG environment variable will enable additional logging.