brewery
notashelf /
2ccd62ba5ed32f612a4ed7c0ef9f9a0a66416d34

beer

public

A terminal worth pouring time into

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/beer.git

Commit 2ccd62ba5ed3

tarball

NotAShelf <raf@notashelf.dev> · 2026-06-23 11:59 UTC

unverified5 files changed+132-0
nix: initial tooling

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I5201e2b745fec2d5d6806693b5243d4e6a6a6964
diff --git a/.envrc b/.envrcnew file mode 100644index 0000000..e3fecb3--- /dev/null+++ b/.envrc@@ -0,0 +1,2 @@+use flake+diff --git a/flake.lock b/flake.locknew file mode 100644index 0000000..0ee7307--- /dev/null+++ b/flake.lock@@ -0,0 +1,27 @@+{+  "nodes": {+    "nixpkgs": {+      "locked": {+        "lastModified": 1781577229,+        "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",+        "owner": "NixOS",+        "repo": "nixpkgs",+        "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",+        "type": "github"+      },+      "original": {+        "owner": "NixOS",+        "ref": "nixos-unstable",+        "repo": "nixpkgs",+        "type": "github"+      }+    },+    "root": {+      "inputs": {+        "nixpkgs": "nixpkgs"+      }+    }+  },+  "root": "root",+  "version": 7+}diff --git a/flake.nix b/flake.nixnew file mode 100644index 0000000..3648b82--- /dev/null+++ b/flake.nix@@ -0,0 +1,22 @@+{+  inputs.nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-unstable";++  outputs = {+    self,+    nixpkgs,+  }: let+    systems = ["x86_64-linux" "aarch64-linux"];+    forEachSystem = nixpkgs.lib.genAttrs systems;+    pkgsForEach = nixpkgs.legacyPackages;+  in {+    packages = forEachSystem (system: {+      default = pkgsForEach.${system}.callPackage ./nix/package.nix {};+    });++    devShells = forEachSystem (system: {+      default = pkgsForEach.${system}.callPackage ./nix/shell.nix {};+    });++    hydraJobs = self.packages;+  };+}diff --git a/nix/package.nix b/nix/package.nixnew file mode 100644index 0000000..719b10c--- /dev/null+++ b/nix/package.nix@@ -0,0 +1,29 @@+{+  lib,+  rustPlatform,+}:+rustPlatform.buildRustPackage (finalAttrs: {+  pname = "beer";+  version = "0.0.0";++  src = let+    fs = lib.fileset;+    s = ../.;+  in+    fs.toSource {+      root = s;+      fileset = fs.unions [+        (fs.fileFilter (file: builtins.any file.hasExt ["rs"]) (s + /src))+        (s + /Cargo.lock)+        (s + /Cargo.toml)+      ];+    };++  cargoLock.lockFile = "${finalAttrs.src}/Cargo.lock";+  enableParallelBuilding = true;++  meta = {+    maintainers = with lib.maintainers; [NotAShelf];+    mainProgram = "beer";+  };+})diff --git a/nix/shell.nix b/nix/shell.nixnew file mode 100644index 0000000..4a52178--- /dev/null+++ b/nix/shell.nix@@ -0,0 +1,52 @@+{+  mkShell,+  rustc,+  cargo,+  rust-analyzer,+  rustfmt,+  clippy,+  taplo,+  cargo-deny,+  pkg-config,+  wayland,+  wayland-protocols,+  wayland-scanner,+  libxkbcommon,+  freetype,+  fontconfig,+  harfbuzz,+}:+mkShell {+  name = "rust";++  strictDeps = true;+  nativeBuildInputs = [+    cargo+    rustc+    clippy+    rustfmt+    rustc+    cargo++    # Tools+    rustfmt+    clippy+    cargo+    taplo++    # LSP+    rust-analyzer+    cargo-deny+    pkg-config+  ];++  buildInputs = [+    wayland+    wayland-protocols+    wayland-scanner+    libxkbcommon+    freetype+    fontconfig+    harfbuzz+  ];+}