প্রকল্প সম্পর্কে

tsssni.nix একটি ব্যক্তিগত Nix ফ্লেক যা মডিউল, প্যাকেজ এবং সিস্টেম কনফিগারেশন শেয়ার করে। এটি পুনরুত্পাদনযোগ্য সিস্টেম এবং ডেস্কটপ কনফিগারেশন তৈরির জন্য একটি কাঠামো হিসেবে অবস্থান করছে, এবং এটি শর্টকাট ও প্লাগইনসহ একটি Nixvim সেটআপও অন্তর্ভুক্ত করে। ব্যবহার ফ্লেকের মাধ্যমে হয়। README-তে বলা হয়েছে যে শুধুমাত্র অস্থিতিশীল nixpkgs সমর্থিত, এবং ব্যবহারকারীর নিজের nixpkgs ইনপুট অনুসরণ করে nixpkgs সহ ফ্লেক ইনপুট হিসেবে রিপোজিটরি যোগ করার দেখানো হয়েছে। মডিউলগুলো tsssni.${platform}Modules.tsssni হিসেবে প্রকাশিত হয়, যা NixOS, nix-darwin এবং home-manager কভার করে। নথিভুক্ত প্যাটার্ন হলো সংশ্লিষ্ট কনফিগারেশনে প্রাসঙ্গিক মডিউল অন্তর্ভুক্ত করা এবং tsssni.lib দিয়ে lib সম্প্রসারিত করা, যার উদাহরণ nixosConfigurations, darwinConfigurations এবং homeConfigurations-এর জন্য দেওয়া আছে। প্যাকেজগুলো overlays-এর মাধ্যমে প্রদান করা হয়, যা nixpkgs.overlays দিয়ে যোগ করা হয়। কনফিগারেশন বিন্যাসের জন্য, README নির্দেশ দেয় সিস্টেম কনফিগারেশন ./configs/(nixos|nix-darwin)/${host-name} এর অধীনে এবং home-manager কনফিগারেশন ./configs/home-manager/${user-name} এর অধীনে রাখতে। সিস্টেম কনফিগারেশন ${config-path}/system/ এর অধীনে এবং home-manager কনফিগারেশন ${config-path}/${user-name}/ এর অধীনে যায়, প্রতিটিতে একটি rebuild.nix থাকে। বিল্ড (nixos|darwin)-rebuild switch --flake . বা home-manager switch --flake . দিয়ে করা হয়, এবং rebuild.nix-কে অবশ্যই একটি system মান ঘোষণা করতে হবে কারণ এটি সনাক্ত করা যায় না, সাথে CUDA সমর্থন এবং ক্ষমতার মতো সেটিংসের জন্য একটি ঐচ্ছিক config ব্লক থাকে। রিপোজিটরিতে README থেকে উল্লেখিত একটি স্ক্রিনশট সম্পদ অন্তর্ভুক্ত রয়েছে। প্রদত্ত উপাদানে কোনো লাইসেন্স, রিলিজ বা অবদানের বিবরণ দেওয়া নেই।