# installed by winget
winget install PowerShell-Preview
winget install git
git config --global user.name "Christophe Dervieux"
git config --global user.email christophe.dervieux@gmail.com
winget install rstudio
winget install vscode
winget install -e R
winget install Github.GithubDesktop
winget install Notepad++
winget install notion
winget install Chrome
winget install SumatraPDF
winget install autohotkey
winget install fork
## Visual Studio Build Tool
## https://visualstudio.microsoft.com/fr/visual-cpp-build-tools/
## /!\ VERY LONG INSTALLATION /!\
winget install Microsoft.VisualStudio.BuildTools
# install scoop
iwr -useb get.scoop.sh | iex
scoop checkup
scoop install 7zip
scoop install innounp
scoop install dark
scoop install sudo
sudo Add-MpPreference -ExclusionPath 'C:\Users\chris\scoop'
sudo Add-MpPreference -ExclusionPath 'C:\ProgramData\scoop'
sudo Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1
# installed with scoop
scoop bucket add extras
scoop install keypirinha
keypirinha.exe
scoop install pandoc
scoop install pandoc-crossref
scoop install everything
scoop install hugo-extended
scoop install jq
scoop install ffmpeg
scoop install gifski
scoop install screentogif
scoop install joplin
scoop install optipng
scoop install age
# Prefer Oh My Posh
# scoop install pshazz
# sudo Set-Service ssh-agent -StartupType Manual
# scoop install concfg
# concfg export console-backup.json
# concfg import solarized-dark
scoop install aria2
scoop install nano
scoop install gh
# add autocompletion
# (handled with chezmoi)
Add-Content -Path (echo $profile) -Value 'try { $null = gcm gh -ea stop; Invoke-Expression -Command $(gh completion -s powershell | Out-String) } catch { }'
scoop install bit
# add autocompletion
bit complete
scoop install bat
scoop install less
scoop install tldr
## Rust
scoop install rustup
## Nodejs
scoop install nvm
nvm install lts
nvm use lts
npm install -g gitmoji-cli
npm install -g standard
# Fonts
scoop bucket add nerd-fonts
sudo scoop install -g FiraCode FiraCode-NF FiraMono-NF FiraMono-NF-Propo Cascadia-Code CascadiaCode-NF CascadiaCode-NF-Mono CascadiaCode-NF-Mono Iosevka-NF Iosevka-NF-Mono JetBrainsMono Lekton-NF
# r-bucket
scoop bucket add r-bucket https://github.com/cderv/r-bucket.git
scoop install rig
rig add release
rig system make-links
rig system update-rtools40
rig system setup-user-lib
rig system add-pak
rig system rtools add
scoop install rstudio-daily
scoop install positron
scoop install quarto
scoop install quarto-prerelease
# chezmoi
scoop install chezmoi
## Some docs:
## - https://haril.dev/en/blog/2023/04/08/chezmoi-basic-settings
## - https://budimanjojo.com/2021/12/13/managing-dotfiles-with-chezmoi/
# Installing Julia
winget install --id Julialang.Juliaup
# Configure powershell
## Powerline setup https://docs.microsoft.com/en-us/windows/terminal/tutorials/powerline-setup
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
Install-Module -Name PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck
Install-Module -Name Terminal-Icons -Repository PSGallery
Set-PowerLinePrompt -PowerLineFont
Add-Content -Path (echo $PROFILE) -Value '# Powerline setup'
Add-Content -Path (echo $PROFILE) -Value 'Import-Module posh-git'
Add-Content -Path (echo $PROFILE) -Value 'Import-Module oh-my-posh'
Add-Content -Path (echo $PROFILE) -Value 'Set-Theme Paradox'
# Use starship instead (https://starship.rs)
scoop install starship
## Deactivate conda prompt
conda config --set changeps1 False
# Activate WSL
## * https://docs.microsoft.com/fr-fr/windows/wsl/install-win10)
## * https://support.rstudio.com/hc/en-us/articles/360049776974-Using-RStudio-Server-in-Windows-WSL2
sudo dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
## WSL 2
sudo dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
## restart
## update kernel : https://docs.microsoft.com/fr-fr/windows/wsl/wsl2-kernel
sudo wsl --set-default-version 2
## Install ubuntu from winstore and run it to install
## Share env var (https://devblogs.microsoft.com/commandline/share-environment-vars-between-wsl-and-windows/)
setx WSLENV
## Configure RStudio Server on WSL
sudo apt-get update
sudo apt-get upgrade -y
## Add repo
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
sudo add-apt-repository 'deb https://cloud.r-project.org/bin/Linux/ubuntu focal-cran40/'
## install R and dependencies
sudo apt install -y r-base r-base-core r-recommended r-base-dev gdebi-core build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev
wget https://rstudio.org/download/latest/stable/server/bionic/rstudio-server-latest-amd64.deb
sudo gdebi rstudio-server-latest-amd64.deb
## Install tools
wget https://github.com/cli/cli/releases/download/v0.11.1/gh_0.11.1_linux_amd64.deb
## Install bit
## https://github.com/chriswalz/bit#using-curl-simplest-way-to-install
curl -sf https://gobinaries.com/chriswalz/bit | sh;
bit complete;
## install rust - https://www.rust-lang.org/tools/install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install natls
## Add to ~/.bashrc
if [ -d "$HOME/.cargo/bin" ] ; then
export PATH=$PATH:$HOME/.cargo/bin
fi
Install with Scoop
scoop install archwsl
Other resources:
Useful when issue about corrupt keys https://ostechnix.com/fix-invalid-corrupted-package-pgp-signature-error-arch-linux/
sudo pacman -S archlinux-keyring
pacman -Syyu
pacman -S base-devel
pacman -S p7zip unzip pygmentize vim htop git jq openssh rsync
pacman -S github-cli
gh auth login
pacman -S bat
pacman -S pyenv # https://github.com/pyenv/pyenv
- Add pyenv init to config file
- Set
~/.local/bin
to PATH - configure virtualenv plugin: https://github.com/pyenv/pyenv-virtualenv
Configure AUR
nano /etc/pacman.conf
Insert
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
managed by chezmoi now
Generate a new GUID in Powershell [guid]::NewGuid()
the use it to add this to the settings, like
{
"guid": "{984211b2-e509-4709-91bd-814957a997f8}",
"name": "Git-Bash",
"commandline": "%PROGRAMFILES%\\Git\\bin\\bash.exe",
"icon": "%PROGRAMFILES%\\Git\\mingw64\\share\\git\\git-for-windows.ico",
"startingDirectory" : "~"
}
Change the GUID of default profile to the settings of Windows Terminal
-
https://docs.github.com/en/github/authenticating-to-github/generating-a-new-gpg-key
-
https://gist.github.com/BoGnY/f9b1be6393234537c3e247f33e74094a
-
https://www.katescomment.com/how-to-add-additional-email-addresses-to-your-gpg-identity/
-
https://www.jessesquire.com/articles/2019/03/31/configure-github-activity-signing-with-wsl/
-
https://cderv.rbind.io/2021/10/11/signed-git-commit-with-keybase-and-gpg-on-windows-10/
Could be useful:
- https://jamespanther.com/writings/using-keybase-for-ssh-with-gpg-agent-on-macos/
- https://gist.github.com/matusnovak/302c7b003043849337f94518a71df777
- https://www.integralist.co.uk/posts/security-basics/#7.3
# Export as public key to local gpg keyring
keybase pgp pull
# check keys
gpg --list-keys --keyid-format LONG
# if missing do
keybase pgp export | gpg --import
Use Git Bash, as Git For Windows includes gpg. It is the easiest as already included and used by git itself.
gpg --full-generate-key
gpg --list-secret-keys --keyid-format LONG
gpg --list-keys --keyid-format LONG
# add another email
# <id> can be email
gpg --edit-key <id>
> adduid
> save
git config --global user.signingkey <KEY>
git config --global commit.gpgsign true
git config --global gpg.program gpg
gpg --armor --export <key>
Then put in Github: https://github.com/settings/keys
From https://blog.jmorbegoso.com/post/configure-github-gpg-key-in-windows-and-wsl/
$gnupgPath = (gcm gpg).Source
$gnupgWslPath = wsl wslpath $gnupgPath
wsl -d "Ubuntu-22.04" git config --global commit.gpgsign true
wsl -d "Ubuntu-22.04" git config --global user.signingkey "[email protected]" # email act as GPG alias here
To set the program path it can't be set from command because of escaping whe (x86) is in the name
It should have been
wsl -d "Ubuntu-22.04" git config --global gpg.program "`"" + $gnupgWslPath + "`""
wsl -d "Ubuntu-22.04" ~/.gitconfig
but it does not work.
So
-
Connect to WSL distro
-
Type the command directly
[gpg] program = "/mnt/c/Program Files (x86)/GnuPG/bin/gpg.exe"
Included in git for windows
Use Git Credential Core - Built in Git for Windows But setup for WSL with https://docs.microsoft.com/fr-fr/windows/wsl/tutorials/wsl-git#git-credential-manager-setup
- Install deps
sudo apt install gpg pass
Source: https://itsfoss.com/install-git-ubuntu/
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git
For add-apt-repository
, do sudo apt install software-properties-common
https://docs.github.com/fr/copilot/github-copilot-in-the-cli/using-github-copilot-in-the-cli
gh extension install github/gh-copilot
gh extension upgrade gh-copilot
winget install --id Anaconda.Miniconda3