tvl-depot/fish/default.nix
William Carroll 9e0fdd3973 Remove default values for Nix expression parameters
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.
2020-03-01 22:32:24 +00:00

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 }'
''