diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000..c4feea0c --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1756125398, + "narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5", + "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.nix new file mode 100644 index 00000000..ca0871fa --- /dev/null +++ b/flake.nix @@ -0,0 +1,72 @@ +{ + description = "mu and mu4e email package for emacs"; + + inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; }; + + outputs = { self, nixpkgs }: { + + packages.x86_64-linux.default = + with import nixpkgs { system = "x86_64-linux"; }; + stdenv.mkDerivation { + name = "mu4e"; + src = self; + + nativeBuildInputs = [ + pkg-config + meson + ninja + texinfo + #installShellFiles + emacs + python3 + #makeWrapper # need? + cmake + cld2 + ]; + + buildInputs = [ glib gmime3 xapian ]; + + mesonFlags = [ + # "--debug" + "-Dguile=disabled" + "-Dreadline=disabled" + "-Demacs=${emacs}/bin/emacs" + ]; + + # preConfigure = '' + # echo "=== DEBUG: Environment before meson configure ===" + # echo "PWD: $(pwd)" + # echo "Python version:" + # python3 --version || echo "python3 not available" + # echo "Python path:" + # #which python3 || echo "python3 not in PATH" + # echo "PATH: $PATH" + # echo "Meson version:" + # meson --version + # echo "Available files in current directory:" + # ls -la + # echo "Checking for Python scripts:" + # find . -name "*.py" -type f | head -10 + # echo "==============================================" + # ''; + + meta = with lib; { + description = "Email indexer and Emacs client (mu4e)"; + longDescription = '' + mu is a tool for dealing with email messages stored in the + Maildir-format. mu's purpose in life is to help you to quickly find the + messages you need; in addition, it allows you to view messages, extract + attachments, create new maildirs, and so on. + + mu4e is an Emacs-based e-mail client that uses mu as its back-end. + ''; + license = licenses.gpl3Plus; + homepage = "https://www.djcbsoftware.nl/code/mu/"; + changelog = "https://github.com/djcb/mu/blob/v${version}/NEWS.org"; + maintainers = with maintainers; [ antono chvp peterhoeg ]; + platforms = platforms.unix; + mainProgram = "mu"; + }; + }; + }; +}