Skip to content

DustinVenegas/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dustin Venegas's dotfiles

dotfiles configurations for a portable computing environment based on POSIX and PowerShell by Dustin Venegas.

Open in GitHub Codespaces

Targets Linux, macOS, and Windows with native bootstrap scripts. Environments are configured through the magic of symlinks.

build

Installation

Bootstrap scripts are located under ./scripts/. Using native POSIX/PowerShell scripts avoids taking bootstrapping dependencies.

Run a bootstrap script in 'whatif' mode:

  • POSIX-Based OS: ./script/bootstrap.sh --whatif --verbose
  • Windows OS: ./script/bootstrap.ps1 -verbose -whatif

Health

Perform a basic environment health check with ./script/check-dotfles-health.sh.

Why PowerShell Core?

Because piping objects with properties and functions is fun and useful. PowerShell is just a cross-platform shell. POSIX is for glue code and PWSH is for exploration.

Get-ChildItem $HOME -Force | # items in $HOME
  Select-Object Name, @{
    Name="FirstLine";
    Expression={Get-Content $_ -ReadCount 1 -ErrorAction Ignore}
  } | # object with Name and FirstLine.
  Tee-Object -Variable files | # save pipeline to a variable
  Format-Table # output as a table

Approximate Command Output

Package Managers

./Packages contains bundles of packages for package managers like Chocolatey, Homebrew, and apt.

# Chocolatey
choco install ./Packages/chocolatey-desktop.config

# Homebrew
brew bundle install --file=./Packages/Brewfile

# apt
sed 's/#.*//' ubuntu-installs.txt | xargs sudo apt-get install`

Components

Notable components included in this dotfiles repository.

  • bash shell. Local Configuration: $HOME/.bashrc.local docs
  • Markdownlint is a CLI tool used to lint Markdown files. docs
  • Kitty is a terminal emulator for Unix-like platforms. Configuration at $HOME/.config/kitty/. docs
  • ripGrep searches files like grep and also respects your .gitignore. Configuration must be set with envvar RIPGREP_CONFIG_PATH. docs
  • git SCM. Local Configuration: $HOME/.gitconfig_local. OS Configuration: $HOME/.gitconfig_os. docs
  • neovim is a modal editor and successor to vim that works cross platform on Linux, macOS, Windows, and others. docs
  • PowerShell Core cross-platform object-oriented shell. docs
  • Windows PowerShell is a Windows-only object-oriented shell.
  • zsh shell. docs
  • oh-my-posh is a custom prompt that works across many platforms. docs
  • rclone provides programs to manage cloud storage, including mounting, syncing, cp/mv/ls/etc. docs
  • Windows Terminal is a terminal emulator and multiplexer for Microsoft Windows that supports unicode fonts. docs
  • wsl Windows Subsystem for Linux. docs
  • vim the OG modal editor. docs

Examples

Windows Terminal Running PowerShell

Windows Terminal Console Window

bash on Ubuntu

bash console on Ubuntu

pwsh on Windows

pwsh console on Windows

nvim-qt

nvim-qt

Related Projects

Releases

No releases published

Packages

No packages published