Skip to content

jasontyping/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

All my dotfiles are belong to you 🛸

Introduction

I heard the cool kids are putting their dotfiles under version control. Seemed like a good idea to me.

Will they be useful to anyone else? Probably not. But here they are.

Current dotfiles

bash

bashrc

This is the stock WSL/Ubuntu bashrc with a few additions:

  • PATH: Local bin directories and pnpm directory added so local binaries and pnpm will work correctly. Why aren't these in the user profile? See the profile section below.
  • vscode: I use vscode in portable mode in WSL and want to run it from the command prompt. I have a bash function called "code" that starts vscode by running the shell script that ships with vscode.
  • editor: Set nano as default editor for things like npm and opencode.
  • nvm: Run the recommended commands to make nvm available for managing node.
  • shell: Set a prompt using oh-my-posh.

I symlink the repo copy of bashrc to $HOME/.bashrc

profile

In WSL, some shells are started as non-login shells (e.g. vscode terminals can do this, depending on configuration). In those cases the user profile isn't sourced, only bashrc is. This means I need all my PATH stuff in bashrc. Otherwise those shells don't work as expected.

Regular login shells, however, will source the user profile. To make both shell types work, I need a bare profile that only imports bashrc and does nothing else. All PATH stuff needs to be in bashrc.

By convention, paths should really go in user profile, so they still work no matter which shell you're using. Making that work with non-login shells requires a complicated mess of conditional sourcing files, which I'd rather not maintain. So this is how I have it set up.

I symlink the repo copy of profile to $HOME/.profile

git

I have an evolving list of git aliases in gitconfig.aliases, which I symlink to $HOME/.gitconfig.aliases

playwright-cli

I have playwright-cli installed globally so that LLM agents can use it to read and interactive with websites.

In WSL, it's easier to have playwright-cli use its own chromium browser. I have that set up in cli.config.json, which I symlink to $HOME/.playwright/cli.config.json

About

Various configuration files for things I do in WSL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages