diff --git a/common/bin/dotfiles-link-environments b/common/bin/dotfiles-link-environments index 2da58f3..c21ea9f 100755 --- a/common/bin/dotfiles-link-environments +++ b/common/bin/dotfiles-link-environments @@ -8,23 +8,23 @@ end mkdir -p $ENV_PATH function filter_existing_directory - while read -l l - test -d $DOTFILES_PATH/$l && echo $l + while read -l line + test -d $DOTFILES_PATH/$line && echo $line end end function reject_empty_lines - while read -l l - test $l = "" || echo $l + while read -l line + test $line = "" || echo $line end end function link - while read -l l - set safe_fn (string replace -a / - $l) - echo "Linking $ENV_PATH/$safe_fn to $DOTFILES_PATH/$l" + while read -l line + set safe_fn (string replace -a / - $line) + echo "Linking $ENV_PATH/$safe_fn to $DOTFILES_PATH/$line" rm -f $ENV_PATH/$safe_fn - ln -s $DOTFILES_PATH/$l $ENV_PATH/$safe_fn + ln -s $DOTFILES_PATH/$line $ENV_PATH/$safe_fn end end diff --git a/readme.md b/readme.md index 099bc1c..653aadc 100644 --- a/readme.md +++ b/readme.md @@ -30,15 +30,18 @@ You will want to symlink relevant environment layers into the `$ENV_PATH` in order to have your OS-specific applications be configured and common applications configured for the host OS. -There's a handy `fzf`-based script that makes this super easy: +There's a handy `fzf`-based script that makes this super easy (note that you +can select multiple environments with TAB): - dotfiles-link-environments # note that you can select multiple with TAB + dotfiles-link-environments You can also list the possible environments: cat $DOTFILES_PATH/common/envs -And then link them yourself (note the replacing of slashes with dashes): +And then link them yourself (note that environments must be in $ENV_PATH and +cannot be nested, so replacing slashes with dashes is a nice way to show what's +going on): ln -s (pwd)/os/linux $ENV_PATH/os-linux ln -s (pwd)/os/linux/arch $ENV_PATH/os-linux-arch @@ -50,28 +53,6 @@ And run setup again once you've finished linking all related environments: dotfiles-setup -# To Do - -- Home DNS/Wireguard VPN? -- Layered gitconfig? -- Get out of Google! - - `calcurse` for Calendar management? - - `aerc` or `neomutt` for email? - - My home-grown backup network for Drive? - - Photos? -- **Learn to use `journalctl`** -- Neovim LSP -- Move to NixOS or Guix? Declarative may be the future...? -- Better/more secure remote management configuration? - - Why can't I hold all these SSH keys/configs/target hosts? -- Setup network file share that's easily accessible from Windows and macOS hosts? - - Samba? -- Add vim in the terminal as the handler for many MIME types (xdg-open and such) - for the rare time I'm in a file manager or for opening easily from - the browser. - - This goes for navigating "into" a file in `nnn` -- Investigate systemd services that may help with various tasks (homed, etc.) - [upstream]: https://git.faceless.lytedev.io/lytedev/dotfiles [github]: https://github.com/lytedev/dotfiles [desktop-screenshot]: https://files.lyte.dev/unix/desktop-screenshot.png diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..fec7f8e --- /dev/null +++ b/todo.md @@ -0,0 +1,19 @@ +- Home DNS/Wireguard VPN? +- Layered gitconfig? +- Get out of Google! + - `calcurse` for Calendar management? + - `aerc` or `neomutt` for email? + - My home-grown backup network for Drive? + - Photos? +- **Learn to use `journalctl`** +- Neovim LSP +- Move to NixOS or Guix? Declarative may be the future...? +- Better/more secure remote management configuration? + - Why can't I hold all these SSH keys/configs/target hosts? +- Setup network file share that's easily accessible from Windows and macOS hosts? + - Samba? +- Add vim in the terminal as the handler for many MIME types (xdg-open and such) + for the rare time I'm in a file manager or for opening easily from + the browser. + - This goes for navigating "into" a file in `nnn` +- Investigate systemd services that may help with various tasks (homed, etc.)