GNU Guix 1.1 փաթեթի կառավարիչ և դրա հիման վրա բաշխում հասանելի է
տեղի ունեցավ փաթեթի մենեջերի թողարկում GNU Guix 1.1 և դրա հիման վրա կառուցված GNU/Linux բաշխումը: Բեռնման համար ձեւավորվել է պատկերներ՝ USB Flash-ում (241 ՄԲ) տեղադրելու և վիրտուալացման համակարգերում օգտագործելու համար (479 ՄԲ): Աջակցում է i686, x86_64, armv7 և aarch64 ճարտարապետությունների շահագործմանը:
Բաշխումը թույլ է տալիս տեղադրել որպես ինքնուրույն ՕՀ վիրտուալացման համակարգերում, բեռնարկղերում և սովորական սարքավորումների վրա և գործարկել արդեն տեղադրված GNU/Linux բաշխումներում՝ հանդես գալով որպես հավելվածների տեղակայման հարթակ: Օգտագործողին տրամադրվում են այնպիսի գործառույթներ, ինչպիսիք են կախվածությունները, կրկնվող կառուցումները, առանց արմատի աշխատելը, խնդիրների դեպքում նախկին տարբերակներին վերադառնալը, կոնֆիգուրացիայի կառավարումը, միջավայրերի կլոնավորումը (այլ համակարգիչների վրա ծրագրային միջավայրի ճշգրիտ պատճենի ստեղծում) և այլն: .
Ավելացվել է նոր «guix deploy» հրամանը, որը նախատեսված է միանգամից մի քանի համակարգիչների ապարատը տեղակայելու համար, օրինակ՝ նոր միջավայրեր VPS-ում կամ հեռավոր համակարգեր, որոնք հասանելի են SSH-ի միջոցով:
Երրորդ կողմի փաթեթների պահեստների (ալիքների) հեղինակներին տրամադրվում են նորությունների հաղորդագրություններ գրելու գործիքներ, որոնք օգտատերը կարող է կարդալ «guix pull --news» հրամանը կատարելիս:
Ավելացվեց «guix system describe» հրամանը, որը թույլ է տալիս գնահատել փոփոխությունները համակարգի երկու տարբեր ատյանների միջև տեղակայման ընթացքում:
Singularity-ի և Docker-ի համար պատկերներ ստեղծելու աջակցությունն ավելացվել է «guix pack» հրամանին:
Ավելացվեց «guix time-machine» հրամանը, որը թույլ է տալիս վերադառնալ արխիվում պահված փաթեթի ցանկացած թողարկում: Heritage ծրագրային ապահովում.
Ապահովված կատարումը Guix օգտագործելով Գայլ 3, ինչը դրականորեն է ազդում արտադրողականության վրա։
Փաթեթի կախվածության գրաֆիկը սահմանափակված է երկուական սերմերի բաղադրիչների կրճատված հավաքածուով, ինչը մեծ քայլ է լիովին ստուգելի bootstrap-ի ներդրման ուղղությամբ:
Գործարկվել է գրաֆիկական տեղադրիչի ավտոմատացված փորձարկման շրջանակ: Տեղադրողն այժմ կառուցված է շարունակական ինտեգրման համակարգում և փորձարկվել է տարբեր կոնֆիգուրացիաներով (գաղտնագրված և կանոնավոր արմատային բաժանում, տեղադրում աշխատասեղաններով և այլն):
Node.js-ի, Julia-ի և Qt-ի համար ավելացվել են build համակարգեր՝ հեշտացնելով այս նախագծերի հետ կապված հավելվածների փաթեթների գրելը:
Հիշեցնենք, որ GNU Guix փաթեթի կառավարիչը հիմնված է նախագծի մշակումների վրա Nix և փաթեթի կառավարման տիպիկ գործառույթներից բացի, այն աջակցում է այնպիսի գործառույթների, ինչպիսիք են գործարքային թարմացումները կատարելը, թարմացումները հետաձգելու հնարավորությունը, աշխատել առանց գերօգտագործողի արտոնություններ ստանալու, անհատական օգտատերերի հետ կապված պրոֆիլների աջակցություն, մեկ ծրագրի մի քանի տարբերակներ միաժամանակ տեղադրելու հնարավորությունը, աղբահանության գործիքներ (փաթեթների չօգտագործված տարբերակների նույնականացում և հեռացում): Հավելվածի ստեղծման սցենարները և փաթեթների ձևավորման կանոնները սահմանելու համար առաջարկվում է օգտագործել բարձր մակարդակի մասնագիտացված տիրույթի հատուկ լեզու և Guile Scheme API բաղադրիչներ, որոնք թույլ են տալիս կատարել փաթեթի կառավարման բոլոր գործողությունները ֆունկցիոնալ ծրագրավորման լեզվի Scheme-ում:
Աջակցում է Nix փաթեթների կառավարչի համար պատրաստված և պահեստում տեղադրված փաթեթներ օգտագործելու հնարավորությանը Nixpkgs. Փաթեթների հետ գործառնություններից բացի, հնարավոր է ստեղծել սկրիպտներ՝ հավելվածների կոնֆիգուրացիաները կառավարելու համար: Երբ փաթեթը կառուցվում է, դրա հետ կապված բոլոր կախվածությունները ավտոմատ կերպով ներբեռնվում և կառուցվում են: Հնարավոր է կա՛մ ներբեռնել պատրաստի երկուական փաթեթներ պահոցից, կա՛մ կառուցել սկզբնական տեքստերից՝ բոլոր կախվածություններով: Գործիքներ են ներդրվել տեղադրված ծրագրերի տարբերակները թարմացնելու համար՝ կազմակերպելով արտաքին պահոցից թարմացումների տեղադրումը:
Փաթեթների կառուցման միջավայրը ձևավորվում է կոնտեյների տեսքով, որը պարունակում է հավելվածի աշխատանքի համար անհրաժեշտ բոլոր բաղադրիչները, ինչը թույլ է տալիս ստեղծել փաթեթների մի շարք, որոնք կարող են աշխատել՝ հաշվի չառնելով բաշխման բազային համակարգի միջավայրի կազմը, որում Guix-ն օգտագործվում է որպես հավելում: Կախվածությունը կարող է որոշվել Guix փաթեթների միջև՝ սկանավորելով նույնացուցիչի հեշերը տեղադրված փաթեթների գրացուցակում՝ արդեն տեղադրված կախվածությունների առկայությունը գտնելու համար: Փաթեթները տեղադրվում են օգտագործողի գրացուցակի առանձին գրացուցակի ծառի կամ ենթագրքի մեջ, ինչը թույլ է տալիս դրան զուգահեռ գոյություն ունենալ փաթեթների այլ կառավարիչների հետ և ապահովել գոյություն ունեցող բաշխումների լայն շրջանակի աջակցություն: Օրինակ, փաթեթը տեղադրվում է որպես /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/, որտեղ «f42a58...» փաթեթի եզակի նույնացուցիչն է, որն օգտագործվում է կախվածության մոնիտորինգի համար:
Բաշխումը ներառում է միայն անվճար բաղադրիչներ և գալիս է GNU Linux-Libre միջուկով, որը մաքրված է երկուական որոնվածի ոչ ազատ տարրերից: GCC 9.3-ը օգտագործվում է հավաքման համար: Ծառայությունների կառավարիչը օգտագործվում է որպես սկզբնավորման համակարգ GNU Shepherd (նախկին dmd), մշակվել է որպես SysV-init-ի այլընտրանք՝ կախվածության աջակցությամբ: Shepherd-ի կառավարման դեյմոնը և կոմունալ ծրագրերը գրված են Guile-ով (Scheme լեզվի իրականացումներից մեկը), որն օգտագործվում է նաև ծառայությունների գործարկման պարամետրեր սահմանելու համար։ Հիմնական պատկերն աջակցում է վահանակի ռեժիմին, բայց տեղադրման համար պատրաստված 13162 պատրաստի փաթեթներ, ներառյալ X.Org-ի վրա հիմնված գրաֆիկական փաթեթի բաղադրիչներ, dwm և ratpoison պատուհանների կառավարիչներ, Xfce աշխատասեղան, ինչպես նաև գրաֆիկական հավելվածների ընտրանի: