emmanuelrosa / erosanix

My main NixOS/Nix Flakes repository
MIT License
78 stars 4 forks source link

erosanix

This repository includes misc. Nix packages, NixOS modules, and Nix functions. This repo also functions as a Nix User Repository (NUR), and replaces my old NUR emmanuelrosa.

Setup as a Nix Flake

Setting up this repo as a Nix flake is no different than setting up any other flake:

flake.nix

{
  inputs.erosanix.url = "github:emmanuelrosa/erosanix";
  ...

  ouputs = { self, nixpkgs, erosanix, ...}: {
    nixosConfigurations.blah = nixpkgs.lib.nixosSystem {
      ...
      modules = [ erosanix.nixosModules.someModule ];
      ... 
      environment.systemPackages = with pkgs; [
        erosanix.packages.x86_64-linux.somePackage
      ];
    };
  };
};

Setup as a NUR

The NUR-based setup differs from a normal NUR because this repo is not published. Frankly, it's easier to set it up this way:

configuration.nix

  ...
  erosanixSrc = builtins.fetchTarball {
    url = "https://github.com/emmanuelrosa/erosanix/archive/cb7298b0361716f4948424d9909312e9529b8b39.tar.gz";
    sha256 = "0fckfx5sib3d4rjv6qzghlnkyrkcac9c9z1g84w9n6nkhy3h7s7b";
  };

  # This is for NixOS modules
  erosanixWithoutPkgs = import erosanixSrc { };

  # And this is for packages
  erosanixPkgs = import erosanixSrc { inherit pkgs; };
  ...

  imports =
    [ erosanixWithoutPkgs.modules.someModule 
    ];

  environment.systemPackages = with pkgs; [
    erosanixPkgs.somePackage
  ];

What's included?

Library functions

NixOS modules

Packages

This repo has quite a variety of packages.

Wine-compatible Windows applications

WARNING: The following Wine-compatible applications utilize my Nix derivation function mkWindowsApp, which creates something similar to the Nix store at $HOME/.cache/mkWindowsApp. Like the Nix store, this storage location will consume a lot of disk space over time unless you run the garbage collector periodically. See the documentation.

Misc utilities

Bitcoin utilities

Fonts