Skip to content

Instantly share code, notes, and snippets.

@pinusm
Forked from cderv/00-New setup.md
Created March 3, 2021 20:20
Show Gist options
  • Save pinusm/a3a1295d17444f2d4f3f640b996df3bb to your computer and use it in GitHub Desktop.
Save pinusm/a3a1295d17444f2d4f3f640b996df3bb to your computer and use it in GitHub Desktop.
New computer setup
# 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

# 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
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 rust-msvc

## Nodejs
scoop install nodejs
npm install -g gitmoji-cli
npm install -g standard

scoop install rtools

# Fonts
scoop bucket add nerd-fonts
sudo scoop install FiraCode
sudo scoop install FiraCode-NF
sudo scoop Cascadia-Code

# 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

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'

# 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

ON WSL

## 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


Windows Terminal

Add Git Bash to Windows Terminal

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" : "~"
             }

Add PS7 as default

Change the GUID of default profile to the settings of Windows Terminal

Verified Commit

On windows

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

# 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

in WSL - Ubuntu 20

Credential store

WINDOWS 10

Included in git for windows

Ubuntu WSL

Use Git Credential Core

  • Install deps
sudo apt install gpg pass

How I set up my keypirinha

About

Install packages

Using pkgControl: https://github.com/ueffel/Keypirinha-PackageControl

  • Open Keypirinha then F2 and
import keypirinha as kp,keypirinha_net as kpn,os;p="PackageControl.keypirinha-package";d=kpn.build_urllib_opener().open("https://github.com/ueffel/Keypirinha-PackageControl/releases/download/1.0.2/"+p);pb=d.read();d.close();f=open(os.path.join(kp.installed_package_dir(),p),"wb");f.write(pb);f.close()

Installed packages

See list https://ue.spdns.de/packagecontrol/

  • Windows App
  • Recent Items
  • Windows Terminal Profiles
  • Git
  • todo-markdown
  • snippet
  • winsys
  • url-shortener
  • kill

Configure Extension

File Catalog

RStudio Profile for Rproj project

[profile/RStudio]
activate = yes
path = ${var:KNOWNFOLDER_DOCUMENTS}\**
filters = ext: Rproj
file_item_label = {profile}: {clean_name}
# Use Package Manager
cat('options(repos = c(CRAN = "https://packagemanager.rstudio.com/all/__linux__/focal/latest"))', file = "~/.Rprofile", append = TRUE)
install.packages("remotes")
remotes::install_cran("devtools")
remotes::install_cran("tinytex")
tinytex::install_tinytex()
# use renv for the setup to take advantage of the cahcing mechanism
install.packages("renv")
renv::install("usethis")
renv::install("devtools")
renv::install("rmarkdown")
renv::install("tinytex")
tinytex::install_tinytex()
# setup GITHUB
## Github PAT
usethis::browse_github_pat()
usethis::edit_r_environ()
usethis::git_sitrep()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment