This repo contains my dotfiles. I've decided to go with the bare repository approach (at least for linux).
All the os specific files into their own branches (linux/windows).
- From a fresh install of Debian 10/11, open a console (Ctrl-Alt-F2)
- Login as the user you created when installing the os
- Change to root:
su - - Install curl:
apt install -y curl - Run the start-here script:
curl -Lks https://raw.githubusercontent.com/shiitake/.cfg/linux/.local/bin/setup/go.sh | bash -s username - Wait for everything to finish.
- Once it has completed reboot and login:
sudo reboot
-
Create git repository location: c:\git, clone this repo
git clone [email protected]:shiitake/.cfg.gitand checkout the windows branchget checkout windows -
Enable Window's Subsystem for Linux (WSL). From administrator PowerShell run
wsl --install. This will require a reboot to fully complete -
Install Chocolatey -
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) -
Install Chocolatey packages from an elevated command prmopt
- For dev stuff:
choco install -y .\choco\dev.config - For basic stuff:
choco install -y .\choco\base.config
- Copy and paste the contents of settings.json into the WindowsTerminal settings
- Make sure the backgroundImage path is correct (it should be if your git repository is C:\git)
$termlocation='\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\'
$destination= join-path -path $([System.Environment]::ExpandEnvironmentVariables("LOCALAPPDATA%")) -childpath $termlocation
Copy-Item -Path .\Windows\settings.json -Destination $destination
- Download the fonts you want - probably the easiest way to do this is with
scoop.sh(also see https://github.com/matthewjberger/scoop-nerd-fonts): a.iwr -useb get.scoop.sh | iexb.scoop bucket add nerd-fontsc.scoop install sudod.sudo scoop install FantasqueSansMono-NFe.sudo scoop install Inconsolata-NF - Copy the powershell profile to correct location:
$profileDir = Split-Path -parent $profile
New-Item $profileDir -ItemType Directory -Force -ErrorAction SilentlyContinue
Copy-Item -Path ./*.ps1 -Destination $profileDir -Exclude "bootstrap.ps1"
Remove-Variable profileDir
-
Install some PowerShell stuff: a. PowerTemplate
Import-Module -Name C:\git\.cfg\PowerShell\PowerTemplate\ -Verboseb. Oh-My-Posh:Install-Module oh-my-posh -Scope CurrentUser -AllowPrereleasec. Posh-git:Install-Module posh-git -Scope CurrentUserd. Posh-SSH:Install-Module -Name Posh-SSH -
Setup neovim:
- copy init.vim to
~\AppData\Local\nvim\init.vim - install vim-plug:
iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | ni $HOME/vimfiles/autoload/plug.vim -Force
- Move this stuff to it's own script
- Be smarter.
NOTE: I've found a few examples of how people have setup their window's dotfile.
https://github.com/jayharris/dotfiles-windows https://dev.to/deusmxsabrina/getting-started-with-dotfile-management-with-git-on-windows-3jm0