Nixpkgs
Nix Packages collection used in Nubank
Install / Use
/learn @nubank/NixpkgsREADME
Nubank overlay for Nixpkgs
Contents of the overlay
dart and flutter
Pinned version of Dart/Flutter used in Nubank. Should be used together.
flutter-patch
It is an alternative to dart/flutter above. This script patches a vanilla
Flutter SDK installation. Just use it like this:
flutter-patch $FLUTTER_ROOT
Keep in mind that using this script is kind trick. That is because Flutter SDK
downloads some binaries afterwards. Everytime Flutter downloads some binaries
you need to rerun this script. You will see strange problems otherwise (i.e.:
flutter commands failing to run or no such file or directory errors).
So using dart/flutter packages is recommended and this script should
be used as a last resort.
hover
Hover allows running Flutter apps in desktop.
This package for now it is impure. It builds some Go dependencies at runtime,
including go-flutter (that is a C dependency). If you have issues with
linking phase, delete the following files:
rm -rf `go env GOPATH`
rm -rf `go env GOCACHE`
{all,...}-tools
This is a list of packages that can be appended to your
environment.systemPackages like this:
{
# ...
environment.systemPackages =
[...]
++ nubank.all-tools
# Not included by default since they're proprietary tools
++ nubank.desktop-tools;
# ...
}
This will add multiple applications used in Nubank. The usage is optional, but this make it easier to install all tools and keep them up-to-date.
Usage of the overlay
Latest master each rebuild
One way, and probably the most convenient way to pull in this overlay is by just fetching the tarball of latest master on rebuild.
This has side-effects if packages breaks or things like that you may want to be in control of which revision of the overlay you run.
For this option, just add this to your /etc/nixos/configuration.nix:
{
nixpkgs.overlays = [
(import (builtins.fetchTarball {
url = https://github.com/nubank/nixpkgs/archive/master.tar.gz;
}))
];
}
Afterwards, also edit your systemPackages configuration in /etc/nixos/configuration.nix to look something like this:
{
# ...
environment.systemPackages = with pkgs; [
nubank.flutter
nubank.dart
nubank.hover
] ++ nubank.all-tools;
# ...
}
Testing local
You can test your new/updated derivation updating the shell.nix, you just
need to update the buildInputs with the derivation you want to build then
run:
nix-shell
With that you will have a shell with your built derivation.
Also, using nix-shell --pure allows you to test just your derivation without
your system packages, making it easier to debug issues.
Related Skills
node-connect
348.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
348.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
348.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
