brewery
notashelf /
48fa1cc8525bbb05a245b13dba7ec49afa48077a

chroma

public

Lightweight wallpaper daemon for Wayland

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

Commit 48fa1cc8525b

tarball

NotAShelf <raf@notashelf.dev> · 2025-09-30 17:11 UTC

unverified4 files changed+100-0
init nix tooling

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964a17ac94c2a40f0fd34f339a965abfc9a
diff --git a/.envrc b/.envrcnew file mode 100644index 0000000..3550a30--- /dev/null+++ b/.envrc@@ -0,0 +1 @@+use flakediff --git a/flake.lock b/flake.locknew file mode 100644index 0000000..6967c23--- /dev/null+++ b/flake.lock@@ -0,0 +1,26 @@+{+  "nodes": {+    "nixpkgs": {+      "locked": {+        "lastModified": 1759155593,+        "narHash": "sha256-potIJyEY7ExgfiMzr44/KBODFednyzRUAE2vs4aThHs=",+        "owner": "NixOS",+        "repo": "nixpkgs",+        "rev": "13ca7febc86978bdb67c0ae94f568b189ae84eef",+        "type": "github"+      },+      "original": {+        "owner": "NixOS",+        "repo": "nixpkgs",+        "type": "github"+      }+    },+    "root": {+      "inputs": {+        "nixpkgs": "nixpkgs"+      }+    }+  },+  "root": "root",+  "version": 7+}diff --git a/flake.nix b/flake.nixnew file mode 100644index 0000000..42d5d3f--- /dev/null+++ b/flake.nix@@ -0,0 +1,22 @@+{+  description = "Wayland Wallpaper Daemon";++  inputs.nixpkgs.url = "github:NixOS/nixpkgs?ref?nixos-unstable";+  outputs = {nixpkgs, ...}: let+    systems = ["x86_64-linux" "aarch64-linux"];+    forAllSystems = f:+      builtins.listToAttrs (map (system: {+          name = system;+          value = f system;+        })+        systems);++    pkgsFor = system: nixpkgs.legacyPackages.${system};+  in {+    devShells = forAllSystems (system: let+      pkgs = pkgsFor system;+    in {+      default = pkgs.callPackage ./shell.nix {};+    });+  };+}diff --git a/shell.nix b/shell.nixnew file mode 100644index 0000000..54e94ef--- /dev/null+++ b/shell.nix@@ -0,0 +1,51 @@+{pkgs ? import <nixpkgs> {}}:+pkgs.mkShell {+  name = "chroma";+  buildInputs = with pkgs; [+    gnumake++    # Optional development tools+    gdb+    valgrind+    strace++    # Code formatting and analysis+    clang-tools # includes clang-format+    cppcheck++    # Wayland libraries+    wayland.dev+    wayland-protocols+    wayland-scanner+    libxkbcommon++    # EGL/OpenGL libraries+    libGL+    mesa++    # System libraries+    glibc.dev+  ];++  nativeBuildInputs = with pkgs; [+    pkg-config+  ];++  shellHook = ''+    echo "Available commands:"+    echo "  make          - Build the project"+    echo "  make debug    - Build with debug symbols"+    echo "  make clean    - Clean build artifacts"+    echo "  make install  - Install to ~/.local"+    echo "  make help     - Show all available targets"+    echo+    echo "Run 'make check-deps' to verify all dependencies are available."+    echo+  '';++  # Environment variables for the build system+  env = {+    CHROMA_VERSION = "1.0.0";+    WAYLAND_DEBUG = 1;+  };+}