From eef467cfb96fd74317edda49141d7b9aba45aef7 Mon Sep 17 00:00:00 2001 From: Siodo Lancelot III Date: Sun, 16 Mar 2025 00:11:50 +0800 Subject: [PATCH 1/8] Add LIngmo Desktop ## Things done - Built on platform(s) - [ ] x86_64-linux - [ ] aarch64-linux - [ ] x86_64-darwin - [ ] aarch64-darwin - For non-Linux: Is sandboxing enabled in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html)) - [ ] `sandbox = relaxed` - [ ] `sandbox = true` - [ ] Tested, as applicable: - [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests)) - and/or [package tests](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests) - or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test) - made sure NixOS tests are [linked](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#linking-nixos-module-tests-to-a-package) to the relevant packages - [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage) - [ ] Tested basic functionality of all binary files (usually in `./result/bin/`) - [25.05 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) (or backporting [24.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md) and [25.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) Release notes) - [ ] (Package updates) Added a release notes entry if the change is major or breaking - [ ] (Module updates) Added a release notes entry if the change is significant - [ ] (Module addition) Added a release notes entry if adding a new NixOS module - [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md). --- Add a :+1: [reaction] to [pull requests you find important]. [reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/ [pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc --- nixos/modules/services/x11/desktop-managers/lingmo.nix | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 nixos/modules/services/x11/desktop-managers/lingmo.nix diff --git a/nixos/modules/services/x11/desktop-managers/lingmo.nix b/nixos/modules/services/x11/desktop-managers/lingmo.nix new file mode 100644 index 000000000000..e69de29bb2d1 From 49b41bedc6f9a48e6241b51d5024583634b0fee2 Mon Sep 17 00:00:00 2001 From: Siodo Lancelot III Date: Sun, 16 Mar 2025 00:20:54 +0800 Subject: [PATCH 2/8] lingmo: init --- .../services/x11/desktop-managers/default.nix | 2 +- .../services/x11/desktop-managers/lingmo.nix | 55 ++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/lingmo.nix | 72 +++++++++++++++++++ .../lingmo/calculator/default.nix | 49 +++++++++++++ pkgs/applications/lingmo/terminal/default.nix | 50 +++++++++++++ pkgs/desktops/lingmo/core/default.nix | 44 ++++++++++++ pkgs/desktops/lingmo/default.nix | 36 ++++++++++ pkgs/desktops/lingmo/dock/default.nix | 42 +++++++++++ pkgs/desktops/lingmo/filemanager/default.nix | 42 +++++++++++ pkgs/desktops/lingmo/kwin-plugins/default.nix | 42 +++++++++++ pkgs/desktops/lingmo/launcher/default.nix | 42 +++++++++++ pkgs/desktops/lingmo/qt-plugins/default.nix | 42 +++++++++++ pkgs/desktops/lingmo/screenlocker/default.nix | 40 +++++++++++ pkgs/desktops/lingmo/sddm-theme/default.nix | 42 +++++++++++ pkgs/desktops/lingmo/settings/default.nix | 43 +++++++++++ pkgs/desktops/lingmo/statusbar/default.nix | 43 +++++++++++ pkgs/desktops/lingmo/texteditor/default.nix | 42 +++++++++++ pkgs/desktops/lingmo/videoplayer/default.nix | 42 +++++++++++ .../libraries/liblingmo/default.nix | 42 +++++++++++ .../libraries/lingmoui/default.nix | 42 +++++++++++ 21 files changed, 854 insertions(+), 1 deletion(-) create mode 100644 nixos/tests/lingmo.nix create mode 100644 pkgs/applications/lingmo/calculator/default.nix create mode 100644 pkgs/applications/lingmo/terminal/default.nix create mode 100644 pkgs/desktops/lingmo/core/default.nix create mode 100644 pkgs/desktops/lingmo/default.nix create mode 100644 pkgs/desktops/lingmo/dock/default.nix create mode 100644 pkgs/desktops/lingmo/filemanager/default.nix create mode 100644 pkgs/desktops/lingmo/kwin-plugins/default.nix create mode 100644 pkgs/desktops/lingmo/launcher/default.nix create mode 100644 pkgs/desktops/lingmo/qt-plugins/default.nix create mode 100644 pkgs/desktops/lingmo/screenlocker/default.nix create mode 100644 pkgs/desktops/lingmo/sddm-theme/default.nix create mode 100644 pkgs/desktops/lingmo/settings/default.nix create mode 100644 pkgs/desktops/lingmo/statusbar/default.nix create mode 100644 pkgs/desktops/lingmo/texteditor/default.nix create mode 100644 pkgs/desktops/lingmo/videoplayer/default.nix create mode 100644 pkgs/development/libraries/liblingmo/default.nix create mode 100644 pkgs/development/libraries/lingmoui/default.nix diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 42e66e86e1a3..5b06424ab9ce 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -19,7 +19,7 @@ in imports = [ ./none.nix ./xterm.nix ./phosh.nix ./xfce.nix ./plasma5.nix ../../desktop-managers/plasma6.nix ./lumina.nix ./lxqt.nix ./enlightenment.nix ./gnome.nix ./retroarch.nix ./kodi.nix - ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix + ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix ./lingmo.nix ./cinnamon.nix ./budgie.nix ./deepin.nix ../../desktop-managers/lomiri.nix ]; diff --git a/nixos/modules/services/x11/desktop-managers/lingmo.nix b/nixos/modules/services/x11/desktop-managers/lingmo.nix index e69de29bb2d1..76943ef98e05 100644 --- a/nixos/modules/services/x11/desktop-managers/lingmo.nix +++ b/nixos/modules/services/x11/desktop-managers/lingmo.nix @@ -0,0 +1,55 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + xcfg = config.services.xserver; + cfg = xcfg.desktopManager.cutefish; + +in + +{ + options = { + services.xserver.desktopManager.lingmo.enable = mkOption { + type = types.bool; + default = false; + description = "Enable the Lingmo Desktop manager"; + }; + }; + + config = mkIf cfg.enable { + services.xserver.displayManager.sessionPackages = [ pkgs.lingmo.core ]; + services.xserver.displayManager.sddm.theme = mkDefault "lingmo"; + services.accounts-daemon.enable = true; + + environment.pathsToLink = [ "/share" ]; + environment.systemPackages = + let + lingmoPkgs = with pkgs.lingmo; [ + core + lingmoui + texteditor + terminal + videoplayer + wallpapers + statusbar + settings + sddm-theme + screenshots + screenlocker + qt-plugins + launcher + kwin-plugins + filemanager + dock + calculator + liblingmo + ]; + plasmaPkgs = with pkgs.libsForQt5; [ + kglobalaccel + kinit + kwin + ]; + in lingmoPkgs ++ plasmaPkgs; + }; +} \ No newline at end of file diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index e4309a98f93e..9b160a332eca 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -615,6 +615,7 @@ in { lighttpd = handleTest ./lighttpd.nix {}; limesurvey = handleTest ./limesurvey.nix {}; limine = import ./limine { inherit runTest; }; + lingmo = handleTest ./lingmo.nix {}; listmonk = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./listmonk.nix {}; litestream = handleTest ./litestream.nix {}; lldap = handleTest ./lldap.nix {}; diff --git a/nixos/tests/lingmo.nix b/nixos/tests/lingmo.nix new file mode 100644 index 000000000000..1cf0abe759ae --- /dev/null +++ b/nixos/tests/lingmo.nix @@ -0,0 +1,72 @@ +import ./make-test-python.nix ({ pkgs, ... } : + +{ + name = "lingmo"; + meta = with pkgs.lib.maintainers; [ arkimium_76 ]; + + machine = { ... }: + + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.xserver.displayManager.sddm.enable = true; + services.xserver.displayManager.defaultSession = "lingmo-session"; + services.xserver.desktopManager.lingmo.enable = true; + services.xserver.displayManager.autoLogin = { + enable = true; + user = "alice"; + }; + virtualisation.memorySize = 1024; + }; + + enableOCR = true; + + testScript = { nodes, ... }: let + user = nodes.machine.config.users.users.alice; + userCommand = "su - ${user.name} -c 'DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/${toString user.uid}'"; + in '' + def assert_process_running(processes): + for process in processes: + machine.wait_until_succeeds("pgrep -f " + process) + + def assert_can_run_app(executable, windows, texts): + machine.execute("${userCommand} ${executable} &") + + for window in windows: + machine.wait_for_window(window) + + for text in texts: + machine.wait_for_text(text) + + with subtest("Wait for login"): + start_all() + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") + + with subtest("Lingmo components are running"): + assert_process_running([ + "chotkeys", + "lingmo-dock", + "lingmo-filemanager", + "lingmo-launcher", + "lingmo-polkit-agent", + "lingmo-powerman", + "lingmo-session", + "lingmo-settings-daemon", + "lingmo-statusbar", + "lingmo-xembedsniproxy", + "kwin_x11" + ]) + + with subtest("Launcher can find apps"): + assert_can_run_app("lingmo-launcher", [], ["Calculator", "File Manager", "Settings", "Terminal"]) + + with subtest("Can run Settings"): + assert_can_run_app("lingmo-settings", ["lingmo-settings"], ["Settings"]) + + with subtest("Can run basic gui apps"): + assert_can_run_app("lingmo-calculator", ["lingmo-calculator"], ["Calculator"]) + assert_can_run_app("lingmo-filemanager", ["lingmo-filemanager"], ["File Manager"]) + assert_can_run_app("lingmo-terminal", ["lingmo-terminal"], ["Terminal"]) + ''; +}) \ No newline at end of file diff --git a/pkgs/applications/lingmo/calculator/default.nix b/pkgs/applications/lingmo/calculator/default.nix new file mode 100644 index 000000000000..b70722f482ac --- /dev/null +++ b/pkgs/applications/lingmo/calculator/default.nix @@ -0,0 +1,49 @@ +{ lib, fetchFromGitHub, pkgs ? import {} }: + +let + name = "calculator"; + version = "0.6.3"; +in + +pkgs.stdenv.mkDerivation rec { + name = "lingmo-${name}"; + + src = fetchFromGitHub { + owner = "LingmoOS" + inherit name version; + sha256 = "18r4wpd7467rspdbnkvzsq87gd09jxxjl5ifwvnp8j41lx9s8lmz"; + }; + + buildInputs = with pkgs; [ + qt5-tools qt5-quickcontrols2 cmake extra-cmake-modules + make gcc pkgconf + ]; + + phases = [ "unpack" "build" "install" ]; + + unpack = pkgs.runCommand "unpack-source" {} '' + mkdir -p $out + unzip -d $out $src + cd $out/lingmo-${name}-${version} + mkdir build + ''; + + build = pkgs.runCommand "build" {} '' + cd $out/lingmo-${name}-${version}/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) + ''; + + install = pkgs.runCommand "install" {} '' + cd $out/lingmo-${name}-${version}/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Calculator"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/applications/lingmo/terminal/default.nix b/pkgs/applications/lingmo/terminal/default.nix new file mode 100644 index 000000000000..f7bc3c032926 --- /dev/null +++ b/pkgs/applications/lingmo/terminal/default.nix @@ -0,0 +1,50 @@ +{ lib, fetchFromGitHub, pkgs ? import {} }: + +let + name = "terminal"; + version = "2.0.0"; +in + +pkgs.stdenv.mkDerivation rec { + name = "lingmo-${name}"; + + src = fetchFromGitHub { + owner = "LingmoOS"; + inherit name version; + sha256 = "18zkllkj9s5s5a27sa8n4sq2cq18kx0mk09p982zim6d4frk5nq2"; + }; + + buildInputs = with pkgs; [ + qt5-base qt5-declarative qt5-tools qt5-quickcontrols2 + qt5-graphicaleffects lingmoui cmake extra-cmake-modules + qt5-x11extras make gcc pkgconf + ]; + + phases = [ "unpack" "build" "install" ]; + + unpack = pkgs.runCommand "unpack-source" {} '' + mkdir -p $out + unzip -d $out $src + cd $out/lingmo-${name}-${version} + mkdir build + ''; + + build = pkgs.runCommand "build" {} '' + cd $out/lingmo-${name}-${version}/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) + ''; + + install = pkgs.runCommand "install" {} '' + cd $out/lingmo-${name}-${version}/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Terminal"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/core/default.nix b/pkgs/desktops/lingmo/core/default.nix new file mode 100644 index 000000000000..c059127b7640 --- /dev/null +++ b/pkgs/desktops/lingmo/core/default.nix @@ -0,0 +1,44 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "core"; + version = "2.0.2"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + name = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "0v65zhm59xli70xgif3yrynqmmjy77dcsz4f975ggxa3ylj77p2g"; + }; + + buildInputs = with pkgs; [ + qt5-tools qt5-quickcontrols2 cmake extra-cmake-modules + kcoreaddons5 libxcursor qt5-x11extras qt5-graphicaleffects + kwindowsystem5 kidletime5 polkit polkit-qt5 xorg-server-devel xf86-input-libinput + xf86-input-synaptics make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling $pkgname" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Core"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/default.nix b/pkgs/desktops/lingmo/default.nix new file mode 100644 index 000000000000..3b27e9e0735f --- /dev/null +++ b/pkgs/desktops/lingmo/default.nix @@ -0,0 +1,36 @@ +{ pkgs, makeScope, libsForQt5 }: + +makeScope libsForQt5.newScope (self: with self; { + lingmoUpdateScript = { name, version }: pkgs.genericUpdater { + inherit version; + pname = "lingmo-${name}"; + attrPath = "lingmo.${name}"; + versionLister = "${pkgs.common-updater-scripts}/bin/list-git-tags https://github.com/LingmoOS/${name}"; + }; + + fetchFromLingmoGitHub = { name, version, sha256 }: pkgs.fetchFromGitHub { + inherit sha256; + owner = "LingmoOS"; + repo = name; + rev = version; + }; + + calculator = callPackage ../../applications/lingmo/calculator { }; + core = callPackage ./core { }; + dock = callPackage ./dock { }; + filemanager = callPackage ./filemanager { }; + lingmoui = callPackage ../../development/libraries/lingmo/lingmoui { }; + icons = callPackage ./icons { }; + kwin-plugins = callPackage ./kwin-plugins { }; + launcher = callPackage ./launcher { }; + liblingmo = callPackage ../../development/libraries/lingmo/liblingmo { }; + qt-plugins = callPackage ./qt-plugins { }; + screenlocker = callPackage ./screenlocker { }; + sddm-theme = callPackage ./sddm-theme { }; + settings = callPackage ./settings { }; + statusbar = callPackage ./statusbar { }; + terminal = callPackage ../../applications/lingmo/terminal { }; + wallpapers = callPackage ./wallpapers { }; + texteditor = callPackage ./texteditor { }; + videoplayer = callPackage ./videoplayer { }; +}) \ No newline at end of file diff --git a/pkgs/desktops/lingmo/dock/default.nix b/pkgs/desktops/lingmo/dock/default.nix new file mode 100644 index 000000000000..61fbe1f639bd --- /dev/null +++ b/pkgs/desktops/lingmo/dock/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "dock"; + version = "2.0.3"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + name = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "1458gn8fh6lzwspqdr89b8c3lk4iqhjyxhsgjj136v8jr10x14a5"; + }; + + buildInputs = with pkgs; [ + qt5-tools qt5-quickcontrols2 cmake extra-cmake-modules + qt5-x11extras make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Dock"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/filemanager/default.nix b/pkgs/desktops/lingmo/filemanager/default.nix new file mode 100644 index 000000000000..a4c7fc2cc56f --- /dev/null +++ b/pkgs/desktops/lingmo/filemanager/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "filemanager"; + version = "0.8.1"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + name = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "0a12cddik4dkjzr1n2yavmys9j0ji1pyxiks8syvll90dyikm2sj"; + }; + + buildInputs = with pkgs; [ + qt5-quickcontrols2 cmake extra-cmake-modules + kwindowsystem5 kio5 make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - File Manager"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/kwin-plugins/default.nix b/pkgs/desktops/lingmo/kwin-plugins/default.nix new file mode 100644 index 000000000000..ac9d3e67f17e --- /dev/null +++ b/pkgs/desktops/lingmo/kwin-plugins/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "kwin-plugins"; + version = "1.2.4"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + name = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "0mph04qc24rjz5pdv20kfzfcj9q7w3j560b5x1q2cx69ddw81v7p"; + }; + + buildInputs = with pkgs; [ + qt5-declarative qt5-base kwin kdecoration cmake extra-cmake-modules + kwindowsystem kwayland kguiaddons kcoreaddons kconfigwidgets kconfig make gcc git + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Kwin Plugins"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/launcher/default.nix b/pkgs/desktops/lingmo/launcher/default.nix new file mode 100644 index 000000000000..101d0377980d --- /dev/null +++ b/pkgs/desktops/lingmo/launcher/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "launcher"; + version = "2.0.2"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + name = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "1dnnbf50zkwq6g0in060gllf5vn8dj7by5v54f0lx16g2x86plvv"; + }; + + buildInputs = with pkgs; [ + qt5-quickcontrols2 qt5-base kwindowsystem5 cmake extra-cmake-modules + qt5-tools make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Launcher"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/qt-plugins/default.nix b/pkgs/desktops/lingmo/qt-plugins/default.nix new file mode 100644 index 000000000000..d48e042af7c0 --- /dev/null +++ b/pkgs/desktops/lingmo/qt-plugins/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "qt-plugins"; + version = "2.0.1"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + name = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "0kbmqf3knxn5gqdkmarj7vrynjp5cyh7p3ibrgvdl8sdldzdjfi3"; + }; + + buildInputs = with pkgs; [ + qt5-base qt5-tools qt5-x11extras libxdg libxcb + cmake extra-cmake-modules make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Qt Plugins"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/screenlocker/default.nix b/pkgs/desktops/lingmo/screenlocker/default.nix new file mode 100644 index 000000000000..28e8f74ea5db --- /dev/null +++ b/pkgs/desktops/lingmo/screenlocker/default.nix @@ -0,0 +1,40 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "screenlocker"; + version = "2.0.2"; +in + +pkgs.stdenv.mkDerivation rec { + pname = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "1nb26lrmspn522r7hwghk5za9h0rl2bcds8n8ayfnmpvx73vr4b5"; + }; + + buildInputs = with pkgs; [ + cmake extra-cmake-modules make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Screenlocker"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/sddm-theme/default.nix b/pkgs/desktops/lingmo/sddm-theme/default.nix new file mode 100644 index 000000000000..8841f1e495c4 --- /dev/null +++ b/pkgs/desktops/lingmo/sddm-theme/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "sddm-theme"; + version = "2.7.0"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + pname = "lingmo-${name}"; + + src = fetchFromGitHub { + owner = "LingmoOS" + inherit name version; + sha256 = "1b8x023hi86r8haw9spk48gxkafcs214cp9wa84ck2kx2g08kswa"; + }; + + buildInputs = with pkgs; [ + cmake extra-cmake-modules make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Screenlocker"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/settings/default.nix b/pkgs/desktops/lingmo/settings/default.nix new file mode 100644 index 000000000000..a55b321c0e8f --- /dev/null +++ b/pkgs/desktops/lingmo/settings/default.nix @@ -0,0 +1,43 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "screenlocker"; + version = "2.0.2"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + pname = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "05y0vbcxf9x6j9fs8zsj2j9m2an896ra3p90gnikf4a0kqkq9x3l"; + }; + + buildInputs = with pkgs; [ + qt5-base qt5-quickcontrols2 qt5-x11extras freetype2 + fontconfig networkmanager-qt modemmanager-qt libqtxdg + cmake extra-cmake-modules make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Settings"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/statusbar/default.nix b/pkgs/desktops/lingmo/statusbar/default.nix new file mode 100644 index 000000000000..b5925d86abc5 --- /dev/null +++ b/pkgs/desktops/lingmo/statusbar/default.nix @@ -0,0 +1,43 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "statusbar"; + version = "2.0.1"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + pname = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "0k3as2rp6ryj0v4kbbi2h73hihmc1fib01p45khs82c66qq0s3hy"; + }; + + buildInputs = with pkgs; [ + kwindowsystem5 qt5-base qt5-x11extras + qt5-quickcontrols2 qt5-tools + cmake extra-cmake-modules make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Status Bar"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/texteditor/default.nix b/pkgs/desktops/lingmo/texteditor/default.nix new file mode 100644 index 000000000000..29eba0f5f84a --- /dev/null +++ b/pkgs/desktops/lingmo/texteditor/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "texteditor"; + version = "2.0.1"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + name = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "03cwx62f24ry9xaa9fcl489knzdgmx8dk7avizs3p8wbvahjaapn"; + }; + + buildInputs = with pkgs; [ + qt5-base qt5-quickcontrols qt5-tools syntax-highlighting5 + cmake extra-cmake-modules + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Text Editor"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/lingmo/videoplayer/default.nix b/pkgs/desktops/lingmo/videoplayer/default.nix new file mode 100644 index 000000000000..0d3c6c932906 --- /dev/null +++ b/pkgs/desktops/lingmo/videoplayer/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "videoplayer"; + version = "2.0.1"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + name = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "1gw784bqsvxidn8wlxylpg84bjbh5flpzsnmqrxn321x6vihya93"; + }; + + buildInputs = with pkgs; [ + mpv qt5-base qt5-quickcontrols2 qt5-tools + cmake extra-cmake-modules + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "Open source video player built using Qt/QML and libmpv."; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/development/libraries/liblingmo/default.nix b/pkgs/development/libraries/liblingmo/default.nix new file mode 100644 index 000000000000..ea67eb49f436 --- /dev/null +++ b/pkgs/development/libraries/liblingmo/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "lib_lingmo"; + version = "1.10.1"; +in + +pkgs.stdenv.mkDerivation rec { + pname = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "17dcgivspa3sk29x0ps1jzbj67q4m9smwpwi4kabz2cykc3b16lg"; + }; + + buildInputs = with pkgs; [ + qt5-quickcontrols2 networkmanager-qt5 modemmanager-qt5 bluez-qt5 + libkscreen5 kio5 qt5-sensors + cmake extra-cmake-modules make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Screenlocker"; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file diff --git a/pkgs/development/libraries/lingmoui/default.nix b/pkgs/development/libraries/lingmoui/default.nix new file mode 100644 index 000000000000..98c6b6fc2c1b --- /dev/null +++ b/pkgs/development/libraries/lingmoui/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: + +let + name = "LingmoUI"; + version = "3.1.1"; +in + +pkgs.stdenv.mkDerivation rec { + inherit version; + pname = "lingmo-${name}"; + + src = fetchFromLingmoGitHub { + inherit name version; + sha256 = "1gjkd6yy6m69gcqf6vypds99j039x2bjxjyjz54qpcm3b4w3rgj8"; + }; + + buildInputs = with pkgs; [ + qt5-quickcontrols2 qt5-x11extras kwindowsystem5 + cmake extra-cmake-modules make gcc pkgconf + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoUI is a GUI library based on QQC2 (Qt Quick Controls 2), every Lingmo application uses it."; + homepage = "https://lingmo.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} \ No newline at end of file From c851497ce8cbe43ac778e534d7dcc2b7e9ce4e92 Mon Sep 17 00:00:00 2001 From: Siodo Lancelot III Date: Sun, 16 Mar 2025 00:36:31 +0800 Subject: [PATCH 3/8] fix: `Attributes` underfined --- nixos/modules/services/x11/desktop-managers/lingmo.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/lingmo.nix b/nixos/modules/services/x11/desktop-managers/lingmo.nix index 76943ef98e05..ebe59564e492 100644 --- a/nixos/modules/services/x11/desktop-managers/lingmo.nix +++ b/nixos/modules/services/x11/desktop-managers/lingmo.nix @@ -4,7 +4,7 @@ with lib; let xcfg = config.services.xserver; - cfg = xcfg.desktopManager.cutefish; + cfg = xcfg.desktopManager.lingmo; in From a96edb1499cbbb8970fb06109369ce68298654a0 Mon Sep 17 00:00:00 2001 From: Lycaon Constantine Cayde <2241853439@qq.com> Date: Fri, 18 Apr 2025 22:06:46 +0800 Subject: [PATCH 4/8] lingmo: init to 2.1 --- pkgs/desktops/lingmo/core/default.nix | 21 +++++++------------ pkgs/desktops/lingmo/dock/default.nix | 21 +++++++------------ pkgs/desktops/lingmo/filemanager/default.nix | 18 +++++++--------- pkgs/desktops/lingmo/kwin-plugins/default.nix | 20 +++++++----------- pkgs/desktops/lingmo/launcher/default.nix | 20 +++++++----------- pkgs/desktops/lingmo/qt-plugins/default.nix | 18 +++++++--------- pkgs/desktops/lingmo/screenlocker/default.nix | 19 +++++++---------- pkgs/desktops/lingmo/sddm-theme/default.nix | 21 +++++++------------ pkgs/desktops/lingmo/settings/default.nix | 20 +++++++----------- pkgs/desktops/lingmo/statusbar/default.nix | 20 +++++++----------- pkgs/desktops/lingmo/texteditor/default.nix | 20 +++++++----------- pkgs/desktops/lingmo/videoplayer/default.nix | 20 +++++++----------- 12 files changed, 94 insertions(+), 144 deletions(-) diff --git a/pkgs/desktops/lingmo/core/default.nix b/pkgs/desktops/lingmo/core/default.nix index c059127b7640..bd9fbd77b967 100644 --- a/pkgs/desktops/lingmo/core/default.nix +++ b/pkgs/desktops/lingmo/core/default.nix @@ -1,16 +1,11 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, stdenv, fetchFromLingmoGitHub, pkgs ? import {} } : -let - name = "core"; - version = "2.0.2"; -in - -pkgs.stdenv.mkDerivation rec { - inherit version; - name = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-core-${version}"; + version = "2.0.2"; + owner = "LingmoOS"; + repo = "lingmo-core"; + rev = "refs/tags/v${version}"; sha256 = "0v65zhm59xli70xgif3yrynqmmjy77dcsz4f975ggxa3ylj77p2g"; }; @@ -41,4 +36,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/dock/default.nix b/pkgs/desktops/lingmo/dock/default.nix index 61fbe1f639bd..963ddbadf465 100644 --- a/pkgs/desktops/lingmo/dock/default.nix +++ b/pkgs/desktops/lingmo/dock/default.nix @@ -1,16 +1,11 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, stdenv, fetchFromLingmoGitHub, pkgs ? import {} }: -let - name = "dock"; - version = "2.0.3"; -in - -pkgs.stdenv.mkDerivation rec { - inherit version; - name = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-dock-${version}"; + version = "2.0.3"; + owner = "LingmoOS"; + repo = "lingmo-dock"; + rev = "refs/tags/v${version}"; sha256 = "1458gn8fh6lzwspqdr89b8c3lk4iqhjyxhsgjj136v8jr10x14a5"; }; @@ -39,4 +34,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/filemanager/default.nix b/pkgs/desktops/lingmo/filemanager/default.nix index a4c7fc2cc56f..0c158bcfba97 100644 --- a/pkgs/desktops/lingmo/filemanager/default.nix +++ b/pkgs/desktops/lingmo/filemanager/default.nix @@ -1,16 +1,12 @@ { lib, fetchFromLingmoGitHub, pkgs ? import {} }: -let - name = "filemanager"; - version = "0.8.1"; -in -pkgs.stdenv.mkDerivation rec { - inherit version; - name = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-filemanager-${version}"; + version = "0.8.1"; + owner = "LingmoOS"; + repo = "lingmo-filemanager"; + rev = "refs/tags/v${version}"; sha256 = "0a12cddik4dkjzr1n2yavmys9j0ji1pyxiks8syvll90dyikm2sj"; }; @@ -39,4 +35,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/kwin-plugins/default.nix b/pkgs/desktops/lingmo/kwin-plugins/default.nix index ac9d3e67f17e..f5d8fa9f35b7 100644 --- a/pkgs/desktops/lingmo/kwin-plugins/default.nix +++ b/pkgs/desktops/lingmo/kwin-plugins/default.nix @@ -1,16 +1,12 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, stdenv, pkgs ? import {} }: -let - name = "kwin-plugins"; - version = "1.2.4"; -in -pkgs.stdenv.mkDerivation rec { - inherit version; - name = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-kwin-plugins-${version}"; + version = "1.2.4"; + owner = "LingmoOS"; + repo = "lingmo-kwin-plugins"; + rev = "refs/tags/v${version}"; sha256 = "0mph04qc24rjz5pdv20kfzfcj9q7w3j560b5x1q2cx69ddw81v7p"; }; @@ -39,4 +35,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/launcher/default.nix b/pkgs/desktops/lingmo/launcher/default.nix index 101d0377980d..3de52e142040 100644 --- a/pkgs/desktops/lingmo/launcher/default.nix +++ b/pkgs/desktops/lingmo/launcher/default.nix @@ -1,16 +1,12 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, stdenv, pkgs ? import {} }: -let - name = "launcher"; - version = "2.0.2"; -in -pkgs.stdenv.mkDerivation rec { - inherit version; - name = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-launcher-${version}"; + version = "2.0.2"; + owner = "LingmoOS"; + repo = "lingmo-launcher"; + rev = "refs/tags/v${version}"; sha256 = "1dnnbf50zkwq6g0in060gllf5vn8dj7by5v54f0lx16g2x86plvv"; }; @@ -39,4 +35,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/qt-plugins/default.nix b/pkgs/desktops/lingmo/qt-plugins/default.nix index d48e042af7c0..560776be0b1d 100644 --- a/pkgs/desktops/lingmo/qt-plugins/default.nix +++ b/pkgs/desktops/lingmo/qt-plugins/default.nix @@ -1,16 +1,12 @@ { lib, fetchFromLingmoGitHub, pkgs ? import {} }: -let - name = "qt-plugins"; - version = "2.0.1"; -in -pkgs.stdenv.mkDerivation rec { - inherit version; - name = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-qt-plugins-${version}"; + version = "2.0.2"; + owner = "LingmoOS"; + repo = "lingmo-core"; + rev = "refs/tags/v${version}"; sha256 = "0kbmqf3knxn5gqdkmarj7vrynjp5cyh7p3ibrgvdl8sdldzdjfi3"; }; @@ -39,4 +35,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/screenlocker/default.nix b/pkgs/desktops/lingmo/screenlocker/default.nix index 28e8f74ea5db..4c37cf23a1be 100644 --- a/pkgs/desktops/lingmo/screenlocker/default.nix +++ b/pkgs/desktops/lingmo/screenlocker/default.nix @@ -1,15 +1,12 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, stdenv, pkgs ? import {} }: -let - name = "screenlocker"; - version = "2.0.2"; -in -pkgs.stdenv.mkDerivation rec { - pname = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-screenlocker-${version}"; + version = "2.0.2"; + owner = "LingmoOS"; + repo = "lingmo-screenlocker"; + rev = "refs/tags/v${version}"; sha256 = "1nb26lrmspn522r7hwghk5za9h0rl2bcds8n8ayfnmpvx73vr4b5"; }; @@ -37,4 +34,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/sddm-theme/default.nix b/pkgs/desktops/lingmo/sddm-theme/default.nix index 8841f1e495c4..0c8491c9782a 100644 --- a/pkgs/desktops/lingmo/sddm-theme/default.nix +++ b/pkgs/desktops/lingmo/sddm-theme/default.nix @@ -1,17 +1,12 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, stdenv, pkgs ? import {} }: -let - name = "sddm-theme"; - version = "2.7.0"; -in -pkgs.stdenv.mkDerivation rec { - inherit version; - pname = "lingmo-${name}"; - - src = fetchFromGitHub { - owner = "LingmoOS" - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-sddm-theme-${version}"; + version = "2.7.0"; + owner = "LingmoOS"; + repo = "lingmo-sddm-theme"; + rev = "refs/tags/v${version}"; sha256 = "1b8x023hi86r8haw9spk48gxkafcs214cp9wa84ck2kx2g08kswa"; }; @@ -39,4 +34,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/settings/default.nix b/pkgs/desktops/lingmo/settings/default.nix index a55b321c0e8f..b060132af289 100644 --- a/pkgs/desktops/lingmo/settings/default.nix +++ b/pkgs/desktops/lingmo/settings/default.nix @@ -1,16 +1,12 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, stdenv, pkgs ? import {} }: -let - name = "screenlocker"; - version = "2.0.2"; -in -pkgs.stdenv.mkDerivation rec { - inherit version; - pname = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-settings-${version}"; + version = "2.0.2"; + owner = "LingmoOS"; + repo = "lingmo-settings"; + rev = "refs/tags/v${version}"; sha256 = "05y0vbcxf9x6j9fs8zsj2j9m2an896ra3p90gnikf4a0kqkq9x3l"; }; @@ -40,4 +36,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/statusbar/default.nix b/pkgs/desktops/lingmo/statusbar/default.nix index b5925d86abc5..5c33bc5e6b14 100644 --- a/pkgs/desktops/lingmo/statusbar/default.nix +++ b/pkgs/desktops/lingmo/statusbar/default.nix @@ -1,16 +1,12 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, stdenv, pkgs ? import {} }: -let - name = "statusbar"; - version = "2.0.1"; -in -pkgs.stdenv.mkDerivation rec { - inherit version; - pname = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-statusbar-${version}"; + version = "2.0.1"; + owner = "LingmoOS"; + repo = "lingmo-statusbar"; + rev = "refs/tags/v${version}"; sha256 = "0k3as2rp6ryj0v4kbbi2h73hihmc1fib01p45khs82c66qq0s3hy"; }; @@ -40,4 +36,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/texteditor/default.nix b/pkgs/desktops/lingmo/texteditor/default.nix index 29eba0f5f84a..bef00ce56644 100644 --- a/pkgs/desktops/lingmo/texteditor/default.nix +++ b/pkgs/desktops/lingmo/texteditor/default.nix @@ -1,16 +1,12 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, stdenv, pkgs ? import {} }: -let - name = "texteditor"; - version = "2.0.1"; -in -pkgs.stdenv.mkDerivation rec { - inherit version; - name = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-texteditor-${version}"; + version = "2.0.1"; + owner = "LingmoOS"; + repo = "lingmo-texteditor"; + rev = "refs/tags/v${version}"; sha256 = "03cwx62f24ry9xaa9fcl489knzdgmx8dk7avizs3p8wbvahjaapn"; }; @@ -39,4 +35,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/videoplayer/default.nix b/pkgs/desktops/lingmo/videoplayer/default.nix index 0d3c6c932906..fc10212767b5 100644 --- a/pkgs/desktops/lingmo/videoplayer/default.nix +++ b/pkgs/desktops/lingmo/videoplayer/default.nix @@ -1,16 +1,12 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, stdenv, pkgs ? import {} }: -let - name = "videoplayer"; - version = "2.0.1"; -in -pkgs.stdenv.mkDerivation rec { - inherit version; - name = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + stdenv.mkDerivation rec { + name = "lingmo-videoplayer-${version}"; + version = "2.0.1"; + owner = "LingmoOS"; + repo = "lingmo-videoplayer"; + rev = "refs/tags/v${version}"; sha256 = "1gw784bqsvxidn8wlxylpg84bjbh5flpzsnmqrxn321x6vihya93"; }; @@ -39,4 +35,4 @@ pkgs.stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} From 079e695f6ad083f5d430d30e900a7a04d47a7958 Mon Sep 17 00:00:00 2001 From: Lycaon Constantine Cayde <2241853439@qq.com> Date: Sun, 20 Apr 2025 01:00:04 +0800 Subject: [PATCH 5/8] lingmo: init --- maintainers/maintainer-list.nix | 6 ++ .../lingmo/calculator/default.nix | 63 +++++++++-------- pkgs/applications/lingmo/terminal/default.nix | 67 ++++++++++--------- pkgs/desktops/lingmo/core/default.nix | 42 +++++++++--- pkgs/desktops/lingmo/default.nix | 3 +- pkgs/desktops/lingmo/dock/default.nix | 30 ++++++--- pkgs/desktops/lingmo/filemanager/default.nix | 31 ++++++--- pkgs/desktops/lingmo/kwin-plugins/default.nix | 40 ++++++++--- pkgs/desktops/lingmo/launcher/default.nix | 34 +++++++--- pkgs/desktops/lingmo/qt-plugins/default.nix | 36 ++++++---- pkgs/desktops/lingmo/screenlocker/default.nix | 26 ++++--- pkgs/desktops/lingmo/sddm-theme/default.nix | 31 ++++++--- pkgs/desktops/lingmo/settings/default.nix | 37 +++++++--- pkgs/desktops/lingmo/statusbar/default.nix | 34 +++++++--- pkgs/desktops/lingmo/texteditor/default.nix | 34 +++++++--- pkgs/desktops/lingmo/videoplayer/default.nix | 47 +++++++++++++ .../libraries/lingmoui/default.nix | 34 ++++++---- 17 files changed, 399 insertions(+), 196 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9dbf101a9117..ca0e8c153ffb 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1957,6 +1957,12 @@ githubId = 1118815; name = "Vikram Narayanan"; }; + arkimium_76 = { + email = "2241853439@qq.com"; + github = "arkimium"; + githubId = "114994536"; + name = "Lycaon Constantine Cayde"; + }; armeenm = { email = "mahdianarmeen@gmail.com"; github = "armeenm"; diff --git a/pkgs/applications/lingmo/calculator/default.nix b/pkgs/applications/lingmo/calculator/default.nix index b70722f482ac..00687196b2f7 100644 --- a/pkgs/applications/lingmo/calculator/default.nix +++ b/pkgs/applications/lingmo/calculator/default.nix @@ -1,49 +1,48 @@ -{ lib, fetchFromGitHub, pkgs ? import {} }: - -let - name = "calculator"; +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-calculator"; version = "0.6.3"; -in - -pkgs.stdenv.mkDerivation rec { - name = "lingmo-${name}"; src = fetchFromGitHub { - owner = "LingmoOS" - inherit name version; + owner = "LingmoOS"; + repo = "lingmo-calculator"; + rev = version; sha256 = "18r4wpd7467rspdbnkvzsq87gd09jxxjl5ifwvnp8j41lx9s8lmz"; }; buildInputs = with pkgs; [ - qt5-tools qt5-quickcontrols2 cmake extra-cmake-modules - make gcc pkgconf + qt5-tools + qt5-quickcontrols2 + cmake + extra-cmake-modules + make + gcc + pkgconf ]; - phases = [ "unpack" "build" "install" ]; - - unpack = pkgs.runCommand "unpack-source" {} '' - mkdir -p $out - unzip -d $out $src - cd $out/lingmo-${name}-${version} - mkdir build - ''; - - build = pkgs.runCommand "build" {} '' - cd $out/lingmo-${name}-${version}/build - cmake -DCMAKE_INSTALL_PREFIX=/usr .. - make -j$(nproc) - ''; + buildPhase = '' + echo "Compiling $pkgname" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; - install = pkgs.runCommand "install" {} '' - cd $out/lingmo-${name}-${version}/build - make DESTDIR=$out install - ''; + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; meta = with lib; { description = "LingmoOS - Calculator"; - homepage = "https://lingmo.org/"; + homepage = "https://github.com/lingmoos/lingmo-calculator"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/applications/lingmo/terminal/default.nix b/pkgs/applications/lingmo/terminal/default.nix index f7bc3c032926..e8898e5e214a 100644 --- a/pkgs/applications/lingmo/terminal/default.nix +++ b/pkgs/applications/lingmo/terminal/default.nix @@ -1,50 +1,53 @@ -{ lib, fetchFromGitHub, pkgs ? import {} }: - -let - name = "terminal"; +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-terminal"; version = "2.0.0"; -in - -pkgs.stdenv.mkDerivation rec { - name = "lingmo-${name}"; src = fetchFromGitHub { owner = "LingmoOS"; - inherit name version; + repo = "lingmo-terminal"; + rev = version; sha256 = "18zkllkj9s5s5a27sa8n4sq2cq18kx0mk09p982zim6d4frk5nq2"; }; buildInputs = with pkgs; [ - qt5-base qt5-declarative qt5-tools qt5-quickcontrols2 - qt5-graphicaleffects lingmoui cmake extra-cmake-modules - qt5-x11extras make gcc pkgconf + qt5-base + qt5-declarative + qt5-tools + qt5-quickcontrols2 + qt5-graphicaleffects + lingmoui + cmake + extra-cmake-modules + qt5-x11extras + make + gcc + pkgconf ]; - phases = [ "unpack" "build" "install" ]; - - unpack = pkgs.runCommand "unpack-source" {} '' - mkdir -p $out - unzip -d $out $src - cd $out/lingmo-${name}-${version} - mkdir build - ''; - - build = pkgs.runCommand "build" {} '' - cd $out/lingmo-${name}-${version}/build - cmake -DCMAKE_INSTALL_PREFIX=/usr .. - make -j$(nproc) - ''; + buildPhase = '' + echo "Compiling $pkgname" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; - install = pkgs.runCommand "install" {} '' - cd $out/lingmo-${name}-${version}/build - make DESTDIR=$out install - ''; + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; meta = with lib; { description = "LingmoOS - Terminal"; - homepage = "https://lingmo.org/"; + homepage = "https://github.com/lingmoos/lingmo-terminal"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/lingmo/core/default.nix b/pkgs/desktops/lingmo/core/default.nix index bd9fbd77b967..c6dc0362c9fd 100644 --- a/pkgs/desktops/lingmo/core/default.nix +++ b/pkgs/desktops/lingmo/core/default.nix @@ -1,19 +1,39 @@ -{ lib, stdenv, fetchFromLingmoGitHub, pkgs ? import {} } : +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-core"; + version = "2.0.2"; - stdenv.mkDerivation rec { - name = "lingmo-core-${version}"; - version = "2.0.2"; + src = fetchFromGitHub { owner = "LingmoOS"; repo = "lingmo-core"; - rev = "refs/tags/v${version}"; + rev = version; sha256 = "0v65zhm59xli70xgif3yrynqmmjy77dcsz4f975ggxa3ylj77p2g"; }; buildInputs = with pkgs; [ - qt5-tools qt5-quickcontrols2 cmake extra-cmake-modules - kcoreaddons5 libxcursor qt5-x11extras qt5-graphicaleffects - kwindowsystem5 kidletime5 polkit polkit-qt5 xorg-server-devel xf86-input-libinput - xf86-input-synaptics make gcc pkgconf + qt5-tools + qt5-quickcontrols2 + cmake + extra-cmake-modules + kcoreaddons5 + libxcursor + qt5-x11extras + qt5-graphicaleffects + kwindowsystem5 + kidletime5 + polkit + polkit-qt5 + xorg-server-devel + xf86-input-libinput + xf86-input-synaptics + make + gcc + pkgconf ]; buildPhase = '' @@ -31,9 +51,9 @@ meta = with lib; { description = "LingmoOS - Core"; - homepage = "https://lingmo.org/"; + homepage = "https://github.com/lingmoos/lingmo-core"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ arkimium_76 ]; + maintainers = with maintainers; [arkimium_76]; }; } diff --git a/pkgs/desktops/lingmo/default.nix b/pkgs/desktops/lingmo/default.nix index 3b27e9e0735f..20d0a8476f1f 100644 --- a/pkgs/desktops/lingmo/default.nix +++ b/pkgs/desktops/lingmo/default.nix @@ -20,7 +20,6 @@ makeScope libsForQt5.newScope (self: with self; { dock = callPackage ./dock { }; filemanager = callPackage ./filemanager { }; lingmoui = callPackage ../../development/libraries/lingmo/lingmoui { }; - icons = callPackage ./icons { }; kwin-plugins = callPackage ./kwin-plugins { }; launcher = callPackage ./launcher { }; liblingmo = callPackage ../../development/libraries/lingmo/liblingmo { }; @@ -33,4 +32,4 @@ makeScope libsForQt5.newScope (self: with self; { wallpapers = callPackage ./wallpapers { }; texteditor = callPackage ./texteditor { }; videoplayer = callPackage ./videoplayer { }; -}) \ No newline at end of file +}) diff --git a/pkgs/desktops/lingmo/dock/default.nix b/pkgs/desktops/lingmo/dock/default.nix index 963ddbadf465..8c94546d67bc 100644 --- a/pkgs/desktops/lingmo/dock/default.nix +++ b/pkgs/desktops/lingmo/dock/default.nix @@ -1,21 +1,33 @@ -{ lib, stdenv, fetchFromLingmoGitHub, pkgs ? import {} }: +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-dock"; + version = "2.0.3"; - stdenv.mkDerivation rec { - name = "lingmo-dock-${version}"; - version = "2.0.3"; + src = fetchFromGitHub { owner = "LingmoOS"; repo = "lingmo-dock"; - rev = "refs/tags/v${version}"; + rev = version; sha256 = "1458gn8fh6lzwspqdr89b8c3lk4iqhjyxhsgjj136v8jr10x14a5"; }; buildInputs = with pkgs; [ - qt5-tools qt5-quickcontrols2 cmake extra-cmake-modules - qt5-x11extras make gcc pkgconf + qt5-tools + qt5-quickcontrols2 + cmake + extra-cmake-modules + qt5-x11extras + make + gcc + pkgconf ]; buildPhase = '' - echo "Compiling ${pname}" + echo "Compiling $pkgname" mkdir -pv $out/build && cd $out/build cmake -DCMAKE_INSTALL_PREFIX=/usr .. make -j$(nproc) || return 1 @@ -29,7 +41,7 @@ meta = with lib; { description = "LingmoOS - Dock"; - homepage = "https://lingmo.org/"; + homepage = "https://github.com/lingmoos/lingmo-dock"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; diff --git a/pkgs/desktops/lingmo/filemanager/default.nix b/pkgs/desktops/lingmo/filemanager/default.nix index 0c158bcfba97..b6b520be99d5 100644 --- a/pkgs/desktops/lingmo/filemanager/default.nix +++ b/pkgs/desktops/lingmo/filemanager/default.nix @@ -1,22 +1,33 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-filemanager"; + version = "0.8.1"; - - stdenv.mkDerivation rec { - name = "lingmo-filemanager-${version}"; - version = "0.8.1"; + src = fetchFromGitHub { owner = "LingmoOS"; repo = "lingmo-filemanager"; - rev = "refs/tags/v${version}"; + rev = version; sha256 = "0a12cddik4dkjzr1n2yavmys9j0ji1pyxiks8syvll90dyikm2sj"; }; buildInputs = with pkgs; [ - qt5-quickcontrols2 cmake extra-cmake-modules - kwindowsystem5 kio5 make gcc pkgconf + qt5-quickcontrols2 + cmake + extra-cmake-modules + kwindowsystem5 + kio5 + make + gcc + pkgconf ]; buildPhase = '' - echo "Compiling ${pname}" + echo "Compiling $pkgname" mkdir -pv $out/build && cd $out/build cmake -DCMAKE_INSTALL_PREFIX=/usr .. make -j$(nproc) || return 1 @@ -30,7 +41,7 @@ meta = with lib; { description = "LingmoOS - File Manager"; - homepage = "https://lingmo.org/"; + homepage = "https://github.com/lingmoos/lingmo-filemanager"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; diff --git a/pkgs/desktops/lingmo/kwin-plugins/default.nix b/pkgs/desktops/lingmo/kwin-plugins/default.nix index f5d8fa9f35b7..6d1630fdd906 100644 --- a/pkgs/desktops/lingmo/kwin-plugins/default.nix +++ b/pkgs/desktops/lingmo/kwin-plugins/default.nix @@ -1,22 +1,40 @@ -{ lib, stdenv, pkgs ? import {} }: +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-kwin-plugins"; + version = "1.2.4"; - - stdenv.mkDerivation rec { - name = "lingmo-kwin-plugins-${version}"; - version = "1.2.4"; + src = fetchFromGitHub { owner = "LingmoOS"; repo = "lingmo-kwin-plugins"; - rev = "refs/tags/v${version}"; + rev = version; sha256 = "0mph04qc24rjz5pdv20kfzfcj9q7w3j560b5x1q2cx69ddw81v7p"; }; buildInputs = with pkgs; [ - qt5-declarative qt5-base kwin kdecoration cmake extra-cmake-modules - kwindowsystem kwayland kguiaddons kcoreaddons kconfigwidgets kconfig make gcc git + qt5-declarative + qt5-base + kwin + kdecoration + cmake + extra-cmake-modules + kwindowsystem + kwayland + kguiaddons + kcoreaddons + kconfigwidgets + kconfig + make + gcc + git ]; buildPhase = '' - echo "Compiling ${pname}" + echo "Compiling $pkgname" mkdir -pv $out/build && cd $out/build cmake -DCMAKE_INSTALL_PREFIX=/usr .. make -j$(nproc) || return 1 @@ -29,8 +47,8 @@ ''; meta = with lib; { - description = "LingmoOS - Kwin Plugins"; - homepage = "https://lingmo.org/"; + description = "LingmoOS - KWin Plugins"; + homepage = "https://github.com/lingmoos/lingmo-kwin-plugins"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; diff --git a/pkgs/desktops/lingmo/launcher/default.nix b/pkgs/desktops/lingmo/launcher/default.nix index 3de52e142040..ea4c1c5d4941 100644 --- a/pkgs/desktops/lingmo/launcher/default.nix +++ b/pkgs/desktops/lingmo/launcher/default.nix @@ -1,22 +1,34 @@ -{ lib, stdenv, pkgs ? import {} }: +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-launcher"; + version = "2.0.2"; - - stdenv.mkDerivation rec { - name = "lingmo-launcher-${version}"; - version = "2.0.2"; + src = fetchFromGitHub { owner = "LingmoOS"; repo = "lingmo-launcher"; - rev = "refs/tags/v${version}"; + rev = version; sha256 = "1dnnbf50zkwq6g0in060gllf5vn8dj7by5v54f0lx16g2x86plvv"; }; buildInputs = with pkgs; [ - qt5-quickcontrols2 qt5-base kwindowsystem5 cmake extra-cmake-modules - qt5-tools make gcc pkgconf + qt5-quickcontrols2 + qt5-base + kwindowsystem5 + cmake + extra-cmake-modules + qt5-tools + make + gcc + pkgconf ]; buildPhase = '' - echo "Compiling ${pname}" + echo "Compiling $pkgname" mkdir -pv $out/build && cd $out/build cmake -DCMAKE_INSTALL_PREFIX=/usr .. make -j$(nproc) || return 1 @@ -30,9 +42,9 @@ meta = with lib; { description = "LingmoOS - Launcher"; - homepage = "https://lingmo.org/"; + homepage = "https://github.com/lingmoos/lingmo-launcher"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ arkimium_76 ]; + maintainers = with maintainers; [arkimium_76]; }; } diff --git a/pkgs/desktops/lingmo/qt-plugins/default.nix b/pkgs/desktops/lingmo/qt-plugins/default.nix index 560776be0b1d..fb02906d46da 100644 --- a/pkgs/desktops/lingmo/qt-plugins/default.nix +++ b/pkgs/desktops/lingmo/qt-plugins/default.nix @@ -1,22 +1,34 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-qt-plugins"; + version = "2.0.2"; - - stdenv.mkDerivation rec { - name = "lingmo-qt-plugins-${version}"; - version = "2.0.2"; + src = fetchFromGitHub { owner = "LingmoOS"; - repo = "lingmo-core"; - rev = "refs/tags/v${version}"; + repo = "lingmo-qt-plugins"; + rev = version; sha256 = "0kbmqf3knxn5gqdkmarj7vrynjp5cyh7p3ibrgvdl8sdldzdjfi3"; }; buildInputs = with pkgs; [ - qt5-base qt5-tools qt5-x11extras libxdg libxcb - cmake extra-cmake-modules make gcc pkgconf + qt5-quickcontrols2 + qt5-base + kwindowsystem5 + cmake + extra-cmake-modules + qt5-tools + make + gcc + pkgconf ]; buildPhase = '' - echo "Compiling ${pname}" + echo "Compiling $pkgname" mkdir -pv $out/build && cd $out/build cmake -DCMAKE_INSTALL_PREFIX=/usr .. make -j$(nproc) || return 1 @@ -29,8 +41,8 @@ ''; meta = with lib; { - description = "LingmoOS - Qt Plugins"; - homepage = "https://lingmo.org/"; + description = "LingmoOS - Qt5 Plugins"; + homepage = "https://github.com/lingmoos/lingmo-qt-plugins"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; diff --git a/pkgs/desktops/lingmo/screenlocker/default.nix b/pkgs/desktops/lingmo/screenlocker/default.nix index 4c37cf23a1be..e9df5ddb8531 100644 --- a/pkgs/desktops/lingmo/screenlocker/default.nix +++ b/pkgs/desktops/lingmo/screenlocker/default.nix @@ -1,21 +1,31 @@ -{ lib, stdenv, pkgs ? import {} }: +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import { }, +}: +stdenv.mkDerivation rec { + pname = "lingmo-screenlocker"; + version = "2.0.2"; - stdenv.mkDerivation rec { - name = "lingmo-screenlocker-${version}"; - version = "2.0.2"; + src = fetchFromGitHub { owner = "LingmoOS"; repo = "lingmo-screenlocker"; - rev = "refs/tags/v${version}"; + rev = version; sha256 = "1nb26lrmspn522r7hwghk5za9h0rl2bcds8n8ayfnmpvx73vr4b5"; }; buildInputs = with pkgs; [ - cmake extra-cmake-modules make gcc pkgconf + cmake + extra-cmake-modules + make + gcc + pkgconf ]; buildPhase = '' - echo "Compiling ${pname}" + echo "Compiling $pkgname" mkdir -pv $out/build && cd $out/build cmake -DCMAKE_INSTALL_PREFIX=/usr .. make -j$(nproc) || return 1 @@ -29,7 +39,7 @@ meta = with lib; { description = "LingmoOS - Screenlocker"; - homepage = "https://lingmo.org/"; + homepage = "https://github.com/lingmoos/lingmo-screenlocker"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; diff --git a/pkgs/desktops/lingmo/sddm-theme/default.nix b/pkgs/desktops/lingmo/sddm-theme/default.nix index 0c8491c9782a..271f15fb3fd7 100644 --- a/pkgs/desktops/lingmo/sddm-theme/default.nix +++ b/pkgs/desktops/lingmo/sddm-theme/default.nix @@ -1,21 +1,30 @@ -{ lib, stdenv, pkgs ? import {} }: +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-sddm-theme"; + version = "2.0.2"; - - stdenv.mkDerivation rec { - name = "lingmo-sddm-theme-${version}"; - version = "2.7.0"; + src = fetchFromGitHub { owner = "LingmoOS"; repo = "lingmo-sddm-theme"; - rev = "refs/tags/v${version}"; - sha256 = "1b8x023hi86r8haw9spk48gxkafcs214cp9wa84ck2kx2g08kswa"; + rev = version; + sha256 = "1nb26lrmspn522r7hwghk5za9h0rl2bcds8n8ayfnmpvx73vr4b5"; }; buildInputs = with pkgs; [ - cmake extra-cmake-modules make gcc pkgconf + cmake + extra-cmake-modules + make + gcc + pkgconf ]; buildPhase = '' - echo "Compiling ${pname}" + echo "Compiling $pkgname" mkdir -pv $out/build && cd $out/build cmake -DCMAKE_INSTALL_PREFIX=/usr .. make -j$(nproc) || return 1 @@ -28,8 +37,8 @@ ''; meta = with lib; { - description = "LingmoOS - Screenlocker"; - homepage = "https://lingmo.org/"; + description = "LingmoOS - SDDM Theme"; + homepage = "https://github.com/lingmoos/lingmo-sddm-theme"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; diff --git a/pkgs/desktops/lingmo/settings/default.nix b/pkgs/desktops/lingmo/settings/default.nix index b060132af289..b210554183c4 100644 --- a/pkgs/desktops/lingmo/settings/default.nix +++ b/pkgs/desktops/lingmo/settings/default.nix @@ -1,23 +1,38 @@ -{ lib, stdenv, pkgs ? import {} }: +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-settings"; + version = "2.0.2"; - - stdenv.mkDerivation rec { - name = "lingmo-settings-${version}"; - version = "2.0.2"; + src = fetchFromGitHub { owner = "LingmoOS"; repo = "lingmo-settings"; - rev = "refs/tags/v${version}"; + rev = version; sha256 = "05y0vbcxf9x6j9fs8zsj2j9m2an896ra3p90gnikf4a0kqkq9x3l"; }; buildInputs = with pkgs; [ - qt5-base qt5-quickcontrols2 qt5-x11extras freetype2 - fontconfig networkmanager-qt modemmanager-qt libqtxdg - cmake extra-cmake-modules make gcc pkgconf + qt5-base + qt5-quickcontrols2 + qt5-x11extras + freetype2 + fontconfig + networkmanager-qt + modemmanager-qt + libqtxdg + cmake + extra-cmake-modules + make + gcc + pkgconf ]; buildPhase = '' - echo "Compiling ${pname}" + echo "Compiling $pkgname" mkdir -pv $out/build && cd $out/build cmake -DCMAKE_INSTALL_PREFIX=/usr .. make -j$(nproc) || return 1 @@ -31,7 +46,7 @@ meta = with lib; { description = "LingmoOS - Settings"; - homepage = "https://lingmo.org/"; + homepage = "https://github.com/lingmoos/lingmo-settings"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; diff --git a/pkgs/desktops/lingmo/statusbar/default.nix b/pkgs/desktops/lingmo/statusbar/default.nix index 5c33bc5e6b14..d22ca1030d06 100644 --- a/pkgs/desktops/lingmo/statusbar/default.nix +++ b/pkgs/desktops/lingmo/statusbar/default.nix @@ -1,23 +1,35 @@ -{ lib, stdenv, pkgs ? import {} }: +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-statusbar"; + version = "2.0.1"; - - stdenv.mkDerivation rec { - name = "lingmo-statusbar-${version}"; - version = "2.0.1"; + src = fetchFromGitHub { owner = "LingmoOS"; repo = "lingmo-statusbar"; - rev = "refs/tags/v${version}"; + rev = version; sha256 = "0k3as2rp6ryj0v4kbbi2h73hihmc1fib01p45khs82c66qq0s3hy"; }; buildInputs = with pkgs; [ - kwindowsystem5 qt5-base qt5-x11extras - qt5-quickcontrols2 qt5-tools - cmake extra-cmake-modules make gcc pkgconf + kwindowsystem5 + qt5-base + qt5-x11extras + qt5-quickcontrols2 + qt5-tools + cmake + extra-cmake-modules + make + gcc + pkgconf ]; buildPhase = '' - echo "Compiling ${pname}" + echo "Compiling $pkgname" mkdir -pv $out/build && cd $out/build cmake -DCMAKE_INSTALL_PREFIX=/usr .. make -j$(nproc) || return 1 @@ -31,7 +43,7 @@ meta = with lib; { description = "LingmoOS - Status Bar"; - homepage = "https://lingmo.org/"; + homepage = "https://github.com/lingmoos/lingmo-statusbar"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; diff --git a/pkgs/desktops/lingmo/texteditor/default.nix b/pkgs/desktops/lingmo/texteditor/default.nix index bef00ce56644..7e26f3244413 100644 --- a/pkgs/desktops/lingmo/texteditor/default.nix +++ b/pkgs/desktops/lingmo/texteditor/default.nix @@ -1,22 +1,34 @@ -{ lib, stdenv, pkgs ? import {} }: +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-texteditor"; + version = "2.0.1"; - - stdenv.mkDerivation rec { - name = "lingmo-texteditor-${version}"; - version = "2.0.1"; + src = fetchFromGitHub { owner = "LingmoOS"; repo = "lingmo-texteditor"; - rev = "refs/tags/v${version}"; + rev = version; sha256 = "03cwx62f24ry9xaa9fcl489knzdgmx8dk7avizs3p8wbvahjaapn"; }; buildInputs = with pkgs; [ - qt5-base qt5-quickcontrols qt5-tools syntax-highlighting5 - cmake extra-cmake-modules + qt5-base + qt5-quickcontrols + qt5-tools + syntax-highlighting5 + cmake + extra-cmake-modules + make + gcc + pkgconf ]; buildPhase = '' - echo "Compiling ${pname}" + echo "Compiling $pkgname" mkdir -pv $out/build && cd $out/build cmake -DCMAKE_INSTALL_PREFIX=/usr .. make -j$(nproc) || return 1 @@ -29,8 +41,8 @@ ''; meta = with lib; { - description = "LingmoOS - Text Editor"; - homepage = "https://lingmo.org/"; + description = "LingmoOS - Texteditor"; + homepage = "https://github.com/lingmoos/lingmo-texteditor"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; diff --git a/pkgs/desktops/lingmo/videoplayer/default.nix b/pkgs/desktops/lingmo/videoplayer/default.nix index fc10212767b5..5de914c74c4f 100644 --- a/pkgs/desktops/lingmo/videoplayer/default.nix +++ b/pkgs/desktops/lingmo/videoplayer/default.nix @@ -1,3 +1,50 @@ +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lingmo-videoplayer"; + version = "2.0.1"; + + src = fetchFromGitHub { + owner = "LingmoOS"; + repo = "lingmo-videoplayer"; + rev = version; + sha256 = "1gw784bqsvxidn8wlxylpg84bjbh5flpzsnmqrxn321x6vihya93"; + }; + + buildInputs = with pkgs; [ + mpv + qt5-base + qt5-quickcontrols2 + qt5-tools + cmake + extra-cmake-modules + ]; + + buildPhase = '' + echo "Compiling $pkgname" + mkdir -pv $out/build && cd $out/build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS - Video Player"; + homepage = "https://github.com/lingmoos/lingmo-videoplayer"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ arkimium_76 ]; + }; +} { lib, stdenv, pkgs ? import {} }: diff --git a/pkgs/development/libraries/lingmoui/default.nix b/pkgs/development/libraries/lingmoui/default.nix index 98c6b6fc2c1b..3fe99b52d3e6 100644 --- a/pkgs/development/libraries/lingmoui/default.nix +++ b/pkgs/development/libraries/lingmoui/default.nix @@ -1,22 +1,28 @@ -{ lib, fetchFromLingmoGitHub, pkgs ? import {} }: +{ lib, + stdenv, + fetchFromGitHub, + pkgs ? import {} }: -let - name = "LingmoUI"; +stdenv.mkDerivation rec { + pname = "LingmoUI"; version = "3.1.1"; -in -pkgs.stdenv.mkDerivation rec { - inherit version; - pname = "lingmo-${name}"; - - src = fetchFromLingmoGitHub { - inherit name version; + src = fetchFromGitHub { + owner = "LingmoOS"; + repo = "LingmoUI"; + rev = version; sha256 = "1gjkd6yy6m69gcqf6vypds99j039x2bjxjyjz54qpcm3b4w3rgj8"; }; buildInputs = with pkgs; [ - qt5-quickcontrols2 qt5-x11extras kwindowsystem5 - cmake extra-cmake-modules make gcc pkgconf + qt5-quickcontrols2 + qt5-x11extras + kwindowsystem5 + cmake + extra-cmake-modules + make + gcc + pkgconf ]; buildPhase = '' @@ -34,9 +40,9 @@ pkgs.stdenv.mkDerivation rec { meta = with lib; { description = "LingmoUI is a GUI library based on QQC2 (Qt Quick Controls 2), every Lingmo application uses it."; - homepage = "https://lingmo.org/"; + homepage = "https://github.com/lingmoos/LingmoUI"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ arkimium_76 ]; }; -} \ No newline at end of file +} From d36dc43c7e328542153688c5ceef44f5f85949cf Mon Sep 17 00:00:00 2001 From: Lycaon Constantine Cayde <2241853439@qq.com> Date: Sun, 20 Apr 2025 01:05:32 +0800 Subject: [PATCH 6/8] fix: maintainers typo --- maintainers/maintainer-list.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index ca0e8c153ffb..5584f0fd7aa0 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1951,18 +1951,18 @@ githubId = 62168569; name = "arjix"; }; - arkivm = { - email = "vikram186@gmail.com"; - github = "arkivm"; - githubId = 1118815; - name = "Vikram Narayanan"; - }; arkimium_76 = { email = "2241853439@qq.com"; github = "arkimium"; githubId = "114994536"; name = "Lycaon Constantine Cayde"; }; + arkivm = { + email = "vikram186@gmail.com"; + github = "arkivm"; + githubId = 1118815; + name = "Vikram Narayanan"; + }; armeenm = { email = "mahdianarmeen@gmail.com"; github = "armeenm"; From 0ca93ef5c9267b95f8a68c29cbfceacd03147c51 Mon Sep 17 00:00:00 2001 From: Lycaon Constantine Cayde <2241853439@qq.com> Date: Wed, 30 Apr 2025 19:58:09 +0800 Subject: [PATCH 7/8] feat: add liblingmo and lingmoui --- maintainers/maintainer-list.nix | 4 +- .../libraries/lingmo/liblingmo/default.nix | 55 +++++++++++++++++++ .../{ => lingmo}/lingmoui/default.nix | 13 +++-- 3 files changed, 64 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/libraries/lingmo/liblingmo/default.nix rename pkgs/development/libraries/{ => lingmo}/lingmoui/default.nix (88%) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 5584f0fd7aa0..76ac34d0c41d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1952,9 +1952,9 @@ name = "arjix"; }; arkimium_76 = { - email = "2241853439@qq.com"; + email = "kamialef2345@gmail.com"; github = "arkimium"; - githubId = "114994536"; + githubId = 114994536; name = "Lycaon Constantine Cayde"; }; arkivm = { diff --git a/pkgs/development/libraries/lingmo/liblingmo/default.nix b/pkgs/development/libraries/lingmo/liblingmo/default.nix new file mode 100644 index 000000000000..3e22886fd6ce --- /dev/null +++ b/pkgs/development/libraries/lingmo/liblingmo/default.nix @@ -0,0 +1,55 @@ +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: +stdenv.mkDerivation rec { + pname = "lib_lingmo"; + version = "1.10.1"; + + src = fetchFromGitHub { + owner = "LingmoOS"; + repo = "lib_lingmo"; + rev = version; + sha256 = "17dcgivspa3sk29x0ps1jzbj67q4m9smwpwi4kabz2cykc3b16lg"; + }; + + buildInputs = with pkgs; [ + qt5-quickcontrols2 + libsForQt5.qt5.qtbase + modemmanager + libsForQt5.qt5.qtsensors + libsForQt5.networkmanager-qt + libsFirQt5.libkscreen + libsForQt5.bluez-qt + libsForQt5.kio + cmake + extra-cmake-modules + libsForQt5.qt5.qtdeclarative + libsForQt5.qt5.qttools + libpulseaudio + libcanberra + ]; + + buildPhase = '' + echo "Compiling ${pname}" + mkdir -pv $out/build && cd $out/build + cmake .. + make -j$(nproc) || return 1 + ''; + + installPhase = '' + mkdir -pv $out + cd $out/build + make DESTDIR=$out install + ''; + + meta = with lib; { + description = "LingmoOS System Library"; + homepage = "https://github.com/lingmoos/lib_lingmo"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [arkimium_76]; + }; +} diff --git a/pkgs/development/libraries/lingmoui/default.nix b/pkgs/development/libraries/lingmo/lingmoui/default.nix similarity index 88% rename from pkgs/development/libraries/lingmoui/default.nix rename to pkgs/development/libraries/lingmo/lingmoui/default.nix index 3fe99b52d3e6..d78b984af119 100644 --- a/pkgs/development/libraries/lingmoui/default.nix +++ b/pkgs/development/libraries/lingmo/lingmoui/default.nix @@ -1,8 +1,9 @@ -{ lib, - stdenv, - fetchFromGitHub, - pkgs ? import {} }: - +{ + lib, + stdenv, + fetchFromGitHub, + pkgs ? import {}, +}: stdenv.mkDerivation rec { pname = "LingmoUI"; version = "3.1.1"; @@ -43,6 +44,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/lingmoos/LingmoUI"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ arkimium_76 ]; + maintainers = with maintainers; [arkimium_76]; }; } From 4035bd7fe8321eb68f24926c806e992666cf66e2 Mon Sep 17 00:00:00 2001 From: Lycaon Constantine Cayde <2241853439@qq.com> Date: Wed, 30 Apr 2025 20:10:05 +0800 Subject: [PATCH 8/8] fix: fix lingmo-videoplayer and others --- .../services/x11/desktop-managers/lingmo.nix | 79 +++++++++---------- nixos/tests/lingmo.nix | 16 ++-- pkgs/desktops/lingmo/videoplayer/default.nix | 37 --------- 3 files changed, 45 insertions(+), 87 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/lingmo.nix b/nixos/modules/services/x11/desktop-managers/lingmo.nix index ebe59564e492..0d9be06365aa 100644 --- a/nixos/modules/services/x11/desktop-managers/lingmo.nix +++ b/nixos/modules/services/x11/desktop-managers/lingmo.nix @@ -1,14 +1,13 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let +{ + config, + lib, + pkgs, + ... +}: +with lib; let xcfg = config.services.xserver; cfg = xcfg.desktopManager.lingmo; - -in - -{ +in { options = { services.xserver.desktopManager.lingmo.enable = mkOption { type = types.bool; @@ -18,38 +17,38 @@ in }; config = mkIf cfg.enable { - services.xserver.displayManager.sessionPackages = [ pkgs.lingmo.core ]; + services.xserver.displayManager.sessionPackages = [pkgs.lingmo.core]; services.xserver.displayManager.sddm.theme = mkDefault "lingmo"; services.accounts-daemon.enable = true; - environment.pathsToLink = [ "/share" ]; - environment.systemPackages = - let - lingmoPkgs = with pkgs.lingmo; [ - core - lingmoui - texteditor - terminal - videoplayer - wallpapers - statusbar - settings - sddm-theme - screenshots - screenlocker - qt-plugins - launcher - kwin-plugins - filemanager - dock - calculator - liblingmo - ]; - plasmaPkgs = with pkgs.libsForQt5; [ - kglobalaccel - kinit - kwin - ]; - in lingmoPkgs ++ plasmaPkgs; + environment.pathsToLink = ["/share"]; + environment.systemPackages = let + lingmoPkgs = with pkgs.lingmo; [ + core + lingmoui + texteditor + terminal + videoplayer + wallpapers + statusbar + settings + sddm-theme + screenshots + screenlocker + qt-plugins + launcher + kwin-plugins + filemanager + dock + calculator + liblingmo + ]; + plasmaPkgs = with pkgs.libsForQt5; [ + kglobalaccel + kinit + kwin + ]; + in + lingmoPkgs ++ plasmaPkgs; }; -} \ No newline at end of file +} diff --git a/nixos/tests/lingmo.nix b/nixos/tests/lingmo.nix index 1cf0abe759ae..102711807bcc 100644 --- a/nixos/tests/lingmo.nix +++ b/nixos/tests/lingmo.nix @@ -1,13 +1,9 @@ -import ./make-test-python.nix ({ pkgs, ... } : - -{ +import ./make-test-python.nix ({pkgs, ...}: { name = "lingmo"; - meta = with pkgs.lib.maintainers; [ arkimium_76 ]; - - machine = { ... }: + meta = with pkgs.lib.maintainers; [arkimium_76]; - { - imports = [ ./common/user-account.nix ]; + machine = {...}: { + imports = [./common/user-account.nix]; services.xserver.enable = true; services.xserver.displayManager.sddm.enable = true; services.xserver.displayManager.defaultSession = "lingmo-session"; @@ -21,7 +17,7 @@ import ./make-test-python.nix ({ pkgs, ... } : enableOCR = true; - testScript = { nodes, ... }: let + testScript = {nodes, ...}: let user = nodes.machine.config.users.users.alice; userCommand = "su - ${user.name} -c 'DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/${toString user.uid}'"; in '' @@ -69,4 +65,4 @@ import ./make-test-python.nix ({ pkgs, ... } : assert_can_run_app("lingmo-filemanager", ["lingmo-filemanager"], ["File Manager"]) assert_can_run_app("lingmo-terminal", ["lingmo-terminal"], ["Terminal"]) ''; -}) \ No newline at end of file +}) diff --git a/pkgs/desktops/lingmo/videoplayer/default.nix b/pkgs/desktops/lingmo/videoplayer/default.nix index 5de914c74c4f..3fe26fbc5b2f 100644 --- a/pkgs/desktops/lingmo/videoplayer/default.nix +++ b/pkgs/desktops/lingmo/videoplayer/default.nix @@ -45,41 +45,4 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ arkimium_76 ]; }; } -{ lib, stdenv, pkgs ? import {} }: - - stdenv.mkDerivation rec { - name = "lingmo-videoplayer-${version}"; - version = "2.0.1"; - owner = "LingmoOS"; - repo = "lingmo-videoplayer"; - rev = "refs/tags/v${version}"; - sha256 = "1gw784bqsvxidn8wlxylpg84bjbh5flpzsnmqrxn321x6vihya93"; - }; - - buildInputs = with pkgs; [ - mpv qt5-base qt5-quickcontrols2 qt5-tools - cmake extra-cmake-modules - ]; - - buildPhase = '' - echo "Compiling ${pname}" - mkdir -pv $out/build && cd $out/build - cmake -DCMAKE_INSTALL_PREFIX=/usr .. - make -j$(nproc) || return 1 - ''; - - installPhase = '' - mkdir -pv $out - cd $out/build - make DESTDIR=$out install - ''; - - meta = with lib; { - description = "Open source video player built using Qt/QML and libmpv."; - homepage = "https://lingmo.org/"; - license = licenses.gpl3; - platforms = platforms.linux; - maintainers = with maintainers; [ arkimium_76 ]; - }; -}