-
Generate a new
sshkey and give it a passphrasessh-keygen -t ed25519 -C "34140052+andrewbrey@users.noreply.github.com" -
Add the
sshkey toGitHub: https://github.com/settings/keys (Add it twice, once as an "Authentication key" and once as a "Signing key") -
Clone dotfiles to local
git clone git@github.com:andrewbrey/dotfiles.git ~/dotfiles -
Run bootstrap
~/dotfiles/script/bootstrap -
(Optional) Delete manually cloned dotfiles now that there is a
chezmoimanaged copyUse
chezmoito locate managed dotfiles, in particular with$(chezmoi source-path)rm -rf ~/dotfiles -
Log out and back in to ensure changes to the login shell are enabled
-
Use the
pamcli to install applications, e.g. a few apps at oncepam install -a core-tools -a kitty -a fonts
or a whole named group at once
pam install -g devcontainer
-
Use the
samcli to apply settingssam apply
init/ scripts should be executable and have a shebang similar to:
#!/usr/bin/env -S deno run --allow-sys --allow-read --allow-net --allow-env --allow-run- Running from an interactive terminal (TTY)
chezmoiinit happens last- All linux stuff happens on a
debianderivative that hasaptas the package manager - Only linux and mac are supported
-
Document usage of
DOTFILES_PASSPHRASEwithin codespaces -
Document that direct usage of
chezmoi initshouldn't happen - instead, invoke the bootstrap script as there are environment vars used duringchezmoiconfig creation that are set by the bootstrap process -
Document and/or automate how to add new shell completions (as well as why they are encrypted in the first place)
-
Document that the
.gitconfigcan only easily be edited where it's not ignored becausechezmoi edit filerespects.chezmoiignoreitems (and won't decrypt the file to allow editing). Could do something likedecrypt in source -> pipe to tmp -> make edits -> encrypt back to sourcebut that is probably not worth it when you can just make edits in an environmtn where it's not ignored (i.e. not in a devcontainer) -
Fix
yarn-error.logcaused by env vars -
Document option to use:
sh -c "$(curl -sSLf https://dotfiles.andrewbrey.com)"and how to do deploys to deno deploy using
.webscripting -
Document interaction with GH Keys (
https://github.com/andrewbrey.keys) as a public key authority and how they are provided to rpi's- In general, just need to document the "on boot" shell start background tasks
-
Make
initscripts idempotent so that if needed, thebootstrapscript can be re-run on an already-configured system -
Address
TODO: refactor to os helperscomments by using$.onMacand$.onLinuxhelpers -
Convert all apps to pull
InstallerMetaat the top of the file instead at the end -
Refactor so install logic can be shared by update logic if they are the same process
-
Update "single file binary" installers (skate, bat, etc) to use
eget(as incharminstaller) -
Fix whatever causes
tarto exit with a code of 2 when extracting (e.g.pam install flyctl)- Spent time reproducing the error using
golanginstaller, and confirmed the issue has to do with my code, nottar, notdax, notgz, not the archive fromgolangdownload site...weird, but I guess...good?
- Spent time reproducing the error using
-
Add amphetamine MacOS app to replace
keepingyouawakesince it is able to prevent system sleep on mac better while still allowing screen to sleep -
Add oatmeal llm terminal client
-
Add freeze code screenshot tool
-
Add flameshot regular screenshot tool
-
Add Nu shell for structured shell
-
Add PDF Arranger pdf tool
-
Add Cargo Binstall for faster cargo bin installs
-
Add Numbat tool for computation with awareness of physical dimensions
-
Add Pastel tool for manipulating color in the terminal
-
Add IconLibrary for an icon viewer of system icons
-
Add Ulauncher to have an extensible launcher
-
Add glow to have a terminal markdown renderer
-
Add lazysql to have a terminal sqlite admin application
-
Add oculante to have a nice image viewer
-
Add html-to-markdown to have an html to markdown converter
-
Add sniffnet to have a network traffic monitor written with iced
-
Add Recorder as an installed webapp for simple screen recording
-
Add Soar as a more capable replacement for
eget -
Add Speech Note for voice transcription
-
Add Zellij for a nicer terminal multiplexer
-
Add Carapace for more shell completions
-
Add a
script/teardownscript next toscript/bootstrapwhich can be used to remove sensitive config files and secrets in one command. Might be able to just usechezmoi purge(https://www.chezmoi.io/user-guide/advanced/migrate-away-from-chezmoi/). Should remove at least:~/.local/share/chezmoi(contains chezmoi source state)~/.config/chezmoi(contains chezmoi config files)~/.dots/.extra(prompt to read file before delete, may contain saveable info)~/.dots~/dotfiles(might not be present, depending on install steps followed)~/.ssh(confirmation prompt, also notify that ssh keys should be untrusted in GitHub)~/.zshrc~/.gitconfig
-
Remove (and probably replace) deprecated
neofetchapplication -
In
fontsno longer need to tap thehomebrew/cask-fontscask (and doing so causes brew process to exit non-zero)