show/hide
- WSL
- Use package managers whenever possible (
apt,brew,winget,choco,npm) - Dotfiles are symlinked from this repo into
$HOME - (Mini)Conda, Jupyter, Python
- LaTeX + reveal-md for typesetting
- Bash with
Oh-My-Posh
The bootstrap file will take care of installing almost everything in my Linux subsystem. Just cd into the local folder of this repo and run ./bootstrap. This bootstrap script calls the individual installers to set up the dotfiles, bin/, and package installers using APT, Homebrew (Linuxbrew), and NPM.
cd $HOME
git clone https://github.com/LSYS/dotfiles.git
cd dotfiles
./bootstrapThe PowerShell scripts in win/ will take care of installing Windows OS applications using winget and, to a smaller extent for applications that cannot be installed from winget, Chocolatey.
To install apps using winget and Chocolatey:
cd win
./winget.ps1
./choco.ps1-
Install
WSL: OpenPowerShellas administratorwsl --install -d Debian # confirm that bash is running which $SHELL
-
Install Native Windows apps: Open
PowerShell(./choco.ps1need Admin)./winget.ps1 ./choco.ps1
This will install
WindowsTerminalandOh-My-Posh. Typeoh-my-posh font install
to install the fonts and choose Meslo (recommended). Seth the font in WindowTerminal setting (settings.json)
{ "profiles": { "defaults": { "font": { "face": "MesloLGM NF" } } } } -
Open WSL (
Debian) in WindowsTerminal and run thebootstrapinstaller:cd $HOME/dotfiles && ./bootstrap
This will call the following installers:
dotfiles.shwin/wslconfig.shbin/install.shpackages/apt.shpackages/brew.shpackages/npm.shmonty/install.sh
-
Once
Oh-My-Poshis installed viapackages/brew.sh. Check that it workseval "$(oh-my-posh init bash)"
and symlink the poshthemes to home (where
bash/.bash_profilewill look for the themes)cd $HOME && mkdir poshthemes && cd poshthemes ln -s /home/linuxbrew/.linuxbrew/opt/oh-my-posh/themes/*
Will be installed in ./dotfiles.sh.
.
βββ bash
β βββ .aliases
β βββ .bash_profile
β βββ .exports
β βββ .functions
β βββ .inputrc.aliases: Shell aliases defined here (including some forGit).bash_profile: General bash settings (includingOh-My-Poshand sources other bashdotfiles).exports: Forenvironment variables(e.g., custom shell utilities andcondais specified here).functions: For functions too big foraliasesbut too small forbin/.inputrc: Config for input (case-insensitive completionhere)- Run
make cleancrto sanitize shell scrips for \cr carriage returns (might lead to unexpected, and quiet, breakages)
(Note: .bash_profile is the first config that will be read by bash. So this file will source all other relevant dotfiles.)
Will be installed in ./dotfiles.sh.
βββ git
β βββ .gitconfig.gitconfig: Includes Git aliases.
Will be installed by ./monty/install.sh.
βββ monty
β βββ install.sh
β βββ jupyter_notebook_config.py
β βββ requirements
β βββ base.txt
β βββ dev.txt
β βββ docs.txt
β βββ gis.txtjupyter_notebook_config.py: Needed to make sure notebooks open in browser (native from Windows)install.sh: Installs Miniconda, Jupyter Notebook (and its extensions), installs base packages into base, createsvenv(s) and installs the relevant packages into thevenv(s).
Will be installed by packages/apt.sh, packages/brew.sh, and packages/npm.sh.
βββ packages
β βββ apt.sh
β βββ brew.sh
β βββ npm.shapt.sh: Installs utilities fromAPT.brew.shSets up and installLinuxbrew.npm.sh: Sets upNVMandNPM. Installsreveal-md(reveal.js) and other utilities only available fromNPM.
Will be installed by win/winget.ps1 and win/choco.ps1 (using PowerShell; win/choco.ps1 will require admin priviledges).
βββ win
β βββ .wslconfig
β βββ .wslconfig-x1
β βββ chocolatey.ps1
β βββ terminal-settings.json
β βββ winget.ps1
β βββ wslconfig.shwinget.ps1: Installswingetand follow up by installing other applications (e.g. Chrome, WindowsTerminal, Oh-My-Posh, GNUMake, PowerToys, 7zip, Slack, Sublime Text, Git etc.).chocolatey.ps1: InstallsChocolateyand other Windows app that cannot be installed bywinget(e.g., MikTex, TexStudio, tree, postgresql, pgadmin4, du, etc.). This will requirePowerShelladmin priviledges.wslconfig.sh: Installs.wslconfigtoc/Users/<username>
βββ misc
β βββ img
β βββ .curlrc
β βββ .latexmkrc
β βββ .wgetrc
β βββ references.md
β βββ vimium.txt