A step-by-step walkthrough shows how to write a custom Guix system service from scratch, using a Caddy reverse proxy as the example. It covers defining a service-type, using extensions to create system users via account-service-type, copying configuration files via activation-service-type, granting privileged ports through privileged-programs, and running the daemon under Shepherd via shepherd-root-service-type. Along the way it explains Guix concepts like compose/extend fields and G-expressions (gexps) used for staged build-time code. The final code combines all pieces into a working Caddy service that reverse-proxies a blog and responds on port 8080.
Nguồn: https://aloysberger.com/posts/writing-a-guix-service-from-scratch-as-a-beginner.html. 8 Sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Đang tải bình luận…
Lập trình viên chuyển từ Fedora sang GNU Guix để quản lý hệ thống và dependency một cách minh bạch nhờ vào declarative nature. Việc sử dụng Guix với scheme DSL cho phép định nghĩa toàn bộ hệ thống bằng code, đảm bảo reproduceability trên mọi máy. Quá trình cài đặt gặp khó khăn khi thiếu driver for WiFi card, nhưng được giải quyết bằng cách sử dụng firmware blob từ non-free repository. Kinh nghiệm quý giá là cách Guix quản lý dependency qua các generation, cho phép rollback nhanh chóng khi gặp vấn đề.
Bài viết này giúp lập trình viên hiểu cách chuyển sang GNU Guix - một hệ thống quản lý package độc lập với nhà cung cấp.
Trong quá trình phát triển trynix, tác giả cần nơi lưu trữ store-path không tồn tại trên cache.nixos.org để chứng minh các đường dẫn store không thuộc Nixpkgs có thể khởi động dễ dàng. Vấn đề CORS chưa được kích hoạt trên cache.nixos.org cũng là một rào cản kỹ thuật. Hệ quả là tác giả phải tự xây dựng giải pháp lưu trữ tạm thời. Đáng học hỏi là cách tiếp cận module hóa Nix store qua ba hàm chức năng, cho thấy sự linh hoạt trong hệ sinh thái Nix.
Bài viết này giúp lập trình viên hiểu cách triển khai store-path Nix tùy biến cho dự án riêng.
Bài viết bàn về cách kết hợp các tác nhân (agents) không đáng tin cậy với cơ sở hạ tầng sản xuất mà không gây ra sự cố nghiêm trọng cho máy chủ.
Lập trình viên cần đọc bài này để hiểu cách xử lý sự bất tin và sự phức tạp trong hệ thống sản xuất khi kết hợp các agent không đáng tin với hạ tầng, giúp tránh rủi ro và thiết kế hệ thống bền vững hơn.
Nix nổi bật nhờ khả năng đạt được "tính tái sản xuất" (reproducibility) theo mô hình định hướng đầu vào (intensional-model), nơi hash của store path phụ thuộc vào derivation chứ không phải nội dung đầu ra. Tính bit-for-bit reproducibility không phải mặc định của Nix, nhưng có thể đạt được thông qua tính năng ca-derivations theo mô hình định hướng đầu ra (extensional-model).
Nếu bạn đang tìm hiểu về hệ thống quản lý môi trường phát triển và tính tái tạo (reproducibility) trong DevOps, bài viết này giải thích cách Nix sử dụng mô hình input-addressed để tránh vấn đề dependency pollution—làm cho các dự án trở nên nhạy cảm với các thay đổi không mong muốn trong môi trường, thay vì chỉ dựa vào byte đầu ra.
Bài viết cung cấp từ điển thuật ngữ Nix từ góc nhìn người mới bắt đầu, giải thích các khái niệm cốt lõi như Nix expression language, derivations, Nix store, flakes, NixOS, Nixpkgs, channels, overlays, garbage collection, profiles, nix-daemon, modules, activation, nix-darwin, home-manager cùng những lưu ý khi cài đặt trên macOS. Tác giả cũng chia sẻ quan điểm về trải nghiệm onboarding của Nix và những điểm cần cải thiện.
Những người lập trình viên mới bắt đầu với Nix sẽ hiểu rõ hơn về cơ sở hạ tầng hiệu quả và tái sử dụng của hệ thống này, từ cách xây dựng ứng dụng đến quản lý môi trường, giúp họ tránh những lỗi thường gặp và tối ưu hóa công việc ngay từ đầu.
Abstract page for arXiv paper 2607.24888: Trusting-Trust Attack against an Entire Linux Distribution through Binary Manipulation
Determinate Nix 3.22.2 moves onto upstream Nix 2.35, gives nix eval a --drv-link flag that keeps the garbage collector away from freshly instantiated derivations, and makes nix copy fast again against older daemons.
A developer reflects on why their elaborate Nix configuration, which unifies desktop, laptop, and server setups into one deduplicated repository, remains private despite pride in its design. Two reasons are given: a mild security-through-obscurity concern (plaintext email addresses, exposed network architecture) and a deeper, personal reason - the config encodes idiosyncrasies, inside jokes, and personal history that feel too intimate to share as a whole, even though individual snippets are freely shared with friends learning Nix.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000+ bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thử