Updated github links to instead link to personal git server
Some checks failed
CI / lint (push) Failing after 5s
CI / build (push) Has been skipped
CI / deploy (push) Has been skipped

This commit is contained in:
alejandro-angulo 2024-11-15 17:52:41 -08:00
parent bb06f5b163
commit c35a6fdfe5
Signed by: alejandro-angulo
GPG key ID: 75579581C74554B6
3 changed files with 66 additions and 47 deletions

View file

@ -7,9 +7,10 @@ date: 2020-07-16T21:42:33-07:00
This is a static site generated using [Hugo](https://gohugo.io/). There's a This is a static site generated using [Hugo](https://gohugo.io/). There's a
public repo for this site public repo for this site
[here](https://github.com/alejandro-angulo/alejandr0angul0.dev). Nothing fancy [here](https://git.alejandr0angul0.dev/alejandro-angulo/alejandr0angul0.dev).
going on. I'm planning on using this site as a sort of personal documentation. Nothing fancy going on. I'm planning on using this site as a sort of personal
Hopefully what I write here will be useful to whoever stumbles upon it. documentation. Hopefully what I write here will be useful to whoever stumbles
upon it.
For you vim fans, this site supports scrolling vertically with vim bindings (as For you vim fans, this site supports scrolling vertically with vim bindings (as
long as you allow this site to run javascript). As of now the following are long as you allow this site to run javascript). As of now the following are
@ -24,7 +25,8 @@ supported:
I'm Alejandro Angulo, a code monkey living in the Los Angeles area. When I'm I'm Alejandro Angulo, a code monkey living in the Los Angeles area. When I'm
not ~~introducting bugs~~ writing beautiful, performant code I like [working on not ~~introducting bugs~~ writing beautiful, performant code I like [working on
random personal projects](https://github.com/alejandro-angulo/qmk_firmware/), random personal
projects](https://git.alejandr0angul0.dev/alejandro-angulo/qmk_firmware/),
going to the gym, and hanging out with my wife and our chihuahua. going to the gym, and hanging out with my wife and our chihuahua.
## Contact ## Contact

View file

@ -7,25 +7,32 @@ keywords = ["dotfiles"]
showFullContent = false showFullContent = false
+++ +++
Not too long ago I had completely different configurations across different computers. Terminal color schemes between computers Not too long ago I had completely different configurations across different
weren't consistent. Git was configured slightly differently between all computers. Lucky for me, there's a program that's well computers. Terminal color schemes between computers weren't consistent. Git was
suited for this task: [stow](https://www.gnu.org/software/stow/). configured slightly differently between all computers. Lucky for me, there's a
program that's well suited for this task:
[stow](https://www.gnu.org/software/stow/).
Special thanks to [Brandon Invergo](http://brandon.invergo.net/) for Special thanks to [Brandon Invergo](http://brandon.invergo.net/) for [his blog
[his blog post](http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html) documenting how he uses post](http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html)
stow to manage dotfiles. documenting how he uses stow to manage dotfiles.
## Git & Stow ## Git & Stow
Before I found stow I was using a [purely git-based workflow](https://github.com/alejandro-angulo/dotfiles-bak). It worked but it Before I found stow I was using a [purely git-based
was a little clunky keeping a git repo at the root of my home directory. One minor annoyance was that the repo's README would show workflow](https://git.alejandr0angul0.dev/alejandro-angulo/dotfiles-bak). It
up in my home directory whenever I ran `ls` (minor, I know, but it didn't feel _right_ to me). I was always a little paranoid that worked but it was a little clunky keeping a git repo at the root of my home
I would accidentally commit some secret inside of `~/.cache` too. directory. One minor annoyance was that the repo's README would show up in my
home directory whenever I ran `ls` (minor, I know, but it didn't feel _right_ to
me). I was always a little paranoid that I would accidentally commit some secret
inside of `~/.cache` too.
My [updated workflow](https://github.com/alejandro-angulo/dotfiles/tree/0af75c92fdbf908f9445bfbaf5e07b0e223db97d) still uses git My [updated
but I no longer maintain a repo at the root of my home folder. Instead, I use stow to manage symlinks for me. My directory workflow](https://git.alejandr0angul0.dev/alejandro-angulo/dotfiles/tree/0af75c92fdbf908f9445bfbaf5e07b0e223db97d)
structure is cleaner now with a directory for each set of configuration files (below are my git and [terminal still uses git but I no longer maintain a repo at the root of my home folder.
emulator](https://alacritty.org/) configurations). Instead, I use stow to manage symlinks for me. My directory structure is cleaner
now with a directory for each set of configuration files (below are my git and
[terminal emulator](https://alacritty.org/) configurations).
```zsh ```zsh
tree -a git alacritty tree -a git alacritty
@ -42,20 +49,22 @@ alacritty
4 directories, 3 files 4 directories, 3 files
``` ```
Installing the configurations for those two programs is as easy as running `stow -t ~ alacritty && stow -t ~ git`. Installing the configurations for those two programs is as easy as running `stow
-t ~ alacritty && stow -t ~ git`.
## Handling Plugins (and Plugin Managers) ## Handling Plugins (and Plugin Managers)
There are some utilities ([vundle](https://github.com/VundleVim/Vundle.vim), There are some utilities ([vundle](https://github.com/VundleVim/Vundle.vim),
[base16-shell](https://github.com/chriskempson/base16-shell), [Oh My ZSH](https://github.com/ohmyzsh/ohmyzsh), etc) that I want to [base16-shell](https://github.com/chriskempson/base16-shell), [Oh My
have available regardless of my underlying system's environment. I set up submodules in my git repo for these utilities so that I ZSH](https://github.com/ohmyzsh/ohmyzsh), etc) that I want to have available
have those utilities available without having to go through my system's package manager (brew, apt, yay, etc). regardless of my underlying system's environment. I set up submodules in my git
repo for these utilities so that I have those utilities available without having
to go through my system's package manager (brew, apt, yay, etc).
As an added bonus, I can rely on plugin managers to pull in the bulk of my dependencies without cluttering up my git repo with a As an added bonus, I can rely on plugin managers to pull in the bulk of my
bunch of submodules. dependencies without cluttering up my git repo with a bunch of submodules.
```zsh ```zsh tree -a -L 3 vim
tree -a -L 3 vim
vim vim
├── .vim ├── .vim
│   ├── bundle │   ├── bundle
@ -91,22 +100,26 @@ vim
vim/.vim/bundle/Vundle.vim vim/.vim/bundle/Vundle.vim
``` ```
Instead of setting up submodules for each individual vim plugin I only have a submodule for vundle (a vim plugin manager) and then Instead of setting up submodules for each individual vim plugin I only have a
I run `vim +PluginInstall +qall` to pull in my vim plugins. submodule for vundle (a vim plugin manager) and then I run `vim +PluginInstall
+qall` to pull in my vim plugins.
## Special Snowflake Configurations ## Special Snowflake Configurations
There are some cases where I don't want to use the exact same configuration across all my devices. I've found that this situation There are some cases where I don't want to use the exact same configuration
comes up in one of two cases: across all my devices. I've found that this situation comes up in one of two
cases:
- device-specific configuration - device-specific configuration
- environment-specific configuration - environment-specific configuration
### Device-Specific Configurations ### Device-Specific Configurations
I have certain configurations that are device-specific. For example, I have a `sway` configuration but there are slight I have certain configurations that are device-specific. For example, I have a
differences between my laptop and desktop because the output configuration isn't the same (one display vs multiple displays). To `sway` configuration but there are slight differences between my laptop and
handle this I have `sway-carbon` and `sway-gospel` directories in my dotfiles repo. desktop because the output configuration isn't the same (one display vs multiple
displays). To handle this I have `sway-carbon` and `sway-gospel` directories in
my dotfiles repo.
```zsh ```zsh
tree -a sway* tree -a sway*
@ -132,20 +145,23 @@ sway-gospel
9 directories, 6 files 9 directories, 6 files
``` ```
My main sway configuration has this line `include ~/.config/sway/includes/*` which loads all files inside of My main sway configuration has this line `include ~/.config/sway/includes/*`
`~/.config/sway/includes/`. My `sway-carbon` and `sway-gospel` configurations will place the correct device-specific configuration which loads all files inside of `~/.config/sway/includes/`. My `sway-carbon` and
once stowed. `sway-gospel` configurations will place the correct device-specific
configuration once stowed.
### Environment-Specific Configurations ### Environment-Specific Configurations
I don't use the same set of programs on all my devices. Sometimes there's no need to install something everywhere (I wouldn't use I don't use the same set of programs on all my devices. Sometimes there's no
my sway configuration on a device running OS X). Sometimes I just want to play around with a new program first before deciding need to install something everywhere (I wouldn't use my sway configuration on a
it's something that I want to install everywhere. device running OS X). Sometimes I just want to play around with a new program
first before deciding it's something that I want to install everywhere.
For example, I wanted to try out [delta](https://github.com/dandavison/delta) for pretty git output on a personal device. The For example, I wanted to try out [delta](https://github.com/dandavison/delta)
configuration for delta requires changes to git's configuration file which depend on having `delta` in `$PATH`. To prevent for pretty git output on a personal device. The configuration for delta requires
breaking things on devices, like my work computer or one of my raspberry pi's, I updated git's configuration so that there would changes to git's configuration file which depend on having `delta` in `$PATH`.
be fallback. To prevent breaking things on devices, like my work computer or one of my
raspberry pi's, I updated git's configuration so that there would be fallback.
```ini ```ini
[pager] [pager]
@ -155,4 +171,5 @@ be fallback.
show = "$(which delta 2>/dev/null) | less" show = "$(which delta 2>/dev/null) | less"
``` ```
So now on devices with delta installed that'll be used, otherwise less will be used. So now on devices with delta installed that'll be used, otherwise less will be
used.

View file

@ -12,7 +12,7 @@ showFullContent = false
It's been about a year since my last post into the void. Since [my last It's been about a year since my last post into the void. Since [my last
post](/posts/dotfiles) I've completely overhauled how my computers are post](/posts/dotfiles) I've completely overhauled how my computers are
configured. I now have [a nix configured. I now have [a nix
flake](https://github.com/alejandro-angulo/dotfiles) to manage my personal flake](https://git.alejandr0angul0.dev/alejandro-angulo/dotfiles) to manage my personal
machines. I'm going all in on nix and wanted to update the deployment process machines. I'm going all in on nix and wanted to update the deployment process
for this site to use nix flakes as well. for this site to use nix flakes as well.
@ -22,7 +22,7 @@ It's been a while since I touched anything on this site and I didn't have any
of the right packages installed to work on this. I could have installed of the right packages installed to work on this. I could have installed
programs like [hugo](https://gohugo.io/) system-wide. But, since I have been programs like [hugo](https://gohugo.io/) system-wide. But, since I have been
tinkering with nix, I wanted to use [a flake to manage all the tinkering with nix, I wanted to use [a flake to manage all the
things](https://github.com/alejandro-angulo/alejandr0angul0.dev/blob/b8174db2150f3ac9925f8450bc75264678cf06c9/flake.nix) things](https://git.alejandr0angul0.dev/alejandro-angulo/alejandr0angul0.dev/blob/b8174db2150f3ac9925f8450bc75264678cf06c9/flake.nix)
needed for development (including writing posts). needed for development (including writing posts).
Here's what the devenv configuration looked like at the time I was writing this Here's what the devenv configuration looked like at the time I was writing this
@ -166,7 +166,7 @@ into `$out`.
This site is deployed to an S3 bucket just like before switching over to using This site is deployed to an S3 bucket just like before switching over to using
nix. However, I don't need to use docker containers anymore and can use nix nix. However, I don't need to use docker containers anymore and can use nix
fully. Here's the [github actions fully. Here's the [github actions
configuration](https://github.com/alejandro-angulo/alejandr0angul0.dev/blob/97a655bc0c3e18f8c8921b90f14f87f5a07ae837/.github/workflows/ci.yml) configuration](https://git.alejandr0angul0.dev/alejandro-angulo/alejandr0angul0.dev/blob/97a655bc0c3e18f8c8921b90f14f87f5a07ae837/.github/workflows/ci.yml)
at the time of writing. at the time of writing.
```yaml ```yaml