Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/victorfrye/dotfiles

⚙️ My personal dotfiles to initialize Windows machine configuration
https://github.com/victorfrye/dotfiles

devex devtools dotfiles git machineconfiguration personal powershell windows winget

Last synced: 3 days ago
JSON representation

⚙️ My personal dotfiles to initialize Windows machine configuration

Awesome Lists containing this project

README

        


Windows

My Windows Dotfiles


My personal dotfiles to initialize Windows machine configuration


[![Unlicense license](https://img.shields.io/badge/License-Unlicense-blue.svg)](/LICENSE)

## Technology Stack



PowerShell


Git


GitHub


Windows

My Windows dotfiles are a collection of steps, scripts, and configuration files to initialize a Windows machine. The primary technologies attributed to this project are:

- **PowerShell**: The primary scripting language used to automate the configuration of the local machine.
- **GitHub**: The version control system and platform used to store and serve the distribution of the dotfiles.
- **Windows**: The intended operating system for the development environment.
- **WinGet**: The package manager used to install software and tools on the destination machine.

## Overview

This repository is a partially automated set up of local machine configuration on a Windows device. A few pre-requisite steps are outlined in the below set up guide. The final step is the download and invocation of the [Install-Dotfiles.ps1](./scripts/Install-Dotfiles.ps1) script. This script will do the following:

- Install [Git for Windows](https://git-scm.com/)
- Format a [Dev Drive](https://learn.microsoft.com/en-us/windows/dev-drive/) if one doesn't already exist
- Clone repository to Dev Drive or fetch latest if already exists
- Import [WinGet packages](./files/Packages.json)
- Install a [Nerd Font](./files/Fonts)
- Install [PoshGit](https://github.com/dahlbyk/posh-git)
- Install [PoShFuck](https://github.com/mattparkes/PoShFuck)
- Install [Azure PowerShell](https://learn.microsoft.com/en-us/powershell/azure/install-azps-windows)
- Set [PowerShell Profile](./files/Profile.ps1)
- Set Environment Variables

## Instructions

### Install PowerShell

1. Install PowerShell via WinGet:

``` cmd
winget install --exact --id Microsoft.PowerShell.Preview --source winget
```

2. Open a PowerShell session for further steps.

### Install Windows Subsystem for Linux (aka WSL)

1. Install WSL directly via the following command:

``` cmd
wsl --install
```

2. Afterwards, you will need to restart the machine before continuing.

### Invoke Dotfiles

1. From an administrative PowerShell session, set execution policy to remote signed and invoke dotfiles installation:

``` pwsh
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Invoke-RestMethod -Uri 'https://raw.githubusercontent.com/victorfrye/dotfiles/main/scripts/Install-Dotfiles.ps1' | Invoke-Expression
```