On Linux I mostly use GNU Bash and edit in neovim. I prefer GNOME or Pop!_OS for a graphical environment because those are the only two I've used that I know how to configure basic keybinds for.
I either use the
gnome-terminal
default
or alacritty
for a terminal
emulator. wezterm
is another good option
that I haven't tried yet.
Recently I've been trying to stand up a usable Windows environment. On Windows I use Windows Terminal for an emulator and default it to PowerShell.
Below are some notes on setup scripts and configuration files contained in the repository.
Bash scripts can be found in the bash
directory and PowerShell
scripts can be found in the ps1
directory.
Sripts generally have the form *_(setup|install).(sh|ps1)
and the script
contents leverage some common shell functions in most cases so they're
easier to read and understand.
Below are some older notes that I'm keeping in for now.
./
link_files.sh
symbolically links these files to your
$HOME
directory./
setup_apt_packages.sh
installs useful apt
packages./
setup_grip.sh
adds the md
alias to locally host
rendered GitHub markdown./
setup_nvim.sh
installs Neovim
and makes it a default terminal editor./
setup_rust.sh
installs and sets up environment
variables for Rust./
setup_vscode.sh
installs and sets up
VSCodiumIt may be necessary to execute Set-ExecutionPolicy Bypass
to execute PowerShell
scripts, as well as running PowerShell
as an administrator.
.\
setup.ps1
may need to run multiple times does a few things:
.\
install_ps7.ps1
choco
).\
choco_installs.ps1
to install useful
system dependencies (e.g. text editors).\
link_files.ps1
to link our
PowerShell Profile
(profile.ps1
) to the correct location, plus other
configurationsThe goal is to prefer symbolic links to the actual source files in this repository rather than relying on copies or appends to files.
In .gitignore
we exclude .bash_includes/*.sh
so that members
of bash_deps
can be "loaded" in via symbolic links when the
relevant setup script is executed and the setup scripts opts to link a file.
Overall, this makes it easier to manage the N+1 case of further automating something like an initial workstation setup.