A lightweight, interactive dotfile manager and installer for Windows.
Quickly set up your favorite apps, configure your shells (PowerShell, Bash, NuShell), and deploy your personal dotfiles — all from one place.
Works with Windows PowerShell 5.1 and PowerShell 7+.
git clone https://github.com/Sampong-Starluck/Sampong_dotfile.git
cd Sampong_dotfileIf you see an execution policy warning, use the Bypass flag:
- PowerShell 7+
pwsh -NoProfile -ExecutionPolicy Bypass -File .\\install.ps1 - Windows PowerShell 5.1
powershell -NoProfile -ExecutionPolicy Bypass -File .\\install.ps1
Choose what to do:
- Install apps (via winget)
- Configure your shell
- Or run the all-in-one setup
Sampong\_dotfile/
│
├─ install.ps1 # Main PowerShell installer
├─ script/
│ └─ install\_app.ps1 # Helper script for app installations
│
├─ dotfiles/ # Your actual shell configs
│ ├─ PowerShell/
│ ├─ bash/
│ └─ nu/
│
├─ json/ # Installer configuration files
│ ├─ apps.json
│ └─ shells.json
│
├─ python/ # Python helper modules and GUI/CLI tools
│
└─ main.py # Python entry point (GUI/CLI)
You can easily make it your own:
- Add/remove apps → Edit
json/apps.json - Change shell options → Edit
json/shells.json - Update your dotfiles → Modify files under
dotfiles/
If you use NuShell, make sure your config includes this line:
use C:/Users/<your-username>/AppData/Roaming/Sampong\_dotfile/nu/main\_profile.nu
main\_profile startupReplace
<your-username>with your actual Windows username.
-
App install fails?
Try running the installer again or usewinget install <app>manually. -
Profile not applied?
Open a new PowerShell window and check$PROFILE. Ensure the file path and permissions are correct. -
Execution policy issues?
Always launch scripts with:
-ExecutionPolicy Bypass -NoProfile
The repository includes a Python-based installer with a GUI and CLI version.
Requirements:
- Python 3.8+ (3.9 or 3.10 recommended)
Setup and Run:
pip install -r requirements.txtRun the GUI (default):
python main.pyRun in CLI mode:
python main.py --cliShow CLI help:
python main.py --help-cliNotes:
- The GUI uses
customtkinter. If it’s missing, install it viaor switch to CLI mode.pip install customtkinter
- The CLI supports keyboard navigation (arrow keys + space).
- If input behaves oddly, try running it from
cmd.exeor a normal PowerShell window.
- Scripts modify your user profile. Review them before running.
- Installer downloads apps from the internet — use it on trusted networks only.
- PowerShell by Tim Sneath
At the end of the day, this is just my personal dotfile setup script.
It automates installing and configuring all the apps I need before
I start coding — a convenient (and slightly lazy) way to get my development environment ready fast.