Updated github links to instead link to personal git server
This commit is contained in:
		
							parent
							
								
									bb06f5b163
								
							
						
					
					
						commit
						c35a6fdfe5
					
				
					 3 changed files with 66 additions and 47 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
public repo for this site
 | 
			
		||||
[here](https://github.com/alejandro-angulo/alejandr0angul0.dev). Nothing fancy
 | 
			
		||||
going on. I'm planning on using this site as a sort of personal documentation.
 | 
			
		||||
Hopefully what I write here will be useful to whoever stumbles upon it.
 | 
			
		||||
[here](https://git.alejandr0angul0.dev/alejandro-angulo/alejandr0angul0.dev).
 | 
			
		||||
Nothing fancy going on. I'm planning on using this site as a sort of personal
 | 
			
		||||
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
 | 
			
		||||
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
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
## Contact
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,25 +7,32 @@ keywords = ["dotfiles"]
 | 
			
		|||
showFullContent = false
 | 
			
		||||
+++
 | 
			
		||||
 | 
			
		||||
Not too long ago I had completely different configurations across different computers. Terminal color schemes between computers
 | 
			
		||||
weren't consistent. Git was 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/).
 | 
			
		||||
Not too long ago I had completely different configurations across different
 | 
			
		||||
computers. Terminal color schemes between computers weren't consistent. Git was
 | 
			
		||||
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
 | 
			
		||||
[his blog post](http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html) documenting how he uses
 | 
			
		||||
stow to manage dotfiles.
 | 
			
		||||
Special thanks to [Brandon Invergo](http://brandon.invergo.net/) for [his blog
 | 
			
		||||
post](http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html)
 | 
			
		||||
documenting how he uses stow to manage dotfiles.
 | 
			
		||||
 | 
			
		||||
## 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
 | 
			
		||||
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
 | 
			
		||||
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.
 | 
			
		||||
Before I found stow I was using a [purely git-based
 | 
			
		||||
workflow](https://git.alejandr0angul0.dev/alejandro-angulo/dotfiles-bak). It
 | 
			
		||||
worked but it 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 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
 | 
			
		||||
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
 | 
			
		||||
structure is cleaner now with a directory for each set of configuration files (below are my git and [terminal
 | 
			
		||||
emulator](https://alacritty.org/) configurations).
 | 
			
		||||
My [updated
 | 
			
		||||
workflow](https://git.alejandr0angul0.dev/alejandro-angulo/dotfiles/tree/0af75c92fdbf908f9445bfbaf5e07b0e223db97d)
 | 
			
		||||
still uses git 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 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
 | 
			
		||||
❯ tree -a git alacritty
 | 
			
		||||
| 
						 | 
				
			
			@ -42,20 +49,22 @@ alacritty
 | 
			
		|||
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)
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
have available 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).
 | 
			
		||||
[base16-shell](https://github.com/chriskempson/base16-shell), [Oh My
 | 
			
		||||
ZSH](https://github.com/ohmyzsh/ohmyzsh), etc) that I want to have available
 | 
			
		||||
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
 | 
			
		||||
bunch of submodules.
 | 
			
		||||
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 bunch of submodules.
 | 
			
		||||
 | 
			
		||||
```zsh
 | 
			
		||||
❯ tree -a -L 3 vim
 | 
			
		||||
```zsh ❯ tree -a -L 3 vim
 | 
			
		||||
vim
 | 
			
		||||
├── .vim
 | 
			
		||||
│   ├── bundle
 | 
			
		||||
| 
						 | 
				
			
			@ -91,22 +100,26 @@ 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
 | 
			
		||||
I run `vim +PluginInstall +qall` to pull in my vim plugins.
 | 
			
		||||
Instead of setting up submodules for each individual vim plugin I only have a
 | 
			
		||||
submodule for vundle (a vim plugin manager) and then I run `vim +PluginInstall
 | 
			
		||||
+qall` to pull in my vim plugins.
 | 
			
		||||
 | 
			
		||||
## 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
 | 
			
		||||
comes up in one of two cases:
 | 
			
		||||
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 comes up in one of two
 | 
			
		||||
cases:
 | 
			
		||||
 | 
			
		||||
- device-specific configuration
 | 
			
		||||
- environment-specific configuration
 | 
			
		||||
 | 
			
		||||
### Device-Specific Configurations
 | 
			
		||||
 | 
			
		||||
I have certain configurations that are device-specific. For example, I have a `sway` configuration but there are slight
 | 
			
		||||
differences between my laptop and 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.
 | 
			
		||||
I have certain configurations that are device-specific. For example, I have a
 | 
			
		||||
`sway` configuration but there are slight differences between my laptop and
 | 
			
		||||
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
 | 
			
		||||
❯ tree -a sway*
 | 
			
		||||
| 
						 | 
				
			
			@ -132,20 +145,23 @@ sway-gospel
 | 
			
		|||
9 directories, 6 files
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
My main sway configuration has this line `include ~/.config/sway/includes/*` which loads all files inside of
 | 
			
		||||
`~/.config/sway/includes/`. My `sway-carbon` and `sway-gospel` configurations will place the correct device-specific configuration
 | 
			
		||||
once stowed.
 | 
			
		||||
My main sway configuration has this line `include ~/.config/sway/includes/*`
 | 
			
		||||
which loads all files inside of `~/.config/sway/includes/`. My `sway-carbon` and
 | 
			
		||||
`sway-gospel` configurations will place the correct device-specific
 | 
			
		||||
configuration once stowed.
 | 
			
		||||
 | 
			
		||||
### 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
 | 
			
		||||
my sway configuration on a 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.
 | 
			
		||||
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 my sway configuration on a
 | 
			
		||||
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
 | 
			
		||||
configuration for delta requires changes to git's configuration file which depend on having `delta` in `$PATH`. 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.
 | 
			
		||||
For example, I wanted to try out [delta](https://github.com/dandavison/delta)
 | 
			
		||||
for pretty git output on a personal device. The configuration for delta requires
 | 
			
		||||
changes to git's configuration file which depend on having `delta` in `$PATH`.
 | 
			
		||||
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
 | 
			
		||||
[pager]
 | 
			
		||||
| 
						 | 
				
			
			@ -155,4 +171,5 @@ be fallback.
 | 
			
		|||
    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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,7 @@ showFullContent = false
 | 
			
		|||
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
 | 
			
		||||
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
 | 
			
		||||
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
 | 
			
		||||
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
 | 
			
		||||
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).
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
nix. However, I don't need to use docker containers anymore and can use nix
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue