Files
dotfiles/README.md
2025-07-30 11:48:19 +02:00

131 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🪟 WindowsSpecific Dotfiles
This branch (`windows`) contains only the configuration files and tools I use on **Windows systems**.
It is separated from the main branch to avoid mixing Linux/macOS configurations with those required only for Windows or WSL.
---
## 📦 Included Configurations
This branch includes:
- PowerShell and PowerShell Core profile settings (`Microsoft.PowerShell_profile.ps1`)
- Windows Terminal settings (`settings.json`)
- Neovim configuration (used via WSL or native Windows installation)
- `starship.toml` prompt configuration
- `zsh/` folder for WSL Zsh integration (if used)
- Windows-specific `.gitconfig` overrides
- Helper scripts (e.g., `.ps1`, `.bat`, or `.sh` under WSL)
- Optional tools: `fzf`, `bat`, `zoxide`, `ripgrep`, `fd` (via WSL or Windows-native)
---
## 🚀 Quick Setup
> ⚠️ This assumes [Git](https://git-scm.com), [PowerShell 7+](https://learn.microsoft.com/powershell/scripting/install/installing-powershell), and optionally [Windows Terminal](https://aka.ms/terminal) are installed.
Clone and install:
```powershell
git clone https://github.com/fscotto/dotfiles -b windows $HOME\.dotfiles
cd $HOME\.dotfiles
.\bootstrap_windows.ps1
````
The script will:
* Copy or symlink PowerShell profile(s)
* Configure Windows Terminal settings
* Place `starship.toml` in the correct location
* Set up additional tools if available
---
## 🧰 Optional Tools
Install these tools to get the best experience:
| Tool | Installation (native) | Usage |
| ---------- | ------------------------------ | -------------------------- |
| `starship` | `winget install starship` | Prompt in PowerShell/Zsh |
| `zoxide` | `winget install zoxide` | Smarter `cd` |
| `bat` | `winget install bat` | Better `cat` |
| `fzf` | `winget install fzf` | Fuzzy file finder |
| `fd` | `winget install fd` | Fast file search |
| `ripgrep` | `winget install ripgrep` | Recursive grep alternative |
> You can also install these inside WSL with `apt` or `xbps-install`, depending on the distro.
---
## ⚙️ Git Configuration
This branch includes Windows-specific Git settings (e.g. line endings, credential manager):
```bash
# .gitconfig.windows
[core]
autocrlf = true
[credential]
helper = manager-core
```
You can include this in your global config with:
```bash
git config --global include.path ~/.dotfiles/.gitconfig.windows
```
---
## 🖥️ Windows Terminal Settings
Settings are stored at:
```text
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
```
> You can symlink or manually copy from this repo if needed.
---
## 🧭 Branch Structure
| Branch | Purpose | Content |
| --------- | -------------------------------- | ----------------------------------------- |
| `master` | Main configuration (Linux/macOS) | Shell, Neovim, Tmux, tools, etc. |
| `windows` | Windows-only configuration | PowerShell, Windows Terminal, WSL support |
---
## 📂 Directory Structure
```text
dotfiles/
├── powershell/ # PowerShell profiles
├── windows-terminal/ # Windows Terminal settings
├── nvim/ # Neovim config (optional WSL sync)
├── starship.toml # Prompt config
├── bootstrap_windows.ps1 # Setup script
└── .gitconfig.windows # Git config overrides
```
---
## 🤝 Contributing
Found a useful Windows-only configuration or script?
Feel free to fork and open a pull request against the `windows` branch.
---
## 📝 License
MIT — Feel free to use, modify, and adapt.
---
> Maintained by [fscotto](https://github.com/fscotto)
> For Windows configuration only. See the `master` branch for full cross-platform support.