Skip to content

bootstrap and single source of development cross-platform environment configuration

License

Notifications You must be signed in to change notification settings

leblocks/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

375 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

bootstrap and single source of development cross-platform environment configuration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published