9e0fdd3973
I'm not sure if this commit breaks everything in my monorepo. I think it will. Why am I doing this? Perhaps it's a bad idea. I don't fully understand how readTree works. My ignorance is costing me hours of time spent debugging. In an effort to better understand readTree, I'm removing the default values for my Nix expression parameters, which I believe have preventing errors from surfacing.
52 lines
1.3 KiB
Nix
52 lines
1.3 KiB
Nix
{ pkgs, ... }:
|
|
|
|
# TODO: Is it appropriate to put programming language dependencies here? Should
|
|
# I have a bin dependency for every fish `abbr` and `alias` that I use? What
|
|
# makes the most sense?
|
|
|
|
# TODO: Some of the abbreviations / aliases depend on binaries and some depend
|
|
# on files (e.g. ~/.config/nvim/init.vim). How should I handle the file
|
|
# dependencies?
|
|
|
|
# TODO: Support symlinking config.fish to ~/.config/fish/config.fish using Nix.
|
|
|
|
let
|
|
fishBinPath = pkgs.lib.strings.makeBinPath (with pkgs; [
|
|
# TODO: Support fasd instead of autojump.
|
|
# fasd
|
|
direnv
|
|
autojump
|
|
fzf
|
|
fd
|
|
xclip
|
|
bat
|
|
neovim
|
|
ripgrep
|
|
sdcv
|
|
exa
|
|
pass
|
|
networkmanager
|
|
google-chrome
|
|
docker
|
|
elixir
|
|
clojure
|
|
gnupg
|
|
git
|
|
tmux
|
|
# This is not that same as `hub`.
|
|
# git-hub
|
|
mercurial
|
|
stack
|
|
kubernetes
|
|
circleci-cli
|
|
nix # Really?
|
|
apt # Really?
|
|
pacman # Really?
|
|
]);
|
|
# TODO: It's difficult to test if the `--init-command` is working since fish
|
|
# persists functions, abbreviations, aliases between sessions so it's easy to
|
|
# get tricked by false-positives.
|
|
in pkgs.writeShellScriptBin "wpcarros-fish" ''
|
|
export PATH="${fishBinPath}:$PATH"
|
|
exec ${pkgs.fish}/bin/fish --init-command 'source ${ ./functions.fish }'
|
|
''
|