Skip to content
Snippets Groups Projects
  • Charles Hall's avatar
    fe7d8c4f
    add nix flake · fe7d8c4f
    Charles Hall authored
    Also add `.envrc` for direnv + Nix users. This makes developing locally
    easier for us NixOS folks.
    
    The flake itself will allow NixOS users to pull code directly from
    Conduit's repository, making it completely trivial to stay up-to-date
    with every commit.
    
    I'd also like to add a NixOS module directly to this repository at some
    point so that new configuration options will be available in the NixOS
    module faster. But for now, NixOS users can simply override
    `serivces.matrix-conduit.package` and get pretty much all the
    functionality.
    
    I've added myself to the `CODEOWNERS` file for the Nix files, since I am
    willing to maintain this stuff. I use Conduit on NixOS so I'm personally
    invested in having this work.
    
    Lastly, `.gitignore` was updated to exclude symlinks created by `direnv`
    and `nix build` and other such Nix commands.
    
    This doesn't come without maintenance burden, however:
    
    * The `sha256` in `flake.nix` will need to be updated whenever Conduit's
      MSRV is updated, but that should be pretty infrequent.
    
    * `nix flake update` should be run every so often to pull in updates to
      `nixpkgs` and other flake inputs. I think downstream users can also
      override this themselves with `inputs.<name>.inputs.<name>.follows`.
    
    * `nix flake check` should be run in CI to ensure Nix builds keep
      working.
    
    * `nixpkgs-fmt --check $(fd '\.nix')` (or similar) should be run in CI
      to ensure style uniformity.
    fe7d8c4f
    History
    add nix flake
    Charles Hall authored
    Also add `.envrc` for direnv + Nix users. This makes developing locally
    easier for us NixOS folks.
    
    The flake itself will allow NixOS users to pull code directly from
    Conduit's repository, making it completely trivial to stay up-to-date
    with every commit.
    
    I'd also like to add a NixOS module directly to this repository at some
    point so that new configuration options will be available in the NixOS
    module faster. But for now, NixOS users can simply override
    `serivces.matrix-conduit.package` and get pretty much all the
    functionality.
    
    I've added myself to the `CODEOWNERS` file for the Nix files, since I am
    willing to maintain this stuff. I use Conduit on NixOS so I'm personally
    invested in having this work.
    
    Lastly, `.gitignore` was updated to exclude symlinks created by `direnv`
    and `nix build` and other such Nix commands.
    
    This doesn't come without maintenance burden, however:
    
    * The `sha256` in `flake.nix` will need to be updated whenever Conduit's
      MSRV is updated, but that should be pretty infrequent.
    
    * `nix flake update` should be run every so often to pull in updates to
      `nixpkgs` and other flake inputs. I think downstream users can also
      override this themselves with `inputs.<name>.inputs.<name>.follows`.
    
    * `nix flake check` should be run in CI to ensure Nix builds keep
      working.
    
    * `nixpkgs-fmt --check $(fd '\.nix')` (or similar) should be run in CI
      to ensure style uniformity.