Warning, /pim/merkuro/flake.nix is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: (C) 2022 Claudio Cambra <claudio.cambra@gmail.com>
0002 # SPDX-License-Identifier: BSD-2-Clause
0003 
0004 {
0005   description = "A flake for kalendar";
0006 
0007   inputs = {
0008     nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
0009     flake-utils.url = "github:numtide/flake-utils";
0010   };
0011 
0012   outputs = { self, nixpkgs, flake-utils }:
0013     with flake-utils.lib;
0014     eachSystem [ "aarch64-linux" "x86_64-linux" ] (system:
0015         let
0016           pkgs = import nixpkgs {
0017             inherit system;
0018           };
0019 
0020           nativeBuildInputs = with pkgs; [
0021             cmake
0022             extra-cmake-modules
0023             qt5.wrapQtAppsHook
0024           ];
0025 
0026           buildInputs = with pkgs; [
0027             mariadb
0028             gpgme
0029 
0030             qt5.qtbase
0031             qt5.qtquickcontrols2
0032             qt5.qtsvg
0033             qt5.qtlocation
0034             qt5.qtgraphicaleffects
0035             qt5.qtdeclarative
0036 
0037             libsForQt5.breeze-icons
0038             libsForQt5.qqc2-desktop-style
0039             libsForQt5.kirigami2
0040             libsForQt5.kdbusaddons
0041             libsForQt5.ki18n
0042             libsForQt5.kcalendarcore
0043             libsForQt5.kconfigwidgets
0044             libsForQt5.kwindowsystem
0045             libsForQt5.kcoreaddons
0046             libsForQt5.kcontacts
0047             libsForQt5.kitemmodels
0048             libsForQt5.kxmlgui
0049             libsForQt5.knotifications
0050             libsForQt5.kiconthemes
0051             libsForQt5.kservice
0052             libsForQt5.kmime
0053             libsForQt5.kpackage
0054             libsForQt5.kio
0055             libsForQt5.calendarsupport
0056             libsForQt5.messagelib
0057             libsForQt5.mailcommon
0058             libsForQt5.pimcommon
0059 
0060             libsForQt5.akonadi
0061             libsForQt5.akonadi-search
0062             libsForQt5.akonadi-contacts
0063             libsForQt5.akonadi-calendar
0064             libsForQt5.kdepim-runtime
0065           ];
0066 
0067           packages.default = with pkgs; stdenv.mkDerivation rec {
0068             inherit nativeBuildInputs buildInputs;
0069             pname = "kalendar";
0070             version = "dev";
0071             src = ./.;
0072             propagatedUserEnvPkgs = [
0073               libsForQt5.akonadi
0074               libsForQt5.kdepim-runtime
0075             ];
0076             dontStrip = true;
0077             enableDebugging = true;
0078             separateDebugInfo = false;
0079             postFixup = ''
0080               wrapProgram "$out/bin/kalendar" \
0081                 --set PATH ${lib.makeBinPath [
0082                   libsForQt5.akonadi
0083                   libsForQt5.kdepim-runtime
0084                 ]} \
0085                 --set QML_DISABLE_DISK_CACHE "1"
0086             '';
0087           };
0088 
0089           apps.default = mkApp {
0090             name = "kalendar";
0091             drv = packages.default;
0092           };
0093 
0094         in {
0095           inherit packages apps;
0096           devShell = pkgs.mkShell {
0097             inherit buildInputs;
0098             nativeBuildInputs = with pkgs; nativeBuildInputs ++[
0099               clang-tools
0100               libclang.python
0101               ninja
0102               gdb
0103               kdevelop
0104             ];
0105             name = "kalendar-shell";
0106             shellHook = ''
0107               export AKONADI_INSTANCE=devel
0108             '';
0109           };
0110         }
0111     );
0112 }