All Projects → nubank → nixpkgs

nubank / nixpkgs

Licence: MIT license
Nix Packages collection used in Nubank

Programming Languages

Nix
1067 projects
clojure
4091 projects

Projects that are alternatives of or similar to nixpkgs

Home Manager
Manage a user environment using Nix [maintainer=@rycee]
Stars: ✭ 2,447 (+10095.83%)
Mutual labels:  nix, nixos, nixpkgs
yants
Yet Another Nix Type System | Source has moved to https://git.tazj.in/tree/nix/yants
Stars: ✭ 35 (+45.83%)
Mutual labels:  nix, nixos, nixpkgs
crane
A Nix library for building cargo projects. Never build twice thanks to incremental artifact caching.
Stars: ✭ 348 (+1350%)
Mutual labels:  nix, nixos, nixpkgs
nix-bisect
Bisect nix builds. Status: alpha/proof of concept. You'll probably have to dig into the implementation if you want to use it. Built for personal use, lightly maintained. PRs welcome. Issues welcome, but I make no promises regarding responses or fix
Stars: ✭ 72 (+200%)
Mutual labels:  nix, nixos, nixpkgs
dotfiles
No place like ~. Nix. All. The. Things.
Stars: ✭ 48 (+100%)
Mutual labels:  nix, nixos, nixpkgs
nixpkgs-python-importer
Violate Nix philosophy, install Python packages mid-session with `from nixpkgs.scipy import scipy`.
Stars: ✭ 27 (+12.5%)
Mutual labels:  nix, nixos, nixpkgs
triton
Triton Operating System
Stars: ✭ 56 (+133.33%)
Mutual labels:  nix, nixos, nixpkgs
Nixpkgs
Nix Packages collection
Stars: ✭ 8,322 (+34575%)
Mutual labels:  nix, nixos, nixpkgs
gradle2nix
Generate Nix expressions which build Gradle-based projects.
Stars: ✭ 71 (+195.83%)
Mutual labels:  nix, nixos, nixpkgs
elemental
Elemental, the component parts of a Nix/OS development system.
Stars: ✭ 44 (+83.33%)
Mutual labels:  nix, nixos
nixos-configuration
A repo for my nixos configuration files
Stars: ✭ 20 (-16.67%)
Mutual labels:  nix, nixos
dotfiles-nix
Configuration files for my NixOS machine, declared by home-manager
Stars: ✭ 137 (+470.83%)
Mutual labels:  nix, nixos
nix-config
A collection of my system configs and dotfiles
Stars: ✭ 35 (+45.83%)
Mutual labels:  nix, nixos
nixpkgs-review-checks
Add additional checks and more information from build logs and outputs to the reports generated by nixpkgs-review.
Stars: ✭ 27 (+12.5%)
Mutual labels:  nix, nixpkgs
nix-articles
Some articles about getting started with Nix programming & configuration
Stars: ✭ 134 (+458.33%)
Mutual labels:  nix, nixos
nix-xdg
[WIP] Nix overlay for making programs xdg compliant
Stars: ✭ 18 (-25%)
Mutual labels:  nix, nixos
nixpkgs-pytools
Tools for removing the tedious nature of creating nixpkgs derivations [maintainer=@costrouc]
Stars: ✭ 36 (+50%)
Mutual labels:  nix, nixpkgs
nix-configs
My Nix{OS} configuration files
Stars: ✭ 54 (+125%)
Mutual labels:  nix, nixos
impermanence
Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz]
Stars: ✭ 401 (+1570.83%)
Mutual labels:  nix, nixos
haskell-overridez
Simplify usage of nix dependencies during haskell development
Stars: ✭ 32 (+33.33%)
Mutual labels:  nix, nixpkgs

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].