flake.nix 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. {
  2. description = "OpenCode development flake";
  3. inputs = {
  4. nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
  5. };
  6. outputs =
  7. { self, nixpkgs, ... }:
  8. let
  9. systems = [
  10. "aarch64-linux"
  11. "x86_64-linux"
  12. "aarch64-darwin"
  13. "x86_64-darwin"
  14. ];
  15. forEachSystem = f: nixpkgs.lib.genAttrs systems (system: f nixpkgs.legacyPackages.${system});
  16. rev = self.shortRev or self.dirtyShortRev or "dirty";
  17. in
  18. {
  19. devShells = forEachSystem (pkgs: {
  20. default = pkgs.mkShell {
  21. packages = with pkgs; [
  22. bun
  23. nodejs_20
  24. pkg-config
  25. openssl
  26. git
  27. ];
  28. };
  29. });
  30. packages = forEachSystem (
  31. pkgs:
  32. let
  33. opencode = pkgs.callPackage ./nix/opencode.nix {
  34. inherit rev;
  35. };
  36. desktop = pkgs.callPackage ./nix/desktop.nix {
  37. inherit opencode;
  38. };
  39. in
  40. {
  41. default = opencode;
  42. inherit opencode desktop;
  43. }
  44. );
  45. };
  46. }