+
Skip to content

tyleralbee/dotfiles

Repository files navigation

dotfiles

This repository contains my personal dotfiles managed using GNU Stow. The repository's structure mirrors that of my $HOME (~) directory; configuration files are organized to be symlinked into their proper locations.

Packages

This repository contains configuration for, or relies on the system having, the packages outlined in this section.

az

Configuration for the Azure CLI: .azure/config

Azure is my cloud provider of choice for client projects. I don't use the Azure CLI to deploy (where possible, I define infrastructure as code using OpenTofu), but I will use az for local development and testing. I typically use az when I want to interact with my local storage emulator (Azurite).

Here's output from history | rg "az " showing some recent commands I've run:

1139  az storage queue create -n stq-example-free
1140  az storage message put -q stq-example-free --content "$(base64 <<< '{"foo":"bar"}')"

.azure/config contains basic configuration for az; project-specific configuration and secrets are set with environment variables. I will always navigate to the relevant project directory before running az commands and use direnv to load project-specific environment variables. Here's an example of some of the environment variables I use for local development when working with Azurite:

export AZURITE_ACCOUNTS="stexampledev:1a2b3c4d5e:6f7g8h9i0j"
export AZURE_STORAGE_CONNECTION_STRING="AccountName=stexampledev;AccountKey=1a2b3c4d5e;DefaultEndpointsProtocol=http;BlobEndpoint=http://127.0.0.1:10000/stexampledev;QueueEndpoint=http://127.0.0.1:10001/stexampledev;TableEndpoint=http://127.0.0.1:10002/stexampledev;"
export AZURE_STORAGE_ACCOUNT="stexampledev"
export AZURE_STORAGE_KEY="1a2b3c4d5e"
export AZURE_CONFIG_DIR="/home/user/orgs/orgname/projectname/apps/example/.azure"

I do not have any extensions installed for az.

stow

Download GNU Stow using a package manager:

sudo apt install stow

Create symbolic links for the contents of dotfiles:

stow .

This command will place symbolic links from dotfiles/* in ~/*. If a file exists at the path where GNU Stow should put a symbolic link, this command will fail.

To ensure stow creates symbolic links in place of existing files, use the --adopt flag:

stow --adopt .

Warning

This command will replace the file in this directory (dotfiles/*) with the file in the target directory (~/*). Ensure changes are committed to git before running this command.

tmux

Bash completions for tmux are configured by a script I pulled from here and wrote to ~/.local/share/bash-completion/completions/tmux. Note that up-to-date versions of bash-completion will include completions for tmux by default.

TPM

My tmux configuration uses Tmux Plugin Manager to install and load tmux plugins.

tmux-resurrect

I use tmux-resurrect to persist and restore tmux sessions across restarts:

set -g @plugin 'tmux-plugins/tmux-resurrect'

pnpm

Bash completion for pnpm is included in ~/.local/share/bash-completion/completions/pnpm, which was generated by the following command:

pnpm completion bash > ~/.local/share/bash-completion/completions/pnpm

I use the ~/.local/share/bash-completion/completions/ directory to store my custom completions, which are automatically loaded by the bash-completion module.

Resources

About

My terminal configuration and app settings

Resources

License

Stars

Watchers

Forks

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载