Nix Software Center: Cửa hàng ứng dụng đồ họa cho Nix

Giới thiệu dự án

Nix Software Center là một cửa hàng ứng dụng đồ họa được thiết kế riêng cho hệ điều hành Nix, được xây dựng dựa trên libadwaita, GTK4 và Relm4, lấy cảm hứng từ GNOME Software. Dự án này hướng tới mục tiêu cung cấp cho người dùng Nix một giao diện trực quan và dễ sử dụng để quản lý và cài đặt các gói phần mềm một cách thuận tiện.

Phân tích kỹ thuật

Công nghệ cốt lõi của Nix Software Center bao gồm:

  • libadwaita: Cung cấp các thành phần giao diện người dùng hiện đại.
  • GTK4: Dùng để xây dựng giao diện người dùng đồ họa đa nền tảng.
  • Relm4: Một framework GUI dựa trên Rust, giúp xây dựng các ứng dụng phản ứng linh hoạt.

Sự kết hợp của các công nghệ này mang lại cho Nix Software Center không chỉ vẻ ngoài hiện đại mà còn hiệu năng vượt trội, đảm bảo trải nghiệm người dùng mượt mà.

Ứng dụng thực tế

Nix Software Center phù hợp với các tình huống sau:

  • Người dùng NixOS: Cung cấp giao diện đồ họa để quản lý gói phần mềm cho người dùng NixOS.
  • Nhà phát triển: Là công cụ tiện lợi để kiểm thử và triển khai ứng dụng.
  • Người đam mê công nghệ: Là nền tảng khám phá và học hỏi cho những ai quan tâm đến hệ sinh thái Nix.

Tính năng nổi bật

  • Giao diện đồ họa trực quan: Cung cấp giao diện đồ họa dễ hiểu, giúp việc cài đặt và quản lý gói phần mềm trở nên đơn giản.
  • Hỗ trợ Flakes: Có thể kích hoạt hỗ trợ Flakes qua cài đặt tùy chỉnh, mang lại cách quản lý gói linh hoạt hơn.
  • Thông báo cập nhật: Tự động phát hiện và hiển thị các bản cập nhật cho các gói đã cài đặt.
  • Chức năng tìm kiếm: Hỗ trợ tìm kiếm nhanh các gói phần mềm, giúp người dùng dễ dàng tìm thấy ứng dụng mong muốn.
  • Chạy trực tiếp không cần cài đặt: Cho phép chạy ứng dụng ngay lập tức thông qua nix-shellnix run mà không cần cài đặt.

Hướng dẫn cài đặt

Cài đặt qua Flakes trên NixOS

Thêm vào tệp flake.nix:
{
  inputs = {
    # các input khác
    nix-software-center.url = "github:vlinkz/nix-software-center";
  };
}
Thêm vào tệp configuration.nix:
environment.systemPackages = with pkgs; [
    inputs.nix-software-center.packages.${system}.nix-software-center
];

Cài đặt trên NixOS

Thêm vào đầu tệp configuration.nix:
let
  nix-software-center = import (pkgs.fetchFromGitHub {
    owner = "vlinkz";
    repo = "nix-software-center";
    rev = "0.1.2";
    sha256 = "xiqF1mP8wFubdsAQ1BmfjzCgOD3YZf7EGWl9i69FTls=";
  }) {};
in
Sau đó thêm vào danh sách gói hệ thống:
environment.systemPackages = with pkgs; [
  nix-software-center
];

Cài đặt bằng nix profile

nix profile install github:vlinkz/nix-software-center

Cài đặt bằng nix-env

git clone https://github.com/vlinkz/nix-software-center
nix-env -f nix-software-center -i nix-software-center

Chạy một lần

Trên hệ thống đã bật Flakes:
nix run github:vlinkz/nix-software-center
Trên hệ thống chưa bật Flakes:
nix --extra-experimental-features "nix-command flakes" run github:vlinkz/nix-software-center

Gỡ lỗi

RUST_LOG=nix_software_center=trace nix-software-center

Thẻ: Nix NixOS GTK4 libadwaita Relm4

Đăng vào ngày 28 tháng 6 lúc 23:20