guix-manual.pot 1.2 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098
  1. # SOME DESCRIPTIVE TITLE
  2. # Copyright (C) YEAR Ludovic Courtès
  3. # This file is distributed under the same license as the guix package.
  4. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
  5. #
  6. #, fuzzy
  7. msgid ""
  8. msgstr ""
  9. "Project-Id-Version: guix 0.14.0.4289-6527\n"
  10. "Report-Msgid-Bugs-To: ludo@gnu.org\n"
  11. "POT-Creation-Date: 2018-04-29 20:48+0200\n"
  12. "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  13. "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  14. "Language-Team: LANGUAGE <LL@li.org>\n"
  15. "Language: \n"
  16. "MIME-Version: 1.0\n"
  17. "Content-Type: text/plain; charset=UTF-8\n"
  18. "Content-Transfer-Encoding: 8bit\n"
  19. #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  20. #. type: chapter
  21. #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  22. #. type: menuentry
  23. #: doc/contributing.texi:1 doc/contributing.texi:2 doc/guix.texi:106
  24. #: doc/guix.texi:276
  25. #, no-wrap
  26. msgid "Contributing"
  27. msgstr ""
  28. #. type: Plain text
  29. #: doc/contributing.texi:9
  30. msgid ""
  31. "This project is a cooperative effort, and we need your help to make it grow! "
  32. "Please get in touch with us on @email{guix-devel@@gnu.org} and @code{#guix} "
  33. "on the Freenode IRC network. We welcome ideas, bug reports, patches, and "
  34. "anything that may be helpful to the project. We particularly welcome help "
  35. "on packaging (@pxref{Packaging Guidelines})."
  36. msgstr ""
  37. #. type: cindex
  38. #: doc/contributing.texi:10
  39. #, no-wrap
  40. msgid "code of conduct, of contributors"
  41. msgstr ""
  42. #. type: cindex
  43. #: doc/contributing.texi:11
  44. #, no-wrap
  45. msgid "contributor covenant"
  46. msgstr ""
  47. #. type: Plain text
  48. #: doc/contributing.texi:17
  49. msgid ""
  50. "We want to provide a warm, friendly, and harassment-free environment, so "
  51. "that anyone can contribute to the best of their abilities. To this end our "
  52. "project uses a ``Contributor Covenant'', which was adapted from @url{http://"
  53. "contributor-covenant.org/}. You can find a local version in the @file{CODE-"
  54. "OF-CONDUCT} file in the source tree."
  55. msgstr ""
  56. #. type: Plain text
  57. #: doc/contributing.texi:21
  58. msgid ""
  59. "Contributors are not required to use their legal name in patches and on-line "
  60. "communication; they can use any name or pseudonym of their choice."
  61. msgstr ""
  62. #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  63. #. type: section
  64. #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  65. #. type: menuentry
  66. #: doc/contributing.texi:28 doc/contributing.texi:30 doc/contributing.texi:31
  67. #: doc/guix.texi:282
  68. #, no-wrap
  69. msgid "Building from Git"
  70. msgstr ""
  71. #. type: menuentry
  72. #: doc/contributing.texi:28 doc/guix.texi:282
  73. msgid "The latest and greatest."
  74. msgstr ""
  75. #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  76. #. type: section
  77. #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  78. #. type: menuentry
  79. #: doc/contributing.texi:28 doc/contributing.texi:102 doc/contributing.texi:103
  80. #: doc/guix.texi:282
  81. #, no-wrap
  82. msgid "Running Guix Before It Is Installed"
  83. msgstr ""
  84. #. type: menuentry
  85. #: doc/contributing.texi:28 doc/guix.texi:282
  86. msgid "Hacker tricks."
  87. msgstr ""
  88. #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  89. #. type: section
  90. #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  91. #. type: menuentry
  92. #: doc/contributing.texi:28 doc/contributing.texi:169 doc/contributing.texi:170
  93. #: doc/guix.texi:282
  94. #, no-wrap
  95. msgid "The Perfect Setup"
  96. msgstr ""
  97. #. type: menuentry
  98. #: doc/contributing.texi:28 doc/guix.texi:282
  99. msgid "The right tools."
  100. msgstr ""
  101. #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  102. #. type: section
  103. #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  104. #. type: menuentry
  105. #: doc/contributing.texi:28 doc/contributing.texi:228 doc/contributing.texi:229
  106. #: doc/guix.texi:282 doc/guix.texi:284
  107. #, no-wrap
  108. msgid "Coding Style"
  109. msgstr ""
  110. #. type: menuentry
  111. #: doc/contributing.texi:28 doc/guix.texi:282
  112. msgid "Hygiene of the contributor."
  113. msgstr ""
  114. #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  115. #. type: section
  116. #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  117. #. type: menuentry
  118. #: doc/contributing.texi:28 doc/contributing.texi:326 doc/contributing.texi:327
  119. #: doc/guix.texi:282
  120. #, no-wrap
  121. msgid "Submitting Patches"
  122. msgstr ""
  123. #. type: menuentry
  124. #: doc/contributing.texi:28 doc/guix.texi:282
  125. msgid "Share your work."
  126. msgstr ""
  127. #. type: Plain text
  128. #: doc/contributing.texi:35
  129. msgid ""
  130. "If you want to hack Guix itself, it is recommended to use the latest version "
  131. "from the Git repository:"
  132. msgstr ""
  133. #. type: example
  134. #: doc/contributing.texi:38
  135. #, no-wrap
  136. msgid "git clone https://git.savannah.gnu.org/git/guix.git\n"
  137. msgstr ""
  138. #. type: Plain text
  139. #: doc/contributing.texi:43
  140. msgid ""
  141. "When building Guix from a checkout, the following packages are required in "
  142. "addition to those mentioned in the installation instructions "
  143. "(@pxref{Requirements})."
  144. msgstr ""
  145. #. type: item
  146. #: doc/contributing.texi:45
  147. #, no-wrap
  148. msgid "@url{http://gnu.org/software/autoconf/, GNU Autoconf};"
  149. msgstr ""
  150. #. type: item
  151. #: doc/contributing.texi:46
  152. #, no-wrap
  153. msgid "@url{http://gnu.org/software/automake/, GNU Automake};"
  154. msgstr ""
  155. #. type: item
  156. #: doc/contributing.texi:47
  157. #, no-wrap
  158. msgid "@url{http://gnu.org/software/gettext/, GNU Gettext};"
  159. msgstr ""
  160. #. type: item
  161. #: doc/contributing.texi:48
  162. #, no-wrap
  163. msgid "@url{http://gnu.org/software/texinfo/, GNU Texinfo};"
  164. msgstr ""
  165. #. type: item
  166. #: doc/contributing.texi:49
  167. #, no-wrap
  168. msgid "@url{http://www.graphviz.org/, Graphviz};"
  169. msgstr ""
  170. #. type: item
  171. #: doc/contributing.texi:50
  172. #, no-wrap
  173. msgid "@url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
  174. msgstr ""
  175. #. type: Plain text
  176. #: doc/contributing.texi:57
  177. msgid ""
  178. "The easiest way to set up a development environment for Guix is, of course, "
  179. "by using Guix! The following command starts a new shell where all the "
  180. "dependencies and appropriate environment variables are set up to hack on "
  181. "Guix:"
  182. msgstr ""
  183. #. type: example
  184. #: doc/contributing.texi:60
  185. #, no-wrap
  186. msgid "guix environment guix\n"
  187. msgstr ""
  188. #. type: Plain text
  189. #: doc/contributing.texi:64
  190. msgid ""
  191. "@xref{Invoking guix environment}, for more information on that command. "
  192. "Extra dependencies can be added with @option{--ad-hoc}:"
  193. msgstr ""
  194. #. type: example
  195. #: doc/contributing.texi:67
  196. #, no-wrap
  197. msgid "guix environment guix --ad-hoc help2man git strace\n"
  198. msgstr ""
  199. #. type: Plain text
  200. #: doc/contributing.texi:71
  201. msgid ""
  202. "Run @command{./bootstrap} to generate the build system infrastructure using "
  203. "Autoconf and Automake. If you get an error like this one:"
  204. msgstr ""
  205. #. type: example
  206. #: doc/contributing.texi:74
  207. #, no-wrap
  208. msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n"
  209. msgstr ""
  210. #. type: Plain text
  211. #: doc/contributing.texi:83
  212. msgid ""
  213. "it probably means that Autoconf couldn’t find @file{pkg.m4}, which is "
  214. "provided by pkg-config. Make sure that @file{pkg.m4} is available. The "
  215. "same holds for the @file{guile.m4} set of macros provided by Guile. For "
  216. "instance, if you installed Automake in @file{/usr/local}, it wouldn’t look "
  217. "for @file{.m4} files in @file{/usr/share}. In that case, you have to invoke "
  218. "the following command:"
  219. msgstr ""
  220. #. type: example
  221. #: doc/contributing.texi:86
  222. #, no-wrap
  223. msgid "export ACLOCAL_PATH=/usr/share/aclocal\n"
  224. msgstr ""
  225. #. type: Plain text
  226. #: doc/contributing.texi:90
  227. msgid ""
  228. "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more "
  229. "information."
  230. msgstr ""
  231. #. type: Plain text
  232. #: doc/contributing.texi:95
  233. msgid ""
  234. "Then, run @command{./configure} as usual. Make sure to pass @code{--"
  235. "localstatedir=@var{directory}} where @var{directory} is the "
  236. "@code{localstatedir} value used by your current installation (@pxref{The "
  237. "Store}, for information about this)."
  238. msgstr ""
  239. #. type: Plain text
  240. #: doc/contributing.texi:100
  241. msgid ""
  242. "Finally, you have to invoke @code{make check} to run tests (@pxref{Running "
  243. "the Test Suite}). If anything fails, take a look at installation "
  244. "instructions (@pxref{Installation}) or send a message to the @email{guix-"
  245. "devel@@gnu.org, mailing list}."
  246. msgstr ""
  247. #. type: Plain text
  248. #: doc/contributing.texi:109
  249. msgid ""
  250. "In order to keep a sane working environment, you will find it useful to test "
  251. "the changes made in your local source tree checkout without actually "
  252. "installing them. So that you can distinguish between your ``end-user'' hat "
  253. "and your ``motley'' costume."
  254. msgstr ""
  255. #. type: Plain text
  256. #: doc/contributing.texi:117
  257. msgid ""
  258. "To that end, all the command-line tools can be used even if you have not run "
  259. "@code{make install}. To do that, prefix each command with @command{./pre-"
  260. "inst-env} (the @file{pre-inst-env} script lives in the top build tree of "
  261. "Guix), as in@footnote{The @option{-E} flag to @command{sudo} guarantees that "
  262. "@code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and "
  263. "the tools it uses can find the Guile modules they need.}:"
  264. msgstr ""
  265. #. type: example
  266. #: doc/contributing.texi:121
  267. #, no-wrap
  268. msgid ""
  269. "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n"
  270. "$ ./pre-inst-env guix build hello\n"
  271. msgstr ""
  272. #. type: Plain text
  273. #: doc/contributing.texi:125
  274. msgid "Similarly, for a Guile session using the Guix modules:"
  275. msgstr ""
  276. #. type: example
  277. #: doc/contributing.texi:128
  278. #, no-wrap
  279. msgid ""
  280. "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n"
  281. "\n"
  282. msgstr ""
  283. #. type: example
  284. #: doc/contributing.texi:130
  285. #, no-wrap
  286. msgid ";;; (\"x86_64-linux\")\n"
  287. msgstr ""
  288. #. type: cindex
  289. #: doc/contributing.texi:133
  290. #, no-wrap
  291. msgid "REPL"
  292. msgstr ""
  293. #. type: cindex
  294. #: doc/contributing.texi:134
  295. #, no-wrap
  296. msgid "read-eval-print loop"
  297. msgstr ""
  298. #. type: Plain text
  299. #: doc/contributing.texi:137
  300. msgid ""
  301. "@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile "
  302. "Reference Manual}):"
  303. msgstr ""
  304. #. type: example
  305. #: doc/contributing.texi:152
  306. #, no-wrap
  307. msgid ""
  308. "$ ./pre-inst-env guile\n"
  309. "scheme@@(guile-user)> ,use(guix)\n"
  310. "scheme@@(guile-user)> ,use(gnu)\n"
  311. "scheme@@(guile-user)> (define snakes\n"
  312. " (fold-packages\n"
  313. " (lambda (package lst)\n"
  314. " (if (string-prefix? \"python\"\n"
  315. " (package-name package))\n"
  316. " (cons package lst)\n"
  317. " lst))\n"
  318. " '()))\n"
  319. "scheme@@(guile-user)> (length snakes)\n"
  320. "$1 = 361\n"
  321. msgstr ""
  322. #. type: Plain text
  323. #: doc/contributing.texi:156
  324. msgid ""
  325. "The @command{pre-inst-env} script sets up all the environment variables "
  326. "necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}."
  327. msgstr ""
  328. #. type: Plain text
  329. #: doc/contributing.texi:167
  330. msgid ""
  331. "Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the "
  332. "local source tree; it simply updates the @file{~/.config/guix/latest} "
  333. "symlink (@pxref{Invoking guix pull}). Run @command{git pull} instead if you "
  334. "want to upgrade your local source tree.@footnote{If you would like to set up "
  335. "@command{guix} to use your Git checkout, you can point the @file{~/.config/"
  336. "guix/latest} symlink to your Git checkout directory. If you are the sole "
  337. "user of your system, you may also consider pointing the @file{/root/.config/"
  338. "guix/latest} symlink to point to @file{~/.config/guix/latest}; this way it "
  339. "will always use the same @command{guix} as your user does.}"
  340. msgstr ""
  341. #. type: Plain text
  342. #: doc/contributing.texi:177
  343. msgid ""
  344. "The Perfect Setup to hack on Guix is basically the perfect setup used for "
  345. "Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference "
  346. "Manual}). First, you need more than an editor, you need @url{http://www.gnu."
  347. "org/software/emacs, Emacs}, empowered by the wonderful @url{http://nongnu."
  348. "org/geiser/, Geiser}."
  349. msgstr ""
  350. #. type: Plain text
  351. #: doc/contributing.texi:185
  352. msgid ""
  353. "Geiser allows for interactive and incremental development from within Emacs: "
  354. "code compilation and evaluation from within buffers, access to on-line "
  355. "documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump "
  356. "to an object definition, a REPL to try out your code, and more "
  357. "(@pxref{Introduction,,, geiser, Geiser User Manual}). For convenient Guix "
  358. "development, make sure to augment Guile’s load path so that it finds source "
  359. "files from your checkout:"
  360. msgstr ""
  361. #. type: lisp
  362. #: doc/contributing.texi:190
  363. #, no-wrap
  364. msgid ""
  365. ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n"
  366. "(with-eval-after-load 'geiser-guile\n"
  367. " (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n"
  368. msgstr ""
  369. #. type: Plain text
  370. #: doc/contributing.texi:198
  371. msgid ""
  372. "To actually edit the code, Emacs already has a neat Scheme mode. But in "
  373. "addition to that, you must not miss @url{http://www.emacswiki.org/emacs/"
  374. "ParEdit, Paredit}. It provides facilities to directly operate on the syntax "
  375. "tree, such as raising an s-expression or wrapping it, swallowing or "
  376. "rejecting the following s-expression, etc."
  377. msgstr ""
  378. #. type: cindex
  379. #: doc/contributing.texi:199
  380. #, no-wrap
  381. msgid "code snippets"
  382. msgstr ""
  383. #. type: cindex
  384. #: doc/contributing.texi:200
  385. #, no-wrap
  386. msgid "templates"
  387. msgstr ""
  388. #. type: cindex
  389. #: doc/contributing.texi:201
  390. #, no-wrap
  391. msgid "reducing boilerplate"
  392. msgstr ""
  393. #. type: Plain text
  394. #: doc/contributing.texi:208
  395. msgid ""
  396. "We also provide templates for common git commit messages and package "
  397. "definitions in the @file{etc/snippets} directory. These templates can be "
  398. "used with @url{http://joaotavora.github.io/yasnippet/, YASnippet} to expand "
  399. "short trigger strings to interactive text snippets. You may want to add the "
  400. "snippets directory to the @var{yas-snippet-dirs} variable in Emacs."
  401. msgstr ""
  402. #. type: lisp
  403. #: doc/contributing.texi:213
  404. #, no-wrap
  405. msgid ""
  406. ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n"
  407. "(with-eval-after-load 'yasnippet\n"
  408. " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n"
  409. msgstr ""
  410. #. type: Plain text
  411. #: doc/contributing.texi:220
  412. msgid ""
  413. "The commit message snippets depend on @url{https://magit.vc/, Magit} to "
  414. "display staged files. When editing a commit message type @code{add} "
  415. "followed by @kbd{TAB} to insert a commit message template for adding a "
  416. "package; type @code{update} followed by @kbd{TAB} to insert a template for "
  417. "updating a package."
  418. msgstr ""
  419. #. type: Plain text
  420. #: doc/contributing.texi:226
  421. msgid ""
  422. "The main snippet for @code{scheme-mode} is triggered by typing "
  423. "@code{package...} followed by @kbd{TAB}. This snippet also inserts the "
  424. "trigger string @code{origin...}, which can be expanded further. The "
  425. "@code{origin} snippet in turn may insert other trigger strings ending on "
  426. "@code{...}, which also can be expanded further."
  427. msgstr ""
  428. #. type: Plain text
  429. #: doc/contributing.texi:234
  430. msgid ""
  431. "In general our code follows the GNU Coding Standards (@pxref{Top,,, "
  432. "standards, GNU Coding Standards}). However, they do not say much about "
  433. "Scheme, so here are some additional rules."
  434. msgstr ""
  435. #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  436. #. type: subsection
  437. #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  438. #. type: menuentry
  439. #: doc/contributing.texi:240 doc/contributing.texi:242
  440. #: doc/contributing.texi:243 doc/guix.texi:289
  441. #, no-wrap
  442. msgid "Programming Paradigm"
  443. msgstr ""
  444. #. type: menuentry
  445. #: doc/contributing.texi:240 doc/guix.texi:289
  446. msgid "How to compose your elements."
  447. msgstr ""
  448. #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  449. #. type: subsection
  450. #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  451. #. type: menuentry
  452. #: doc/contributing.texi:240 doc/contributing.texi:249
  453. #: doc/contributing.texi:250 doc/guix.texi:289
  454. #, no-wrap
  455. msgid "Modules"
  456. msgstr ""
  457. #. type: menuentry
  458. #: doc/contributing.texi:240 doc/guix.texi:289
  459. msgid "Where to store your code?"
  460. msgstr ""
  461. #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  462. #. type: subsection
  463. #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  464. #. type: menuentry
  465. #: doc/contributing.texi:240 doc/contributing.texi:260
  466. #: doc/contributing.texi:261 doc/guix.texi:289
  467. #, no-wrap
  468. msgid "Data Types and Pattern Matching"
  469. msgstr ""
  470. #. type: menuentry
  471. #: doc/contributing.texi:240 doc/guix.texi:289
  472. msgid "Implementing data structures."
  473. msgstr ""
  474. #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  475. #. type: subsection
  476. #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
  477. #. type: menuentry
  478. #: doc/contributing.texi:240 doc/contributing.texi:274
  479. #: doc/contributing.texi:275 doc/guix.texi:289
  480. #, no-wrap
  481. msgid "Formatting Code"
  482. msgstr ""
  483. #. type: menuentry
  484. #: doc/contributing.texi:240 doc/guix.texi:289
  485. msgid "Writing conventions."
  486. msgstr ""
  487. #. type: Plain text
  488. #: doc/contributing.texi:248
  489. msgid ""
  490. "Scheme code in Guix is written in a purely functional style. One exception "
  491. "is code that involves input/output, and procedures that implement low-level "
  492. "concepts, such as the @code{memoize} procedure."
  493. msgstr ""
  494. #. type: Plain text
  495. #: doc/contributing.texi:256
  496. msgid ""
  497. "Guile modules that are meant to be used on the builder side must live in the "
  498. "@code{(guix build @dots{})} name space. They must not refer to other Guix "
  499. "or GNU modules. However, it is OK for a ``host-side'' module to use a build-"
  500. "side module."
  501. msgstr ""
  502. #. type: Plain text
  503. #: doc/contributing.texi:259
  504. msgid ""
  505. "Modules that deal with the broader GNU system should be in the @code{(gnu "
  506. "@dots{})} name space rather than @code{(guix @dots{})}."
  507. msgstr ""
  508. #. type: Plain text
  509. #: doc/contributing.texi:268
  510. msgid ""
  511. "The tendency in classical Lisp is to use lists to represent everything, and "
  512. "then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, "
  513. "and co. There are several problems with that style, notably the fact that "
  514. "it is hard to read, error-prone, and a hindrance to proper type error "
  515. "reports."
  516. msgstr ""
  517. #. type: Plain text
  518. #: doc/contributing.texi:273
  519. msgid ""
  520. "Guix code should define appropriate data types (for instance, using "
  521. "@code{define-record-type*}) rather than abuse lists. In addition, it should "
  522. "use pattern matching, via Guile’s @code{(ice-9 match)} module, especially "
  523. "when matching lists."
  524. msgstr ""
  525. #. type: cindex
  526. #: doc/contributing.texi:277
  527. #, no-wrap
  528. msgid "formatting code"
  529. msgstr ""
  530. #. type: cindex
  531. #: doc/contributing.texi:278
  532. #, no-wrap
  533. msgid "coding style"
  534. msgstr ""
  535. #. type: Plain text
  536. #: doc/contributing.texi:285
  537. msgid ""
  538. "When writing Scheme code, we follow common wisdom among Scheme programmers. "
  539. "In general, we follow the @url{http://mumble.net/~campbell/scheme/style.txt, "
  540. "Riastradh's Lisp Style Rules}. This document happens to describe the "
  541. "conventions mostly used in Guile’s code too. It is very thoughtful and well "
  542. "written, so please do read it."
  543. msgstr ""
  544. #. type: Plain text
  545. #: doc/contributing.texi:292
  546. msgid ""
  547. "Some special forms introduced in Guix, such as the @code{substitute*} macro, "
  548. "have special indentation rules. These are defined in the @file{.dir-locals."
  549. "el} file, which Emacs automatically uses. Also note that Emacs-Guix "
  550. "provides @code{guix-devel-mode} mode that indents and highlights Guix code "
  551. "properly (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference "
  552. "Manual})."
  553. msgstr ""
  554. #. type: cindex
  555. #: doc/contributing.texi:293
  556. #, no-wrap
  557. msgid "indentation, of code"
  558. msgstr ""
  559. #. type: cindex
  560. #: doc/contributing.texi:294
  561. #, no-wrap
  562. msgid "formatting, of code"
  563. msgstr ""
  564. #. type: Plain text
  565. #: doc/contributing.texi:297
  566. msgid ""
  567. "If you do not use Emacs, please make sure to let your editor knows these "
  568. "rules. To automatically indent a package definition, you can also run:"
  569. msgstr ""
  570. #. type: example
  571. #: doc/contributing.texi:300
  572. #, no-wrap
  573. msgid "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n"
  574. msgstr ""
  575. #. type: Plain text
  576. #: doc/contributing.texi:306
  577. msgid ""
  578. "This automatically indents the definition of @var{package} in @file{gnu/"
  579. "packages/@var{file}.scm} by running Emacs in batch mode. To indent a whole "
  580. "file, omit the second argument:"
  581. msgstr ""
  582. #. type: example
  583. #: doc/contributing.texi:309
  584. #, no-wrap
  585. msgid "./etc/indent-code.el gnu/services/@var{file}.scm\n"
  586. msgstr ""
  587. #. type: cindex
  588. #: doc/contributing.texi:311
  589. #, no-wrap
  590. msgid "Vim, Scheme code editing"
  591. msgstr ""
  592. #. type: Plain text
  593. #: doc/contributing.texi:317
  594. msgid ""
  595. "If you are editing code with Vim, we recommend that you run @code{:set "
  596. "autoindent} so that your code is automatically indented as you type. "
  597. "Additionally, @uref{https://www.vim.org/scripts/script.php?script_id=3998, "
  598. "@code{paredit.vim}} may help you deal with all these parentheses."
  599. msgstr ""
  600. #. type: Plain text
  601. #: doc/contributing.texi:321
  602. msgid ""
  603. "We require all top-level procedures to carry a docstring. This requirement "
  604. "can be relaxed for simple private procedures in the @code{(guix build "
  605. "@dots{})} name space, though."
  606. msgstr ""
  607. #. type: Plain text
  608. #: doc/contributing.texi:324
  609. msgid ""
  610. "Procedures should not have more than four positional parameters. Use "
  611. "keyword parameters for procedures that take more than four parameters."
  612. msgstr ""
  613. #. type: Plain text
  614. #: doc/contributing.texi:333
  615. msgid ""
  616. "Development is done using the Git distributed version control system. Thus, "
  617. "access to the repository is not strictly necessary. We welcome "
  618. "contributions in the form of patches as produced by @code{git format-patch} "
  619. "sent to the @email{guix-patches@@gnu.org} mailing list."
  620. msgstr ""
  621. #. type: Plain text
  622. #: doc/contributing.texi:340
  623. msgid ""
  624. "This mailing list is backed by a Debbugs instance accessible at "
  625. "@uref{https://bugs.gnu.org/guix-patches}, which allows us to keep track of "
  626. "submissions. Each message sent to that mailing list gets a new tracking "
  627. "number assigned; people can then follow up on the submission by sending "
  628. "email to @code{@var{NNN}@@debbugs.gnu.org}, where @var{NNN} is the tracking "
  629. "number (@pxref{Sending a Patch Series})."
  630. msgstr ""
  631. #. type: Plain text
  632. #: doc/contributing.texi:344
  633. msgid ""
  634. "Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, "
  635. "standards, GNU Coding Standards}); you can check the commit history for "
  636. "examples."
  637. msgstr ""
  638. #. type: Plain text
  639. #: doc/contributing.texi:347
  640. msgid ""
  641. "Before submitting a patch that adds or modifies a package definition, please "
  642. "run through this check list:"
  643. msgstr ""
  644. #. type: enumerate
  645. #: doc/contributing.texi:354
  646. msgid ""
  647. "If the authors of the packaged software provide a cryptographic signature "
  648. "for the release tarball, make an effort to verify the authenticity of the "
  649. "archive. For a detached GPG signature file this would be done with the "
  650. "@code{gpg --verify} command."
  651. msgstr ""
  652. #. type: enumerate
  653. #: doc/contributing.texi:358
  654. msgid ""
  655. "Take some time to provide an adequate synopsis and description for the "
  656. "package. @xref{Synopses and Descriptions}, for some guidelines."
  657. msgstr ""
  658. #. type: enumerate
  659. #: doc/contributing.texi:363
  660. msgid ""
  661. "Run @code{guix lint @var{package}}, where @var{package} is the name of the "
  662. "new or modified package, and fix any errors it reports (@pxref{Invoking guix "
  663. "lint})."
  664. msgstr ""
  665. #. type: enumerate
  666. #: doc/contributing.texi:367
  667. msgid ""
  668. "Make sure the package builds on your platform, using @code{guix build "
  669. "@var{package}}."
  670. msgstr ""
  671. #. type: cindex
  672. #: doc/contributing.texi:369
  673. #, no-wrap
  674. msgid "bundling"
  675. msgstr ""
  676. #. type: enumerate
  677. #: doc/contributing.texi:372
  678. msgid ""
  679. "Make sure the package does not use bundled copies of software already "
  680. "available as separate packages."
  681. msgstr ""
  682. #. type: enumerate
  683. #: doc/contributing.texi:381
  684. msgid ""
  685. "Sometimes, packages include copies of the source code of their dependencies "
  686. "as a convenience for users. However, as a distribution, we want to make "
  687. "sure that such packages end up using the copy we already have in the "
  688. "distribution, if there is one. This improves resource usage (the dependency "
  689. "is built and stored only once), and allows the distribution to make "
  690. "transverse changes such as applying security updates for a given software "
  691. "package in a single place and have them affect the whole system---something "
  692. "that bundled copies prevent."
  693. msgstr ""
  694. #. type: enumerate
  695. #: doc/contributing.texi:388
  696. msgid ""
  697. "Take a look at the profile reported by @command{guix size} (@pxref{Invoking "
  698. "guix size}). This will allow you to notice references to other packages "
  699. "unwillingly retained. It may also help determine whether to split the "
  700. "package (@pxref{Packages with Multiple Outputs}), and which optional "
  701. "dependencies should be used."
  702. msgstr ""
  703. #. type: enumerate
  704. #: doc/contributing.texi:393
  705. msgid ""
  706. "For important changes, check that dependent package (if applicable) are not "
  707. "affected by the change; @code{guix refresh --list-dependent @var{package}} "
  708. "will help you do that (@pxref{Invoking guix refresh})."
  709. msgstr ""
  710. #. type: cindex
  711. #: doc/contributing.texi:395
  712. #, no-wrap
  713. msgid "branching strategy"
  714. msgstr ""
  715. #. type: cindex
  716. #: doc/contributing.texi:396
  717. #, no-wrap
  718. msgid "rebuild scheduling strategy"
  719. msgstr ""
  720. #. type: enumerate
  721. #: doc/contributing.texi:399
  722. msgid ""
  723. "Depending on the number of dependent packages and thus the amount of "
  724. "rebuilding induced, commits go to different branches, along these lines:"
  725. msgstr ""
  726. #. type: item
  727. #: doc/contributing.texi:401
  728. #, no-wrap
  729. msgid "300 dependent packages or less"
  730. msgstr ""
  731. #. type: table
  732. #: doc/contributing.texi:403
  733. msgid "@code{master} branch (non-disruptive changes)."
  734. msgstr ""
  735. #. type: item
  736. #: doc/contributing.texi:404
  737. #, no-wrap
  738. msgid "between 300 and 1,200 dependent packages"
  739. msgstr ""
  740. #. type: table
  741. #: doc/contributing.texi:409
  742. msgid ""
  743. "@code{staging} branch (non-disruptive changes). This branch is intended to "
  744. "be merged in @code{master} every 3 weeks or so. Topical changes (e.g., an "
  745. "update of the GNOME stack) can instead go to a specific branch (say, "
  746. "@code{gnome-updates})."
  747. msgstr ""
  748. #. type: item
  749. #: doc/contributing.texi:410
  750. #, no-wrap
  751. msgid "more than 1,200 dependent packages"
  752. msgstr ""
  753. #. type: table
  754. #: doc/contributing.texi:414
  755. msgid ""
  756. "@code{core-updates} branch (may include major and potentially disruptive "
  757. "changes). This branch is intended to be merged in @code{master} every 2.5 "
  758. "months or so."
  759. msgstr ""
  760. #. type: enumerate
  761. #: doc/contributing.texi:421
  762. msgid ""
  763. "All these branches are tracked by our build farm and merged into "
  764. "@code{master} once everything has been successfully built. This allows us "
  765. "to fix issues before they hit users, and to reduce the window during which "
  766. "pre-built binaries are not available."
  767. msgstr ""
  768. #. type: cindex
  769. #: doc/contributing.texi:423
  770. #, no-wrap
  771. msgid "determinism, of build processes"
  772. msgstr ""
  773. #. type: cindex
  774. #: doc/contributing.texi:424
  775. #, no-wrap
  776. msgid "reproducible builds, checking"
  777. msgstr ""
  778. #. type: enumerate
  779. #: doc/contributing.texi:428
  780. msgid ""
  781. "Check whether the package's build process is deterministic. This typically "
  782. "means checking whether an independent build of the package yields the exact "
  783. "same result that you obtained, bit for bit."
  784. msgstr ""
  785. #. type: enumerate
  786. #: doc/contributing.texi:431
  787. msgid ""
  788. "A simple way to do that is by building the same package several times in a "
  789. "row on your machine (@pxref{Invoking guix build}):"
  790. msgstr ""
  791. #. type: example
  792. #: doc/contributing.texi:434
  793. #, no-wrap
  794. msgid "guix build --rounds=2 my-package\n"
  795. msgstr ""
  796. #. type: enumerate
  797. #: doc/contributing.texi:438
  798. msgid ""
  799. "This is enough to catch a class of common non-determinism issues, such as "
  800. "timestamps or randomly-generated output in the build result."
  801. msgstr ""
  802. #. type: enumerate
  803. #: doc/contributing.texi:448
  804. msgid ""
  805. "Another option is to use @command{guix challenge} (@pxref{Invoking guix "
  806. "challenge}). You may run it once the package has been committed and built "
  807. "by @code{hydra.gnu.org} to check whether it obtains the same result as you "
  808. "did. Better yet: Find another machine that can build it and run "
  809. "@command{guix publish}. Since the remote build machine is likely different "
  810. "from yours, this can catch non-determinism issues related to the hardware---"
  811. "e.g., use of different instruction set extensions---or to the operating "
  812. "system kernel---e.g., reliance on @code{uname} or @file{/proc} files."
  813. msgstr ""
  814. #. type: enumerate
  815. #: doc/contributing.texi:454
  816. msgid ""
  817. "When writing documentation, please use gender-neutral wording when referring "
  818. "to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, "
  819. "singular ``they''@comma{} ``their''@comma{} ``them''}, and so forth."
  820. msgstr ""
  821. #. type: enumerate
  822. #: doc/contributing.texi:458
  823. msgid ""
  824. "Verify that your patch contains only one set of related changes. Bundling "
  825. "unrelated changes together makes reviewing harder and slower."
  826. msgstr ""
  827. #. type: enumerate
  828. #: doc/contributing.texi:461
  829. msgid ""
  830. "Examples of unrelated changes include the addition of several packages, or a "
  831. "package update along with fixes to that package."
  832. msgstr ""
  833. #. type: enumerate
  834. #: doc/contributing.texi:466
  835. msgid ""
  836. "Please follow our code formatting rules, possibly running the @command{etc/"
  837. "indent-code.el} script to do that automatically for you (@pxref{Formatting "
  838. "Code})."
  839. msgstr ""
  840. #. type: Plain text
  841. #: doc/contributing.texi:476
  842. msgid ""
  843. "When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a "
  844. "subject. You may use your email client or the @command{git send-email} "
  845. "command (@pxref{Sending a Patch Series}). We prefer to get patches in plain "
  846. "text messages, either inline or as MIME attachments. You are advised to pay "
  847. "attention if your email client changes anything like line breaks or "
  848. "indentation which could potentially break the patches."
  849. msgstr ""
  850. #. type: Plain text
  851. #: doc/contributing.texi:479
  852. msgid ""
  853. "When a bug is resolved, please close the thread by sending an email to "
  854. "@email{@var{NNN}-done@@debbugs.gnu.org}."
  855. msgstr ""
  856. #. type: anchor{#1}
  857. #: doc/contributing.texi:480 doc/contributing.texi:482
  858. #, no-wrap
  859. msgid "Sending a Patch Series"
  860. msgstr ""
  861. #. type: cindex
  862. #: doc/contributing.texi:482
  863. #, no-wrap
  864. msgid "patch series"
  865. msgstr ""
  866. #. type: code{#1}
  867. #: doc/contributing.texi:483
  868. #, no-wrap
  869. msgid "git send-email"
  870. msgstr ""
  871. #. type: code{#1}
  872. #: doc/contributing.texi:484
  873. #, no-wrap
  874. msgid "git-send-email"
  875. msgstr ""
  876. #. type: Plain text
  877. #: doc/contributing.texi:492
  878. msgid ""
  879. "When sending a patch series (e.g., using @code{git send-email}), please "
  880. "first send one message to @email{guix-patches@@gnu.org}, and then send "
  881. "subsequent patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they "
  882. "are kept together. See @uref{https://debbugs.gnu.org/Advanced.html, the "
  883. "Debbugs documentation} for more information."
  884. msgstr ""
  885. #. type: Plain text
  886. #: doc/guix.texi:7
  887. msgid "@documentencoding UTF-8"
  888. msgstr ""
  889. #. type: title
  890. #: doc/guix.texi:7 doc/guix.texi:77
  891. #, no-wrap
  892. msgid "GNU Guix Reference Manual"
  893. msgstr ""
  894. #. type: include
  895. #: doc/guix.texi:10
  896. #, no-wrap
  897. msgid "version.texi"
  898. msgstr ""
  899. #. type: copying
  900. #: doc/guix.texi:51
  901. msgid ""
  902. "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic "
  903. "Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright "
  904. "@copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, "
  905. "2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* "
  906. "Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} "
  907. "2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 "
  908. "Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo "
  909. "Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} "
  910. "2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018 "
  911. "Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright "
  912. "@copyright{} 2016, 2017 Nils Gillmann@* Copyright @copyright{} 2016, 2017 "
  913. "Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright "
  914. "@copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2017, 2018 Clément "
  915. "Lassieur@* Copyright @copyright{} 2017 Mathieu Othacehe@* Copyright "
  916. "@copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017 Carlo "
  917. "Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright "
  918. "@copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher "
  919. "Allan Webber@* Copyright @copyright{} 2017 Marius Bakke@* Copyright "
  920. "@copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim "
  921. "Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* "
  922. "Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 "
  923. "Andy Wingo@* Copyright @copyright{} 2017, 2018 Arun Isaac@* Copyright "
  924. "@copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* "
  925. "Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike "
  926. "Gerwitz"
  927. msgstr ""
  928. #. type: copying
  929. #: doc/guix.texi:58
  930. msgid ""
  931. "Permission is granted to copy, distribute and/or modify this document under "
  932. "the terms of the GNU Free Documentation License, Version 1.3 or any later "
  933. "version published by the Free Software Foundation; with no Invariant "
  934. "Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the "
  935. "license is included in the section entitled ``GNU Free Documentation "
  936. "License''."
  937. msgstr ""
  938. #. type: dircategory
  939. #: doc/guix.texi:60
  940. #, no-wrap
  941. msgid "System administration"
  942. msgstr ""
  943. #. type: menuentry
  944. #: doc/guix.texi:67
  945. msgid "Guix: (guix)"
  946. msgstr ""
  947. #. type: menuentry
  948. #: doc/guix.texi:67
  949. msgid "Manage installed software and system configuration."
  950. msgstr ""
  951. #. type: menuentry
  952. #: doc/guix.texi:67
  953. msgid "guix package: (guix)Invoking guix package"
  954. msgstr ""
  955. #. type: menuentry
  956. #: doc/guix.texi:67
  957. msgid "Installing, removing, and upgrading packages."
  958. msgstr ""
  959. #. type: menuentry
  960. #: doc/guix.texi:67
  961. msgid "guix gc: (guix)Invoking guix gc"
  962. msgstr ""
  963. #. type: menuentry
  964. #: doc/guix.texi:67
  965. msgid "Reclaiming unused disk space."
  966. msgstr ""
  967. #. type: menuentry
  968. #: doc/guix.texi:67
  969. msgid "guix pull: (guix)Invoking guix pull"
  970. msgstr ""
  971. #. type: menuentry
  972. #: doc/guix.texi:67
  973. msgid "Update the list of available packages."
  974. msgstr ""
  975. #. type: menuentry
  976. #: doc/guix.texi:67
  977. msgid "guix system: (guix)Invoking guix system"
  978. msgstr ""
  979. #. type: menuentry
  980. #: doc/guix.texi:67
  981. msgid "Manage the operating system configuration."
  982. msgstr ""
  983. #. type: dircategory
  984. #: doc/guix.texi:69
  985. #, no-wrap
  986. msgid "Software development"
  987. msgstr ""
  988. #. type: menuentry
  989. #: doc/guix.texi:74
  990. msgid "guix environment: (guix)Invoking guix environment"
  991. msgstr ""
  992. #. type: menuentry
  993. #: doc/guix.texi:74
  994. msgid "Building development environments with Guix."
  995. msgstr ""
  996. #. type: menuentry
  997. #: doc/guix.texi:74
  998. msgid "guix build: (guix)Invoking guix build"
  999. msgstr ""
  1000. #. type: menuentry
  1001. #: doc/guix.texi:74
  1002. msgid "Building packages."
  1003. msgstr ""
  1004. #. type: menuentry
  1005. #: doc/guix.texi:74
  1006. msgid "guix pack: (guix)Invoking guix pack"
  1007. msgstr ""
  1008. #. type: menuentry
  1009. #: doc/guix.texi:74
  1010. msgid "Creating binary bundles."
  1011. msgstr ""
  1012. #. type: subtitle
  1013. #: doc/guix.texi:78
  1014. #, no-wrap
  1015. msgid "Using the GNU Guix Functional Package Manager"
  1016. msgstr ""
  1017. #. type: author
  1018. #: doc/guix.texi:79
  1019. #, no-wrap
  1020. msgid "The GNU Guix Developers"
  1021. msgstr ""
  1022. #. type: titlepage
  1023. #: doc/guix.texi:85
  1024. msgid "Edition @value{EDITION} @* @value{UPDATED} @*"
  1025. msgstr ""
  1026. #. type: node
  1027. #: doc/guix.texi:92
  1028. #, no-wrap
  1029. msgid "Top"
  1030. msgstr ""
  1031. #. type: top
  1032. #: doc/guix.texi:93
  1033. #, no-wrap
  1034. msgid "GNU Guix"
  1035. msgstr ""
  1036. #. type: Plain text
  1037. #: doc/guix.texi:97
  1038. msgid ""
  1039. "This document describes GNU Guix version @value{VERSION}, a functional "
  1040. "package management tool written for the GNU system."
  1041. msgstr ""
  1042. #. type: chapter
  1043. #: doc/guix.texi:106 doc/guix.texi:294 doc/guix.texi:295
  1044. #, no-wrap
  1045. msgid "Introduction"
  1046. msgstr ""
  1047. #. type: menuentry
  1048. #: doc/guix.texi:106
  1049. msgid "What is Guix about?"
  1050. msgstr ""
  1051. #. type: chapter
  1052. #: doc/guix.texi:106 doc/guix.texi:116 doc/guix.texi:367 doc/guix.texi:368
  1053. #, no-wrap
  1054. msgid "Installation"
  1055. msgstr ""
  1056. #. type: menuentry
  1057. #: doc/guix.texi:106
  1058. msgid "Installing Guix."
  1059. msgstr ""
  1060. #. type: chapter
  1061. #: doc/guix.texi:106 doc/guix.texi:131 doc/guix.texi:1652 doc/guix.texi:1653
  1062. #, no-wrap
  1063. msgid "Package Management"
  1064. msgstr ""
  1065. #. type: menuentry
  1066. #: doc/guix.texi:106
  1067. msgid "Package installation, upgrade, etc."
  1068. msgstr ""
  1069. #. type: chapter
  1070. #: doc/guix.texi:106 doc/guix.texi:151 doc/guix.texi:3106 doc/guix.texi:3107
  1071. #, no-wrap
  1072. msgid "Programming Interface"
  1073. msgstr ""
  1074. #. type: menuentry
  1075. #: doc/guix.texi:106
  1076. msgid "Using Guix in Scheme."
  1077. msgstr ""
  1078. #. type: chapter
  1079. #: doc/guix.texi:106 doc/guix.texi:165 doc/guix.texi:5362 doc/guix.texi:5363
  1080. #, no-wrap
  1081. msgid "Utilities"
  1082. msgstr ""
  1083. #. type: menuentry
  1084. #: doc/guix.texi:106
  1085. msgid "Package management commands."
  1086. msgstr ""
  1087. #. type: chapter
  1088. #: doc/guix.texi:106 doc/guix.texi:190 doc/guix.texi:7981 doc/guix.texi:7982
  1089. #, no-wrap
  1090. msgid "GNU Distribution"
  1091. msgstr ""
  1092. #. type: menuentry
  1093. #: doc/guix.texi:106
  1094. msgid "Software for your friendly GNU system."
  1095. msgstr ""
  1096. #. type: menuentry
  1097. #: doc/guix.texi:106
  1098. msgid "Your help needed!"
  1099. msgstr ""
  1100. #. type: chapter
  1101. #: doc/guix.texi:111 doc/guix.texi:22338 doc/guix.texi:22339
  1102. #, no-wrap
  1103. msgid "Acknowledgments"
  1104. msgstr ""
  1105. #. type: menuentry
  1106. #: doc/guix.texi:111
  1107. msgid "Thanks!"
  1108. msgstr ""
  1109. #. type: appendix
  1110. #: doc/guix.texi:111 doc/guix.texi:22360 doc/guix.texi:22361
  1111. #, no-wrap
  1112. msgid "GNU Free Documentation License"
  1113. msgstr ""
  1114. #. type: menuentry
  1115. #: doc/guix.texi:111
  1116. msgid "The license of this manual."
  1117. msgstr ""
  1118. #. type: unnumbered
  1119. #: doc/guix.texi:111 doc/guix.texi:22366 doc/guix.texi:22367
  1120. #, no-wrap
  1121. msgid "Concept Index"
  1122. msgstr ""
  1123. #. type: menuentry
  1124. #: doc/guix.texi:111
  1125. msgid "Concepts."
  1126. msgstr ""
  1127. #. type: unnumbered
  1128. #: doc/guix.texi:111 doc/guix.texi:22370 doc/guix.texi:22371
  1129. #, no-wrap
  1130. msgid "Programming Index"
  1131. msgstr ""
  1132. #. type: menuentry
  1133. #: doc/guix.texi:111
  1134. msgid "Data types, functions, and variables."
  1135. msgstr ""
  1136. #. type: menuentry
  1137. #: doc/guix.texi:114
  1138. msgid "--- The Detailed Node Listing ---"
  1139. msgstr ""
  1140. #. type: section
  1141. #: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:400 doc/guix.texi:401
  1142. #, no-wrap
  1143. msgid "Binary Installation"
  1144. msgstr ""
  1145. #. type: menuentry
  1146. #: doc/guix.texi:123 doc/guix.texi:398
  1147. msgid "Getting Guix running in no time!"
  1148. msgstr ""
  1149. #. type: section
  1150. #: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:596 doc/guix.texi:597
  1151. #, no-wrap
  1152. msgid "Requirements"
  1153. msgstr ""
  1154. #. type: menuentry
  1155. #: doc/guix.texi:123 doc/guix.texi:398
  1156. msgid "Software needed to build and run Guix."
  1157. msgstr ""
  1158. #. type: section
  1159. #: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:678 doc/guix.texi:679
  1160. #, no-wrap
  1161. msgid "Running the Test Suite"
  1162. msgstr ""
  1163. #. type: menuentry
  1164. #: doc/guix.texi:123 doc/guix.texi:398
  1165. msgid "Testing Guix."
  1166. msgstr ""
  1167. #. type: section
  1168. #: doc/guix.texi:123 doc/guix.texi:125 doc/guix.texi:398 doc/guix.texi:743
  1169. #: doc/guix.texi:744
  1170. #, no-wrap
  1171. msgid "Setting Up the Daemon"
  1172. msgstr ""
  1173. #. type: menuentry
  1174. #: doc/guix.texi:123 doc/guix.texi:398
  1175. msgid "Preparing the build daemon's environment."
  1176. msgstr ""
  1177. #. type: node
  1178. #: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:1176
  1179. #, no-wrap
  1180. msgid "Invoking guix-daemon"
  1181. msgstr ""
  1182. #. type: menuentry
  1183. #: doc/guix.texi:123 doc/guix.texi:398
  1184. msgid "Running the build daemon."
  1185. msgstr ""
  1186. #. type: section
  1187. #: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:1441 doc/guix.texi:1442
  1188. #, no-wrap
  1189. msgid "Application Setup"
  1190. msgstr ""
  1191. #. type: menuentry
  1192. #: doc/guix.texi:123 doc/guix.texi:398
  1193. msgid "Application-specific setup."
  1194. msgstr ""
  1195. #. type: subsection
  1196. #: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:765 doc/guix.texi:766
  1197. #, no-wrap
  1198. msgid "Build Environment Setup"
  1199. msgstr ""
  1200. #. type: menuentry
  1201. #: doc/guix.texi:129 doc/guix.texi:763
  1202. msgid "Preparing the isolated build environment."
  1203. msgstr ""
  1204. #. type: node
  1205. #: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:882
  1206. #, no-wrap
  1207. msgid "Daemon Offload Setup"
  1208. msgstr ""
  1209. #. type: menuentry
  1210. #: doc/guix.texi:129 doc/guix.texi:763
  1211. msgid "Offloading builds to remote machines."
  1212. msgstr ""
  1213. #. type: subsection
  1214. #: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:1090 doc/guix.texi:1091
  1215. #, no-wrap
  1216. msgid "SELinux Support"
  1217. msgstr ""
  1218. #. type: menuentry
  1219. #: doc/guix.texi:129 doc/guix.texi:763
  1220. msgid "Using an SELinux policy for the daemon."
  1221. msgstr ""
  1222. #. type: section
  1223. #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:1684 doc/guix.texi:1685
  1224. #, no-wrap
  1225. msgid "Features"
  1226. msgstr ""
  1227. #. type: menuentry
  1228. #: doc/guix.texi:140 doc/guix.texi:1682
  1229. msgid "How Guix will make your life brighter."
  1230. msgstr ""
  1231. #. type: node
  1232. #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:1761
  1233. #, no-wrap
  1234. msgid "Invoking guix package"
  1235. msgstr ""
  1236. #. type: menuentry
  1237. #: doc/guix.texi:140 doc/guix.texi:1682
  1238. msgid "Package installation, removal, etc."
  1239. msgstr ""
  1240. #. type: section
  1241. #: doc/guix.texi:140 doc/guix.texi:142 doc/guix.texi:1682 doc/guix.texi:2245
  1242. #: doc/guix.texi:2246
  1243. #, no-wrap
  1244. msgid "Substitutes"
  1245. msgstr ""
  1246. #. type: menuentry
  1247. #: doc/guix.texi:140 doc/guix.texi:1682
  1248. msgid "Downloading pre-built binaries."
  1249. msgstr ""
  1250. #. type: section
  1251. #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2478 doc/guix.texi:2479
  1252. #, no-wrap
  1253. msgid "Packages with Multiple Outputs"
  1254. msgstr ""
  1255. #. type: menuentry
  1256. #: doc/guix.texi:140 doc/guix.texi:1682
  1257. msgid "Single source package, multiple outputs."
  1258. msgstr ""
  1259. #. type: node
  1260. #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2532
  1261. #, no-wrap
  1262. msgid "Invoking guix gc"
  1263. msgstr ""
  1264. #. type: menuentry
  1265. #: doc/guix.texi:140 doc/guix.texi:1682
  1266. msgid "Running the garbage collector."
  1267. msgstr ""
  1268. #. type: node
  1269. #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2720
  1270. #, no-wrap
  1271. msgid "Invoking guix pull"
  1272. msgstr ""
  1273. #. type: menuentry
  1274. #: doc/guix.texi:140 doc/guix.texi:1682
  1275. msgid "Fetching the latest Guix and distribution."
  1276. msgstr ""
  1277. #. type: node
  1278. #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2781
  1279. #, no-wrap
  1280. msgid "Invoking guix pack"
  1281. msgstr ""
  1282. #. type: menuentry
  1283. #: doc/guix.texi:140 doc/guix.texi:1682
  1284. msgid "Creating software bundles."
  1285. msgstr ""
  1286. #. type: node
  1287. #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2941
  1288. #, no-wrap
  1289. msgid "Invoking guix archive"
  1290. msgstr ""
  1291. #. type: menuentry
  1292. #: doc/guix.texi:140 doc/guix.texi:1682
  1293. msgid "Exporting and importing store files."
  1294. msgstr ""
  1295. #. type: subsection
  1296. #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2270 doc/guix.texi:2271
  1297. #, no-wrap
  1298. msgid "Official Substitute Server"
  1299. msgstr ""
  1300. #. type: menuentry
  1301. #: doc/guix.texi:149 doc/guix.texi:2268
  1302. msgid "One particular source of substitutes."
  1303. msgstr ""
  1304. #. type: subsection
  1305. #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2300 doc/guix.texi:2301
  1306. #, no-wrap
  1307. msgid "Substitute Server Authorization"
  1308. msgstr ""
  1309. #. type: menuentry
  1310. #: doc/guix.texi:149 doc/guix.texi:2268
  1311. msgid "How to enable or disable substitutes."
  1312. msgstr ""
  1313. #. type: subsection
  1314. #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2373 doc/guix.texi:2374
  1315. #, no-wrap
  1316. msgid "Substitute Authentication"
  1317. msgstr ""
  1318. #. type: menuentry
  1319. #: doc/guix.texi:149 doc/guix.texi:2268
  1320. msgid "How Guix verifies substitutes."
  1321. msgstr ""
  1322. #. type: subsection
  1323. #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2408 doc/guix.texi:2409
  1324. #, no-wrap
  1325. msgid "Proxy Settings"
  1326. msgstr ""
  1327. #. type: menuentry
  1328. #: doc/guix.texi:149 doc/guix.texi:2268
  1329. msgid "How to get substitutes via proxy."
  1330. msgstr ""
  1331. #. type: subsection
  1332. #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2420 doc/guix.texi:2421
  1333. #, no-wrap
  1334. msgid "Substitution Failure"
  1335. msgstr ""
  1336. #. type: menuentry
  1337. #: doc/guix.texi:149 doc/guix.texi:2268
  1338. msgid "What happens when substitution fails."
  1339. msgstr ""
  1340. #. type: subsection
  1341. #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2448 doc/guix.texi:2449
  1342. #, no-wrap
  1343. msgid "On Trusting Binaries"
  1344. msgstr ""
  1345. #. type: menuentry
  1346. #: doc/guix.texi:149 doc/guix.texi:2268
  1347. msgid "How can you trust that binary blob?"
  1348. msgstr ""
  1349. #. type: section
  1350. #: doc/guix.texi:158 doc/guix.texi:160 doc/guix.texi:3141 doc/guix.texi:3143
  1351. #: doc/guix.texi:3144
  1352. #, no-wrap
  1353. msgid "Defining Packages"
  1354. msgstr ""
  1355. #. type: menuentry
  1356. #: doc/guix.texi:158 doc/guix.texi:3141
  1357. msgid "Defining new packages."
  1358. msgstr ""
  1359. #. type: section
  1360. #: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:3607 doc/guix.texi:3608
  1361. #, no-wrap
  1362. msgid "Build Systems"
  1363. msgstr ""
  1364. #. type: menuentry
  1365. #: doc/guix.texi:158 doc/guix.texi:3141
  1366. msgid "Specifying how packages are built."
  1367. msgstr ""
  1368. #. type: section
  1369. #: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4183 doc/guix.texi:4184
  1370. #, no-wrap
  1371. msgid "The Store"
  1372. msgstr ""
  1373. #. type: menuentry
  1374. #: doc/guix.texi:158 doc/guix.texi:3141
  1375. msgid "Manipulating the package store."
  1376. msgstr ""
  1377. #. type: section
  1378. #: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4333 doc/guix.texi:4334
  1379. #, no-wrap
  1380. msgid "Derivations"
  1381. msgstr ""
  1382. #. type: menuentry
  1383. #: doc/guix.texi:158 doc/guix.texi:3141
  1384. msgid "Low-level interface to package derivations."
  1385. msgstr ""
  1386. #. type: section
  1387. #: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4511 doc/guix.texi:4512
  1388. #, no-wrap
  1389. msgid "The Store Monad"
  1390. msgstr ""
  1391. #. type: menuentry
  1392. #: doc/guix.texi:158 doc/guix.texi:3141
  1393. msgid "Purely functional interface to the store."
  1394. msgstr ""
  1395. #. type: section
  1396. #: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4820 doc/guix.texi:4821
  1397. #, no-wrap
  1398. msgid "G-Expressions"
  1399. msgstr ""
  1400. #. type: menuentry
  1401. #: doc/guix.texi:158 doc/guix.texi:3141
  1402. msgid "Manipulating build expressions."
  1403. msgstr ""
  1404. #. type: node
  1405. #: doc/guix.texi:163 doc/guix.texi:3389 doc/guix.texi:3392
  1406. #, no-wrap
  1407. msgid "package Reference"
  1408. msgstr ""
  1409. #. type: menuentry
  1410. #: doc/guix.texi:163 doc/guix.texi:3389
  1411. msgid "The package data type."
  1412. msgstr ""
  1413. #. type: node
  1414. #: doc/guix.texi:163 doc/guix.texi:3389 doc/guix.texi:3519
  1415. #, no-wrap
  1416. msgid "origin Reference"
  1417. msgstr ""
  1418. #. type: menuentry
  1419. #: doc/guix.texi:163 doc/guix.texi:3389
  1420. msgid "The origin data type."
  1421. msgstr ""
  1422. #. type: node
  1423. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:5388
  1424. #, no-wrap
  1425. msgid "Invoking guix build"
  1426. msgstr ""
  1427. #. type: menuentry
  1428. #: doc/guix.texi:181 doc/guix.texi:5386
  1429. msgid "Building packages from the command line."
  1430. msgstr ""
  1431. #. type: node
  1432. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:5968
  1433. #, no-wrap
  1434. msgid "Invoking guix edit"
  1435. msgstr ""
  1436. #. type: menuentry
  1437. #: doc/guix.texi:181 doc/guix.texi:5386
  1438. msgid "Editing package definitions."
  1439. msgstr ""
  1440. #. type: node
  1441. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:5994
  1442. #, no-wrap
  1443. msgid "Invoking guix download"
  1444. msgstr ""
  1445. #. type: menuentry
  1446. #: doc/guix.texi:181 doc/guix.texi:5386
  1447. msgid "Downloading a file and printing its hash."
  1448. msgstr ""
  1449. #. type: node
  1450. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6047
  1451. #, no-wrap
  1452. msgid "Invoking guix hash"
  1453. msgstr ""
  1454. #. type: menuentry
  1455. #: doc/guix.texi:181 doc/guix.texi:5386
  1456. msgid "Computing the cryptographic hash of a file."
  1457. msgstr ""
  1458. #. type: node
  1459. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6109
  1460. #, no-wrap
  1461. msgid "Invoking guix import"
  1462. msgstr ""
  1463. #. type: menuentry
  1464. #: doc/guix.texi:181 doc/guix.texi:5386
  1465. msgid "Importing package definitions."
  1466. msgstr ""
  1467. #. type: node
  1468. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6476
  1469. #, no-wrap
  1470. msgid "Invoking guix refresh"
  1471. msgstr ""
  1472. #. type: menuentry
  1473. #: doc/guix.texi:181 doc/guix.texi:5386
  1474. msgid "Updating package definitions."
  1475. msgstr ""
  1476. #. type: node
  1477. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6723
  1478. #, no-wrap
  1479. msgid "Invoking guix lint"
  1480. msgstr ""
  1481. #. type: menuentry
  1482. #: doc/guix.texi:181 doc/guix.texi:5386
  1483. msgid "Finding errors in package definitions."
  1484. msgstr ""
  1485. #. type: node
  1486. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6814
  1487. #, no-wrap
  1488. msgid "Invoking guix size"
  1489. msgstr ""
  1490. #. type: menuentry
  1491. #: doc/guix.texi:181 doc/guix.texi:5386
  1492. msgid "Profiling disk usage."
  1493. msgstr ""
  1494. #. type: node
  1495. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6930
  1496. #, no-wrap
  1497. msgid "Invoking guix graph"
  1498. msgstr ""
  1499. #. type: menuentry
  1500. #: doc/guix.texi:181 doc/guix.texi:5386
  1501. msgid "Visualizing the graph of packages."
  1502. msgstr ""
  1503. #. type: node
  1504. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7109
  1505. #, no-wrap
  1506. msgid "Invoking guix environment"
  1507. msgstr ""
  1508. #. type: menuentry
  1509. #: doc/guix.texi:181 doc/guix.texi:5386
  1510. msgid "Setting up development environments."
  1511. msgstr ""
  1512. #. type: node
  1513. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7428
  1514. #, no-wrap
  1515. msgid "Invoking guix publish"
  1516. msgstr ""
  1517. #. type: menuentry
  1518. #: doc/guix.texi:181 doc/guix.texi:5386
  1519. msgid "Sharing substitutes."
  1520. msgstr ""
  1521. #. type: node
  1522. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7645
  1523. #, no-wrap
  1524. msgid "Invoking guix challenge"
  1525. msgstr ""
  1526. #. type: menuentry
  1527. #: doc/guix.texi:181 doc/guix.texi:5386
  1528. msgid "Challenging substitute servers."
  1529. msgstr ""
  1530. #. type: node
  1531. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7784
  1532. #, no-wrap
  1533. msgid "Invoking guix copy"
  1534. msgstr ""
  1535. #. type: menuentry
  1536. #: doc/guix.texi:181 doc/guix.texi:5386
  1537. msgid "Copying to and from a remote store."
  1538. msgstr ""
  1539. #. type: node
  1540. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7847
  1541. #, no-wrap
  1542. msgid "Invoking guix container"
  1543. msgstr ""
  1544. #. type: menuentry
  1545. #: doc/guix.texi:181 doc/guix.texi:5386
  1546. msgid "Process isolation."
  1547. msgstr ""
  1548. #. type: node
  1549. #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7901
  1550. #, no-wrap
  1551. msgid "Invoking guix weather"
  1552. msgstr ""
  1553. #. type: menuentry
  1554. #: doc/guix.texi:181 doc/guix.texi:5386
  1555. msgid "Assessing substitute availability."
  1556. msgstr ""
  1557. #. type: section
  1558. #: doc/guix.texi:183 doc/guix.texi:5389
  1559. #, no-wrap
  1560. msgid "Invoking @command{guix build}"
  1561. msgstr ""
  1562. #. type: subsection
  1563. #: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5442 doc/guix.texi:5443
  1564. #, no-wrap
  1565. msgid "Common Build Options"
  1566. msgstr ""
  1567. #. type: menuentry
  1568. #: doc/guix.texi:188 doc/guix.texi:5440
  1569. msgid "Build options for most commands."
  1570. msgstr ""
  1571. #. type: subsection
  1572. #: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5584 doc/guix.texi:5585
  1573. #, no-wrap
  1574. msgid "Package Transformation Options"
  1575. msgstr ""
  1576. #. type: menuentry
  1577. #: doc/guix.texi:188 doc/guix.texi:5440
  1578. msgid "Creating variants of packages."
  1579. msgstr ""
  1580. #. type: subsection
  1581. #: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5684 doc/guix.texi:5685
  1582. #, no-wrap
  1583. msgid "Additional Build Options"
  1584. msgstr ""
  1585. #. type: menuentry
  1586. #: doc/guix.texi:188 doc/guix.texi:5440
  1587. msgid "Options specific to 'guix build'."
  1588. msgstr ""
  1589. #. type: subsection
  1590. #: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5888 doc/guix.texi:5889
  1591. #, no-wrap
  1592. msgid "Debugging Build Failures"
  1593. msgstr ""
  1594. #. type: menuentry
  1595. #: doc/guix.texi:188 doc/guix.texi:5440
  1596. msgid "Real life packaging experience."
  1597. msgstr ""
  1598. #. type: section
  1599. #: doc/guix.texi:200 doc/guix.texi:202 doc/guix.texi:8053 doc/guix.texi:8058
  1600. #: doc/guix.texi:8059
  1601. #, no-wrap
  1602. msgid "System Installation"
  1603. msgstr ""
  1604. #. type: menuentry
  1605. #: doc/guix.texi:200 doc/guix.texi:8053
  1606. msgid "Installing the whole operating system."
  1607. msgstr ""
  1608. #. type: section
  1609. #: doc/guix.texi:200 doc/guix.texi:212 doc/guix.texi:8053 doc/guix.texi:8674
  1610. #: doc/guix.texi:8675
  1611. #, no-wrap
  1612. msgid "System Configuration"
  1613. msgstr ""
  1614. #. type: menuentry
  1615. #: doc/guix.texi:200 doc/guix.texi:8053
  1616. msgid "Configuring the operating system."
  1617. msgstr ""
  1618. #. type: section
  1619. #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21351 doc/guix.texi:21352
  1620. #, no-wrap
  1621. msgid "Documentation"
  1622. msgstr ""
  1623. #. type: menuentry
  1624. #: doc/guix.texi:200 doc/guix.texi:8053
  1625. msgid "Browsing software user manuals."
  1626. msgstr ""
  1627. #. type: section
  1628. #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21415 doc/guix.texi:21416
  1629. #, no-wrap
  1630. msgid "Installing Debugging Files"
  1631. msgstr ""
  1632. #. type: menuentry
  1633. #: doc/guix.texi:200 doc/guix.texi:8053
  1634. msgid "Feeding the debugger."
  1635. msgstr ""
  1636. #. type: section
  1637. #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21481 doc/guix.texi:21482
  1638. #, no-wrap
  1639. msgid "Security Updates"
  1640. msgstr ""
  1641. #. type: menuentry
  1642. #: doc/guix.texi:200 doc/guix.texi:8053
  1643. msgid "Deploying security fixes quickly."
  1644. msgstr ""
  1645. #. type: section
  1646. #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21601 doc/guix.texi:21602
  1647. #, no-wrap
  1648. msgid "Package Modules"
  1649. msgstr ""
  1650. #. type: menuentry
  1651. #: doc/guix.texi:200 doc/guix.texi:8053
  1652. msgid "Packages from the programmer's viewpoint."
  1653. msgstr ""
  1654. #. type: section
  1655. #: doc/guix.texi:200 doc/guix.texi:265 doc/guix.texi:8053 doc/guix.texi:21655
  1656. #: doc/guix.texi:21656
  1657. #, no-wrap
  1658. msgid "Packaging Guidelines"
  1659. msgstr ""
  1660. #. type: menuentry
  1661. #: doc/guix.texi:200 doc/guix.texi:8053
  1662. msgid "Growing the distribution."
  1663. msgstr ""
  1664. #. type: section
  1665. #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:22106 doc/guix.texi:22107
  1666. #, no-wrap
  1667. msgid "Bootstrapping"
  1668. msgstr ""
  1669. #. type: menuentry
  1670. #: doc/guix.texi:200 doc/guix.texi:8053
  1671. msgid "GNU/Linux built from scratch."
  1672. msgstr ""
  1673. #. type: node
  1674. #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:22290
  1675. #, no-wrap
  1676. msgid "Porting"
  1677. msgstr ""
  1678. #. type: menuentry
  1679. #: doc/guix.texi:200 doc/guix.texi:8053
  1680. msgid "Targeting another platform or kernel."
  1681. msgstr ""
  1682. #. type: subsection
  1683. #: doc/guix.texi:210 doc/guix.texi:1126 doc/guix.texi:8090 doc/guix.texi:8092
  1684. #: doc/guix.texi:8093
  1685. #, no-wrap
  1686. msgid "Limitations"
  1687. msgstr ""
  1688. #. type: menuentry
  1689. #: doc/guix.texi:210 doc/guix.texi:8090
  1690. msgid "What you can expect."
  1691. msgstr ""
  1692. #. type: subsection
  1693. #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8136 doc/guix.texi:8137
  1694. #, no-wrap
  1695. msgid "Hardware Considerations"
  1696. msgstr ""
  1697. #. type: menuentry
  1698. #: doc/guix.texi:210 doc/guix.texi:8090
  1699. msgid "Supported hardware."
  1700. msgstr ""
  1701. #. type: subsection
  1702. #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8171 doc/guix.texi:8172
  1703. #, no-wrap
  1704. msgid "USB Stick and DVD Installation"
  1705. msgstr ""
  1706. #. type: menuentry
  1707. #: doc/guix.texi:210 doc/guix.texi:8090
  1708. msgid "Preparing the installation medium."
  1709. msgstr ""
  1710. #. type: subsection
  1711. #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8269 doc/guix.texi:8270
  1712. #, no-wrap
  1713. msgid "Preparing for Installation"
  1714. msgstr ""
  1715. #. type: menuentry
  1716. #: doc/guix.texi:210 doc/guix.texi:8090
  1717. msgid "Networking, partitioning, etc."
  1718. msgstr ""
  1719. #. type: subsection
  1720. #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8508 doc/guix.texi:8509
  1721. #, no-wrap
  1722. msgid "Proceeding with the Installation"
  1723. msgstr ""
  1724. #. type: menuentry
  1725. #: doc/guix.texi:210 doc/guix.texi:8090
  1726. msgid "The real thing."
  1727. msgstr ""
  1728. #. type: node
  1729. #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8605
  1730. #, no-wrap
  1731. msgid "Installing GuixSD in a VM"
  1732. msgstr ""
  1733. #. type: menuentry
  1734. #: doc/guix.texi:210 doc/guix.texi:8090
  1735. msgid "GuixSD playground."
  1736. msgstr ""
  1737. #. type: subsection
  1738. #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8659 doc/guix.texi:8660
  1739. #, no-wrap
  1740. msgid "Building the Installation Image"
  1741. msgstr ""
  1742. #. type: menuentry
  1743. #: doc/guix.texi:210 doc/guix.texi:8090
  1744. msgid "How this comes to be."
  1745. msgstr ""
  1746. #. type: subsection
  1747. #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:8717 doc/guix.texi:8718
  1748. #, no-wrap
  1749. msgid "Using the Configuration System"
  1750. msgstr ""
  1751. #. type: menuentry
  1752. #: doc/guix.texi:228 doc/guix.texi:8715
  1753. msgid "Customizing your GNU system."
  1754. msgstr ""
  1755. #. type: node
  1756. #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:8933
  1757. #, no-wrap
  1758. msgid "operating-system Reference"
  1759. msgstr ""
  1760. #. type: menuentry
  1761. #: doc/guix.texi:228 doc/guix.texi:8715
  1762. msgid "Detail of operating-system declarations."
  1763. msgstr ""
  1764. #. type: subsection
  1765. #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:9087 doc/guix.texi:9088
  1766. #, no-wrap
  1767. msgid "File Systems"
  1768. msgstr ""
  1769. #. type: menuentry
  1770. #: doc/guix.texi:228 doc/guix.texi:8715
  1771. msgid "Configuring file system mounts."
  1772. msgstr ""
  1773. #. type: subsection
  1774. #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:9250 doc/guix.texi:9251
  1775. #, no-wrap
  1776. msgid "Mapped Devices"
  1777. msgstr ""
  1778. #. type: menuentry
  1779. #: doc/guix.texi:228 doc/guix.texi:8715
  1780. msgid "Block device extra processing."
  1781. msgstr ""
  1782. #. type: subsection
  1783. #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:9371 doc/guix.texi:9372
  1784. #, no-wrap
  1785. msgid "User Accounts"
  1786. msgstr ""
  1787. #. type: menuentry
  1788. #: doc/guix.texi:228 doc/guix.texi:8715
  1789. msgid "Specifying user accounts."
  1790. msgstr ""
  1791. #. type: subsection
  1792. #: doc/guix.texi:228 doc/guix.texi:1449 doc/guix.texi:8715 doc/guix.texi:9506
  1793. #: doc/guix.texi:9507
  1794. #, no-wrap
  1795. msgid "Locales"
  1796. msgstr ""
  1797. #. type: menuentry
  1798. #: doc/guix.texi:228 doc/guix.texi:8715
  1799. msgid "Language and cultural convention settings."
  1800. msgstr ""
  1801. #. type: subsection
  1802. #: doc/guix.texi:228 doc/guix.texi:230 doc/guix.texi:8715 doc/guix.texi:9646
  1803. #: doc/guix.texi:9647
  1804. #, no-wrap
  1805. msgid "Services"
  1806. msgstr ""
  1807. #. type: menuentry
  1808. #: doc/guix.texi:228 doc/guix.texi:8715
  1809. msgid "Specifying system services."
  1810. msgstr ""
  1811. #. type: subsection
  1812. #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:19720 doc/guix.texi:19721
  1813. #, no-wrap
  1814. msgid "Setuid Programs"
  1815. msgstr ""
  1816. #. type: menuentry
  1817. #: doc/guix.texi:228 doc/guix.texi:8715
  1818. msgid "Programs running with root privileges."
  1819. msgstr ""
  1820. #. type: subsection
  1821. #: doc/guix.texi:228 doc/guix.texi:1594 doc/guix.texi:8715 doc/guix.texi:19766
  1822. #: doc/guix.texi:19767
  1823. #, no-wrap
  1824. msgid "X.509 Certificates"
  1825. msgstr ""
  1826. #. type: menuentry
  1827. #: doc/guix.texi:228 doc/guix.texi:8715
  1828. msgid "Authenticating HTTPS servers."
  1829. msgstr ""
  1830. #. type: subsection
  1831. #: doc/guix.texi:228 doc/guix.texi:1492 doc/guix.texi:8715 doc/guix.texi:19829
  1832. #: doc/guix.texi:19830
  1833. #, no-wrap
  1834. msgid "Name Service Switch"
  1835. msgstr ""
  1836. #. type: menuentry
  1837. #: doc/guix.texi:228 doc/guix.texi:8715
  1838. msgid "Configuring libc's name service switch."
  1839. msgstr ""
  1840. #. type: subsection
  1841. #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:19967 doc/guix.texi:19968
  1842. #, no-wrap
  1843. msgid "Initial RAM Disk"
  1844. msgstr ""
  1845. #. type: menuentry
  1846. #: doc/guix.texi:228 doc/guix.texi:8715
  1847. msgid "Linux-Libre bootstrapping."
  1848. msgstr ""
  1849. #. type: subsection
  1850. #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:20127 doc/guix.texi:20128
  1851. #, no-wrap
  1852. msgid "Bootloader Configuration"
  1853. msgstr ""
  1854. #. type: menuentry
  1855. #: doc/guix.texi:228 doc/guix.texi:8715
  1856. msgid "Configuring the boot loader."
  1857. msgstr ""
  1858. #. type: node
  1859. #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:20298
  1860. #, no-wrap
  1861. msgid "Invoking guix system"
  1862. msgstr ""
  1863. #. type: menuentry
  1864. #: doc/guix.texi:228 doc/guix.texi:8715
  1865. msgid "Instantiating a system configuration."
  1866. msgstr ""
  1867. #. type: node
  1868. #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:20723
  1869. #, no-wrap
  1870. msgid "Running GuixSD in a VM"
  1871. msgstr ""
  1872. #. type: menuentry
  1873. #: doc/guix.texi:228 doc/guix.texi:8715
  1874. msgid "How to run GuixSD in a virtual machine."
  1875. msgstr ""
  1876. #. type: subsection
  1877. #: doc/guix.texi:228 doc/guix.texi:258 doc/guix.texi:8715 doc/guix.texi:20834
  1878. #: doc/guix.texi:20835
  1879. #, no-wrap
  1880. msgid "Defining Services"
  1881. msgstr ""
  1882. #. type: menuentry
  1883. #: doc/guix.texi:228 doc/guix.texi:8715
  1884. msgid "Adding new service definitions."
  1885. msgstr ""
  1886. #. type: subsubsection
  1887. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:9720 doc/guix.texi:9721
  1888. #, no-wrap
  1889. msgid "Base Services"
  1890. msgstr ""
  1891. #. type: menuentry
  1892. #: doc/guix.texi:256 doc/guix.texi:9718
  1893. msgid "Essential system services."
  1894. msgstr ""
  1895. #. type: subsubsection
  1896. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:10488 doc/guix.texi:10489
  1897. #, no-wrap
  1898. msgid "Scheduled Job Execution"
  1899. msgstr ""
  1900. #. type: menuentry
  1901. #: doc/guix.texi:256 doc/guix.texi:9718
  1902. msgid "The mcron service."
  1903. msgstr ""
  1904. #. type: subsubsection
  1905. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:10583 doc/guix.texi:10584
  1906. #, no-wrap
  1907. msgid "Log Rotation"
  1908. msgstr ""
  1909. #. type: menuentry
  1910. #: doc/guix.texi:256 doc/guix.texi:9718
  1911. msgid "The rottlog service."
  1912. msgstr ""
  1913. #. type: subsubsection
  1914. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:10685 doc/guix.texi:10686
  1915. #, no-wrap
  1916. msgid "Networking Services"
  1917. msgstr ""
  1918. #. type: menuentry
  1919. #: doc/guix.texi:256 doc/guix.texi:9718
  1920. msgid "Network setup, SSH daemon, etc."
  1921. msgstr ""
  1922. #. type: subsubsection
  1923. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:11431 doc/guix.texi:11432
  1924. #, no-wrap
  1925. msgid "X Window"
  1926. msgstr ""
  1927. #. type: menuentry
  1928. #: doc/guix.texi:256 doc/guix.texi:9718
  1929. msgid "Graphical display."
  1930. msgstr ""
  1931. #. type: subsubsection
  1932. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:11677 doc/guix.texi:11678
  1933. #, no-wrap
  1934. msgid "Printing Services"
  1935. msgstr ""
  1936. #. type: menuentry
  1937. #: doc/guix.texi:256 doc/guix.texi:9718
  1938. msgid "Local and remote printer support."
  1939. msgstr ""
  1940. #. type: subsubsection
  1941. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:12514 doc/guix.texi:12515
  1942. #, no-wrap
  1943. msgid "Desktop Services"
  1944. msgstr ""
  1945. #. type: menuentry
  1946. #: doc/guix.texi:256 doc/guix.texi:9718
  1947. msgid "D-Bus and desktop services."
  1948. msgstr ""
  1949. #. type: subsubsection
  1950. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:12807 doc/guix.texi:12808
  1951. #, no-wrap
  1952. msgid "Database Services"
  1953. msgstr ""
  1954. #. type: menuentry
  1955. #: doc/guix.texi:256 doc/guix.texi:9718
  1956. msgid "SQL databases, key-value stores, etc."
  1957. msgstr ""
  1958. #. type: subsubsection
  1959. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:12931 doc/guix.texi:12932
  1960. #, no-wrap
  1961. msgid "Mail Services"
  1962. msgstr ""
  1963. #. type: menuentry
  1964. #: doc/guix.texi:256 doc/guix.texi:9718
  1965. msgid "IMAP, POP3, SMTP, and all that."
  1966. msgstr ""
  1967. #. type: subsubsection
  1968. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:14383 doc/guix.texi:14384
  1969. #, no-wrap
  1970. msgid "Messaging Services"
  1971. msgstr ""
  1972. #. type: menuentry
  1973. #: doc/guix.texi:256 doc/guix.texi:9718
  1974. msgid "Messaging services."
  1975. msgstr ""
  1976. #. type: subsubsection
  1977. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:14851 doc/guix.texi:14852
  1978. #, no-wrap
  1979. msgid "Telephony Services"
  1980. msgstr ""
  1981. #. type: menuentry
  1982. #: doc/guix.texi:256 doc/guix.texi:9718
  1983. msgid "Telephony services."
  1984. msgstr ""
  1985. #. type: subsubsection
  1986. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15056 doc/guix.texi:15057
  1987. #, no-wrap
  1988. msgid "Monitoring Services"
  1989. msgstr ""
  1990. #. type: menuentry
  1991. #: doc/guix.texi:256 doc/guix.texi:9718
  1992. msgid "Monitoring services."
  1993. msgstr ""
  1994. #. type: subsubsection
  1995. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15209 doc/guix.texi:15210
  1996. #, no-wrap
  1997. msgid "Kerberos Services"
  1998. msgstr ""
  1999. #. type: menuentry
  2000. #: doc/guix.texi:256 doc/guix.texi:9718
  2001. msgid "Kerberos services."
  2002. msgstr ""
  2003. #. type: subsubsection
  2004. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15335 doc/guix.texi:15336
  2005. #, no-wrap
  2006. msgid "Web Services"
  2007. msgstr ""
  2008. #. type: menuentry
  2009. #: doc/guix.texi:256 doc/guix.texi:9718
  2010. msgid "Web servers."
  2011. msgstr ""
  2012. #. type: subsubsection
  2013. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15944 doc/guix.texi:15945
  2014. #, no-wrap
  2015. msgid "Certificate Services"
  2016. msgstr ""
  2017. #. type: menuentry
  2018. #: doc/guix.texi:256 doc/guix.texi:9718
  2019. msgid "TLS certificates via Let's Encrypt."
  2020. msgstr ""
  2021. #. type: subsubsection
  2022. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16090 doc/guix.texi:16091
  2023. #, no-wrap
  2024. msgid "DNS Services"
  2025. msgstr ""
  2026. #. type: menuentry
  2027. #: doc/guix.texi:256 doc/guix.texi:9718
  2028. msgid "DNS daemons."
  2029. msgstr ""
  2030. #. type: subsubsection
  2031. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16494 doc/guix.texi:16495
  2032. #, no-wrap
  2033. msgid "VPN Services"
  2034. msgstr ""
  2035. #. type: menuentry
  2036. #: doc/guix.texi:256 doc/guix.texi:9718
  2037. msgid "VPN daemons."
  2038. msgstr ""
  2039. #. type: subsubsection
  2040. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16852 doc/guix.texi:16853
  2041. #, no-wrap
  2042. msgid "Network File System"
  2043. msgstr ""
  2044. #. type: menuentry
  2045. #: doc/guix.texi:256 doc/guix.texi:9718
  2046. msgid "NFS related services."
  2047. msgstr ""
  2048. #. type: subsubsection
  2049. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16967 doc/guix.texi:16968
  2050. #, no-wrap
  2051. msgid "Continuous Integration"
  2052. msgstr ""
  2053. #. type: menuentry
  2054. #: doc/guix.texi:256 doc/guix.texi:9718
  2055. msgid "The Cuirass service."
  2056. msgstr ""
  2057. #. type: subsubsection
  2058. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:17063 doc/guix.texi:17064
  2059. #, no-wrap
  2060. msgid "Power management Services"
  2061. msgstr ""
  2062. #. type: menuentry
  2063. #: doc/guix.texi:256 doc/guix.texi:9718
  2064. msgid "The TLP tool."
  2065. msgstr ""
  2066. #. type: subsubsection
  2067. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:17591 doc/guix.texi:17592
  2068. #, no-wrap
  2069. msgid "Audio Services"
  2070. msgstr ""
  2071. #. type: menuentry
  2072. #: doc/guix.texi:256 doc/guix.texi:9718
  2073. msgid "The MPD."
  2074. msgstr ""
  2075. #. type: node
  2076. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:17641
  2077. #, no-wrap
  2078. msgid "Virtualization Services"
  2079. msgstr ""
  2080. #. type: menuentry
  2081. #: doc/guix.texi:256 doc/guix.texi:9718
  2082. msgid "Virtualization services."
  2083. msgstr ""
  2084. #. type: subsubsection
  2085. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:18434 doc/guix.texi:18435
  2086. #, no-wrap
  2087. msgid "Version Control Services"
  2088. msgstr ""
  2089. #. type: menuentry
  2090. #: doc/guix.texi:256 doc/guix.texi:9718
  2091. msgid "Providing remote access to Git repositories."
  2092. msgstr ""
  2093. #. type: subsubsection
  2094. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:19528 doc/guix.texi:19529
  2095. #, no-wrap
  2096. msgid "Game Services"
  2097. msgstr ""
  2098. #. type: menuentry
  2099. #: doc/guix.texi:256 doc/guix.texi:9718
  2100. msgid "Game servers."
  2101. msgstr ""
  2102. #. type: subsubsection
  2103. #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:19559 doc/guix.texi:19560
  2104. #, no-wrap
  2105. msgid "Miscellaneous Services"
  2106. msgstr ""
  2107. #. type: menuentry
  2108. #: doc/guix.texi:256 doc/guix.texi:9718
  2109. msgid "Other services."
  2110. msgstr ""
  2111. #. type: subsubsection
  2112. #: doc/guix.texi:263 doc/guix.texi:20846 doc/guix.texi:20848
  2113. #: doc/guix.texi:20849
  2114. #, no-wrap
  2115. msgid "Service Composition"
  2116. msgstr ""
  2117. #. type: menuentry
  2118. #: doc/guix.texi:263 doc/guix.texi:20846
  2119. msgid "The model for composing services."
  2120. msgstr ""
  2121. #. type: subsubsection
  2122. #: doc/guix.texi:263 doc/guix.texi:20846 doc/guix.texi:20904
  2123. #: doc/guix.texi:20905
  2124. #, no-wrap
  2125. msgid "Service Types and Services"
  2126. msgstr ""
  2127. #. type: menuentry
  2128. #: doc/guix.texi:263 doc/guix.texi:20846
  2129. msgid "Types and services."
  2130. msgstr ""
  2131. #. type: subsubsection
  2132. #: doc/guix.texi:263 doc/guix.texi:20846 doc/guix.texi:21041
  2133. #: doc/guix.texi:21042
  2134. #, no-wrap
  2135. msgid "Service Reference"
  2136. msgstr ""
  2137. #. type: menuentry
  2138. #: doc/guix.texi:263 doc/guix.texi:20846
  2139. msgid "API reference."
  2140. msgstr ""
  2141. #. type: subsubsection
  2142. #: doc/guix.texi:263 doc/guix.texi:20846 doc/guix.texi:21266
  2143. #: doc/guix.texi:21267
  2144. #, no-wrap
  2145. msgid "Shepherd Services"
  2146. msgstr ""
  2147. #. type: menuentry
  2148. #: doc/guix.texi:263 doc/guix.texi:20846
  2149. msgid "A particular type of service."
  2150. msgstr ""
  2151. #. type: subsection
  2152. #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:21732
  2153. #: doc/guix.texi:21733
  2154. #, no-wrap
  2155. msgid "Software Freedom"
  2156. msgstr ""
  2157. #. type: menuentry
  2158. #: doc/guix.texi:274 doc/guix.texi:21730
  2159. msgid "What may go into the distribution."
  2160. msgstr ""
  2161. #. type: subsection
  2162. #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:21760
  2163. #: doc/guix.texi:21761
  2164. #, no-wrap
  2165. msgid "Package Naming"
  2166. msgstr ""
  2167. #. type: menuentry
  2168. #: doc/guix.texi:274 doc/guix.texi:21730
  2169. msgid "What's in a name?"
  2170. msgstr ""
  2171. #. type: subsection
  2172. #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:21785
  2173. #: doc/guix.texi:21786
  2174. #, no-wrap
  2175. msgid "Version Numbers"
  2176. msgstr ""
  2177. #. type: menuentry
  2178. #: doc/guix.texi:274 doc/guix.texi:21730
  2179. msgid "When the name is not enough."
  2180. msgstr ""
  2181. #. type: subsection
  2182. #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:21876
  2183. #: doc/guix.texi:21877
  2184. #, no-wrap
  2185. msgid "Synopses and Descriptions"
  2186. msgstr ""
  2187. #. type: menuentry
  2188. #: doc/guix.texi:274 doc/guix.texi:21730
  2189. msgid "Helping users find the right package."
  2190. msgstr ""
  2191. #. type: subsection
  2192. #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:21956
  2193. #: doc/guix.texi:21957
  2194. #, no-wrap
  2195. msgid "Python Modules"
  2196. msgstr ""
  2197. #. type: menuentry
  2198. #: doc/guix.texi:274 doc/guix.texi:21730
  2199. msgid "A touch of British comedy."
  2200. msgstr ""
  2201. #. type: subsection
  2202. #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:22031
  2203. #: doc/guix.texi:22032
  2204. #, no-wrap
  2205. msgid "Perl Modules"
  2206. msgstr ""
  2207. #. type: menuentry
  2208. #: doc/guix.texi:274 doc/guix.texi:21730
  2209. msgid "Little pearls."
  2210. msgstr ""
  2211. #. type: subsection
  2212. #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:22047
  2213. #: doc/guix.texi:22048
  2214. #, no-wrap
  2215. msgid "Java Packages"
  2216. msgstr ""
  2217. #. type: menuentry
  2218. #: doc/guix.texi:274 doc/guix.texi:21730
  2219. msgid "Coffee break."
  2220. msgstr ""
  2221. #. type: subsection
  2222. #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:22067
  2223. #: doc/guix.texi:22068
  2224. #, no-wrap
  2225. msgid "Fonts"
  2226. msgstr ""
  2227. #. type: menuentry
  2228. #: doc/guix.texi:274 doc/guix.texi:21730
  2229. msgid "Fond of fonts."
  2230. msgstr ""
  2231. #. type: cindex
  2232. #: doc/guix.texi:297
  2233. #, no-wrap
  2234. msgid "purpose"
  2235. msgstr ""
  2236. #. type: Plain text
  2237. #: doc/guix.texi:304
  2238. msgid ""
  2239. "GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' using "
  2240. "the international phonetic alphabet (IPA).} is a package management tool for "
  2241. "the GNU system. Guix makes it easy for unprivileged users to install, "
  2242. "upgrade, or remove packages, to roll back to a previous package set, to "
  2243. "build packages from source, and generally assists with the creation and "
  2244. "maintenance of software environments."
  2245. msgstr ""
  2246. #. type: cindex
  2247. #: doc/guix.texi:305
  2248. #, no-wrap
  2249. msgid "user interfaces"
  2250. msgstr ""
  2251. #. type: Plain text
  2252. #: doc/guix.texi:310
  2253. msgid ""
  2254. "Guix provides a command-line package management interface (@pxref{Invoking "
  2255. "guix package}), a set of command-line utilities (@pxref{Utilities}), as well "
  2256. "as Scheme programming interfaces (@pxref{Programming Interface})."
  2257. msgstr ""
  2258. #. type: cindex
  2259. #: doc/guix.texi:310
  2260. #, no-wrap
  2261. msgid "build daemon"
  2262. msgstr ""
  2263. #. type: Plain text
  2264. #: doc/guix.texi:314
  2265. msgid ""
  2266. "Its @dfn{build daemon} is responsible for building packages on behalf of "
  2267. "users (@pxref{Setting Up the Daemon}) and for downloading pre-built binaries "
  2268. "from authorized sources (@pxref{Substitutes})."
  2269. msgstr ""
  2270. #. type: cindex
  2271. #: doc/guix.texi:315
  2272. #, no-wrap
  2273. msgid "extensibility of the distribution"
  2274. msgstr ""
  2275. #. type: cindex
  2276. #: doc/guix.texi:316 doc/guix.texi:21623
  2277. #, no-wrap
  2278. msgid "customization, of packages"
  2279. msgstr ""
  2280. #. type: Plain text
  2281. #: doc/guix.texi:325
  2282. msgid ""
  2283. "Guix includes package definitions for many GNU and non-GNU packages, all of "
  2284. "which @uref{https://www.gnu.org/philosophy/free-sw.html, respect the user's "
  2285. "computing freedom}. It is @emph{extensible}: users can write their own "
  2286. "package definitions (@pxref{Defining Packages}) and make them available as "
  2287. "independent package modules (@pxref{Package Modules}). It is also "
  2288. "@emph{customizable}: users can @emph{derive} specialized package definitions "
  2289. "from existing ones, including from the command line (@pxref{Package "
  2290. "Transformation Options})."
  2291. msgstr ""
  2292. #. type: cindex
  2293. #: doc/guix.texi:326 doc/guix.texi:7984 doc/guix.texi:8062
  2294. #, no-wrap
  2295. msgid "Guix System Distribution"
  2296. msgstr ""
  2297. #. type: cindex
  2298. #: doc/guix.texi:327 doc/guix.texi:7985
  2299. #, no-wrap
  2300. msgid "GuixSD"
  2301. msgstr ""
  2302. #. type: Plain text
  2303. #: doc/guix.texi:336
  2304. msgid ""
  2305. "You can install GNU@tie{}Guix on top of an existing GNU/Linux system where "
  2306. "it complements the available tools without interference "
  2307. "(@pxref{Installation}), or you can use it as part of the standalone "
  2308. "@dfn{Guix System Distribution} or GuixSD (@pxref{GNU Distribution}). With "
  2309. "GNU@tie{}GuixSD, you @emph{declare} all aspects of the operating system "
  2310. "configuration and Guix takes care of instantiating the configuration in a "
  2311. "transactional, reproducible, and stateless fashion (@pxref{System "
  2312. "Configuration})."
  2313. msgstr ""
  2314. #. type: cindex
  2315. #: doc/guix.texi:337
  2316. #, no-wrap
  2317. msgid "functional package management"
  2318. msgstr ""
  2319. #. type: Plain text
  2320. #: doc/guix.texi:352
  2321. msgid ""
  2322. "Under the hood, Guix implements the @dfn{functional package management} "
  2323. "discipline pioneered by Nix (@pxref{Acknowledgments}). In Guix, the package "
  2324. "build and installation process is seen as a @emph{function}, in the "
  2325. "mathematical sense. That function takes inputs, such as build scripts, a "
  2326. "compiler, and libraries, and returns an installed package. As a pure "
  2327. "function, its result depends solely on its inputs---for instance, it cannot "
  2328. "refer to software or scripts that were not explicitly passed as inputs. A "
  2329. "build function always produces the same result when passed a given set of "
  2330. "inputs. It cannot alter the environment of the running system in any way; "
  2331. "for instance, it cannot create, modify, or delete files outside of its build "
  2332. "and installation directories. This is achieved by running build processes "
  2333. "in isolated environments (or @dfn{containers}), where only their explicit "
  2334. "inputs are visible."
  2335. msgstr ""
  2336. #. type: cindex
  2337. #: doc/guix.texi:353 doc/guix.texi:4186
  2338. #, no-wrap
  2339. msgid "store"
  2340. msgstr ""
  2341. #. type: Plain text
  2342. #: doc/guix.texi:360
  2343. msgid ""
  2344. "The result of package build functions is @dfn{cached} in the file system, in "
  2345. "a special directory called @dfn{the store} (@pxref{The Store}). Each "
  2346. "package is installed in a directory of its own in the store---by default "
  2347. "under @file{/gnu/store}. The directory name contains a hash of all the "
  2348. "inputs used to build that package; thus, changing an input yields a "
  2349. "different directory name."
  2350. msgstr ""
  2351. #. type: Plain text
  2352. #: doc/guix.texi:364
  2353. msgid ""
  2354. "This approach is the foundation for the salient features of Guix: support "
  2355. "for transactional package upgrade and rollback, per-user installation, and "
  2356. "garbage collection of packages (@pxref{Features})."
  2357. msgstr ""
  2358. #. type: cindex
  2359. #: doc/guix.texi:370
  2360. #, no-wrap
  2361. msgid "installing Guix"
  2362. msgstr ""
  2363. #. type: Plain text
  2364. #: doc/guix.texi:375
  2365. msgid ""
  2366. "GNU Guix is available for download from its website at @url{http://www.gnu."
  2367. "org/software/guix/}. This section describes the software requirements of "
  2368. "Guix, as well as how to install it and get ready to use it."
  2369. msgstr ""
  2370. #. type: Plain text
  2371. #: doc/guix.texi:380
  2372. msgid ""
  2373. "Note that this section is concerned with the installation of the package "
  2374. "manager, which can be done on top of a running GNU/Linux system. If, "
  2375. "instead, you want to install the complete GNU operating system, "
  2376. "@pxref{System Installation}."
  2377. msgstr ""
  2378. #. type: cindex
  2379. #: doc/guix.texi:381 doc/guix.texi:1444
  2380. #, no-wrap
  2381. msgid "foreign distro"
  2382. msgstr ""
  2383. #. type: Plain text
  2384. #: doc/guix.texi:387
  2385. msgid ""
  2386. "When installed on a running GNU/Linux system---thereafter called a "
  2387. "@dfn{foreign distro}---GNU@tie{}Guix complements the available tools without "
  2388. "interference. Its data lives exclusively in two directories, usually @file{/"
  2389. "gnu/store} and @file{/var/guix}; other files on your system, such as @file{/"
  2390. "etc}, are left untouched."
  2391. msgstr ""
  2392. #. type: Plain text
  2393. #: doc/guix.texi:390
  2394. msgid ""
  2395. "Once installed, Guix can be updated by running @command{guix pull} "
  2396. "(@pxref{Invoking guix pull})."
  2397. msgstr ""
  2398. #. type: cindex
  2399. #: doc/guix.texi:403
  2400. #, no-wrap
  2401. msgid "installing Guix from binaries"
  2402. msgstr ""
  2403. #. type: Plain text
  2404. #: doc/guix.texi:409
  2405. msgid ""
  2406. "This section describes how to install Guix on an arbitrary system from a "
  2407. "self-contained tarball providing binaries for Guix and for all its "
  2408. "dependencies. This is often quicker than installing from source, which is "
  2409. "described in the next sections. The only requirement is to have GNU@tie{}"
  2410. "tar and Xz."
  2411. msgstr ""
  2412. #. type: Plain text
  2413. #: doc/guix.texi:414
  2414. msgid ""
  2415. "We provide a @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-"
  2416. "install.sh, shell installer script}, which automates the download, "
  2417. "installation, and initial configuration of Guix. It should be run as the "
  2418. "root user."
  2419. msgstr ""
  2420. #. type: Plain text
  2421. #: doc/guix.texi:416
  2422. msgid "Installing goes along these lines:"
  2423. msgstr ""
  2424. #. type: cindex
  2425. #: doc/guix.texi:419
  2426. #, no-wrap
  2427. msgid "downloading Guix binary"
  2428. msgstr ""
  2429. #. type: enumerate
  2430. #: doc/guix.texi:424
  2431. msgid ""
  2432. "Download the binary tarball from @indicateurl{ftp://alpha.gnu.org/gnu/guix/"
  2433. "guix-binary-@value{VERSION}.@var{system}.tar.xz}, where @var{system} is "
  2434. "@code{x86_64-linux} for an @code{x86_64} machine already running the kernel "
  2435. "Linux, and so on."
  2436. msgstr ""
  2437. #. type: enumerate
  2438. #: doc/guix.texi:428
  2439. msgid ""
  2440. "Make sure to download the associated @file{.sig} file and to verify the "
  2441. "authenticity of the tarball against it, along these lines:"
  2442. msgstr ""
  2443. #. type: example
  2444. #: doc/guix.texi:432
  2445. #, no-wrap
  2446. msgid ""
  2447. "$ wget ftp://alpha.gnu.org/gnu/guix/guix-binary-@value{VERSION}.@var{system}.tar.xz.sig\n"
  2448. "$ gpg --verify guix-binary-@value{VERSION}.@var{system}.tar.xz.sig\n"
  2449. msgstr ""
  2450. #. type: Plain text
  2451. #: doc/guix.texi:436 doc/guix.texi:8198
  2452. msgid ""
  2453. "If that command fails because you do not have the required public key, then "
  2454. "run this command to import it:"
  2455. msgstr ""
  2456. #. type: example
  2457. #: doc/guix.texi:439 doc/guix.texi:8201
  2458. #, no-wrap
  2459. msgid "$ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID}\n"
  2460. msgstr ""
  2461. #. type: Plain text
  2462. #: doc/guix.texi:444 doc/guix.texi:8206
  2463. msgid "and rerun the @code{gpg --verify} command."
  2464. msgstr ""
  2465. #. type: enumerate
  2466. #: doc/guix.texi:448
  2467. msgid ""
  2468. "Now, you need to become the @code{root} user. Depending on your "
  2469. "distribution, you may have to run @code{su -} or @code{sudo -i}. As "
  2470. "@code{root}, run:"
  2471. msgstr ""
  2472. #. type: example
  2473. #: doc/guix.texi:454
  2474. #, no-wrap
  2475. msgid ""
  2476. "# cd /tmp\n"
  2477. "# tar --warning=no-timestamp -xf \\\n"
  2478. " guix-binary-@value{VERSION}.@var{system}.tar.xz\n"
  2479. "# mv var/guix /var/ && mv gnu /\n"
  2480. msgstr ""
  2481. #. type: enumerate
  2482. #: doc/guix.texi:459
  2483. msgid ""
  2484. "This creates @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}. "
  2485. "The latter contains a ready-to-use profile for @code{root} (see next step.)"
  2486. msgstr ""
  2487. #. type: enumerate
  2488. #: doc/guix.texi:462
  2489. msgid ""
  2490. "Do @emph{not} unpack the tarball on a working Guix system since that would "
  2491. "overwrite its own essential files."
  2492. msgstr ""
  2493. #. type: enumerate
  2494. #: doc/guix.texi:472
  2495. msgid ""
  2496. "The @code{--warning=no-timestamp} option makes sure GNU@tie{}tar does not "
  2497. "emit warnings about ``implausibly old time stamps'' (such warnings were "
  2498. "triggered by GNU@tie{}tar 1.26 and older; recent versions are fine.) They "
  2499. "stem from the fact that all the files in the archive have their modification "
  2500. "time set to zero (which means January 1st, 1970.) This is done on purpose "
  2501. "to make sure the archive content is independent of its creation time, thus "
  2502. "making it reproducible."
  2503. msgstr ""
  2504. #. type: enumerate
  2505. #: doc/guix.texi:475
  2506. msgid "Make @code{root}'s profile available under @file{~root/.guix-profile}:"
  2507. msgstr ""
  2508. #. type: example
  2509. #: doc/guix.texi:479
  2510. #, no-wrap
  2511. msgid ""
  2512. "# ln -sf /var/guix/profiles/per-user/root/guix-profile \\\n"
  2513. " ~root/.guix-profile\n"
  2514. msgstr ""
  2515. #. type: enumerate
  2516. #: doc/guix.texi:483
  2517. msgid ""
  2518. "Source @file{etc/profile} to augment @code{PATH} and other relevant "
  2519. "environment variables:"
  2520. msgstr ""
  2521. #. type: example
  2522. #: doc/guix.texi:487
  2523. #, no-wrap
  2524. msgid ""
  2525. "# GUIX_PROFILE=\"`echo ~root`/.guix-profile\" ; \\\n"
  2526. " source $GUIX_PROFILE/etc/profile\n"
  2527. msgstr ""
  2528. #. type: enumerate
  2529. #: doc/guix.texi:492
  2530. msgid ""
  2531. "Create the group and user accounts for build users as explained below "
  2532. "(@pxref{Build Environment Setup})."
  2533. msgstr ""
  2534. #. type: enumerate
  2535. #: doc/guix.texi:495
  2536. msgid "Run the daemon, and set it to automatically start on boot."
  2537. msgstr ""
  2538. #. type: enumerate
  2539. #: doc/guix.texi:498
  2540. msgid ""
  2541. "If your host distro uses the systemd init system, this can be achieved with "
  2542. "these commands:"
  2543. msgstr ""
  2544. #. type: example
  2545. #: doc/guix.texi:510
  2546. #, no-wrap
  2547. msgid ""
  2548. "# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \\\n"
  2549. " /etc/systemd/system/\n"
  2550. "# systemctl start guix-daemon && systemctl enable guix-daemon\n"
  2551. msgstr ""
  2552. #. type: itemize
  2553. #: doc/guix.texi:513 doc/guix.texi:7635
  2554. msgid "If your host distro uses the Upstart init system:"
  2555. msgstr ""
  2556. #. type: example
  2557. #: doc/guix.texi:518
  2558. #, no-wrap
  2559. msgid ""
  2560. "# initctl reload-configuration\n"
  2561. "# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/\n"
  2562. "# start guix-daemon\n"
  2563. msgstr ""
  2564. #. type: enumerate
  2565. #: doc/guix.texi:521
  2566. msgid "Otherwise, you can still start the daemon manually with:"
  2567. msgstr ""
  2568. #. type: example
  2569. #: doc/guix.texi:524
  2570. #, no-wrap
  2571. msgid "# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild\n"
  2572. msgstr ""
  2573. #. type: enumerate
  2574. #: doc/guix.texi:529
  2575. msgid ""
  2576. "Make the @command{guix} command available to other users on the machine, for "
  2577. "instance with:"
  2578. msgstr ""
  2579. #. type: example
  2580. #: doc/guix.texi:534
  2581. #, no-wrap
  2582. msgid ""
  2583. "# mkdir -p /usr/local/bin\n"
  2584. "# cd /usr/local/bin\n"
  2585. "# ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix\n"
  2586. msgstr ""
  2587. #. type: enumerate
  2588. #: doc/guix.texi:538
  2589. msgid ""
  2590. "It is also a good idea to make the Info version of this manual available "
  2591. "there:"
  2592. msgstr ""
  2593. #. type: example
  2594. #: doc/guix.texi:544
  2595. #, no-wrap
  2596. msgid ""
  2597. "# mkdir -p /usr/local/share/info\n"
  2598. "# cd /usr/local/share/info\n"
  2599. "# for i in /var/guix/profiles/per-user/root/guix-profile/share/info/* ;\n"
  2600. " do ln -s $i ; done\n"
  2601. msgstr ""
  2602. #. type: enumerate
  2603. #: doc/guix.texi:550
  2604. msgid ""
  2605. "That way, assuming @file{/usr/local/share/info} is in the search path, "
  2606. "running @command{info guix} will open this manual (@pxref{Other Info "
  2607. "Directories,,, texinfo, GNU Texinfo}, for more details on changing the Info "
  2608. "search path.)"
  2609. msgstr ""
  2610. #. type: cindex
  2611. #: doc/guix.texi:552 doc/guix.texi:2304 doc/guix.texi:10194
  2612. #, no-wrap
  2613. msgid "substitutes, authorization thereof"
  2614. msgstr ""
  2615. #. type: enumerate
  2616. #: doc/guix.texi:555
  2617. msgid ""
  2618. "To use substitutes from @code{hydra.gnu.org} or one of its mirrors "
  2619. "(@pxref{Substitutes}), authorize them:"
  2620. msgstr ""
  2621. #. type: example
  2622. #: doc/guix.texi:558
  2623. #, no-wrap
  2624. msgid "# guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub\n"
  2625. msgstr ""
  2626. #. type: enumerate
  2627. #: doc/guix.texi:563
  2628. msgid ""
  2629. "Each user may need to perform a few additional steps to make their Guix "
  2630. "environment ready for use, @pxref{Application Setup}."
  2631. msgstr ""
  2632. #. type: Plain text
  2633. #: doc/guix.texi:566
  2634. msgid "Voilà, the installation is complete!"
  2635. msgstr ""
  2636. #. type: Plain text
  2637. #: doc/guix.texi:569
  2638. msgid ""
  2639. "You can confirm that Guix is working by installing a sample package into the "
  2640. "root profile:"
  2641. msgstr ""
  2642. #. type: example
  2643. #: doc/guix.texi:572
  2644. #, no-wrap
  2645. msgid "# guix package -i hello\n"
  2646. msgstr ""
  2647. #. type: Plain text
  2648. #: doc/guix.texi:579
  2649. msgid ""
  2650. "The @code{guix} package must remain available in @code{root}'s profile, or "
  2651. "it would become subject to garbage collection---in which case you would find "
  2652. "yourself badly handicapped by the lack of the @command{guix} command. In "
  2653. "other words, do not remove @code{guix} by running @code{guix package -r "
  2654. "guix}."
  2655. msgstr ""
  2656. #. type: Plain text
  2657. #: doc/guix.texi:582
  2658. msgid ""
  2659. "The binary installation tarball can be (re)produced and verified simply by "
  2660. "running the following command in the Guix source tree:"
  2661. msgstr ""
  2662. #. type: example
  2663. #: doc/guix.texi:585
  2664. #, no-wrap
  2665. msgid "make guix-binary.@var{system}.tar.xz\n"
  2666. msgstr ""
  2667. #. type: Plain text
  2668. #: doc/guix.texi:589
  2669. msgid "... which, in turn, runs:"
  2670. msgstr ""
  2671. #. type: example
  2672. #: doc/guix.texi:592
  2673. #, no-wrap
  2674. msgid "guix pack -s @var{system} --localstatedir guix\n"
  2675. msgstr ""
  2676. #. type: Plain text
  2677. #: doc/guix.texi:595
  2678. msgid "@xref{Invoking guix pack}, for more info on this handy tool."
  2679. msgstr ""
  2680. #. type: Plain text
  2681. #: doc/guix.texi:603
  2682. msgid ""
  2683. "This section lists requirements when building Guix from source. The build "
  2684. "procedure for Guix is the same as for other GNU software, and is not covered "
  2685. "here. Please see the files @file{README} and @file{INSTALL} in the Guix "
  2686. "source tree for additional details."
  2687. msgstr ""
  2688. #. type: Plain text
  2689. #: doc/guix.texi:605
  2690. msgid "GNU Guix depends on the following packages:"
  2691. msgstr ""
  2692. #. type: item
  2693. #: doc/guix.texi:607
  2694. #, no-wrap
  2695. msgid "@url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or"
  2696. msgstr ""
  2697. #. type: itemize
  2698. #: doc/guix.texi:609
  2699. msgid "later, including 2.2.x;"
  2700. msgstr ""
  2701. #. type: item
  2702. #: doc/guix.texi:609
  2703. #, no-wrap
  2704. msgid "@url{http://gnupg.org/, GNU libgcrypt};"
  2705. msgstr ""
  2706. #. type: itemize
  2707. #: doc/guix.texi:614
  2708. msgid ""
  2709. "@uref{http://gnutls.org/, GnuTLS}, specifically its Guile bindings "
  2710. "(@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, "
  2711. "gnutls-guile, GnuTLS-Guile});"
  2712. msgstr ""
  2713. #. type: itemize
  2714. #: doc/guix.texi:618
  2715. msgid ""
  2716. "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August 2017 "
  2717. "or later;"
  2718. msgstr ""
  2719. #. type: item
  2720. #: doc/guix.texi:618
  2721. #, no-wrap
  2722. msgid "@url{http://zlib.net, zlib};"
  2723. msgstr ""
  2724. #. type: item
  2725. #: doc/guix.texi:619
  2726. #, no-wrap
  2727. msgid "@url{http://www.gnu.org/software/make/, GNU Make}."
  2728. msgstr ""
  2729. #. type: Plain text
  2730. #: doc/guix.texi:623
  2731. msgid "The following dependencies are optional:"
  2732. msgstr ""
  2733. #. type: itemize
  2734. #: doc/guix.texi:631
  2735. msgid ""
  2736. "Installing @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} "
  2737. "will allow you to use the @command{guix import pypi} command "
  2738. "(@pxref{Invoking guix import}). It is of interest primarily for developers "
  2739. "and not for casual users."
  2740. msgstr ""
  2741. #. type: itemize
  2742. #: doc/guix.texi:638
  2743. msgid ""
  2744. "Support for build offloading (@pxref{Daemon Offload Setup}) and "
  2745. "@command{guix copy} (@pxref{Invoking guix copy}) depends on @uref{https://"
  2746. "github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.10.2 or later."
  2747. msgstr ""
  2748. #. type: itemize
  2749. #: doc/guix.texi:642
  2750. msgid ""
  2751. "When @url{http://www.bzip.org, libbz2} is available, @command{guix-daemon} "
  2752. "can use it to compress build logs."
  2753. msgstr ""
  2754. #. type: Plain text
  2755. #: doc/guix.texi:646
  2756. msgid ""
  2757. "Unless @code{--disable-daemon} was passed to @command{configure}, the "
  2758. "following packages are also needed:"
  2759. msgstr ""
  2760. #. type: item
  2761. #: doc/guix.texi:648
  2762. #, no-wrap
  2763. msgid "@url{http://sqlite.org, SQLite 3};"
  2764. msgstr ""
  2765. #. type: item
  2766. #: doc/guix.texi:649
  2767. #, no-wrap
  2768. msgid "@url{http://gcc.gnu.org, GCC's g++}, with support for the"
  2769. msgstr ""
  2770. #. type: itemize
  2771. #: doc/guix.texi:651
  2772. msgid "C++11 standard."
  2773. msgstr ""
  2774. #. type: cindex
  2775. #: doc/guix.texi:653
  2776. #, no-wrap
  2777. msgid "state directory"
  2778. msgstr ""
  2779. #. type: Plain text
  2780. #: doc/guix.texi:661
  2781. msgid ""
  2782. "When configuring Guix on a system that already has a Guix installation, be "
  2783. "sure to specify the same state directory as the existing installation using "
  2784. "the @code{--localstatedir} option of the @command{configure} script "
  2785. "(@pxref{Directory Variables, @code{localstatedir},, standards, GNU Coding "
  2786. "Standards}). The @command{configure} script protects against unintended "
  2787. "misconfiguration of @var{localstatedir} so you do not inadvertently corrupt "
  2788. "your store (@pxref{The Store})."
  2789. msgstr ""
  2790. #. type: cindex
  2791. #: doc/guix.texi:662
  2792. #, no-wrap
  2793. msgid "Nix, compatibility"
  2794. msgstr ""
  2795. #. type: Plain text
  2796. #: doc/guix.texi:667
  2797. msgid ""
  2798. "When a working installation of @url{http://nixos.org/nix/, the Nix package "
  2799. "manager} is available, you can instead configure Guix with @code{--disable-"
  2800. "daemon}. In that case, Nix replaces the three dependencies above."
  2801. msgstr ""
  2802. #. type: Plain text
  2803. #: doc/guix.texi:677
  2804. msgid ""
  2805. "Guix is compatible with Nix, so it is possible to share the same store "
  2806. "between both. To do so, you must pass @command{configure} not only the same "
  2807. "@code{--with-store-dir} value, but also the same @code{--localstatedir} "
  2808. "value. The latter is essential because it specifies where the database that "
  2809. "stores metadata about the store is located, among other things. The default "
  2810. "values for Nix are @code{--with-store-dir=/nix/store} and @code{--"
  2811. "localstatedir=/nix/var}. Note that @code{--disable-daemon} is not required "
  2812. "if your goal is to share the store with Nix."
  2813. msgstr ""
  2814. #. type: cindex
  2815. #: doc/guix.texi:681
  2816. #, no-wrap
  2817. msgid "test suite"
  2818. msgstr ""
  2819. #. type: Plain text
  2820. #: doc/guix.texi:687
  2821. msgid ""
  2822. "After a successful @command{configure} and @code{make} run, it is a good "
  2823. "idea to run the test suite. It can help catch issues with the setup or "
  2824. "environment, or bugs in Guix itself---and really, reporting test failures is "
  2825. "a good way to help improve the software. To run the test suite, type:"
  2826. msgstr ""
  2827. #. type: example
  2828. #: doc/guix.texi:690
  2829. #, no-wrap
  2830. msgid "make check\n"
  2831. msgstr ""
  2832. #. type: Plain text
  2833. #: doc/guix.texi:697
  2834. msgid ""
  2835. "Test cases can run in parallel: you can use the @code{-j} option of GNU@tie{}"
  2836. "make to speed things up. The first run may take a few minutes on a recent "
  2837. "machine; subsequent runs will be faster because the store that is created "
  2838. "for test purposes will already have various things in cache."
  2839. msgstr ""
  2840. #. type: Plain text
  2841. #: doc/guix.texi:700
  2842. msgid ""
  2843. "It is also possible to run a subset of the tests by defining the "
  2844. "@code{TESTS} makefile variable as in this example:"
  2845. msgstr ""
  2846. #. type: example
  2847. #: doc/guix.texi:703
  2848. #, no-wrap
  2849. msgid "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n"
  2850. msgstr ""
  2851. #. type: Plain text
  2852. #: doc/guix.texi:708
  2853. msgid ""
  2854. "By default, tests results are displayed at a file level. In order to see "
  2855. "the details of every individual test cases, it is possible to define the "
  2856. "@code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:"
  2857. msgstr ""
  2858. #. type: example
  2859. #: doc/guix.texi:711
  2860. #, no-wrap
  2861. msgid "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n"
  2862. msgstr ""
  2863. #. type: Plain text
  2864. #: doc/guix.texi:717
  2865. msgid ""
  2866. "Upon failure, please email @email{bug-guix@@gnu.org} and attach the "
  2867. "@file{test-suite.log} file. Please specify the Guix version being used as "
  2868. "well as version numbers of the dependencies (@pxref{Requirements}) in your "
  2869. "message."
  2870. msgstr ""
  2871. #. type: Plain text
  2872. #: doc/guix.texi:721
  2873. msgid ""
  2874. "Guix also comes with a whole-system test suite that tests complete GuixSD "
  2875. "operating system instances. It can only run on systems where Guix is "
  2876. "already installed, using:"
  2877. msgstr ""
  2878. #. type: example
  2879. #: doc/guix.texi:724
  2880. #, no-wrap
  2881. msgid "make check-system\n"
  2882. msgstr ""
  2883. #. type: Plain text
  2884. #: doc/guix.texi:728
  2885. msgid "or, again, by defining @code{TESTS} to select a subset of tests to run:"
  2886. msgstr ""
  2887. #. type: example
  2888. #: doc/guix.texi:731
  2889. #, no-wrap
  2890. msgid "make check-system TESTS=\"basic mcron\"\n"
  2891. msgstr ""
  2892. #. type: Plain text
  2893. #: doc/guix.texi:739
  2894. msgid ""
  2895. "These system tests are defined in the @code{(gnu tests @dots{})} modules. "
  2896. "They work by running the operating systems under test with lightweight "
  2897. "instrumentation in a virtual machine (VM). They can be computationally "
  2898. "intensive or rather cheap, depending on whether substitutes are available "
  2899. "for their dependencies (@pxref{Substitutes}). Some of them require a lot of "
  2900. "storage space to hold VM images."
  2901. msgstr ""
  2902. #. type: Plain text
  2903. #: doc/guix.texi:742
  2904. msgid ""
  2905. "Again in case of test failures, please send @email{bug-guix@@gnu.org} all "
  2906. "the details."
  2907. msgstr ""
  2908. #. type: cindex
  2909. #: doc/guix.texi:746
  2910. #, no-wrap
  2911. msgid "daemon"
  2912. msgstr ""
  2913. #. type: Plain text
  2914. #: doc/guix.texi:754
  2915. msgid ""
  2916. "Operations such as building a package or running the garbage collector are "
  2917. "all performed by a specialized process, the @dfn{build daemon}, on behalf of "
  2918. "clients. Only the daemon may access the store and its associated database. "
  2919. "Thus, any operation that manipulates the store goes through the daemon. For "
  2920. "instance, command-line tools such as @command{guix package} and "
  2921. "@command{guix build} communicate with the daemon (@i{via} remote procedure "
  2922. "calls) to instruct it what to do."
  2923. msgstr ""
  2924. #. type: Plain text
  2925. #: doc/guix.texi:758
  2926. msgid ""
  2927. "The following sections explain how to prepare the build daemon's "
  2928. "environment. See also @ref{Substitutes}, for information on how to allow "
  2929. "the daemon to download pre-built binaries."
  2930. msgstr ""
  2931. #. type: cindex
  2932. #: doc/guix.texi:768 doc/guix.texi:1193
  2933. #, no-wrap
  2934. msgid "build environment"
  2935. msgstr ""
  2936. #. type: Plain text
  2937. #: doc/guix.texi:776
  2938. msgid ""
  2939. "In a standard multi-user setup, Guix and its daemon---the @command{guix-"
  2940. "daemon} program---are installed by the system administrator; @file{/gnu/"
  2941. "store} is owned by @code{root} and @command{guix-daemon} runs as "
  2942. "@code{root}. Unprivileged users may use Guix tools to build packages or "
  2943. "otherwise access the store, and the daemon will do it on their behalf, "
  2944. "ensuring that the store is kept in a consistent state, and allowing built "
  2945. "packages to be shared among users."
  2946. msgstr ""
  2947. #. type: cindex
  2948. #: doc/guix.texi:777
  2949. #, no-wrap
  2950. msgid "build users"
  2951. msgstr ""
  2952. #. type: Plain text
  2953. #: doc/guix.texi:788
  2954. msgid ""
  2955. "When @command{guix-daemon} runs as @code{root}, you may not want package "
  2956. "build processes themselves to run as @code{root} too, for obvious security "
  2957. "reasons. To avoid that, a special pool of @dfn{build users} should be "
  2958. "created for use by build processes started by the daemon. These build users "
  2959. "need not have a shell and a home directory: they will just be used when the "
  2960. "daemon drops @code{root} privileges in build processes. Having several such "
  2961. "users allows the daemon to launch distinct build processes under separate "
  2962. "UIDs, which guarantees that they do not interfere with each other---an "
  2963. "essential feature since builds are regarded as pure functions "
  2964. "(@pxref{Introduction})."
  2965. msgstr ""
  2966. #. type: Plain text
  2967. #: doc/guix.texi:791
  2968. msgid ""
  2969. "On a GNU/Linux system, a build user pool may be created like this (using "
  2970. "Bash syntax and the @code{shadow} commands):"
  2971. msgstr ""
  2972. #. type: example
  2973. #: doc/guix.texi:803
  2974. #, no-wrap
  2975. msgid ""
  2976. "# groupadd --system guixbuild\n"
  2977. "# for i in `seq -w 1 10`;\n"
  2978. " do\n"
  2979. " useradd -g guixbuild -G guixbuild \\\n"
  2980. " -d /var/empty -s `which nologin` \\\n"
  2981. " -c \"Guix build user $i\" --system \\\n"
  2982. " guixbuilder$i;\n"
  2983. " done\n"
  2984. msgstr ""
  2985. #. type: Plain text
  2986. #: doc/guix.texi:813
  2987. msgid ""
  2988. "The number of build users determines how many build jobs may run in "
  2989. "parallel, as specified by the @option{--max-jobs} option (@pxref{Invoking "
  2990. "guix-daemon, @option{--max-jobs}}). To use @command{guix system vm} and "
  2991. "related commands, you may need to add the build users to the @code{kvm} "
  2992. "group so they can access @file{/dev/kvm}, using @code{-G guixbuild,kvm} "
  2993. "instead of @code{-G guixbuild} (@pxref{Invoking guix system})."
  2994. msgstr ""
  2995. #. type: Plain text
  2996. #: doc/guix.texi:822
  2997. msgid ""
  2998. "The @code{guix-daemon} program may then be run as @code{root} with the "
  2999. "following command@footnote{If your machine uses the systemd init system, "
  3000. "dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} file "
  3001. "in @file{/etc/systemd/system} will ensure that @command{guix-daemon} is "
  3002. "automatically started. Similarly, if your machine uses the Upstart init "
  3003. "system, drop the @file{@var{prefix}/lib/upstart/system/guix-daemon.conf} "
  3004. "file in @file{/etc/init}.}:"
  3005. msgstr ""
  3006. #. type: example
  3007. #: doc/guix.texi:825 doc/guix.texi:1186
  3008. #, no-wrap
  3009. msgid "# guix-daemon --build-users-group=guixbuild\n"
  3010. msgstr ""
  3011. #. type: cindex
  3012. #: doc/guix.texi:827 doc/guix.texi:1191
  3013. #, no-wrap
  3014. msgid "chroot"
  3015. msgstr ""
  3016. #. type: Plain text
  3017. #: doc/guix.texi:832
  3018. msgid ""
  3019. "This way, the daemon starts build processes in a chroot, under one of the "
  3020. "@code{guixbuilder} users. On GNU/Linux, by default, the chroot environment "
  3021. "contains nothing but:"
  3022. msgstr ""
  3023. #. type: itemize
  3024. #: doc/guix.texi:840
  3025. msgid ""
  3026. "a minimal @code{/dev} directory, created mostly independently from the host "
  3027. "@code{/dev}@footnote{``Mostly'', because while the set of files that appear "
  3028. "in the chroot's @code{/dev} is fixed, most of these files can only be "
  3029. "created if the host has them.};"
  3030. msgstr ""
  3031. #. type: itemize
  3032. #: doc/guix.texi:844
  3033. msgid ""
  3034. "the @code{/proc} directory; it only shows the processes of the container "
  3035. "since a separate PID name space is used;"
  3036. msgstr ""
  3037. #. type: itemize
  3038. #: doc/guix.texi:848
  3039. msgid ""
  3040. "@file{/etc/passwd} with an entry for the current user and an entry for user "
  3041. "@file{nobody};"
  3042. msgstr ""
  3043. #. type: itemize
  3044. #: doc/guix.texi:851
  3045. msgid "@file{/etc/group} with an entry for the user's group;"
  3046. msgstr ""
  3047. #. type: itemize
  3048. #: doc/guix.texi:855
  3049. msgid ""
  3050. "@file{/etc/hosts} with an entry that maps @code{localhost} to "
  3051. "@code{127.0.0.1};"
  3052. msgstr ""
  3053. #. type: itemize
  3054. #: doc/guix.texi:858
  3055. msgid "a writable @file{/tmp} directory."
  3056. msgstr ""
  3057. #. type: Plain text
  3058. #: doc/guix.texi:867
  3059. msgid ""
  3060. "You can influence the directory where the daemon stores build trees @i{via} "
  3061. "the @code{TMPDIR} environment variable. However, the build tree within the "
  3062. "chroot is always called @file{/tmp/guix-build-@var{name}.drv-0}, where "
  3063. "@var{name} is the derivation name---e.g., @code{coreutils-8.24}. This way, "
  3064. "the value of @code{TMPDIR} does not leak inside build environments, which "
  3065. "avoids discrepancies in cases where build processes capture the name of "
  3066. "their build tree."
  3067. msgstr ""
  3068. #. type: vindex
  3069. #: doc/guix.texi:868 doc/guix.texi:2411
  3070. #, no-wrap
  3071. msgid "http_proxy"
  3072. msgstr ""
  3073. #. type: Plain text
  3074. #: doc/guix.texi:872
  3075. msgid ""
  3076. "The daemon also honors the @code{http_proxy} environment variable for HTTP "
  3077. "downloads it performs, be it for fixed-output derivations "
  3078. "(@pxref{Derivations}) or for substitutes (@pxref{Substitutes})."
  3079. msgstr ""
  3080. #. type: Plain text
  3081. #: doc/guix.texi:880
  3082. msgid ""
  3083. "If you are installing Guix as an unprivileged user, it is still possible to "
  3084. "run @command{guix-daemon} provided you pass @code{--disable-chroot}. "
  3085. "However, build processes will not be isolated from one another, and not from "
  3086. "the rest of the system. Thus, build processes may interfere with each "
  3087. "other, and may access programs, libraries, and other files available on the "
  3088. "system---making it much harder to view them as @emph{pure} functions."
  3089. msgstr ""
  3090. #. type: subsection
  3091. #: doc/guix.texi:883
  3092. #, no-wrap
  3093. msgid "Using the Offload Facility"
  3094. msgstr ""
  3095. #. type: cindex
  3096. #: doc/guix.texi:885
  3097. #, no-wrap
  3098. msgid "offloading"
  3099. msgstr ""
  3100. #. type: cindex
  3101. #: doc/guix.texi:886 doc/guix.texi:1247
  3102. #, no-wrap
  3103. msgid "build hook"
  3104. msgstr ""
  3105. #. type: Plain text
  3106. #: doc/guix.texi:900
  3107. msgid ""
  3108. "When desired, the build daemon can @dfn{offload} derivation builds to other "
  3109. "machines running Guix, using the @code{offload} @dfn{build hook}"
  3110. "@footnote{This feature is available only when @uref{https://github.com/"
  3111. "artyom-poptsov/guile-ssh, Guile-SSH} is present.}. When that feature is "
  3112. "enabled, a list of user-specified build machines is read from @file{/etc/"
  3113. "guix/machines.scm}; every time a build is requested, for instance via "
  3114. "@code{guix build}, the daemon attempts to offload it to one of the machines "
  3115. "that satisfy the constraints of the derivation, in particular its system "
  3116. "type---e.g., @file{x86_64-linux}. Missing prerequisites for the build are "
  3117. "copied over SSH to the target machine, which then proceeds with the build; "
  3118. "upon success the output(s) of the build are copied back to the initial "
  3119. "machine."
  3120. msgstr ""
  3121. #. type: Plain text
  3122. #: doc/guix.texi:902
  3123. msgid "The @file{/etc/guix/machines.scm} file typically looks like this:"
  3124. msgstr ""
  3125. #. type: example
  3126. #: doc/guix.texi:910
  3127. #, no-wrap
  3128. msgid ""
  3129. "(list (build-machine\n"
  3130. " (name \"eightysix.example.org\")\n"
  3131. " (system \"x86_64-linux\")\n"
  3132. " (host-key \"ssh-ed25519 AAAAC3Nza@dots{}\")\n"
  3133. " (user \"bob\")\n"
  3134. " (speed 2.)) ;incredibly fast!\n"
  3135. "\n"
  3136. msgstr ""
  3137. #. type: example
  3138. #: doc/guix.texi:919
  3139. #, no-wrap
  3140. msgid ""
  3141. " (build-machine\n"
  3142. " (name \"meeps.example.org\")\n"
  3143. " (system \"mips64el-linux\")\n"
  3144. " (host-key \"ssh-rsa AAAAB3Nza@dots{}\")\n"
  3145. " (user \"alice\")\n"
  3146. " (private-key\n"
  3147. " (string-append (getenv \"HOME\")\n"
  3148. " \"/.ssh/identity-for-guix\"))))\n"
  3149. msgstr ""
  3150. #. type: Plain text
  3151. #: doc/guix.texi:925
  3152. msgid ""
  3153. "In the example above we specify a list of two build machines, one for the "
  3154. "@code{x86_64} architecture and one for the @code{mips64el} architecture."
  3155. msgstr ""
  3156. #. type: Plain text
  3157. #: doc/guix.texi:934
  3158. msgid ""
  3159. "In fact, this file is---not surprisingly!---a Scheme file that is evaluated "
  3160. "when the @code{offload} hook is started. Its return value must be a list of "
  3161. "@code{build-machine} objects. While this example shows a fixed list of "
  3162. "build machines, one could imagine, say, using DNS-SD to return a list of "
  3163. "potential build machines discovered in the local network "
  3164. "(@pxref{Introduction, Guile-Avahi,, guile-avahi, Using Avahi in Guile Scheme "
  3165. "Programs}). The @code{build-machine} data type is detailed below."
  3166. msgstr ""
  3167. #. type: deftp
  3168. #: doc/guix.texi:935
  3169. #, no-wrap
  3170. msgid "{Data Type} build-machine"
  3171. msgstr ""
  3172. #. type: deftp
  3173. #: doc/guix.texi:938
  3174. msgid ""
  3175. "This data type represents build machines to which the daemon may offload "
  3176. "builds. The important fields are:"
  3177. msgstr ""
  3178. #. type: code{#1}
  3179. #: doc/guix.texi:941 doc/guix.texi:3402 doc/guix.texi:9406 doc/guix.texi:9470
  3180. #: doc/guix.texi:9565 doc/guix.texi:11000 doc/guix.texi:15037
  3181. #: doc/guix.texi:15270 doc/guix.texi:15403 doc/guix.texi:15677
  3182. #: doc/guix.texi:15718 doc/guix.texi:19663 doc/guix.texi:19680
  3183. #: doc/guix.texi:19946 doc/guix.texi:21154
  3184. #, no-wrap
  3185. msgid "name"
  3186. msgstr ""
  3187. #. type: table
  3188. #: doc/guix.texi:943
  3189. msgid "The host name of the remote machine."
  3190. msgstr ""
  3191. #. type: item
  3192. #: doc/guix.texi:944
  3193. #, no-wrap
  3194. msgid "system"
  3195. msgstr ""
  3196. #. type: table
  3197. #: doc/guix.texi:946
  3198. msgid "The system type of the remote machine---e.g., @code{\"x86_64-linux\"}."
  3199. msgstr ""
  3200. #. type: code{#1}
  3201. #: doc/guix.texi:947 doc/guix.texi:11010
  3202. #, no-wrap
  3203. msgid "user"
  3204. msgstr ""
  3205. #. type: table
  3206. #: doc/guix.texi:951
  3207. msgid ""
  3208. "The user account to use when connecting to the remote machine over SSH. "
  3209. "Note that the SSH key pair must @emph{not} be passphrase-protected, to allow "
  3210. "non-interactive logins."
  3211. msgstr ""
  3212. #. type: item
  3213. #: doc/guix.texi:952
  3214. #, no-wrap
  3215. msgid "host-key"
  3216. msgstr ""
  3217. #. type: table
  3218. #: doc/guix.texi:956
  3219. msgid ""
  3220. "This must be the machine's SSH @dfn{public host key} in OpenSSH format. "
  3221. "This is used to authenticate the machine when we connect to it. It is a "
  3222. "long string that looks like this:"
  3223. msgstr ""
  3224. #. type: example
  3225. #: doc/guix.texi:959
  3226. #, no-wrap
  3227. msgid "ssh-ed25519 AAAAC3NzaC@dots{}mde+UhL hint@@example.org\n"
  3228. msgstr ""
  3229. #. type: table
  3230. #: doc/guix.texi:964
  3231. msgid ""
  3232. "If the machine is running the OpenSSH daemon, @command{sshd}, the host key "
  3233. "can be found in a file such as @file{/etc/ssh/ssh_host_ed25519_key.pub}."
  3234. msgstr ""
  3235. #. type: table
  3236. #: doc/guix.texi:969
  3237. msgid ""
  3238. "If the machine is running the SSH daemon of GNU@tie{}lsh, @command{lshd}, "
  3239. "the host key is in @file{/etc/lsh/host-key.pub} or a similar file. It can "
  3240. "be converted to the OpenSSH format using @command{lsh-export-key} "
  3241. "(@pxref{Converting keys,,, lsh, LSH Manual}):"
  3242. msgstr ""
  3243. #. type: example
  3244. #: doc/guix.texi:973
  3245. #, no-wrap
  3246. msgid ""
  3247. "$ lsh-export-key --openssh < /etc/lsh/host-key.pub \n"
  3248. "ssh-rsa AAAAB3NzaC1yc2EAAAAEOp8FoQAAAQEAs1eB46LV@dots{}\n"
  3249. msgstr ""
  3250. #. type: deftp
  3251. #: doc/guix.texi:978
  3252. msgid "A number of optional fields may be specified:"
  3253. msgstr ""
  3254. #. type: item
  3255. #: doc/guix.texi:981
  3256. #, no-wrap
  3257. msgid "@code{port} (default: @code{22})"
  3258. msgstr ""
  3259. #. type: table
  3260. #: doc/guix.texi:983
  3261. msgid "Port number of SSH server on the machine."
  3262. msgstr ""
  3263. #. type: item
  3264. #: doc/guix.texi:984
  3265. #, no-wrap
  3266. msgid "@code{private-key} (default: @file{~root/.ssh/id_rsa})"
  3267. msgstr ""
  3268. #. type: table
  3269. #: doc/guix.texi:987
  3270. msgid ""
  3271. "The SSH private key file to use when connecting to the machine, in OpenSSH "
  3272. "format."
  3273. msgstr ""
  3274. #. type: table
  3275. #: doc/guix.texi:990
  3276. msgid ""
  3277. "Note that the default value is the private key @emph{of the root account}. "
  3278. "Make sure it exists if you use the default."
  3279. msgstr ""
  3280. #. type: item
  3281. #: doc/guix.texi:991
  3282. #, no-wrap
  3283. msgid "@code{compression} (default: @code{\"zlib@@openssh.com,zlib\"})"
  3284. msgstr ""
  3285. #. type: item
  3286. #: doc/guix.texi:992 doc/guix.texi:10422
  3287. #, no-wrap
  3288. msgid "@code{compression-level} (default: @code{3})"
  3289. msgstr ""
  3290. #. type: table
  3291. #: doc/guix.texi:994
  3292. msgid "The SSH-level compression methods and compression level requested."
  3293. msgstr ""
  3294. #. type: table
  3295. #: doc/guix.texi:997
  3296. msgid ""
  3297. "Note that offloading relies on SSH compression to reduce bandwidth usage "
  3298. "when transferring files to and from build machines."
  3299. msgstr ""
  3300. #. type: item
  3301. #: doc/guix.texi:998
  3302. #, no-wrap
  3303. msgid "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})"
  3304. msgstr ""
  3305. #. type: table
  3306. #: doc/guix.texi:1001
  3307. msgid ""
  3308. "File name of the Unix-domain socket @command{guix-daemon} is listening to on "
  3309. "that machine."
  3310. msgstr ""
  3311. #. type: item
  3312. #: doc/guix.texi:1002
  3313. #, no-wrap
  3314. msgid "@code{parallel-builds} (default: @code{1})"
  3315. msgstr ""
  3316. #. type: table
  3317. #: doc/guix.texi:1004
  3318. msgid "The number of builds that may run in parallel on the machine."
  3319. msgstr ""
  3320. #. type: item
  3321. #: doc/guix.texi:1005
  3322. #, no-wrap
  3323. msgid "@code{speed} (default: @code{1.0})"
  3324. msgstr ""
  3325. #. type: table
  3326. #: doc/guix.texi:1008
  3327. msgid ""
  3328. "A ``relative speed factor''. The offload scheduler will tend to prefer "
  3329. "machines with a higher speed factor."
  3330. msgstr ""
  3331. #. type: item
  3332. #: doc/guix.texi:1009
  3333. #, no-wrap
  3334. msgid "@code{features} (default: @code{'()})"
  3335. msgstr ""
  3336. #. type: table
  3337. #: doc/guix.texi:1014
  3338. msgid ""
  3339. "A list of strings denoting specific features supported by the machine. An "
  3340. "example is @code{\"kvm\"} for machines that have the KVM Linux modules and "
  3341. "corresponding hardware support. Derivations can request features by name, "
  3342. "and they will be scheduled on matching build machines."
  3343. msgstr ""
  3344. #. type: Plain text
  3345. #: doc/guix.texi:1022
  3346. msgid ""
  3347. "The @code{guile} command must be in the search path on the build machines. "
  3348. "In addition, the Guix modules must be in @code{$GUILE_LOAD_PATH} on the "
  3349. "build machine---you can check whether this is the case by running:"
  3350. msgstr ""
  3351. #. type: example
  3352. #: doc/guix.texi:1025
  3353. #, no-wrap
  3354. msgid "ssh build-machine guile -c \"'(use-modules (guix config))'\"\n"
  3355. msgstr ""
  3356. #. type: Plain text
  3357. #: doc/guix.texi:1032
  3358. msgid ""
  3359. "There is one last thing to do once @file{machines.scm} is in place. As "
  3360. "explained above, when offloading, files are transferred back and forth "
  3361. "between the machine stores. For this to work, you first need to generate a "
  3362. "key pair on each machine to allow the daemon to export signed archives of "
  3363. "files from the store (@pxref{Invoking guix archive}):"
  3364. msgstr ""
  3365. #. type: example
  3366. #: doc/guix.texi:1035
  3367. #, no-wrap
  3368. msgid "# guix archive --generate-key\n"
  3369. msgstr ""
  3370. #. type: Plain text
  3371. #: doc/guix.texi:1040
  3372. msgid ""
  3373. "Each build machine must authorize the key of the master machine so that it "
  3374. "accepts store items it receives from the master:"
  3375. msgstr ""
  3376. #. type: example
  3377. #: doc/guix.texi:1043
  3378. #, no-wrap
  3379. msgid "# guix archive --authorize < master-public-key.txt\n"
  3380. msgstr ""
  3381. #. type: Plain text
  3382. #: doc/guix.texi:1047
  3383. msgid ""
  3384. "Likewise, the master machine must authorize the key of each build machine."
  3385. msgstr ""
  3386. #. type: Plain text
  3387. #: doc/guix.texi:1053
  3388. msgid ""
  3389. "All the fuss with keys is here to express pairwise mutual trust relations "
  3390. "between the master and the build machines. Concretely, when the master "
  3391. "receives files from a build machine (and @i{vice versa}), its build daemon "
  3392. "can make sure they are genuine, have not been tampered with, and that they "
  3393. "are signed by an authorized key."
  3394. msgstr ""
  3395. #. type: cindex
  3396. #: doc/guix.texi:1054
  3397. #, no-wrap
  3398. msgid "offload test"
  3399. msgstr ""
  3400. #. type: Plain text
  3401. #: doc/guix.texi:1057
  3402. msgid ""
  3403. "To test whether your setup is operational, run this command on the master "
  3404. "node:"
  3405. msgstr ""
  3406. #. type: example
  3407. #: doc/guix.texi:1060
  3408. #, no-wrap
  3409. msgid "# guix offload test\n"
  3410. msgstr ""
  3411. #. type: Plain text
  3412. #: doc/guix.texi:1066
  3413. msgid ""
  3414. "This will attempt to connect to each of the build machines specified in "
  3415. "@file{/etc/guix/machines.scm}, make sure Guile and the Guix modules are "
  3416. "available on each machine, attempt to export to the machine and import from "
  3417. "it, and report any error in the process."
  3418. msgstr ""
  3419. #. type: Plain text
  3420. #: doc/guix.texi:1069
  3421. msgid ""
  3422. "If you want to test a different machine file, just specify it on the command "
  3423. "line:"
  3424. msgstr ""
  3425. #. type: example
  3426. #: doc/guix.texi:1072
  3427. #, no-wrap
  3428. msgid "# guix offload test machines-qualif.scm\n"
  3429. msgstr ""
  3430. #. type: Plain text
  3431. #: doc/guix.texi:1076
  3432. msgid ""
  3433. "Last, you can test the subset of the machines whose name matches a regular "
  3434. "expression like this:"
  3435. msgstr ""
  3436. #. type: example
  3437. #: doc/guix.texi:1079
  3438. #, no-wrap
  3439. msgid "# guix offload test machines.scm '\\.gnu\\.org$'\n"
  3440. msgstr ""
  3441. #. type: cindex
  3442. #: doc/guix.texi:1081
  3443. #, no-wrap
  3444. msgid "offload status"
  3445. msgstr ""
  3446. #. type: Plain text
  3447. #: doc/guix.texi:1084
  3448. msgid ""
  3449. "To display the current load of all build hosts, run this command on the main "
  3450. "node:"
  3451. msgstr ""
  3452. #. type: example
  3453. #: doc/guix.texi:1087
  3454. #, no-wrap
  3455. msgid "# guix offload status\n"
  3456. msgstr ""
  3457. #. type: cindex
  3458. #: doc/guix.texi:1093
  3459. #, no-wrap
  3460. msgid "SELinux, daemon policy"
  3461. msgstr ""
  3462. #. type: cindex
  3463. #: doc/guix.texi:1094
  3464. #, no-wrap
  3465. msgid "mandatory access control, SELinux"
  3466. msgstr ""
  3467. #. type: cindex
  3468. #: doc/guix.texi:1095
  3469. #, no-wrap
  3470. msgid "security, guix-daemon"
  3471. msgstr ""
  3472. #. type: Plain text
  3473. #: doc/guix.texi:1101
  3474. msgid ""
  3475. "Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can "
  3476. "be installed on a system where SELinux is enabled, in order to label Guix "
  3477. "files and to specify the expected behavior of the daemon. Since GuixSD does "
  3478. "not provide an SELinux base policy, the daemon policy cannot be used on "
  3479. "GuixSD."
  3480. msgstr ""
  3481. #. type: subsubsection
  3482. #: doc/guix.texi:1102
  3483. #, no-wrap
  3484. msgid "Installing the SELinux policy"
  3485. msgstr ""
  3486. #. type: cindex
  3487. #: doc/guix.texi:1103
  3488. #, no-wrap
  3489. msgid "SELinux, policy installation"
  3490. msgstr ""
  3491. #. type: Plain text
  3492. #: doc/guix.texi:1105
  3493. msgid "To install the policy run this command as root:"
  3494. msgstr ""
  3495. #. type: example
  3496. #: doc/guix.texi:1108
  3497. #, no-wrap
  3498. msgid "semodule -i etc/guix-daemon.cil\n"
  3499. msgstr ""
  3500. #. type: Plain text
  3501. #: doc/guix.texi:1112
  3502. msgid ""
  3503. "Then relabel the file system with @code{restorecon} or by a different "
  3504. "mechanism provided by your system."
  3505. msgstr ""
  3506. #. type: Plain text
  3507. #: doc/guix.texi:1117
  3508. msgid ""
  3509. "Once the policy is installed, the file system has been relabeled, and the "
  3510. "daemon has been restarted, it should be running in the @code{guix_daemon_t} "
  3511. "context. You can confirm this with the following command:"
  3512. msgstr ""
  3513. #. type: example
  3514. #: doc/guix.texi:1120
  3515. #, no-wrap
  3516. msgid "ps -Zax | grep guix-daemon\n"
  3517. msgstr ""
  3518. #. type: Plain text
  3519. #: doc/guix.texi:1125
  3520. msgid ""
  3521. "Monitor the SELinux log files as you run a command like @code{guix build "
  3522. "hello} to convince yourself that SELinux permits all necessary operations."
  3523. msgstr ""
  3524. #. type: cindex
  3525. #: doc/guix.texi:1127
  3526. #, no-wrap
  3527. msgid "SELinux, limitations"
  3528. msgstr ""
  3529. #. type: Plain text
  3530. #: doc/guix.texi:1132
  3531. msgid ""
  3532. "This policy is not perfect. Here is a list of limitations or quirks that "
  3533. "should be considered when deploying the provided SELinux policy for the Guix "
  3534. "daemon."
  3535. msgstr ""
  3536. #. type: enumerate
  3537. #: doc/guix.texi:1139
  3538. msgid ""
  3539. "@code{guix_daemon_socket_t} isn’t actually used. None of the socket "
  3540. "operations involve contexts that have anything to do with "
  3541. "@code{guix_daemon_socket_t}. It doesn’t hurt to have this unused label, but "
  3542. "it would be preferrable to define socket rules for only this label."
  3543. msgstr ""
  3544. #. type: enumerate
  3545. #: doc/guix.texi:1150
  3546. msgid ""
  3547. "@code{guix gc} cannot access arbitrary links to profiles. By design, the "
  3548. "file label of the destination of a symlink is independent of the file label "
  3549. "of the link itself. Although all profiles under $localstatedir are "
  3550. "labelled, the links to these profiles inherit the label of the directory "
  3551. "they are in. For links in the user’s home directory this will be "
  3552. "@code{user_home_t}. But for links from the root user’s home directory, or "
  3553. "@file{/tmp}, or the HTTP server’s working directory, etc, this won’t work. "
  3554. "@code{guix gc} would be prevented from reading and following these links."
  3555. msgstr ""
  3556. #. type: enumerate
  3557. #: doc/guix.texi:1155
  3558. msgid ""
  3559. "The daemon’s feature to listen for TCP connections might no longer work. "
  3560. "This might require extra rules, because SELinux treats network sockets "
  3561. "differently from files."
  3562. msgstr ""
  3563. #. type: enumerate
  3564. #: doc/guix.texi:1166
  3565. msgid ""
  3566. "Currently all files with a name matching the regular expression @code{/gnu/"
  3567. "store/.+-(guix-.+|profile)/bin/guix-daemon} are assigned the label "
  3568. "@code{guix_daemon_exec_t}; this means that @emph{any} file with that name in "
  3569. "any profile would be permitted to run in the @code{guix_daemon_t} domain. "
  3570. "This is not ideal. An attacker could build a package that provides this "
  3571. "executable and convince a user to install and run it, which lifts it into "
  3572. "the @code{guix_daemon_t} domain. At that point SELinux could not prevent it "
  3573. "from accessing files that are allowed for processes in that domain."
  3574. msgstr ""
  3575. #. type: enumerate
  3576. #: doc/guix.texi:1174
  3577. msgid ""
  3578. "We could generate a much more restrictive policy at installation time, so "
  3579. "that only the @emph{exact} file name of the currently installed @code{guix-"
  3580. "daemon} executable would be labelled with @code{guix_daemon_exec_t}, instead "
  3581. "of using a broad regular expression. The downside is that root would have "
  3582. "to install or upgrade the policy at installation time whenever the Guix "
  3583. "package that provides the effectively running @code{guix-daemon} executable "
  3584. "is upgraded."
  3585. msgstr ""
  3586. #. type: section
  3587. #: doc/guix.texi:1177
  3588. #, no-wrap
  3589. msgid "Invoking @command{guix-daemon}"
  3590. msgstr ""
  3591. #. type: Plain text
  3592. #: doc/guix.texi:1183
  3593. msgid ""
  3594. "The @command{guix-daemon} program implements all the functionality to access "
  3595. "the store. This includes launching build processes, running the garbage "
  3596. "collector, querying the availability of a build result, etc. It is normally "
  3597. "run as @code{root} like this:"
  3598. msgstr ""
  3599. #. type: Plain text
  3600. #: doc/guix.texi:1190
  3601. msgid "For details on how to set it up, @pxref{Setting Up the Daemon}."
  3602. msgstr ""
  3603. #. type: cindex
  3604. #: doc/guix.texi:1192
  3605. #, no-wrap
  3606. msgid "container, build environment"
  3607. msgstr ""
  3608. #. type: cindex
  3609. #: doc/guix.texi:1194 doc/guix.texi:1732 doc/guix.texi:2392 doc/guix.texi:7648
  3610. #, no-wrap
  3611. msgid "reproducible builds"
  3612. msgstr ""
  3613. #. type: Plain text
  3614. #: doc/guix.texi:1206
  3615. msgid ""
  3616. "By default, @command{guix-daemon} launches build processes under different "
  3617. "UIDs, taken from the build group specified with @code{--build-users-group}. "
  3618. "In addition, each build process is run in a chroot environment that only "
  3619. "contains the subset of the store that the build process depends on, as "
  3620. "specified by its derivation (@pxref{Programming Interface, derivation}), "
  3621. "plus a set of specific system directories. By default, the latter contains "
  3622. "@file{/dev} and @file{/dev/pts}. Furthermore, on GNU/Linux, the build "
  3623. "environment is a @dfn{container}: in addition to having its own file system "
  3624. "tree, it has a separate mount name space, its own PID name space, network "
  3625. "name space, etc. This helps achieve reproducible builds (@pxref{Features})."
  3626. msgstr ""
  3627. #. type: Plain text
  3628. #: doc/guix.texi:1215
  3629. msgid ""
  3630. "When the daemon performs a build on behalf of the user, it creates a build "
  3631. "directory under @file{/tmp} or under the directory specified by its "
  3632. "@code{TMPDIR} environment variable; this directory is shared with the "
  3633. "container for the duration of the build. Be aware that using a directory "
  3634. "other than @file{/tmp} can affect build results---for example, with a longer "
  3635. "directory name, a build process that uses Unix-domain sockets might hit the "
  3636. "name length limitation for @code{sun_path}, which it would otherwise not hit."
  3637. msgstr ""
  3638. #. type: Plain text
  3639. #: doc/guix.texi:1219
  3640. msgid ""
  3641. "The build directory is automatically deleted upon completion, unless the "
  3642. "build failed and the client specified @option{--keep-failed} "
  3643. "(@pxref{Invoking guix build, @option{--keep-failed}})."
  3644. msgstr ""
  3645. #. type: Plain text
  3646. #: doc/guix.texi:1221
  3647. msgid "The following command-line options are supported:"
  3648. msgstr ""
  3649. #. type: item
  3650. #: doc/guix.texi:1223
  3651. #, no-wrap
  3652. msgid "--build-users-group=@var{group}"
  3653. msgstr ""
  3654. #. type: table
  3655. #: doc/guix.texi:1226
  3656. msgid ""
  3657. "Take users from @var{group} to run build processes (@pxref{Setting Up the "
  3658. "Daemon, build users})."
  3659. msgstr ""
  3660. #. type: item
  3661. #: doc/guix.texi:1227 doc/guix.texi:5498
  3662. #, no-wrap
  3663. msgid "--no-substitutes"
  3664. msgstr ""
  3665. #. type: cindex
  3666. #: doc/guix.texi:1228 doc/guix.texi:1744 doc/guix.texi:2248
  3667. #, no-wrap
  3668. msgid "substitutes"
  3669. msgstr ""
  3670. #. type: table
  3671. #: doc/guix.texi:1232 doc/guix.texi:5502
  3672. msgid ""
  3673. "Do not use substitutes for build products. That is, always build things "
  3674. "locally instead of allowing downloads of pre-built binaries "
  3675. "(@pxref{Substitutes})."
  3676. msgstr ""
  3677. #. type: table
  3678. #: doc/guix.texi:1236
  3679. msgid ""
  3680. "When the daemon runs with @code{--no-substitutes}, clients can still "
  3681. "explicitly enable substitution @i{via} the @code{set-build-options} remote "
  3682. "procedure call (@pxref{The Store})."
  3683. msgstr ""
  3684. #. type: item
  3685. #: doc/guix.texi:1237 doc/guix.texi:5485 doc/guix.texi:6897 doc/guix.texi:7773
  3686. #: doc/guix.texi:7961
  3687. #, no-wrap
  3688. msgid "--substitute-urls=@var{urls}"
  3689. msgstr ""
  3690. #. type: anchor{#1}
  3691. #: doc/guix.texi:1243
  3692. msgid "daemon-substitute-urls"
  3693. msgstr ""
  3694. #. type: table
  3695. #: doc/guix.texi:1243
  3696. msgid ""
  3697. "Consider @var{urls} the default whitespace-separated list of substitute "
  3698. "source URLs. When this option is omitted, @indicateurl{https://mirror.hydra."
  3699. "gnu.org https://hydra.gnu.org} is used (@code{mirror.hydra.gnu.org} is a "
  3700. "mirror of @code{hydra.gnu.org})."
  3701. msgstr ""
  3702. #. type: table
  3703. #: doc/guix.texi:1246
  3704. msgid ""
  3705. "This means that substitutes may be downloaded from @var{urls}, as long as "
  3706. "they are signed by a trusted signature (@pxref{Substitutes})."
  3707. msgstr ""
  3708. #. type: item
  3709. #: doc/guix.texi:1248 doc/guix.texi:5523
  3710. #, no-wrap
  3711. msgid "--no-build-hook"
  3712. msgstr ""
  3713. #. type: table
  3714. #: doc/guix.texi:1250
  3715. msgid "Do not use the @dfn{build hook}."
  3716. msgstr ""
  3717. #. type: table
  3718. #: doc/guix.texi:1254
  3719. msgid ""
  3720. "The build hook is a helper program that the daemon can start and to which it "
  3721. "submits build requests. This mechanism is used to offload builds to other "
  3722. "machines (@pxref{Daemon Offload Setup})."
  3723. msgstr ""
  3724. #. type: item
  3725. #: doc/guix.texi:1255
  3726. #, no-wrap
  3727. msgid "--cache-failures"
  3728. msgstr ""
  3729. #. type: table
  3730. #: doc/guix.texi:1257
  3731. msgid "Cache build failures. By default, only successful builds are cached."
  3732. msgstr ""
  3733. #. type: table
  3734. #: doc/guix.texi:1262
  3735. msgid ""
  3736. "When this option is used, @command{guix gc --list-failures} can be used to "
  3737. "query the set of store items marked as failed; @command{guix gc --clear-"
  3738. "failures} removes store items from the set of cached failures. "
  3739. "@xref{Invoking guix gc}."
  3740. msgstr ""
  3741. #. type: item
  3742. #: doc/guix.texi:1263 doc/guix.texi:5547
  3743. #, no-wrap
  3744. msgid "--cores=@var{n}"
  3745. msgstr ""
  3746. #. type: itemx
  3747. #: doc/guix.texi:1264 doc/guix.texi:5548
  3748. #, no-wrap
  3749. msgid "-c @var{n}"
  3750. msgstr ""
  3751. #. type: table
  3752. #: doc/guix.texi:1267
  3753. msgid ""
  3754. "Use @var{n} CPU cores to build each derivation; @code{0} means as many as "
  3755. "available."
  3756. msgstr ""
  3757. #. type: table
  3758. #: doc/guix.texi:1271
  3759. msgid ""
  3760. "The default value is @code{0}, but it may be overridden by clients, such as "
  3761. "the @code{--cores} option of @command{guix build} (@pxref{Invoking guix "
  3762. "build})."
  3763. msgstr ""
  3764. #. type: table
  3765. #: doc/guix.texi:1275
  3766. msgid ""
  3767. "The effect is to define the @code{NIX_BUILD_CORES} environment variable in "
  3768. "the build process, which can then use it to exploit internal parallelism---"
  3769. "for instance, by running @code{make -j$NIX_BUILD_CORES}."
  3770. msgstr ""
  3771. #. type: item
  3772. #: doc/guix.texi:1276 doc/guix.texi:5552
  3773. #, no-wrap
  3774. msgid "--max-jobs=@var{n}"
  3775. msgstr ""
  3776. #. type: itemx
  3777. #: doc/guix.texi:1277 doc/guix.texi:5553
  3778. #, no-wrap
  3779. msgid "-M @var{n}"
  3780. msgstr ""
  3781. #. type: table
  3782. #: doc/guix.texi:1282
  3783. msgid ""
  3784. "Allow at most @var{n} build jobs in parallel. The default value is "
  3785. "@code{1}. Setting it to @code{0} means that no builds will be performed "
  3786. "locally; instead, the daemon will offload builds (@pxref{Daemon Offload "
  3787. "Setup}), or simply fail."
  3788. msgstr ""
  3789. #. type: item
  3790. #: doc/guix.texi:1283 doc/guix.texi:5528
  3791. #, no-wrap
  3792. msgid "--max-silent-time=@var{seconds}"
  3793. msgstr ""
  3794. #. type: table
  3795. #: doc/guix.texi:1286 doc/guix.texi:5531
  3796. msgid ""
  3797. "When the build or substitution process remains silent for more than "
  3798. "@var{seconds}, terminate it and report a build failure."
  3799. msgstr ""
  3800. #. type: table
  3801. #: doc/guix.texi:1288 doc/guix.texi:1297
  3802. msgid "The default value is @code{0}, which disables the timeout."
  3803. msgstr ""
  3804. #. type: table
  3805. #: doc/guix.texi:1291
  3806. msgid ""
  3807. "The value specified here can be overridden by clients (@pxref{Common Build "
  3808. "Options, @code{--max-silent-time}})."
  3809. msgstr ""
  3810. #. type: item
  3811. #: doc/guix.texi:1292 doc/guix.texi:5535
  3812. #, no-wrap
  3813. msgid "--timeout=@var{seconds}"
  3814. msgstr ""
  3815. #. type: table
  3816. #: doc/guix.texi:1295 doc/guix.texi:5538
  3817. msgid ""
  3818. "Likewise, when the build or substitution process lasts for more than "
  3819. "@var{seconds}, terminate it and report a build failure."
  3820. msgstr ""
  3821. #. type: table
  3822. #: doc/guix.texi:1300
  3823. msgid ""
  3824. "The value specified here can be overridden by clients (@pxref{Common Build "
  3825. "Options, @code{--timeout}})."
  3826. msgstr ""
  3827. #. type: item
  3828. #: doc/guix.texi:1301
  3829. #, no-wrap
  3830. msgid "--rounds=@var{N}"
  3831. msgstr ""
  3832. #. type: table
  3833. #: doc/guix.texi:1306
  3834. msgid ""
  3835. "Build each derivation @var{n} times in a row, and raise an error if "
  3836. "consecutive build results are not bit-for-bit identical. Note that this "
  3837. "setting can be overridden by clients such as @command{guix build} "
  3838. "(@pxref{Invoking guix build})."
  3839. msgstr ""
  3840. #. type: table
  3841. #: doc/guix.texi:1310 doc/guix.texi:5830
  3842. msgid ""
  3843. "When used in conjunction with @option{--keep-failed}, the differing output "
  3844. "is kept in the store, under @file{/gnu/store/@dots{}-check}. This makes it "
  3845. "easy to look for differences between the two results."
  3846. msgstr ""
  3847. #. type: item
  3848. #: doc/guix.texi:1311
  3849. #, no-wrap
  3850. msgid "--debug"
  3851. msgstr ""
  3852. #. type: table
  3853. #: doc/guix.texi:1313
  3854. msgid "Produce debugging output."
  3855. msgstr ""
  3856. #. type: table
  3857. #: doc/guix.texi:1317
  3858. msgid ""
  3859. "This is useful to debug daemon start-up issues, but then it may be "
  3860. "overridden by clients, for example the @code{--verbosity} option of "
  3861. "@command{guix build} (@pxref{Invoking guix build})."
  3862. msgstr ""
  3863. #. type: item
  3864. #: doc/guix.texi:1318
  3865. #, no-wrap
  3866. msgid "--chroot-directory=@var{dir}"
  3867. msgstr ""
  3868. #. type: table
  3869. #: doc/guix.texi:1320
  3870. msgid "Add @var{dir} to the build chroot."
  3871. msgstr ""
  3872. #. type: table
  3873. #: doc/guix.texi:1326
  3874. msgid ""
  3875. "Doing this may change the result of build processes---for instance if they "
  3876. "use optional dependencies found in @var{dir} when it is available, and not "
  3877. "otherwise. For that reason, it is not recommended to do so. Instead, make "
  3878. "sure that each derivation declares all the inputs that it needs."
  3879. msgstr ""
  3880. #. type: item
  3881. #: doc/guix.texi:1327
  3882. #, no-wrap
  3883. msgid "--disable-chroot"
  3884. msgstr ""
  3885. #. type: table
  3886. #: doc/guix.texi:1329
  3887. msgid "Disable chroot builds."
  3888. msgstr ""
  3889. #. type: table
  3890. #: doc/guix.texi:1334
  3891. msgid ""
  3892. "Using this option is not recommended since, again, it would allow build "
  3893. "processes to gain access to undeclared dependencies. It is necessary, "
  3894. "though, when @command{guix-daemon} is running under an unprivileged user "
  3895. "account."
  3896. msgstr ""
  3897. #. type: item
  3898. #: doc/guix.texi:1335
  3899. #, no-wrap
  3900. msgid "--log-compression=@var{type}"
  3901. msgstr ""
  3902. #. type: table
  3903. #: doc/guix.texi:1338
  3904. msgid ""
  3905. "Compress build logs according to @var{type}, one of @code{gzip}, "
  3906. "@code{bzip2}, or @code{none}."
  3907. msgstr ""
  3908. #. type: table
  3909. #: doc/guix.texi:1342
  3910. msgid ""
  3911. "Unless @code{--lose-logs} is used, all the build logs are kept in the "
  3912. "@var{localstatedir}. To save space, the daemon automatically compresses "
  3913. "them with bzip2 by default."
  3914. msgstr ""
  3915. #. type: item
  3916. #: doc/guix.texi:1343
  3917. #, no-wrap
  3918. msgid "--disable-deduplication"
  3919. msgstr ""
  3920. #. type: cindex
  3921. #: doc/guix.texi:1344 doc/guix.texi:2708
  3922. #, no-wrap
  3923. msgid "deduplication"
  3924. msgstr ""
  3925. #. type: table
  3926. #: doc/guix.texi:1346
  3927. msgid "Disable automatic file ``deduplication'' in the store."
  3928. msgstr ""
  3929. #. type: table
  3930. #: doc/guix.texi:1353
  3931. msgid ""
  3932. "By default, files added to the store are automatically ``deduplicated'': if "
  3933. "a newly added file is identical to another one found in the store, the "
  3934. "daemon makes the new file a hard link to the other file. This can "
  3935. "noticeably reduce disk usage, at the expense of slightly increased input/"
  3936. "output load at the end of a build process. This option disables this "
  3937. "optimization."
  3938. msgstr ""
  3939. #. type: item
  3940. #: doc/guix.texi:1354
  3941. #, no-wrap
  3942. msgid "--gc-keep-outputs[=yes|no]"
  3943. msgstr ""
  3944. #. type: table
  3945. #: doc/guix.texi:1357
  3946. msgid ""
  3947. "Tell whether the garbage collector (GC) must keep outputs of live "
  3948. "derivations."
  3949. msgstr ""
  3950. #. type: cindex
  3951. #: doc/guix.texi:1358 doc/guix.texi:2543
  3952. #, no-wrap
  3953. msgid "GC roots"
  3954. msgstr ""
  3955. #. type: cindex
  3956. #: doc/guix.texi:1359 doc/guix.texi:2544
  3957. #, no-wrap
  3958. msgid "garbage collector roots"
  3959. msgstr ""
  3960. #. type: table
  3961. #: doc/guix.texi:1364
  3962. msgid ""
  3963. "When set to ``yes'', the GC will keep the outputs of any live derivation "
  3964. "available in the store---the @code{.drv} files. The default is ``no'', "
  3965. "meaning that derivation outputs are kept only if they are GC roots. "
  3966. "@xref{Invoking guix gc}, for more on GC roots."
  3967. msgstr ""
  3968. #. type: item
  3969. #: doc/guix.texi:1365
  3970. #, no-wrap
  3971. msgid "--gc-keep-derivations[=yes|no]"
  3972. msgstr ""
  3973. #. type: table
  3974. #: doc/guix.texi:1368
  3975. msgid ""
  3976. "Tell whether the garbage collector (GC) must keep derivations corresponding "
  3977. "to live outputs."
  3978. msgstr ""
  3979. #. type: table
  3980. #: doc/guix.texi:1373
  3981. msgid ""
  3982. "When set to ``yes'', as is the case by default, the GC keeps derivations---i."
  3983. "e., @code{.drv} files---as long as at least one of their outputs is live. "
  3984. "This allows users to keep track of the origins of items in their store. "
  3985. "Setting it to ``no'' saves a bit of disk space."
  3986. msgstr ""
  3987. #. type: table
  3988. #: doc/guix.texi:1380
  3989. msgid ""
  3990. "Note that when both @code{--gc-keep-derivations} and @code{--gc-keep-"
  3991. "outputs} are used, the effect is to keep all the build prerequisites (the "
  3992. "sources, compiler, libraries, and other build-time tools) of live objects in "
  3993. "the store, regardless of whether these prerequisites are live. This is "
  3994. "convenient for developers since it saves rebuilds or downloads."
  3995. msgstr ""
  3996. #. type: item
  3997. #: doc/guix.texi:1381
  3998. #, no-wrap
  3999. msgid "--impersonate-linux-2.6"
  4000. msgstr ""
  4001. #. type: table
  4002. #: doc/guix.texi:1384
  4003. msgid ""
  4004. "On Linux-based systems, impersonate Linux 2.6. This means that the kernel's "
  4005. "@code{uname} system call will report 2.6 as the release number."
  4006. msgstr ""
  4007. #. type: table
  4008. #: doc/guix.texi:1387
  4009. msgid ""
  4010. "This might be helpful to build programs that (usually wrongfully) depend on "
  4011. "the kernel version number."
  4012. msgstr ""
  4013. #. type: item
  4014. #: doc/guix.texi:1388
  4015. #, no-wrap
  4016. msgid "--lose-logs"
  4017. msgstr ""
  4018. #. type: table
  4019. #: doc/guix.texi:1391
  4020. msgid ""
  4021. "Do not keep build logs. By default they are kept under "
  4022. "@code{@var{localstatedir}/guix/log}."
  4023. msgstr ""
  4024. #. type: item
  4025. #: doc/guix.texi:1392 doc/guix.texi:2890 doc/guix.texi:5783 doc/guix.texi:6924
  4026. #: doc/guix.texi:7332 doc/guix.texi:7966 doc/guix.texi:20048
  4027. #: doc/guix.texi:20592
  4028. #, no-wrap
  4029. msgid "--system=@var{system}"
  4030. msgstr ""
  4031. #. type: table
  4032. #: doc/guix.texi:1396
  4033. msgid ""
  4034. "Assume @var{system} as the current system type. By default it is the "
  4035. "architecture/kernel pair found at configure time, such as @code{x86_64-"
  4036. "linux}."
  4037. msgstr ""
  4038. #. type: item
  4039. #: doc/guix.texi:1397
  4040. #, no-wrap
  4041. msgid "--listen=@var{endpoint}"
  4042. msgstr ""
  4043. #. type: table
  4044. #: doc/guix.texi:1402
  4045. msgid ""
  4046. "Listen for connections on @var{endpoint}. @var{endpoint} is interpreted as "
  4047. "the file name of a Unix-domain socket if it starts with @code{/} (slash "
  4048. "sign). Otherwise, @var{endpoint} is interpreted as a host name or host name "
  4049. "and port to listen to. Here are a few examples:"
  4050. msgstr ""
  4051. #. type: item
  4052. #: doc/guix.texi:1404
  4053. #, no-wrap
  4054. msgid "--listen=/gnu/var/daemon"
  4055. msgstr ""
  4056. #. type: table
  4057. #: doc/guix.texi:1407
  4058. msgid ""
  4059. "Listen for connections on the @file{/gnu/var/daemon} Unix-domain socket, "
  4060. "creating it if needed."
  4061. msgstr ""
  4062. #. type: item
  4063. #: doc/guix.texi:1408
  4064. #, no-wrap
  4065. msgid "--listen=localhost"
  4066. msgstr ""
  4067. #. type: cindex
  4068. #: doc/guix.texi:1409 doc/guix.texi:4235
  4069. #, no-wrap
  4070. msgid "daemon, remote access"
  4071. msgstr ""
  4072. #. type: cindex
  4073. #: doc/guix.texi:1410 doc/guix.texi:4236
  4074. #, no-wrap
  4075. msgid "remote access to the daemon"
  4076. msgstr ""
  4077. #. type: cindex
  4078. #: doc/guix.texi:1411 doc/guix.texi:4237
  4079. #, no-wrap
  4080. msgid "daemon, cluster setup"
  4081. msgstr ""
  4082. #. type: cindex
  4083. #: doc/guix.texi:1412 doc/guix.texi:4238
  4084. #, no-wrap
  4085. msgid "clusters, daemon setup"
  4086. msgstr ""
  4087. #. type: table
  4088. #: doc/guix.texi:1415
  4089. msgid ""
  4090. "Listen for TCP connections on the network interface corresponding to "
  4091. "@code{localhost}, on port 44146."
  4092. msgstr ""
  4093. #. type: item
  4094. #: doc/guix.texi:1416
  4095. #, no-wrap
  4096. msgid "--listen=128.0.0.42:1234"
  4097. msgstr ""
  4098. #. type: table
  4099. #: doc/guix.texi:1419
  4100. msgid ""
  4101. "Listen for TCP connections on the network interface corresponding to "
  4102. "@code{128.0.0.42}, on port 1234."
  4103. msgstr ""
  4104. #. type: table
  4105. #: doc/guix.texi:1426
  4106. msgid ""
  4107. "This option can be repeated multiple times, in which case @command{guix-"
  4108. "daemon} accepts connections on all the specified endpoints. Users can tell "
  4109. "client commands what endpoint to connect to by setting the "
  4110. "@code{GUIX_DAEMON_SOCKET} environment variable (@pxref{The Store, "
  4111. "@code{GUIX_DAEMON_SOCKET}})."
  4112. msgstr ""
  4113. #. type: quotation
  4114. #: doc/guix.texi:1427 doc/guix.texi:2325 doc/guix.texi:2789 doc/guix.texi:2952
  4115. #: doc/guix.texi:4205 doc/guix.texi:4273 doc/guix.texi:5788 doc/guix.texi:7224
  4116. #: doc/guix.texi:7851 doc/guix.texi:8069 doc/guix.texi:8280 doc/guix.texi:11491
  4117. #: doc/guix.texi:20375 doc/guix.texi:20573 doc/guix.texi:20660
  4118. #: doc/guix.texi:21504
  4119. #, no-wrap
  4120. msgid "Note"
  4121. msgstr ""
  4122. #. type: quotation
  4123. #: doc/guix.texi:1433
  4124. msgid ""
  4125. "The daemon protocol is @emph{unauthenticated and unencrypted}. Using "
  4126. "@code{--listen=@var{host}} is suitable on local networks, such as clusters, "
  4127. "where only trusted nodes may connect to the build daemon. In other cases "
  4128. "where remote access to the daemon is needed, we recommend using Unix-domain "
  4129. "sockets along with SSH."
  4130. msgstr ""
  4131. #. type: table
  4132. #: doc/guix.texi:1438
  4133. msgid ""
  4134. "When @code{--listen} is omitted, @command{guix-daemon} listens for "
  4135. "connections on the Unix-domain socket located at @file{@var{localstatedir}/"
  4136. "guix/daemon-socket/socket}."
  4137. msgstr ""
  4138. #. type: Plain text
  4139. #: doc/guix.texi:1448
  4140. msgid ""
  4141. "When using Guix on top of GNU/Linux distribution other than GuixSD---a so-"
  4142. "called @dfn{foreign distro}---a few additional steps are needed to get "
  4143. "everything in place. Here are some of them."
  4144. msgstr ""
  4145. #. type: anchor{#1}
  4146. #: doc/guix.texi:1452
  4147. msgid "locales-and-locpath"
  4148. msgstr ""
  4149. #. type: cindex
  4150. #: doc/guix.texi:1452
  4151. #, no-wrap
  4152. msgid "locales, when not on GuixSD"
  4153. msgstr ""
  4154. #. type: vindex
  4155. #: doc/guix.texi:1453 doc/guix.texi:9549
  4156. #, no-wrap
  4157. msgid "LOCPATH"
  4158. msgstr ""
  4159. #. type: vindex
  4160. #: doc/guix.texi:1454
  4161. #, no-wrap
  4162. msgid "GUIX_LOCPATH"
  4163. msgstr ""
  4164. #. type: Plain text
  4165. #: doc/guix.texi:1459
  4166. msgid ""
  4167. "Packages installed @i{via} Guix will not use the locale data of the host "
  4168. "system. Instead, you must first install one of the locale packages "
  4169. "available with Guix and then define the @code{GUIX_LOCPATH} environment "
  4170. "variable:"
  4171. msgstr ""
  4172. #. type: example
  4173. #: doc/guix.texi:1463
  4174. #, no-wrap
  4175. msgid ""
  4176. "$ guix package -i glibc-locales\n"
  4177. "$ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale\n"
  4178. msgstr ""
  4179. #. type: Plain text
  4180. #: doc/guix.texi:1469
  4181. msgid ""
  4182. "Note that the @code{glibc-locales} package contains data for all the locales "
  4183. "supported by the GNU@tie{}libc and weighs in at around 110@tie{}MiB. "
  4184. "Alternatively, the @code{glibc-utf8-locales} is smaller but limited to a few "
  4185. "UTF-8 locales."
  4186. msgstr ""
  4187. #. type: Plain text
  4188. #: doc/guix.texi:1473
  4189. msgid ""
  4190. "The @code{GUIX_LOCPATH} variable plays a role similar to @code{LOCPATH} "
  4191. "(@pxref{Locale Names, @code{LOCPATH},, libc, The GNU C Library Reference "
  4192. "Manual}). There are two important differences though:"
  4193. msgstr ""
  4194. #. type: enumerate
  4195. #: doc/guix.texi:1480
  4196. msgid ""
  4197. "@code{GUIX_LOCPATH} is honored only by the libc in Guix, and not by the libc "
  4198. "provided by foreign distros. Thus, using @code{GUIX_LOCPATH} allows you to "
  4199. "make sure the programs of the foreign distro will not end up loading "
  4200. "incompatible locale data."
  4201. msgstr ""
  4202. #. type: enumerate
  4203. #: doc/guix.texi:1487
  4204. msgid ""
  4205. "libc suffixes each entry of @code{GUIX_LOCPATH} with @code{/X.Y}, where "
  4206. "@code{X.Y} is the libc version---e.g., @code{2.22}. This means that, should "
  4207. "your Guix profile contain a mixture of programs linked against different "
  4208. "libc version, each libc version will only try to load locale data in the "
  4209. "right format."
  4210. msgstr ""
  4211. #. type: Plain text
  4212. #: doc/guix.texi:1491
  4213. msgid ""
  4214. "This is important because the locale data format used by different libc "
  4215. "versions may be incompatible."
  4216. msgstr ""
  4217. #. type: cindex
  4218. #: doc/guix.texi:1494
  4219. #, no-wrap
  4220. msgid "name service switch, glibc"
  4221. msgstr ""
  4222. #. type: cindex
  4223. #: doc/guix.texi:1495
  4224. #, no-wrap
  4225. msgid "NSS (name service switch), glibc"
  4226. msgstr ""
  4227. #. type: cindex
  4228. #: doc/guix.texi:1496
  4229. #, no-wrap
  4230. msgid "nscd (name service caching daemon)"
  4231. msgstr ""
  4232. #. type: cindex
  4233. #: doc/guix.texi:1497
  4234. #, no-wrap
  4235. msgid "name service caching daemon (nscd)"
  4236. msgstr ""
  4237. #. type: Plain text
  4238. #: doc/guix.texi:1504
  4239. msgid ""
  4240. "When using Guix on a foreign distro, we @emph{strongly recommend} that the "
  4241. "system run the GNU C library's @dfn{name service cache daemon}, "
  4242. "@command{nscd}, which should be listening on the @file{/var/run/nscd/socket} "
  4243. "socket. Failing to do that, applications installed with Guix may fail to "
  4244. "look up host names or user accounts, or may even crash. The next paragraphs "
  4245. "explain why."
  4246. msgstr ""
  4247. #. type: file{#1}
  4248. #: doc/guix.texi:1505
  4249. #, no-wrap
  4250. msgid "nsswitch.conf"
  4251. msgstr ""
  4252. #. type: Plain text
  4253. #: doc/guix.texi:1510
  4254. msgid ""
  4255. "The GNU C library implements a @dfn{name service switch} (NSS), which is an "
  4256. "extensible mechanism for ``name lookups'' in general: host name resolution, "
  4257. "user accounts, and more (@pxref{Name Service Switch,,, libc, The GNU C "
  4258. "Library Reference Manual})."
  4259. msgstr ""
  4260. #. type: cindex
  4261. #: doc/guix.texi:1511
  4262. #, no-wrap
  4263. msgid "Network information service (NIS)"
  4264. msgstr ""
  4265. #. type: cindex
  4266. #: doc/guix.texi:1512
  4267. #, no-wrap
  4268. msgid "NIS (Network information service)"
  4269. msgstr ""
  4270. #. type: Plain text
  4271. #: doc/guix.texi:1521
  4272. msgid ""
  4273. "Being extensible, the NSS supports @dfn{plugins}, which provide new name "
  4274. "lookup implementations: for example, the @code{nss-mdns} plugin allow "
  4275. "resolution of @code{.local} host names, the @code{nis} plugin allows user "
  4276. "account lookup using the Network information service (NIS), and so on. "
  4277. "These extra ``lookup services'' are configured system-wide in @file{/etc/"
  4278. "nsswitch.conf}, and all the programs running on the system honor those "
  4279. "settings (@pxref{NSS Configuration File,,, libc, The GNU C Reference "
  4280. "Manual})."
  4281. msgstr ""
  4282. #. type: Plain text
  4283. #: doc/guix.texi:1531
  4284. msgid ""
  4285. "When they perform a name lookup---for instance by calling the "
  4286. "@code{getaddrinfo} function in C---applications first try to connect to the "
  4287. "nscd; on success, nscd performs name lookups on their behalf. If the nscd "
  4288. "is not running, then they perform the name lookup by themselves, by loading "
  4289. "the name lookup services into their own address space and running it. These "
  4290. "name lookup services---the @file{libnss_*.so} files---are @code{dlopen}'d, "
  4291. "but they may come from the host system's C library, rather than from the C "
  4292. "library the application is linked against (the C library coming from Guix)."
  4293. msgstr ""
  4294. #. type: Plain text
  4295. #: doc/guix.texi:1536
  4296. msgid ""
  4297. "And this is where the problem is: if your application is linked against "
  4298. "Guix's C library (say, glibc 2.24) and tries to load NSS plugins from "
  4299. "another C library (say, @code{libnss_mdns.so} for glibc 2.22), it will "
  4300. "likely crash or have its name lookups fail unexpectedly."
  4301. msgstr ""
  4302. #. type: Plain text
  4303. #: doc/guix.texi:1541
  4304. msgid ""
  4305. "Running @command{nscd} on the system, among other advantages, eliminates "
  4306. "this binary incompatibility problem because those @code{libnss_*.so} files "
  4307. "are loaded in the @command{nscd} process, not in applications themselves."
  4308. msgstr ""
  4309. #. type: subsection
  4310. #: doc/guix.texi:1542
  4311. #, no-wrap
  4312. msgid "X11 Fonts"
  4313. msgstr ""
  4314. #. type: cindex
  4315. #: doc/guix.texi:1544 doc/guix.texi:22070
  4316. #, no-wrap
  4317. msgid "fonts"
  4318. msgstr ""
  4319. #. type: Plain text
  4320. #: doc/guix.texi:1552
  4321. msgid ""
  4322. "The majority of graphical applications use Fontconfig to locate and load "
  4323. "fonts and perform X11-client-side rendering. The @code{fontconfig} package "
  4324. "in Guix looks for fonts in @file{$HOME/.guix-profile} by default. Thus, to "
  4325. "allow graphical applications installed with Guix to display fonts, you have "
  4326. "to install fonts with Guix as well. Essential font packages include "
  4327. "@code{gs-fonts}, @code{font-dejavu}, and @code{font-gnu-freefont-ttf}."
  4328. msgstr ""
  4329. #. type: Plain text
  4330. #: doc/guix.texi:1559
  4331. msgid ""
  4332. "To display text written in Chinese languages, Japanese, or Korean in "
  4333. "graphical applications, consider installing @code{font-adobe-source-han-"
  4334. "sans} or @code{font-wqy-zenhei}. The former has multiple outputs, one per "
  4335. "language family (@pxref{Packages with Multiple Outputs}). For instance, the "
  4336. "following command installs fonts for Chinese languages:"
  4337. msgstr ""
  4338. #. type: example
  4339. #: doc/guix.texi:1562
  4340. #, no-wrap
  4341. msgid "guix package -i font-adobe-source-han-sans:cn\n"
  4342. msgstr ""
  4343. #. type: code{#1}
  4344. #: doc/guix.texi:1564
  4345. #, no-wrap
  4346. msgid "xterm"
  4347. msgstr ""
  4348. #. type: Plain text
  4349. #: doc/guix.texi:1568
  4350. msgid ""
  4351. "Older programs such as @command{xterm} do not use Fontconfig and instead "
  4352. "rely on server-side font rendering. Such programs require to specify a full "
  4353. "name of a font using XLFD (X Logical Font Description), like this:"
  4354. msgstr ""
  4355. #. type: example
  4356. #: doc/guix.texi:1571
  4357. #, no-wrap
  4358. msgid "-*-dejavu sans-medium-r-normal-*-*-100-*-*-*-*-*-1\n"
  4359. msgstr ""
  4360. #. type: Plain text
  4361. #: doc/guix.texi:1575
  4362. msgid ""
  4363. "To be able to use such full names for the TrueType fonts installed in your "
  4364. "Guix profile, you need to extend the font path of the X server:"
  4365. msgstr ""
  4366. #. type: example
  4367. #: doc/guix.texi:1580
  4368. #, no-wrap
  4369. msgid "xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))\n"
  4370. msgstr ""
  4371. #. type: code{#1}
  4372. #: doc/guix.texi:1582
  4373. #, no-wrap
  4374. msgid "xlsfonts"
  4375. msgstr ""
  4376. #. type: Plain text
  4377. #: doc/guix.texi:1585
  4378. msgid ""
  4379. "After that, you can run @code{xlsfonts} (from @code{xlsfonts} package) to "
  4380. "make sure your TrueType fonts are listed there."
  4381. msgstr ""
  4382. #. type: code{#1}
  4383. #: doc/guix.texi:1586
  4384. #, no-wrap
  4385. msgid "fc-cache"
  4386. msgstr ""
  4387. #. type: cindex
  4388. #: doc/guix.texi:1587
  4389. #, no-wrap
  4390. msgid "font cache"
  4391. msgstr ""
  4392. #. type: Plain text
  4393. #: doc/guix.texi:1593
  4394. msgid ""
  4395. "After installing fonts you may have to refresh the font cache to use them in "
  4396. "applications. The same applies when applications installed via Guix do not "
  4397. "seem to find fonts. To force rebuilding of the font cache run @code{fc-"
  4398. "cache -f}. The @code{fc-cache} command is provided by the @code{fontconfig} "
  4399. "package."
  4400. msgstr ""
  4401. #. type: code{#1}
  4402. #: doc/guix.texi:1596 doc/guix.texi:19787
  4403. #, no-wrap
  4404. msgid "nss-certs"
  4405. msgstr ""
  4406. #. type: Plain text
  4407. #: doc/guix.texi:1599
  4408. msgid ""
  4409. "The @code{nss-certs} package provides X.509 certificates, which allow "
  4410. "programs to authenticate Web servers accessed over HTTPS."
  4411. msgstr ""
  4412. #. type: Plain text
  4413. #: doc/guix.texi:1604
  4414. msgid ""
  4415. "When using Guix on a foreign distro, you can install this package and define "
  4416. "the relevant environment variables so that packages know where to look for "
  4417. "certificates. @xref{X.509 Certificates}, for detailed information."
  4418. msgstr ""
  4419. #. type: subsection
  4420. #: doc/guix.texi:1605
  4421. #, no-wrap
  4422. msgid "Emacs Packages"
  4423. msgstr ""
  4424. #. type: code{#1}
  4425. #: doc/guix.texi:1607
  4426. #, no-wrap
  4427. msgid "emacs"
  4428. msgstr ""
  4429. #. type: Plain text
  4430. #: doc/guix.texi:1618
  4431. msgid ""
  4432. "When you install Emacs packages with Guix, the elisp files may be placed "
  4433. "either in @file{$HOME/.guix-profile/share/emacs/site-lisp/} or in sub-"
  4434. "directories of @file{$HOME/.guix-profile/share/emacs/site-lisp/guix.d/}. "
  4435. "The latter directory exists because potentially there may exist thousands of "
  4436. "Emacs packages and storing all their files in a single directory may not be "
  4437. "reliable (because of name conflicts). So we think using a separate "
  4438. "directory for each package is a good idea. It is very similar to how the "
  4439. "Emacs package system organizes the file structure (@pxref{Package Files,,, "
  4440. "emacs, The GNU Emacs Manual})."
  4441. msgstr ""
  4442. #. type: Plain text
  4443. #: doc/guix.texi:1624
  4444. msgid ""
  4445. "By default, Emacs (installed with Guix) ``knows'' where these packages are "
  4446. "placed, so you do not need to perform any configuration. If, for some "
  4447. "reason, you want to avoid auto-loading Emacs packages installed with Guix, "
  4448. "you can do so by running Emacs with @code{--no-site-file} option "
  4449. "(@pxref{Init File,,, emacs, The GNU Emacs Manual})."
  4450. msgstr ""
  4451. #. type: subsection
  4452. #: doc/guix.texi:1625
  4453. #, no-wrap
  4454. msgid "The GCC toolchain"
  4455. msgstr ""
  4456. #. type: cindex
  4457. #: doc/guix.texi:1627
  4458. #, no-wrap
  4459. msgid "GCC"
  4460. msgstr ""
  4461. #. type: cindex
  4462. #: doc/guix.texi:1628
  4463. #, no-wrap
  4464. msgid "ld-wrapper"
  4465. msgstr ""
  4466. #. type: Plain text
  4467. #: doc/guix.texi:1637
  4468. msgid ""
  4469. "Guix offers individual compiler packages such as @code{gcc} but if you are "
  4470. "in need of a complete toolchain for compiling and linking source code what "
  4471. "you really want is the @code{gcc-toolchain} package. This package provides "
  4472. "a complete GCC toolchain for C/C++ development, including GCC itself, the "
  4473. "GNU C Library (headers and binaries, plus debugging symbols in the "
  4474. "@code{debug} output), Binutils, and a linker wrapper."
  4475. msgstr ""
  4476. #. type: cindex
  4477. #: doc/guix.texi:1638
  4478. #, no-wrap
  4479. msgid "attempt to use impure library, error message"
  4480. msgstr ""
  4481. #. type: Plain text
  4482. #: doc/guix.texi:1648
  4483. msgid ""
  4484. "The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches "
  4485. "passed to the linker, add corresponding @code{-rpath} arguments, and invoke "
  4486. "the actual linker with this new set of arguments. By default, the linker "
  4487. "wrapper refuses to link to libraries outside the store to ensure "
  4488. "``purity''. This can be annoying when using the toolchain to link with "
  4489. "local libraries. To allow references to libraries outside the store you "
  4490. "need to define the environment variable "
  4491. "@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES}."
  4492. msgstr ""
  4493. #. type: cindex
  4494. #: doc/guix.texi:1655
  4495. #, no-wrap
  4496. msgid "packages"
  4497. msgstr ""
  4498. #. type: Plain text
  4499. #: doc/guix.texi:1660
  4500. msgid ""
  4501. "The purpose of GNU Guix is to allow users to easily install, upgrade, and "
  4502. "remove software packages, without having to know about their build "
  4503. "procedures or dependencies. Guix also goes beyond this obvious set of "
  4504. "features."
  4505. msgstr ""
  4506. #. type: Plain text
  4507. #: doc/guix.texi:1668
  4508. msgid ""
  4509. "This chapter describes the main features of Guix, as well as the package "
  4510. "management tools it provides. Along with the command-line interface "
  4511. "described below (@pxref{Invoking guix package, @code{guix package}}), you "
  4512. "may also use the Emacs-Guix interface (@pxref{Top,,, emacs-guix, The Emacs-"
  4513. "Guix Reference Manual}), after installing @code{emacs-guix} package (run "
  4514. "@kbd{M-x guix-help} command to start with it):"
  4515. msgstr ""
  4516. #. type: example
  4517. #: doc/guix.texi:1671
  4518. #, no-wrap
  4519. msgid "guix package -i emacs-guix\n"
  4520. msgstr ""
  4521. #. type: Plain text
  4522. #: doc/guix.texi:1690
  4523. msgid ""
  4524. "When using Guix, each package ends up in the @dfn{package store}, in its own "
  4525. "directory---something that resembles @file{/gnu/store/xxx-package-1.2}, "
  4526. "where @code{xxx} is a base32 string."
  4527. msgstr ""
  4528. #. type: Plain text
  4529. #: doc/guix.texi:1695
  4530. msgid ""
  4531. "Instead of referring to these directories, users have their own "
  4532. "@dfn{profile}, which points to the packages that they actually want to use. "
  4533. "These profiles are stored within each user's home directory, at @code{$HOME/."
  4534. "guix-profile}."
  4535. msgstr ""
  4536. #. type: Plain text
  4537. #: doc/guix.texi:1703
  4538. msgid ""
  4539. "For example, @code{alice} installs GCC 4.7.2. As a result, @file{/home/"
  4540. "alice/.guix-profile/bin/gcc} points to @file{/gnu/store/@dots{}-gcc-4.7.2/"
  4541. "bin/gcc}. Now, on the same machine, @code{bob} had already installed GCC "
  4542. "4.8.0. The profile of @code{bob} simply continues to point to @file{/gnu/"
  4543. "store/@dots{}-gcc-4.8.0/bin/gcc}---i.e., both versions of GCC coexist on the "
  4544. "same system without any interference."
  4545. msgstr ""
  4546. #. type: Plain text
  4547. #: doc/guix.texi:1707
  4548. msgid ""
  4549. "The @command{guix package} command is the central tool to manage packages "
  4550. "(@pxref{Invoking guix package}). It operates on the per-user profiles, and "
  4551. "can be used @emph{with normal user privileges}."
  4552. msgstr ""
  4553. #. type: cindex
  4554. #: doc/guix.texi:1708 doc/guix.texi:1777
  4555. #, no-wrap
  4556. msgid "transactions"
  4557. msgstr ""
  4558. #. type: Plain text
  4559. #: doc/guix.texi:1715
  4560. msgid ""
  4561. "The command provides the obvious install, remove, and upgrade operations. "
  4562. "Each invocation is actually a @emph{transaction}: either the specified "
  4563. "operation succeeds, or nothing happens. Thus, if the @command{guix package} "
  4564. "process is terminated during the transaction, or if a power outage occurs "
  4565. "during the transaction, then the user's profile remains in its previous "
  4566. "state, and remains usable."
  4567. msgstr ""
  4568. #. type: Plain text
  4569. #: doc/guix.texi:1723
  4570. msgid ""
  4571. "In addition, any package transaction may be @emph{rolled back}. So, if, for "
  4572. "example, an upgrade installs a new version of a package that turns out to "
  4573. "have a serious bug, users may roll back to the previous instance of their "
  4574. "profile, which was known to work well. Similarly, the global system "
  4575. "configuration on GuixSD is subject to transactional upgrades and roll-back "
  4576. "(@pxref{Using the Configuration System})."
  4577. msgstr ""
  4578. #. type: Plain text
  4579. #: doc/guix.texi:1730
  4580. msgid ""
  4581. "All packages in the package store may be @emph{garbage-collected}. Guix can "
  4582. "determine which packages are still referenced by user profiles, and remove "
  4583. "those that are provably no longer referenced (@pxref{Invoking guix gc}). "
  4584. "Users may also explicitly remove old generations of their profile so that "
  4585. "the packages they refer to can be collected."
  4586. msgstr ""
  4587. #. type: cindex
  4588. #: doc/guix.texi:1731
  4589. #, no-wrap
  4590. msgid "reproducibility"
  4591. msgstr ""
  4592. #. type: Plain text
  4593. #: doc/guix.texi:1743
  4594. msgid ""
  4595. "Finally, Guix takes a @dfn{purely functional} approach to package "
  4596. "management, as described in the introduction (@pxref{Introduction}). Each "
  4597. "@file{/gnu/store} package directory name contains a hash of all the inputs "
  4598. "that were used to build that package---compiler, libraries, build scripts, "
  4599. "etc. This direct correspondence allows users to make sure a given package "
  4600. "installation matches the current state of their distribution. It also helps "
  4601. "maximize @dfn{build reproducibility}: thanks to the isolated build "
  4602. "environments that are used, a given build is likely to yield bit-identical "
  4603. "files when performed on different machines (@pxref{Invoking guix-daemon, "
  4604. "container})."
  4605. msgstr ""
  4606. #. type: Plain text
  4607. #: doc/guix.texi:1754
  4608. msgid ""
  4609. "This foundation allows Guix to support @dfn{transparent binary/source "
  4610. "deployment}. When a pre-built binary for a @file{/gnu/store} item is "
  4611. "available from an external source---a @dfn{substitute}, Guix just downloads "
  4612. "it and unpacks it; otherwise, it builds the package from source, locally "
  4613. "(@pxref{Substitutes}). Because build results are usually bit-for-bit "
  4614. "reproducible, users do not have to trust servers that provide substitutes: "
  4615. "they can force a local build and @emph{challenge} providers (@pxref{Invoking "
  4616. "guix challenge})."
  4617. msgstr ""
  4618. #. type: Plain text
  4619. #: doc/guix.texi:1760
  4620. msgid ""
  4621. "Control over the build environment is a feature that is also useful for "
  4622. "developers. The @command{guix environment} command allows developers of a "
  4623. "package to quickly set up the right development environment for their "
  4624. "package, without having to manually install the dependencies of the package "
  4625. "into their profile (@pxref{Invoking guix environment})."
  4626. msgstr ""
  4627. #. type: section
  4628. #: doc/guix.texi:1762
  4629. #, no-wrap
  4630. msgid "Invoking @command{guix package}"
  4631. msgstr ""
  4632. #. type: cindex
  4633. #: doc/guix.texi:1764
  4634. #, no-wrap
  4635. msgid "installing packages"
  4636. msgstr ""
  4637. #. type: cindex
  4638. #: doc/guix.texi:1765
  4639. #, no-wrap
  4640. msgid "removing packages"
  4641. msgstr ""
  4642. #. type: cindex
  4643. #: doc/guix.texi:1766
  4644. #, no-wrap
  4645. msgid "package installation"
  4646. msgstr ""
  4647. #. type: cindex
  4648. #: doc/guix.texi:1767
  4649. #, no-wrap
  4650. msgid "package removal"
  4651. msgstr ""
  4652. #. type: Plain text
  4653. #: doc/guix.texi:1773
  4654. msgid ""
  4655. "The @command{guix package} command is the tool that allows users to install, "
  4656. "upgrade, and remove packages, as well as rolling back to previous "
  4657. "configurations. It operates only on the user's own profile, and works with "
  4658. "normal user privileges (@pxref{Features}). Its syntax is:"
  4659. msgstr ""
  4660. #. type: example
  4661. #: doc/guix.texi:1776
  4662. #, no-wrap
  4663. msgid "guix package @var{options}\n"
  4664. msgstr ""
  4665. #. type: Plain text
  4666. #: doc/guix.texi:1782
  4667. msgid ""
  4668. "Primarily, @var{options} specifies the operations to be performed during the "
  4669. "transaction. Upon completion, a new profile is created, but previous "
  4670. "@dfn{generations} of the profile remain available, should the user want to "
  4671. "roll back."
  4672. msgstr ""
  4673. #. type: Plain text
  4674. #: doc/guix.texi:1785
  4675. msgid ""
  4676. "For example, to remove @code{lua} and install @code{guile} and @code{guile-"
  4677. "cairo} in a single transaction:"
  4678. msgstr ""
  4679. #. type: example
  4680. #: doc/guix.texi:1788
  4681. #, no-wrap
  4682. msgid "guix package -r lua -i guile guile-cairo\n"
  4683. msgstr ""
  4684. #. type: Plain text
  4685. #: doc/guix.texi:1794
  4686. msgid ""
  4687. "@command{guix package} also supports a @dfn{declarative approach} whereby "
  4688. "the user specifies the exact set of packages to be available and passes it "
  4689. "@i{via} the @option{--manifest} option (@pxref{profile-manifest, @option{--"
  4690. "manifest}})."
  4691. msgstr ""
  4692. #. type: cindex
  4693. #: doc/guix.texi:1795
  4694. #, no-wrap
  4695. msgid "profile"
  4696. msgstr ""
  4697. #. type: Plain text
  4698. #: doc/guix.texi:1801
  4699. msgid ""
  4700. "For each user, a symlink to the user's default profile is automatically "
  4701. "created in @file{$HOME/.guix-profile}. This symlink always points to the "
  4702. "current generation of the user's default profile. Thus, users can add "
  4703. "@file{$HOME/.guix-profile/bin} to their @code{PATH} environment variable, "
  4704. "and so on."
  4705. msgstr ""
  4706. #. type: cindex
  4707. #: doc/guix.texi:1801 doc/guix.texi:1998
  4708. #, no-wrap
  4709. msgid "search paths"
  4710. msgstr ""
  4711. #. type: Plain text
  4712. #: doc/guix.texi:1806
  4713. msgid ""
  4714. "If you are not using the Guix System Distribution, consider adding the "
  4715. "following lines to your @file{~/.bash_profile} (@pxref{Bash Startup Files,,, "
  4716. "bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all "
  4717. "the right environment variable definitions:"
  4718. msgstr ""
  4719. #. type: example
  4720. #: doc/guix.texi:1810
  4721. #, no-wrap
  4722. msgid ""
  4723. "GUIX_PROFILE=\"$HOME/.guix-profile\" ; \\\n"
  4724. "source \"$HOME/.guix-profile/etc/profile\"\n"
  4725. msgstr ""
  4726. #. type: Plain text
  4727. #: doc/guix.texi:1821
  4728. msgid ""
  4729. "In a multi-user setup, user profiles are stored in a place registered as a "
  4730. "@dfn{garbage-collector root}, which @file{$HOME/.guix-profile} points to "
  4731. "(@pxref{Invoking guix gc}). That directory is normally "
  4732. "@code{@var{localstatedir}/guix/profiles/per-user/@var{user}}, where "
  4733. "@var{localstatedir} is the value passed to @code{configure} as @code{--"
  4734. "localstatedir}, and @var{user} is the user name. The @file{per-user} "
  4735. "directory is created when @command{guix-daemon} is started, and the "
  4736. "@var{user} sub-directory is created by @command{guix package}."
  4737. msgstr ""
  4738. #. type: Plain text
  4739. #: doc/guix.texi:1823
  4740. msgid "The @var{options} can be among the following:"
  4741. msgstr ""
  4742. #. type: item
  4743. #: doc/guix.texi:1826
  4744. #, no-wrap
  4745. msgid "--install=@var{package} @dots{}"
  4746. msgstr ""
  4747. #. type: itemx
  4748. #: doc/guix.texi:1827
  4749. #, no-wrap
  4750. msgid "-i @var{package} @dots{}"
  4751. msgstr ""
  4752. #. type: table
  4753. #: doc/guix.texi:1829
  4754. msgid "Install the specified @var{package}s."
  4755. msgstr ""
  4756. #. type: table
  4757. #: doc/guix.texi:1834
  4758. msgid ""
  4759. "Each @var{package} may specify either a simple package name, such as "
  4760. "@code{guile}, or a package name followed by an at-sign and version number, "
  4761. "such as @code{guile@@1.8.8} or simply @code{guile@@1.8} (in the latter case, "
  4762. "the newest version prefixed by @code{1.8} is selected.)"
  4763. msgstr ""
  4764. #. type: table
  4765. #: doc/guix.texi:1842
  4766. msgid ""
  4767. "If no version number is specified, the newest available version will be "
  4768. "selected. In addition, @var{package} may contain a colon, followed by the "
  4769. "name of one of the outputs of the package, as in @code{gcc:doc} or "
  4770. "@code{binutils@@2.22:lib} (@pxref{Packages with Multiple Outputs}). "
  4771. "Packages with a corresponding name (and optionally version) are searched for "
  4772. "among the GNU distribution modules (@pxref{Package Modules})."
  4773. msgstr ""
  4774. #. type: cindex
  4775. #: doc/guix.texi:1843
  4776. #, no-wrap
  4777. msgid "propagated inputs"
  4778. msgstr ""
  4779. #. type: table
  4780. #: doc/guix.texi:1849
  4781. msgid ""
  4782. "Sometimes packages have @dfn{propagated inputs}: these are dependencies that "
  4783. "automatically get installed along with the required package (@pxref{package-"
  4784. "propagated-inputs, @code{propagated-inputs} in @code{package} objects}, for "
  4785. "information about propagated inputs in package definitions)."
  4786. msgstr ""
  4787. #. type: anchor{#1}
  4788. #: doc/guix.texi:1856
  4789. msgid "package-cmd-propagated-inputs"
  4790. msgstr ""
  4791. #. type: table
  4792. #: doc/guix.texi:1856
  4793. msgid ""
  4794. "An example is the GNU MPC library: its C header files refer to those of the "
  4795. "GNU MPFR library, which in turn refer to those of the GMP library. Thus, "
  4796. "when installing MPC, the MPFR and GMP libraries also get installed in the "
  4797. "profile; removing MPC also removes MPFR and GMP---unless they had also been "
  4798. "explicitly installed by the user."
  4799. msgstr ""
  4800. #. type: table
  4801. #: doc/guix.texi:1861
  4802. msgid ""
  4803. "Besides, packages sometimes rely on the definition of environment variables "
  4804. "for their search paths (see explanation of @code{--search-paths} below). "
  4805. "Any missing or possibly incorrect environment variable definitions are "
  4806. "reported here."
  4807. msgstr ""
  4808. #. type: item
  4809. #: doc/guix.texi:1862
  4810. #, no-wrap
  4811. msgid "--install-from-expression=@var{exp}"
  4812. msgstr ""
  4813. #. type: itemx
  4814. #: doc/guix.texi:1863
  4815. #, no-wrap
  4816. msgid "-e @var{exp}"
  4817. msgstr ""
  4818. #. type: table
  4819. #: doc/guix.texi:1865
  4820. msgid "Install the package @var{exp} evaluates to."
  4821. msgstr ""
  4822. #. type: table
  4823. #: doc/guix.texi:1870
  4824. msgid ""
  4825. "@var{exp} must be a Scheme expression that evaluates to a @code{<package>} "
  4826. "object. This option is notably useful to disambiguate between same-named "
  4827. "variants of a package, with expressions such as @code{(@@ (gnu packages "
  4828. "base) guile-final)}."
  4829. msgstr ""
  4830. #. type: table
  4831. #: doc/guix.texi:1874
  4832. msgid ""
  4833. "Note that this option installs the first output of the specified package, "
  4834. "which may be insufficient when needing a specific output of a multiple-"
  4835. "output package."
  4836. msgstr ""
  4837. #. type: item
  4838. #: doc/guix.texi:1875
  4839. #, no-wrap
  4840. msgid "--install-from-file=@var{file}"
  4841. msgstr ""
  4842. #. type: itemx
  4843. #: doc/guix.texi:1876 doc/guix.texi:5699
  4844. #, no-wrap
  4845. msgid "-f @var{file}"
  4846. msgstr ""
  4847. #. type: table
  4848. #: doc/guix.texi:1878
  4849. msgid "Install the package that the code within @var{file} evaluates to."
  4850. msgstr ""
  4851. #. type: table
  4852. #: doc/guix.texi:1881 doc/guix.texi:7283
  4853. msgid ""
  4854. "As an example, @var{file} might contain a definition like this "
  4855. "(@pxref{Defining Packages}):"
  4856. msgstr ""
  4857. #. type: example
  4858. #: doc/guix.texi:1884 doc/guix.texi:5709
  4859. #, no-wrap
  4860. msgid "@verbatiminclude package-hello.scm\n"
  4861. msgstr ""
  4862. #. type: table
  4863. #: doc/guix.texi:1890
  4864. msgid ""
  4865. "Developers may find it useful to include such a @file{guix.scm} file in the "
  4866. "root of their project source tree that can be used to test development "
  4867. "snapshots and create reproducible development environments (@pxref{Invoking "
  4868. "guix environment})."
  4869. msgstr ""
  4870. #. type: item
  4871. #: doc/guix.texi:1891
  4872. #, no-wrap
  4873. msgid "--remove=@var{package} @dots{}"
  4874. msgstr ""
  4875. #. type: itemx
  4876. #: doc/guix.texi:1892
  4877. #, no-wrap
  4878. msgid "-r @var{package} @dots{}"
  4879. msgstr ""
  4880. #. type: table
  4881. #: doc/guix.texi:1894
  4882. msgid "Remove the specified @var{package}s."
  4883. msgstr ""
  4884. #. type: table
  4885. #: doc/guix.texi:1899
  4886. msgid ""
  4887. "As for @code{--install}, each @var{package} may specify a version number and/"
  4888. "or output name in addition to the package name. For instance, @code{-r "
  4889. "glibc:debug} would remove the @code{debug} output of @code{glibc}."
  4890. msgstr ""
  4891. #. type: item
  4892. #: doc/guix.texi:1900
  4893. #, no-wrap
  4894. msgid "--upgrade[=@var{regexp} @dots{}]"
  4895. msgstr ""
  4896. #. type: itemx
  4897. #: doc/guix.texi:1901
  4898. #, no-wrap
  4899. msgid "-u [@var{regexp} @dots{}]"
  4900. msgstr ""
  4901. #. type: cindex
  4902. #: doc/guix.texi:1902
  4903. #, no-wrap
  4904. msgid "upgrading packages"
  4905. msgstr ""
  4906. #. type: table
  4907. #: doc/guix.texi:1906
  4908. msgid ""
  4909. "Upgrade all the installed packages. If one or more @var{regexp}s are "
  4910. "specified, upgrade only installed packages whose name matches a "
  4911. "@var{regexp}. Also see the @code{--do-not-upgrade} option below."
  4912. msgstr ""
  4913. #. type: table
  4914. #: doc/guix.texi:1911
  4915. msgid ""
  4916. "Note that this upgrades package to the latest version of packages found in "
  4917. "the distribution currently installed. To update your distribution, you "
  4918. "should regularly run @command{guix pull} (@pxref{Invoking guix pull})."
  4919. msgstr ""
  4920. #. type: item
  4921. #: doc/guix.texi:1912
  4922. #, no-wrap
  4923. msgid "--do-not-upgrade[=@var{regexp} @dots{}]"
  4924. msgstr ""
  4925. #. type: table
  4926. #: doc/guix.texi:1917
  4927. msgid ""
  4928. "When used together with the @code{--upgrade} option, do @emph{not} upgrade "
  4929. "any packages whose name matches a @var{regexp}. For example, to upgrade all "
  4930. "packages in the current profile except those containing the substring "
  4931. "``emacs'':"
  4932. msgstr ""
  4933. #. type: example
  4934. #: doc/guix.texi:1920
  4935. #, no-wrap
  4936. msgid "$ guix package --upgrade . --do-not-upgrade emacs\n"
  4937. msgstr ""
  4938. #. type: anchor{#1}
  4939. #: doc/guix.texi:1922
  4940. #, no-wrap
  4941. msgid "profile-manifest"
  4942. msgstr ""
  4943. #. type: item
  4944. #: doc/guix.texi:1922 doc/guix.texi:2877 doc/guix.texi:6577 doc/guix.texi:7288
  4945. #: doc/guix.texi:7972
  4946. #, no-wrap
  4947. msgid "--manifest=@var{file}"
  4948. msgstr ""
  4949. #. type: itemx
  4950. #: doc/guix.texi:1923 doc/guix.texi:2878 doc/guix.texi:6578 doc/guix.texi:7289
  4951. #, no-wrap
  4952. msgid "-m @var{file}"
  4953. msgstr ""
  4954. #. type: cindex
  4955. #: doc/guix.texi:1924
  4956. #, no-wrap
  4957. msgid "profile declaration"
  4958. msgstr ""
  4959. #. type: cindex
  4960. #: doc/guix.texi:1925
  4961. #, no-wrap
  4962. msgid "profile manifest"
  4963. msgstr ""
  4964. #. type: table
  4965. #: doc/guix.texi:1928
  4966. msgid ""
  4967. "Create a new generation of the profile from the manifest object returned by "
  4968. "the Scheme code in @var{file}."
  4969. msgstr ""
  4970. #. type: table
  4971. #: doc/guix.texi:1934
  4972. msgid ""
  4973. "This allows you to @emph{declare} the profile's contents rather than "
  4974. "constructing it through a sequence of @code{--install} and similar "
  4975. "commands. The advantage is that @var{file} can be put under version "
  4976. "control, copied to different machines to reproduce the same profile, and so "
  4977. "on."
  4978. msgstr ""
  4979. #. type: table
  4980. #: doc/guix.texi:1938
  4981. msgid ""
  4982. "@var{file} must return a @dfn{manifest} object, which is roughly a list of "
  4983. "packages:"
  4984. msgstr ""
  4985. #. type: findex
  4986. #: doc/guix.texi:1939
  4987. #, no-wrap
  4988. msgid "packages->manifest"
  4989. msgstr ""
  4990. #. type: example
  4991. #: doc/guix.texi:1942
  4992. #, no-wrap
  4993. msgid ""
  4994. "(use-package-modules guile emacs)\n"
  4995. "\n"
  4996. msgstr ""
  4997. #. type: example
  4998. #: doc/guix.texi:1948
  4999. #, no-wrap
  5000. msgid ""
  5001. "(packages->manifest\n"
  5002. " (list emacs\n"
  5003. " guile-2.0\n"
  5004. " ;; Use a specific package output.\n"
  5005. " (list guile-2.0 \"debug\")))\n"
  5006. msgstr ""
  5007. #. type: findex
  5008. #: doc/guix.texi:1950
  5009. #, no-wrap
  5010. msgid "specifications->manifest"
  5011. msgstr ""
  5012. #. type: table
  5013. #: doc/guix.texi:1957
  5014. msgid ""
  5015. "In this example we have to know which modules define the @code{emacs} and "
  5016. "@code{guile-2.0} variables to provide the right @code{use-package-modules} "
  5017. "line, which can be cumbersome. We can instead provide regular package "
  5018. "specifications and let @code{specifications->manifest} look up the "
  5019. "corresponding package objects, like this:"
  5020. msgstr ""
  5021. #. type: example
  5022. #: doc/guix.texi:1961
  5023. #, no-wrap
  5024. msgid ""
  5025. "(specifications->manifest\n"
  5026. " '(\"emacs\" \"guile@@2.2\" \"guile@@2.2:debug\"))\n"
  5027. msgstr ""
  5028. #. type: item
  5029. #: doc/guix.texi:1963
  5030. #, no-wrap
  5031. msgid "--roll-back"
  5032. msgstr ""
  5033. #. type: cindex
  5034. #: doc/guix.texi:1964 doc/guix.texi:20427
  5035. #, no-wrap
  5036. msgid "rolling back"
  5037. msgstr ""
  5038. #. type: cindex
  5039. #: doc/guix.texi:1965
  5040. #, no-wrap
  5041. msgid "undoing transactions"
  5042. msgstr ""
  5043. #. type: cindex
  5044. #: doc/guix.texi:1966
  5045. #, no-wrap
  5046. msgid "transactions, undoing"
  5047. msgstr ""
  5048. #. type: table
  5049. #: doc/guix.texi:1969
  5050. msgid ""
  5051. "Roll back to the previous @dfn{generation} of the profile---i.e., undo the "
  5052. "last transaction."
  5053. msgstr ""
  5054. #. type: table
  5055. #: doc/guix.texi:1972
  5056. msgid ""
  5057. "When combined with options such as @code{--install}, roll back occurs before "
  5058. "any other actions."
  5059. msgstr ""
  5060. #. type: table
  5061. #: doc/guix.texi:1976
  5062. msgid ""
  5063. "When rolling back from the first generation that actually contains installed "
  5064. "packages, the profile is made to point to the @dfn{zeroth generation}, which "
  5065. "contains no files apart from its own metadata."
  5066. msgstr ""
  5067. #. type: table
  5068. #: doc/guix.texi:1980
  5069. msgid ""
  5070. "After having rolled back, installing, removing, or upgrading packages "
  5071. "overwrites previous future generations. Thus, the history of the "
  5072. "generations in a profile is always linear."
  5073. msgstr ""
  5074. #. type: item
  5075. #: doc/guix.texi:1981
  5076. #, no-wrap
  5077. msgid "--switch-generation=@var{pattern}"
  5078. msgstr ""
  5079. #. type: itemx
  5080. #: doc/guix.texi:1982
  5081. #, no-wrap
  5082. msgid "-S @var{pattern}"
  5083. msgstr ""
  5084. #. type: cindex
  5085. #: doc/guix.texi:1983 doc/guix.texi:2181 doc/guix.texi:20385
  5086. #, no-wrap
  5087. msgid "generations"
  5088. msgstr ""
  5089. #. type: table
  5090. #: doc/guix.texi:1985
  5091. msgid "Switch to a particular generation defined by @var{pattern}."
  5092. msgstr ""
  5093. #. type: table
  5094. #: doc/guix.texi:1991
  5095. msgid ""
  5096. "@var{pattern} may be either a generation number or a number prefixed with ``"
  5097. "+'' or ``-''. The latter means: move forward/backward by a specified number "
  5098. "of generations. For example, if you want to return to the latest generation "
  5099. "after @code{--roll-back}, use @code{--switch-generation=+1}."
  5100. msgstr ""
  5101. #. type: table
  5102. #: doc/guix.texi:1996
  5103. msgid ""
  5104. "The difference between @code{--roll-back} and @code{--switch-generation=-1} "
  5105. "is that @code{--switch-generation} will not make a zeroth generation, so if "
  5106. "a specified generation does not exist, the current generation will not be "
  5107. "changed."
  5108. msgstr ""
  5109. #. type: item
  5110. #: doc/guix.texi:1997
  5111. #, no-wrap
  5112. msgid "--search-paths[=@var{kind}]"
  5113. msgstr ""
  5114. #. type: table
  5115. #: doc/guix.texi:2003
  5116. msgid ""
  5117. "Report environment variable definitions, in Bash syntax, that may be needed "
  5118. "in order to use the set of installed packages. These environment variables "
  5119. "are used to specify @dfn{search paths} for files used by some of the "
  5120. "installed packages."
  5121. msgstr ""
  5122. #. type: table
  5123. #: doc/guix.texi:2011
  5124. msgid ""
  5125. "For example, GCC needs the @code{CPATH} and @code{LIBRARY_PATH} environment "
  5126. "variables to be defined so it can look for headers and libraries in the "
  5127. "user's profile (@pxref{Environment Variables,,, gcc, Using the GNU Compiler "
  5128. "Collection (GCC)}). If GCC and, say, the C library are installed in the "
  5129. "profile, then @code{--search-paths} will suggest setting these variables to "
  5130. "@code{@var{profile}/include} and @code{@var{profile}/lib}, respectively."
  5131. msgstr ""
  5132. #. type: table
  5133. #: doc/guix.texi:2014
  5134. msgid ""
  5135. "The typical use case is to define these environment variables in the shell:"
  5136. msgstr ""
  5137. #. type: example
  5138. #: doc/guix.texi:2017
  5139. #, no-wrap
  5140. msgid "$ eval `guix package --search-paths`\n"
  5141. msgstr ""
  5142. #. type: table
  5143. #: doc/guix.texi:2023
  5144. msgid ""
  5145. "@var{kind} may be one of @code{exact}, @code{prefix}, or @code{suffix}, "
  5146. "meaning that the returned environment variable definitions will either be "
  5147. "exact settings, or prefixes or suffixes of the current value of these "
  5148. "variables. When omitted, @var{kind} defaults to @code{exact}."
  5149. msgstr ""
  5150. #. type: table
  5151. #: doc/guix.texi:2026
  5152. msgid ""
  5153. "This option can also be used to compute the @emph{combined} search paths of "
  5154. "several profiles. Consider this example:"
  5155. msgstr ""
  5156. #. type: example
  5157. #: doc/guix.texi:2031
  5158. #, no-wrap
  5159. msgid ""
  5160. "$ guix package -p foo -i guile\n"
  5161. "$ guix package -p bar -i guile-json\n"
  5162. "$ guix package -p foo -p bar --search-paths\n"
  5163. msgstr ""
  5164. #. type: table
  5165. #: doc/guix.texi:2036
  5166. msgid ""
  5167. "The last command above reports about the @code{GUILE_LOAD_PATH} variable, "
  5168. "even though, taken individually, neither @file{foo} nor @file{bar} would "
  5169. "lead to that recommendation."
  5170. msgstr ""
  5171. #. type: item
  5172. #: doc/guix.texi:2038
  5173. #, no-wrap
  5174. msgid "--profile=@var{profile}"
  5175. msgstr ""
  5176. #. type: itemx
  5177. #: doc/guix.texi:2039
  5178. #, no-wrap
  5179. msgid "-p @var{profile}"
  5180. msgstr ""
  5181. #. type: table
  5182. #: doc/guix.texi:2041
  5183. msgid "Use @var{profile} instead of the user's default profile."
  5184. msgstr ""
  5185. #. type: cindex
  5186. #: doc/guix.texi:2042
  5187. #, no-wrap
  5188. msgid "collisions, in a profile"
  5189. msgstr ""
  5190. #. type: cindex
  5191. #: doc/guix.texi:2043
  5192. #, no-wrap
  5193. msgid "colliding packages in profiles"
  5194. msgstr ""
  5195. #. type: cindex
  5196. #: doc/guix.texi:2044
  5197. #, no-wrap
  5198. msgid "profile collisions"
  5199. msgstr ""
  5200. #. type: item
  5201. #: doc/guix.texi:2045
  5202. #, no-wrap
  5203. msgid "--allow-collisions"
  5204. msgstr ""
  5205. #. type: table
  5206. #: doc/guix.texi:2047
  5207. msgid "Allow colliding packages in the new profile. Use at your own risk!"
  5208. msgstr ""
  5209. #. type: table
  5210. #: doc/guix.texi:2051
  5211. msgid ""
  5212. "By default, @command{guix package} reports as an error @dfn{collisions} in "
  5213. "the profile. Collisions happen when two or more different versions or "
  5214. "variants of a given package end up in the profile."
  5215. msgstr ""
  5216. #. type: item
  5217. #: doc/guix.texi:2052 doc/guix.texi:2754 doc/guix.texi:7777
  5218. #, no-wrap
  5219. msgid "--verbose"
  5220. msgstr ""
  5221. #. type: table
  5222. #: doc/guix.texi:2055
  5223. msgid ""
  5224. "Produce verbose output. In particular, emit the build log of the "
  5225. "environment on the standard error port."
  5226. msgstr ""
  5227. #. type: item
  5228. #: doc/guix.texi:2056 doc/guix.texi:2773 doc/guix.texi:2931
  5229. #, no-wrap
  5230. msgid "--bootstrap"
  5231. msgstr ""
  5232. #. type: table
  5233. #: doc/guix.texi:2059
  5234. msgid ""
  5235. "Use the bootstrap Guile to build the profile. This option is only useful to "
  5236. "distribution developers."
  5237. msgstr ""
  5238. #. type: Plain text
  5239. #: doc/guix.texi:2065
  5240. msgid ""
  5241. "In addition to these actions, @command{guix package} supports the following "
  5242. "options to query the current state of a profile, or the availability of "
  5243. "packages:"
  5244. msgstr ""
  5245. #. type: item
  5246. #: doc/guix.texi:2068
  5247. #, no-wrap
  5248. msgid "--search=@var{regexp}"
  5249. msgstr ""
  5250. #. type: itemx
  5251. #: doc/guix.texi:2069
  5252. #, no-wrap
  5253. msgid "-s @var{regexp}"
  5254. msgstr ""
  5255. #. type: cindex
  5256. #: doc/guix.texi:2070
  5257. #, no-wrap
  5258. msgid "searching for packages"
  5259. msgstr ""
  5260. #. type: table
  5261. #: doc/guix.texi:2075
  5262. msgid ""
  5263. "List the available packages whose name, synopsis, or description matches "
  5264. "@var{regexp}, sorted by relevance. Print all the metadata of matching "
  5265. "packages in @code{recutils} format (@pxref{Top, GNU recutils databases,, "
  5266. "recutils, GNU recutils manual})."
  5267. msgstr ""
  5268. #. type: table
  5269. #: doc/guix.texi:2078
  5270. msgid ""
  5271. "This allows specific fields to be extracted using the @command{recsel} "
  5272. "command, for instance:"
  5273. msgstr ""
  5274. #. type: example
  5275. #: doc/guix.texi:2084
  5276. #, no-wrap
  5277. msgid ""
  5278. "$ guix package -s malloc | recsel -p name,version,relevance\n"
  5279. "name: jemalloc\n"
  5280. "version: 4.5.0\n"
  5281. "relevance: 6\n"
  5282. "\n"
  5283. msgstr ""
  5284. #. type: example
  5285. #: doc/guix.texi:2088
  5286. #, no-wrap
  5287. msgid ""
  5288. "name: glibc\n"
  5289. "version: 2.25\n"
  5290. "relevance: 1\n"
  5291. "\n"
  5292. msgstr ""
  5293. #. type: example
  5294. #: doc/guix.texi:2092
  5295. #, no-wrap
  5296. msgid ""
  5297. "name: libgc\n"
  5298. "version: 7.6.0\n"
  5299. "relevance: 1\n"
  5300. msgstr ""
  5301. #. type: table
  5302. #: doc/guix.texi:2096
  5303. msgid ""
  5304. "Similarly, to show the name of all the packages available under the terms of "
  5305. "the GNU@tie{}LGPL version 3:"
  5306. msgstr ""
  5307. #. type: example
  5308. #: doc/guix.texi:2100
  5309. #, no-wrap
  5310. msgid ""
  5311. "$ guix package -s \"\" | recsel -p name -e 'license ~ \"LGPL 3\"'\n"
  5312. "name: elfutils\n"
  5313. "\n"
  5314. msgstr ""
  5315. #. type: example
  5316. #: doc/guix.texi:2103
  5317. #, no-wrap
  5318. msgid ""
  5319. "name: gmp\n"
  5320. "@dots{}\n"
  5321. msgstr ""
  5322. #. type: table
  5323. #: doc/guix.texi:2108
  5324. msgid ""
  5325. "It is also possible to refine search results using several @code{-s} flags. "
  5326. "For example, the following command returns a list of board games:"
  5327. msgstr ""
  5328. #. type: example
  5329. #: doc/guix.texi:2113
  5330. #, no-wrap
  5331. msgid ""
  5332. "$ guix package -s '\\<board\\>' -s game | recsel -p name\n"
  5333. "name: gnubg\n"
  5334. "@dots{}\n"
  5335. msgstr ""
  5336. #. type: table
  5337. #: doc/guix.texi:2119
  5338. msgid ""
  5339. "If we were to omit @code{-s game}, we would also get software packages that "
  5340. "deal with printed circuit boards; removing the angle brackets around "
  5341. "@code{board} would further add packages that have to do with keyboards."
  5342. msgstr ""
  5343. #. type: table
  5344. #: doc/guix.texi:2123
  5345. msgid ""
  5346. "And now for a more elaborate example. The following command searches for "
  5347. "cryptographic libraries, filters out Haskell, Perl, Python, and Ruby "
  5348. "libraries, and prints the name and synopsis of the matching packages:"
  5349. msgstr ""
  5350. #. type: example
  5351. #: doc/guix.texi:2127
  5352. #, no-wrap
  5353. msgid ""
  5354. "$ guix package -s crypto -s library | \\\n"
  5355. " recsel -e '! (name ~ \"^(ghc|perl|python|ruby)\")' -p name,synopsis\n"
  5356. msgstr ""
  5357. #. type: table
  5358. #: doc/guix.texi:2132
  5359. msgid ""
  5360. "@xref{Selection Expressions,,, recutils, GNU recutils manual}, for more "
  5361. "information on @dfn{selection expressions} for @code{recsel -e}."
  5362. msgstr ""
  5363. #. type: item
  5364. #: doc/guix.texi:2133
  5365. #, no-wrap
  5366. msgid "--show=@var{package}"
  5367. msgstr ""
  5368. #. type: table
  5369. #: doc/guix.texi:2137
  5370. msgid ""
  5371. "Show details about @var{package}, taken from the list of available packages, "
  5372. "in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, "
  5373. "GNU recutils manual})."
  5374. msgstr ""
  5375. #. type: example
  5376. #: doc/guix.texi:2142
  5377. #, no-wrap
  5378. msgid ""
  5379. "$ guix package --show=python | recsel -p name,version\n"
  5380. "name: python\n"
  5381. "version: 2.7.6\n"
  5382. "\n"
  5383. msgstr ""
  5384. #. type: example
  5385. #: doc/guix.texi:2145
  5386. #, no-wrap
  5387. msgid ""
  5388. "name: python\n"
  5389. "version: 3.3.5\n"
  5390. msgstr ""
  5391. #. type: table
  5392. #: doc/guix.texi:2149
  5393. msgid ""
  5394. "You may also specify the full name of a package to only get details about a "
  5395. "specific version of it:"
  5396. msgstr ""
  5397. #. type: example
  5398. #: doc/guix.texi:2153
  5399. #, no-wrap
  5400. msgid ""
  5401. "$ guix package --show=python@@3.4 | recsel -p name,version\n"
  5402. "name: python\n"
  5403. "version: 3.4.3\n"
  5404. msgstr ""
  5405. #. type: item
  5406. #: doc/guix.texi:2157
  5407. #, no-wrap
  5408. msgid "--list-installed[=@var{regexp}]"
  5409. msgstr ""
  5410. #. type: itemx
  5411. #: doc/guix.texi:2158
  5412. #, no-wrap
  5413. msgid "-I [@var{regexp}]"
  5414. msgstr ""
  5415. #. type: table
  5416. #: doc/guix.texi:2162
  5417. msgid ""
  5418. "List the currently installed packages in the specified profile, with the "
  5419. "most recently installed packages shown last. When @var{regexp} is "
  5420. "specified, list only installed packages whose name matches @var{regexp}."
  5421. msgstr ""
  5422. #. type: table
  5423. #: doc/guix.texi:2168
  5424. msgid ""
  5425. "For each installed package, print the following items, separated by tabs: "
  5426. "the package name, its version string, the part of the package that is "
  5427. "installed (for instance, @code{out} for the default output, @code{include} "
  5428. "for its headers, etc.), and the path of this package in the store."
  5429. msgstr ""
  5430. #. type: item
  5431. #: doc/guix.texi:2169
  5432. #, no-wrap
  5433. msgid "--list-available[=@var{regexp}]"
  5434. msgstr ""
  5435. #. type: itemx
  5436. #: doc/guix.texi:2170
  5437. #, no-wrap
  5438. msgid "-A [@var{regexp}]"
  5439. msgstr ""
  5440. #. type: table
  5441. #: doc/guix.texi:2174
  5442. msgid ""
  5443. "List packages currently available in the distribution for this system "
  5444. "(@pxref{GNU Distribution}). When @var{regexp} is specified, list only "
  5445. "installed packages whose name matches @var{regexp}."
  5446. msgstr ""
  5447. #. type: table
  5448. #: doc/guix.texi:2178
  5449. msgid ""
  5450. "For each package, print the following items separated by tabs: its name, its "
  5451. "version string, the parts of the package (@pxref{Packages with Multiple "
  5452. "Outputs}), and the source location of its definition."
  5453. msgstr ""
  5454. #. type: item
  5455. #: doc/guix.texi:2179
  5456. #, no-wrap
  5457. msgid "--list-generations[=@var{pattern}]"
  5458. msgstr ""
  5459. #. type: itemx
  5460. #: doc/guix.texi:2180
  5461. #, no-wrap
  5462. msgid "-l [@var{pattern}]"
  5463. msgstr ""
  5464. #. type: table
  5465. #: doc/guix.texi:2186
  5466. msgid ""
  5467. "Return a list of generations along with their creation dates; for each "
  5468. "generation, show the installed packages, with the most recently installed "
  5469. "packages shown last. Note that the zeroth generation is never shown."
  5470. msgstr ""
  5471. #. type: table
  5472. #: doc/guix.texi:2191
  5473. msgid ""
  5474. "For each installed package, print the following items, separated by tabs: "
  5475. "the name of a package, its version string, the part of the package that is "
  5476. "installed (@pxref{Packages with Multiple Outputs}), and the location of this "
  5477. "package in the store."
  5478. msgstr ""
  5479. #. type: table
  5480. #: doc/guix.texi:2194
  5481. msgid ""
  5482. "When @var{pattern} is used, the command returns only matching generations. "
  5483. "Valid patterns include:"
  5484. msgstr ""
  5485. #. type: item
  5486. #: doc/guix.texi:2196
  5487. #, no-wrap
  5488. msgid "@emph{Integers and comma-separated integers}. Both patterns denote"
  5489. msgstr ""
  5490. #. type: itemize
  5491. #: doc/guix.texi:2199
  5492. msgid ""
  5493. "generation numbers. For instance, @code{--list-generations=1} returns the "
  5494. "first one."
  5495. msgstr ""
  5496. #. type: itemize
  5497. #: doc/guix.texi:2202
  5498. msgid ""
  5499. "And @code{--list-generations=1,8,2} outputs three generations in the "
  5500. "specified order. Neither spaces nor trailing commas are allowed."
  5501. msgstr ""
  5502. #. type: item
  5503. #: doc/guix.texi:2203
  5504. #, no-wrap
  5505. msgid "@emph{Ranges}. @code{--list-generations=2..9} prints the"
  5506. msgstr ""
  5507. #. type: itemize
  5508. #: doc/guix.texi:2206
  5509. msgid ""
  5510. "specified generations and everything in between. Note that the start of a "
  5511. "range must be smaller than its end."
  5512. msgstr ""
  5513. #. type: itemize
  5514. #: doc/guix.texi:2210
  5515. msgid ""
  5516. "It is also possible to omit the endpoint. For example, @code{--list-"
  5517. "generations=2..}, returns all generations starting from the second one."
  5518. msgstr ""
  5519. #. type: item
  5520. #: doc/guix.texi:2211
  5521. #, no-wrap
  5522. msgid "@emph{Durations}. You can also get the last @emph{N}@tie{}days, weeks,"
  5523. msgstr ""
  5524. #. type: itemize
  5525. #: doc/guix.texi:2215
  5526. msgid ""
  5527. "or months by passing an integer along with the first letter of the "
  5528. "duration. For example, @code{--list-generations=20d} lists generations that "
  5529. "are up to 20 days old."
  5530. msgstr ""
  5531. #. type: item
  5532. #: doc/guix.texi:2217
  5533. #, no-wrap
  5534. msgid "--delete-generations[=@var{pattern}]"
  5535. msgstr ""
  5536. #. type: itemx
  5537. #: doc/guix.texi:2218
  5538. #, no-wrap
  5539. msgid "-d [@var{pattern}]"
  5540. msgstr ""
  5541. #. type: table
  5542. #: doc/guix.texi:2221
  5543. msgid ""
  5544. "When @var{pattern} is omitted, delete all generations except the current one."
  5545. msgstr ""
  5546. #. type: table
  5547. #: doc/guix.texi:2227
  5548. msgid ""
  5549. "This command accepts the same patterns as @option{--list-generations}. When "
  5550. "@var{pattern} is specified, delete the matching generations. When "
  5551. "@var{pattern} specifies a duration, generations @emph{older} than the "
  5552. "specified duration match. For instance, @code{--delete-generations=1m} "
  5553. "deletes generations that are more than one month old."
  5554. msgstr ""
  5555. #. type: table
  5556. #: doc/guix.texi:2230
  5557. msgid ""
  5558. "If the current generation matches, it is @emph{not} deleted. Also, the "
  5559. "zeroth generation is never deleted."
  5560. msgstr ""
  5561. #. type: table
  5562. #: doc/guix.texi:2233
  5563. msgid ""
  5564. "Note that deleting generations prevents rolling back to them. Consequently, "
  5565. "this command must be used with care."
  5566. msgstr ""
  5567. #. type: Plain text
  5568. #: doc/guix.texi:2244
  5569. msgid ""
  5570. "Finally, since @command{guix package} may actually start build processes, it "
  5571. "supports all the common build options (@pxref{Common Build Options}). It "
  5572. "also supports package transformation options, such as @option{--with-source} "
  5573. "(@pxref{Package Transformation Options}). However, note that package "
  5574. "transformations are lost when upgrading; to preserve transformations across "
  5575. "upgrades, you should define your own package variant in a Guile module and "
  5576. "add it to @code{GUIX_PACKAGE_PATH} (@pxref{Defining Packages})."
  5577. msgstr ""
  5578. #. type: cindex
  5579. #: doc/guix.texi:2249
  5580. #, no-wrap
  5581. msgid "pre-built binaries"
  5582. msgstr ""
  5583. #. type: Plain text
  5584. #: doc/guix.texi:2255
  5585. msgid ""
  5586. "Guix supports transparent source/binary deployment, which means that it can "
  5587. "either build things locally, or download pre-built items from a server, or "
  5588. "both. We call these pre-built items @dfn{substitutes}---they are "
  5589. "substitutes for local build results. In many cases, downloading a "
  5590. "substitute is much faster than building things locally."
  5591. msgstr ""
  5592. #. type: Plain text
  5593. #: doc/guix.texi:2260
  5594. msgid ""
  5595. "Substitutes can be anything resulting from a derivation build "
  5596. "(@pxref{Derivations}). Of course, in the common case, they are pre-built "
  5597. "package binaries, but source tarballs, for instance, which also result from "
  5598. "derivation builds, can be available as substitutes."
  5599. msgstr ""
  5600. #. type: cindex
  5601. #: doc/guix.texi:2273
  5602. #, no-wrap
  5603. msgid "hydra"
  5604. msgstr ""
  5605. #. type: cindex
  5606. #: doc/guix.texi:2274
  5607. #, no-wrap
  5608. msgid "build farm"
  5609. msgstr ""
  5610. #. type: Plain text
  5611. #: doc/guix.texi:2284
  5612. msgid ""
  5613. "The @code{mirror.hydra.gnu.org} server is a front-end to an official build "
  5614. "farm that builds packages from Guix continuously for some architectures, and "
  5615. "makes them available as substitutes. This is the default source of "
  5616. "substitutes; it can be overridden by passing the @option{--substitute-urls} "
  5617. "option either to @command{guix-daemon} (@pxref{daemon-substitute-urls,, "
  5618. "@code{guix-daemon --substitute-urls}}) or to client tools such as "
  5619. "@command{guix package} (@pxref{client-substitute-urls,, client @option{--"
  5620. "substitute-urls} option})."
  5621. msgstr ""
  5622. #. type: Plain text
  5623. #: doc/guix.texi:2290
  5624. msgid ""
  5625. "Substitute URLs can be either HTTP or HTTPS. HTTPS is recommended because "
  5626. "communications are encrypted; conversely, using HTTP makes all "
  5627. "communications visible to an eavesdropper, who could use the information "
  5628. "gathered to determine, for instance, whether your system has unpatched "
  5629. "security vulnerabilities."
  5630. msgstr ""
  5631. #. type: Plain text
  5632. #: doc/guix.texi:2299
  5633. msgid ""
  5634. "Substitutes from the official build farm are enabled by default when using "
  5635. "the Guix System Distribution (@pxref{GNU Distribution}). However, they are "
  5636. "disabled by default when using Guix on a foreign distribution, unless you "
  5637. "have explicitly enabled them via one of the recommended installation steps "
  5638. "(@pxref{Installation}). The following paragraphs describe how to enable or "
  5639. "disable substitutes for the official build farm; the same procedure can also "
  5640. "be used to enable substitutes for any other substitute server."
  5641. msgstr ""
  5642. #. type: cindex
  5643. #: doc/guix.texi:2303
  5644. #, no-wrap
  5645. msgid "security"
  5646. msgstr ""
  5647. #. type: cindex
  5648. #: doc/guix.texi:2305
  5649. #, no-wrap
  5650. msgid "access control list (ACL), for substitutes"
  5651. msgstr ""
  5652. #. type: cindex
  5653. #: doc/guix.texi:2306
  5654. #, no-wrap
  5655. msgid "ACL (access control list), for substitutes"
  5656. msgstr ""
  5657. #. type: Plain text
  5658. #: doc/guix.texi:2313
  5659. msgid ""
  5660. "To allow Guix to download substitutes from @code{hydra.gnu.org} or a mirror "
  5661. "thereof, you must add its public key to the access control list (ACL) of "
  5662. "archive imports, using the @command{guix archive} command (@pxref{Invoking "
  5663. "guix archive}). Doing so implies that you trust @code{hydra.gnu.org} to not "
  5664. "be compromised and to serve genuine substitutes."
  5665. msgstr ""
  5666. #. type: Plain text
  5667. #: doc/guix.texi:2320
  5668. msgid ""
  5669. "The public key for @code{hydra.gnu.org} is installed along with Guix, in "
  5670. "@code{@var{prefix}/share/guix/hydra.gnu.org.pub}, where @var{prefix} is the "
  5671. "installation prefix of Guix. If you installed Guix from source, make sure "
  5672. "you checked the GPG signature of @file{guix-@value{VERSION}.tar.gz}, which "
  5673. "contains this public key file. Then, you can run something like this:"
  5674. msgstr ""
  5675. #. type: example
  5676. #: doc/guix.texi:2323
  5677. #, no-wrap
  5678. msgid "# guix archive --authorize < @var{prefix}/share/guix/hydra.gnu.org.pub\n"
  5679. msgstr ""
  5680. #. type: quotation
  5681. #: doc/guix.texi:2329
  5682. msgid ""
  5683. "Similarly, the @file{berlin.guixsd.org.pub} file contains the public key for "
  5684. "the project's new build farm, reachable at @indicateurl{https://berlin."
  5685. "guixsd.org}."
  5686. msgstr ""
  5687. #. type: quotation
  5688. #: doc/guix.texi:2334
  5689. msgid ""
  5690. "As of this writing @code{berlin.guixsd.org} is being upgraded so it can "
  5691. "better scale up, but you might want to give it a try. It is backed by 20 "
  5692. "x86_64/i686 build nodes and may be able to provide substitutes more quickly "
  5693. "than @code{mirror.hydra.gnu.org}."
  5694. msgstr ""
  5695. #. type: Plain text
  5696. #: doc/guix.texi:2338
  5697. msgid ""
  5698. "Once this is in place, the output of a command like @code{guix build} should "
  5699. "change from something like:"
  5700. msgstr ""
  5701. #. type: example
  5702. #: doc/guix.texi:2347
  5703. #, no-wrap
  5704. msgid ""
  5705. "$ guix build emacs --dry-run\n"
  5706. "The following derivations would be built:\n"
  5707. " /gnu/store/yr7bnx8xwcayd6j95r2clmkdl1qh688w-emacs-24.3.drv\n"
  5708. " /gnu/store/x8qsh1hlhgjx6cwsjyvybnfv2i37z23w-dbus-1.6.4.tar.gz.drv\n"
  5709. " /gnu/store/1ixwp12fl950d15h2cj11c73733jay0z-alsa-lib-1.0.27.1.tar.bz2.drv\n"
  5710. " /gnu/store/nlma1pw0p603fpfiqy7kn4zm105r5dmw-util-linux-2.21.drv\n"
  5711. "@dots{}\n"
  5712. msgstr ""
  5713. #. type: Plain text
  5714. #: doc/guix.texi:2351
  5715. msgid "to something like:"
  5716. msgstr ""
  5717. #. type: example
  5718. #: doc/guix.texi:2360
  5719. #, no-wrap
  5720. msgid ""
  5721. "$ guix build emacs --dry-run\n"
  5722. "112.3 MB would be downloaded:\n"
  5723. " /gnu/store/pk3n22lbq6ydamyymqkkz7i69wiwjiwi-emacs-24.3\n"
  5724. " /gnu/store/2ygn4ncnhrpr61rssa6z0d9x22si0va3-libjpeg-8d\n"
  5725. " /gnu/store/71yz6lgx4dazma9dwn2mcjxaah9w77jq-cairo-1.12.16\n"
  5726. " /gnu/store/7zdhgp0n1518lvfn8mb96sxqfmvqrl7v-libxrender-0.9.7\n"
  5727. "@dots{}\n"
  5728. msgstr ""
  5729. #. type: Plain text
  5730. #: doc/guix.texi:2365
  5731. msgid ""
  5732. "This indicates that substitutes from @code{hydra.gnu.org} are usable and "
  5733. "will be downloaded, when possible, for future builds."
  5734. msgstr ""
  5735. #. type: cindex
  5736. #: doc/guix.texi:2366
  5737. #, no-wrap
  5738. msgid "substitutes, how to disable"
  5739. msgstr ""
  5740. #. type: Plain text
  5741. #: doc/guix.texi:2372
  5742. msgid ""
  5743. "The substitute mechanism can be disabled globally by running @code{guix-"
  5744. "daemon} with @code{--no-substitutes} (@pxref{Invoking guix-daemon}). It can "
  5745. "also be disabled temporarily by passing the @code{--no-substitutes} option "
  5746. "to @command{guix package}, @command{guix build}, and other command-line "
  5747. "tools."
  5748. msgstr ""
  5749. #. type: cindex
  5750. #: doc/guix.texi:2376
  5751. #, no-wrap
  5752. msgid "digital signatures"
  5753. msgstr ""
  5754. #. type: Plain text
  5755. #: doc/guix.texi:2380
  5756. msgid ""
  5757. "Guix detects and raises an error when attempting to use a substitute that "
  5758. "has been tampered with. Likewise, it ignores substitutes that are not "
  5759. "signed, or that are not signed by one of the keys listed in the ACL."
  5760. msgstr ""
  5761. #. type: Plain text
  5762. #: doc/guix.texi:2386
  5763. msgid ""
  5764. "There is one exception though: if an unauthorized server provides "
  5765. "substitutes that are @emph{bit-for-bit identical} to those provided by an "
  5766. "authorized server, then the unauthorized server becomes eligible for "
  5767. "downloads. For example, assume we have chosen two substitute servers with "
  5768. "this option:"
  5769. msgstr ""
  5770. #. type: example
  5771. #: doc/guix.texi:2389
  5772. #, no-wrap
  5773. msgid "--substitute-urls=\"https://a.example.org https://b.example.org\"\n"
  5774. msgstr ""
  5775. #. type: Plain text
  5776. #: doc/guix.texi:2400
  5777. msgid ""
  5778. "If the ACL contains only the key for @code{b.example.org}, and if @code{a."
  5779. "example.org} happens to serve the @emph{exact same} substitutes, then Guix "
  5780. "will download substitutes from @code{a.example.org} because it comes first "
  5781. "in the list and can be considered a mirror of @code{b.example.org}. In "
  5782. "practice, independent build machines usually produce the same binaries, "
  5783. "thanks to bit-reproducible builds (see below)."
  5784. msgstr ""
  5785. #. type: Plain text
  5786. #: doc/guix.texi:2407
  5787. msgid ""
  5788. "When using HTTPS, the server's X.509 certificate is @emph{not} validated (in "
  5789. "other words, the server is not authenticated), contrary to what HTTPS "
  5790. "clients such as Web browsers usually do. This is because Guix authenticates "
  5791. "substitute information itself, as explained above, which is what we care "
  5792. "about (whereas X.509 certificates are about authenticating bindings between "
  5793. "domain names and public keys.)"
  5794. msgstr ""
  5795. #. type: Plain text
  5796. #: doc/guix.texi:2419
  5797. msgid ""
  5798. "Substitutes are downloaded over HTTP or HTTPS. The @code{http_proxy} "
  5799. "environment variable can be set in the environment of @command{guix-daemon} "
  5800. "and is honored for downloads of substitutes. Note that the value of "
  5801. "@code{http_proxy} in the environment where @command{guix build}, "
  5802. "@command{guix package}, and other client commands are run has "
  5803. "@emph{absolutely no effect}."
  5804. msgstr ""
  5805. #. type: Plain text
  5806. #: doc/guix.texi:2428
  5807. msgid ""
  5808. "Even when a substitute for a derivation is available, sometimes the "
  5809. "substitution attempt will fail. This can happen for a variety of reasons: "
  5810. "the substitute server might be offline, the substitute may recently have "
  5811. "been deleted, the connection might have been interrupted, etc."
  5812. msgstr ""
  5813. #. type: Plain text
  5814. #: doc/guix.texi:2442
  5815. msgid ""
  5816. "When substitutes are enabled and a substitute for a derivation is available, "
  5817. "but the substitution attempt fails, Guix will attempt to build the "
  5818. "derivation locally depending on whether or not @code{--fallback} was given "
  5819. "(@pxref{fallback-option,, common build option @code{--fallback}}). "
  5820. "Specifically, if @code{--fallback} was omitted, then no local build will be "
  5821. "performed, and the derivation is considered to have failed. However, if "
  5822. "@code{--fallback} was given, then Guix will attempt to build the derivation "
  5823. "locally, and the success or failure of the derivation depends on the success "
  5824. "or failure of the local build. Note that when substitutes are disabled or "
  5825. "no substitute is available for the derivation in question, a local build "
  5826. "will @emph{always} be performed, regardless of whether or not @code{--"
  5827. "fallback} was given."
  5828. msgstr ""
  5829. #. type: Plain text
  5830. #: doc/guix.texi:2447
  5831. msgid ""
  5832. "To get an idea of how many substitutes are available right now, you can try "
  5833. "running the @command{guix weather} command (@pxref{Invoking guix weather}). "
  5834. "This command provides statistics on the substitutes provided by a server."
  5835. msgstr ""
  5836. #. type: cindex
  5837. #: doc/guix.texi:2451
  5838. #, no-wrap
  5839. msgid "trust, of pre-built binaries"
  5840. msgstr ""
  5841. #. type: Plain text
  5842. #: doc/guix.texi:2461
  5843. msgid ""
  5844. "Today, each individual's control over their own computing is at the mercy of "
  5845. "institutions, corporations, and groups with enough power and determination "
  5846. "to subvert the computing infrastructure and exploit its weaknesses. While "
  5847. "using @code{hydra.gnu.org} substitutes can be convenient, we encourage users "
  5848. "to also build on their own, or even run their own build farm, such that "
  5849. "@code{hydra.gnu.org} is less of an interesting target. One way to help is "
  5850. "by publishing the software you build using @command{guix publish} so that "
  5851. "others have one more choice of server to download substitutes from "
  5852. "(@pxref{Invoking guix publish})."
  5853. msgstr ""
  5854. #. type: Plain text
  5855. #: doc/guix.texi:2473
  5856. msgid ""
  5857. "Guix has the foundations to maximize build reproducibility "
  5858. "(@pxref{Features}). In most cases, independent builds of a given package or "
  5859. "derivation should yield bit-identical results. Thus, through a diverse set "
  5860. "of independent package builds, we can strengthen the integrity of our "
  5861. "systems. The @command{guix challenge} command aims to help users assess "
  5862. "substitute servers, and to assist developers in finding out about non-"
  5863. "deterministic package builds (@pxref{Invoking guix challenge}). Similarly, "
  5864. "the @option{--check} option of @command{guix build} allows users to check "
  5865. "whether previously-installed substitutes are genuine by rebuilding them "
  5866. "locally (@pxref{build-check, @command{guix build --check}})."
  5867. msgstr ""
  5868. #. type: Plain text
  5869. #: doc/guix.texi:2477
  5870. msgid ""
  5871. "In the future, we want Guix to have support to publish and retrieve binaries "
  5872. "to/from other users, in a peer-to-peer fashion. If you would like to "
  5873. "discuss this project, join us on @email{guix-devel@@gnu.org}."
  5874. msgstr ""
  5875. #. type: cindex
  5876. #: doc/guix.texi:2481
  5877. #, no-wrap
  5878. msgid "multiple-output packages"
  5879. msgstr ""
  5880. #. type: cindex
  5881. #: doc/guix.texi:2482
  5882. #, no-wrap
  5883. msgid "package outputs"
  5884. msgstr ""
  5885. #. type: cindex
  5886. #: doc/guix.texi:2483
  5887. #, no-wrap
  5888. msgid "outputs"
  5889. msgstr ""
  5890. #. type: Plain text
  5891. #: doc/guix.texi:2493
  5892. msgid ""
  5893. "Often, packages defined in Guix have a single @dfn{output}---i.e., the "
  5894. "source package leads to exactly one directory in the store. When running "
  5895. "@command{guix package -i glibc}, one installs the default output of the GNU "
  5896. "libc package; the default output is called @code{out}, but its name can be "
  5897. "omitted as shown in this command. In this particular case, the default "
  5898. "output of @code{glibc} contains all the C header files, shared libraries, "
  5899. "static libraries, Info documentation, and other supporting files."
  5900. msgstr ""
  5901. #. type: Plain text
  5902. #: doc/guix.texi:2501
  5903. msgid ""
  5904. "Sometimes it is more appropriate to separate the various types of files "
  5905. "produced from a single source package into separate outputs. For instance, "
  5906. "the GLib C library (used by GTK+ and related packages) installs more than "
  5907. "20 MiB of reference documentation as HTML pages. To save space for users "
  5908. "who do not need it, the documentation goes to a separate output, called "
  5909. "@code{doc}. To install the main GLib output, which contains everything but "
  5910. "the documentation, one would run:"
  5911. msgstr ""
  5912. #. type: example
  5913. #: doc/guix.texi:2504
  5914. #, no-wrap
  5915. msgid "guix package -i glib\n"
  5916. msgstr ""
  5917. #. type: code{#1}
  5918. #: doc/guix.texi:2506 doc/guix.texi:21321
  5919. #, no-wrap
  5920. msgid "documentation"
  5921. msgstr ""
  5922. #. type: Plain text
  5923. #: doc/guix.texi:2508
  5924. msgid "The command to install its documentation is:"
  5925. msgstr ""
  5926. #. type: example
  5927. #: doc/guix.texi:2511
  5928. #, no-wrap
  5929. msgid "guix package -i glib:doc\n"
  5930. msgstr ""
  5931. #. type: Plain text
  5932. #: doc/guix.texi:2522
  5933. msgid ""
  5934. "Some packages install programs with different ``dependency footprints''. "
  5935. "For instance, the WordNet package installs both command-line tools and "
  5936. "graphical user interfaces (GUIs). The former depend solely on the C "
  5937. "library, whereas the latter depend on Tcl/Tk and the underlying X "
  5938. "libraries. In this case, we leave the command-line tools in the default "
  5939. "output, whereas the GUIs are in a separate output. This allows users who do "
  5940. "not need the GUIs to save space. The @command{guix size} command can help "
  5941. "find out about such situations (@pxref{Invoking guix size}). @command{guix "
  5942. "graph} can also be helpful (@pxref{Invoking guix graph})."
  5943. msgstr ""
  5944. #. type: Plain text
  5945. #: doc/guix.texi:2530
  5946. msgid ""
  5947. "There are several such multiple-output packages in the GNU distribution. "
  5948. "Other conventional output names include @code{lib} for libraries and "
  5949. "possibly header files, @code{bin} for stand-alone programs, and @code{debug} "
  5950. "for debugging information (@pxref{Installing Debugging Files}). The outputs "
  5951. "of a packages are listed in the third column of the output of @command{guix "
  5952. "package --list-available} (@pxref{Invoking guix package})."
  5953. msgstr ""
  5954. #. type: section
  5955. #: doc/guix.texi:2533
  5956. #, no-wrap
  5957. msgid "Invoking @command{guix gc}"
  5958. msgstr ""
  5959. #. type: cindex
  5960. #: doc/guix.texi:2535
  5961. #, no-wrap
  5962. msgid "garbage collector"
  5963. msgstr ""
  5964. #. type: cindex
  5965. #: doc/guix.texi:2536
  5966. #, no-wrap
  5967. msgid "disk space"
  5968. msgstr ""
  5969. #. type: Plain text
  5970. #: doc/guix.texi:2542
  5971. msgid ""
  5972. "Packages that are installed, but not used, may be @dfn{garbage-collected}. "
  5973. "The @command{guix gc} command allows users to explicitly run the garbage "
  5974. "collector to reclaim space from the @file{/gnu/store} directory. It is the "
  5975. "@emph{only} way to remove files from @file{/gnu/store}---removing files or "
  5976. "directories manually may break it beyond repair!"
  5977. msgstr ""
  5978. #. type: Plain text
  5979. #: doc/guix.texi:2553
  5980. msgid ""
  5981. "The garbage collector has a set of known @dfn{roots}: any file under @file{/"
  5982. "gnu/store} reachable from a root is considered @dfn{live} and cannot be "
  5983. "deleted; any other file is considered @dfn{dead} and may be deleted. The "
  5984. "set of garbage collector roots (``GC roots'' for short) includes default "
  5985. "user profiles; by default, the symlinks under @file{/var/guix/gcroots} "
  5986. "represent these GC roots. New GC roots can be added with @command{guix "
  5987. "build --root}, for example (@pxref{Invoking guix build})."
  5988. msgstr ""
  5989. #. type: Plain text
  5990. #: doc/guix.texi:2559
  5991. msgid ""
  5992. "Prior to running @code{guix gc --collect-garbage} to make space, it is often "
  5993. "useful to remove old generations from user profiles; that way, old package "
  5994. "builds referenced by those generations can be reclaimed. This is achieved "
  5995. "by running @code{guix package --delete-generations} (@pxref{Invoking guix "
  5996. "package})."
  5997. msgstr ""
  5998. #. type: Plain text
  5999. #: doc/guix.texi:2563
  6000. msgid ""
  6001. "Our recommendation is to run a garbage collection periodically, or when you "
  6002. "are short on disk space. For instance, to guarantee that at least 5@tie{}GB "
  6003. "are available on your disk, simply run:"
  6004. msgstr ""
  6005. #. type: example
  6006. #: doc/guix.texi:2566
  6007. #, no-wrap
  6008. msgid "guix gc -F 5G\n"
  6009. msgstr ""
  6010. #. type: Plain text
  6011. #: doc/guix.texi:2575
  6012. msgid ""
  6013. "It is perfectly safe to run as a non-interactive periodic job "
  6014. "(@pxref{Scheduled Job Execution}, for how to set up such a job on GuixSD). "
  6015. "Running @command{guix gc} with no arguments will collect as much garbage as "
  6016. "it can, but that is often inconvenient: you may find yourself having to "
  6017. "rebuild or re-download software that is ``dead'' from the GC viewpoint but "
  6018. "that is necessary to build other pieces of software---e.g., the compiler "
  6019. "tool chain."
  6020. msgstr ""
  6021. #. type: Plain text
  6022. #: doc/guix.texi:2581
  6023. msgid ""
  6024. "The @command{guix gc} command has three modes of operation: it can be used "
  6025. "to garbage-collect any dead files (the default), to delete specific files "
  6026. "(the @code{--delete} option), to print garbage-collector information, or for "
  6027. "more advanced queries. The garbage collection options are as follows:"
  6028. msgstr ""
  6029. #. type: item
  6030. #: doc/guix.texi:2583
  6031. #, no-wrap
  6032. msgid "--collect-garbage[=@var{min}]"
  6033. msgstr ""
  6034. #. type: itemx
  6035. #: doc/guix.texi:2584
  6036. #, no-wrap
  6037. msgid "-C [@var{min}]"
  6038. msgstr ""
  6039. #. type: table
  6040. #: doc/guix.texi:2588
  6041. msgid ""
  6042. "Collect garbage---i.e., unreachable @file{/gnu/store} files and sub-"
  6043. "directories. This is the default operation when no option is specified."
  6044. msgstr ""
  6045. #. type: table
  6046. #: doc/guix.texi:2593
  6047. msgid ""
  6048. "When @var{min} is given, stop once @var{min} bytes have been collected. "
  6049. "@var{min} may be a number of bytes, or it may include a unit as a suffix, "
  6050. "such as @code{MiB} for mebibytes and @code{GB} for gigabytes (@pxref{Block "
  6051. "size, size specifications,, coreutils, GNU Coreutils})."
  6052. msgstr ""
  6053. #. type: table
  6054. #: doc/guix.texi:2595
  6055. msgid "When @var{min} is omitted, collect all the garbage."
  6056. msgstr ""
  6057. #. type: item
  6058. #: doc/guix.texi:2596
  6059. #, no-wrap
  6060. msgid "--free-space=@var{free}"
  6061. msgstr ""
  6062. #. type: itemx
  6063. #: doc/guix.texi:2597
  6064. #, no-wrap
  6065. msgid "-F @var{free}"
  6066. msgstr ""
  6067. #. type: table
  6068. #: doc/guix.texi:2601
  6069. msgid ""
  6070. "Collect garbage until @var{free} space is available under @file{/gnu/store}, "
  6071. "if possible; @var{free} denotes storage space, such as @code{500MiB}, as "
  6072. "described above."
  6073. msgstr ""
  6074. #. type: table
  6075. #: doc/guix.texi:2604
  6076. msgid ""
  6077. "When @var{free} or more is already available in @file{/gnu/store}, do "
  6078. "nothing and exit immediately."
  6079. msgstr ""
  6080. #. type: item
  6081. #: doc/guix.texi:2605
  6082. #, no-wrap
  6083. msgid "--delete"
  6084. msgstr ""
  6085. #. type: itemx
  6086. #: doc/guix.texi:2606 doc/guix.texi:5840 doc/guix.texi:20598
  6087. #, no-wrap
  6088. msgid "-d"
  6089. msgstr ""
  6090. #. type: table
  6091. #: doc/guix.texi:2610
  6092. msgid ""
  6093. "Attempt to delete all the store files and directories specified as "
  6094. "arguments. This fails if some of the files are not in the store, or if they "
  6095. "are still live."
  6096. msgstr ""
  6097. #. type: item
  6098. #: doc/guix.texi:2611
  6099. #, no-wrap
  6100. msgid "--list-failures"
  6101. msgstr ""
  6102. #. type: table
  6103. #: doc/guix.texi:2613
  6104. msgid "List store items corresponding to cached build failures."
  6105. msgstr ""
  6106. #. type: table
  6107. #: doc/guix.texi:2617
  6108. msgid ""
  6109. "This prints nothing unless the daemon was started with @option{--cache-"
  6110. "failures} (@pxref{Invoking guix-daemon, @option{--cache-failures}})."
  6111. msgstr ""
  6112. #. type: item
  6113. #: doc/guix.texi:2618
  6114. #, no-wrap
  6115. msgid "--clear-failures"
  6116. msgstr ""
  6117. #. type: table
  6118. #: doc/guix.texi:2620
  6119. msgid "Remove the specified store items from the failed-build cache."
  6120. msgstr ""
  6121. #. type: table
  6122. #: doc/guix.texi:2623
  6123. msgid ""
  6124. "Again, this option only makes sense when the daemon is started with "
  6125. "@option{--cache-failures}. Otherwise, it does nothing."
  6126. msgstr ""
  6127. #. type: item
  6128. #: doc/guix.texi:2624
  6129. #, no-wrap
  6130. msgid "--list-dead"
  6131. msgstr ""
  6132. #. type: table
  6133. #: doc/guix.texi:2627
  6134. msgid ""
  6135. "Show the list of dead files and directories still present in the store---i."
  6136. "e., files and directories no longer reachable from any root."
  6137. msgstr ""
  6138. #. type: item
  6139. #: doc/guix.texi:2628
  6140. #, no-wrap
  6141. msgid "--list-live"
  6142. msgstr ""
  6143. #. type: table
  6144. #: doc/guix.texi:2630
  6145. msgid "Show the list of live store files and directories."
  6146. msgstr ""
  6147. #. type: Plain text
  6148. #: doc/guix.texi:2634
  6149. msgid "In addition, the references among existing store files can be queried:"
  6150. msgstr ""
  6151. #. type: item
  6152. #: doc/guix.texi:2637
  6153. #, no-wrap
  6154. msgid "--references"
  6155. msgstr ""
  6156. #. type: itemx
  6157. #: doc/guix.texi:2638
  6158. #, no-wrap
  6159. msgid "--referrers"
  6160. msgstr ""
  6161. #. type: cindex
  6162. #: doc/guix.texi:2639 doc/guix.texi:6935
  6163. #, no-wrap
  6164. msgid "package dependencies"
  6165. msgstr ""
  6166. #. type: table
  6167. #: doc/guix.texi:2642
  6168. msgid ""
  6169. "List the references (respectively, the referrers) of store files given as "
  6170. "arguments."
  6171. msgstr ""
  6172. #. type: item
  6173. #: doc/guix.texi:2643
  6174. #, no-wrap
  6175. msgid "--requisites"
  6176. msgstr ""
  6177. #. type: itemx
  6178. #: doc/guix.texi:2644
  6179. #, no-wrap
  6180. msgid "-R"
  6181. msgstr ""
  6182. #. type: item
  6183. #: doc/guix.texi:2645 doc/guix.texi:6819 doc/guix.texi:6843 doc/guix.texi:6907
  6184. #, no-wrap
  6185. msgid "closure"
  6186. msgstr ""
  6187. #. type: table
  6188. #: doc/guix.texi:2650
  6189. msgid ""
  6190. "List the requisites of the store files passed as arguments. Requisites "
  6191. "include the store files themselves, their references, and the references of "
  6192. "these, recursively. In other words, the returned list is the "
  6193. "@dfn{transitive closure} of the store files."
  6194. msgstr ""
  6195. #. type: table
  6196. #: doc/guix.texi:2654
  6197. msgid ""
  6198. "@xref{Invoking guix size}, for a tool to profile the size of the closure of "
  6199. "an element. @xref{Invoking guix graph}, for a tool to visualize the graph "
  6200. "of references."
  6201. msgstr ""
  6202. #. type: item
  6203. #: doc/guix.texi:2655
  6204. #, no-wrap
  6205. msgid "--derivers"
  6206. msgstr ""
  6207. #. type: item
  6208. #: doc/guix.texi:2656 doc/guix.texi:3122 doc/guix.texi:7020
  6209. #, no-wrap
  6210. msgid "derivation"
  6211. msgstr ""
  6212. #. type: table
  6213. #: doc/guix.texi:2659
  6214. msgid ""
  6215. "Return the derivation(s) leading to the given store items "
  6216. "(@pxref{Derivations})."
  6217. msgstr ""
  6218. #. type: table
  6219. #: doc/guix.texi:2661
  6220. msgid "For example, this command:"
  6221. msgstr ""
  6222. #. type: example
  6223. #: doc/guix.texi:2664
  6224. #, no-wrap
  6225. msgid "guix gc --derivers `guix package -I ^emacs$ | cut -f4`\n"
  6226. msgstr ""
  6227. #. type: table
  6228. #: doc/guix.texi:2669
  6229. msgid ""
  6230. "returns the @file{.drv} file(s) leading to the @code{emacs} package "
  6231. "installed in your profile."
  6232. msgstr ""
  6233. #. type: table
  6234. #: doc/guix.texi:2673
  6235. msgid ""
  6236. "Note that there may be zero matching @file{.drv} files, for instance because "
  6237. "these files have been garbage-collected. There can also be more than one "
  6238. "matching @file{.drv} due to fixed-output derivations."
  6239. msgstr ""
  6240. #. type: Plain text
  6241. #: doc/guix.texi:2677
  6242. msgid ""
  6243. "Lastly, the following options allow you to check the integrity of the store "
  6244. "and to control disk usage."
  6245. msgstr ""
  6246. #. type: item
  6247. #: doc/guix.texi:2680
  6248. #, no-wrap
  6249. msgid "--verify[=@var{options}]"
  6250. msgstr ""
  6251. #. type: cindex
  6252. #: doc/guix.texi:2681
  6253. #, no-wrap
  6254. msgid "integrity, of the store"
  6255. msgstr ""
  6256. #. type: cindex
  6257. #: doc/guix.texi:2682
  6258. #, no-wrap
  6259. msgid "integrity checking"
  6260. msgstr ""
  6261. #. type: table
  6262. #: doc/guix.texi:2684
  6263. msgid "Verify the integrity of the store."
  6264. msgstr ""
  6265. #. type: table
  6266. #: doc/guix.texi:2687
  6267. msgid ""
  6268. "By default, make sure that all the store items marked as valid in the "
  6269. "database of the daemon actually exist in @file{/gnu/store}."
  6270. msgstr ""
  6271. #. type: table
  6272. #: doc/guix.texi:2690
  6273. msgid ""
  6274. "When provided, @var{options} must be a comma-separated list containing one "
  6275. "or more of @code{contents} and @code{repair}."
  6276. msgstr ""
  6277. #. type: table
  6278. #: doc/guix.texi:2696
  6279. msgid ""
  6280. "When passing @option{--verify=contents}, the daemon computes the content "
  6281. "hash of each store item and compares it against its hash in the database. "
  6282. "Hash mismatches are reported as data corruptions. Because it traverses "
  6283. "@emph{all the files in the store}, this command can take a long time, "
  6284. "especially on systems with a slow disk drive."
  6285. msgstr ""
  6286. #. type: cindex
  6287. #: doc/guix.texi:2697
  6288. #, no-wrap
  6289. msgid "repairing the store"
  6290. msgstr ""
  6291. #. type: cindex
  6292. #: doc/guix.texi:2698 doc/guix.texi:5833
  6293. #, no-wrap
  6294. msgid "corruption, recovering from"
  6295. msgstr ""
  6296. #. type: table
  6297. #: doc/guix.texi:2706
  6298. msgid ""
  6299. "Using @option{--verify=repair} or @option{--verify=contents,repair} causes "
  6300. "the daemon to try to repair corrupt store items by fetching substitutes for "
  6301. "them (@pxref{Substitutes}). Because repairing is not atomic, and thus "
  6302. "potentially dangerous, it is available only to the system administrator. A "
  6303. "lightweight alternative, when you know exactly which items in the store are "
  6304. "corrupt, is @command{guix build --repair} (@pxref{Invoking guix build})."
  6305. msgstr ""
  6306. #. type: item
  6307. #: doc/guix.texi:2707
  6308. #, no-wrap
  6309. msgid "--optimize"
  6310. msgstr ""
  6311. #. type: table
  6312. #: doc/guix.texi:2711
  6313. msgid ""
  6314. "Optimize the store by hard-linking identical files---this is "
  6315. "@dfn{deduplication}."
  6316. msgstr ""
  6317. #. type: table
  6318. #: doc/guix.texi:2717
  6319. msgid ""
  6320. "The daemon performs deduplication after each successful build or archive "
  6321. "import, unless it was started with @code{--disable-deduplication} "
  6322. "(@pxref{Invoking guix-daemon, @code{--disable-deduplication}}). Thus, this "
  6323. "option is primarily useful when the daemon was running with @code{--disable-"
  6324. "deduplication}."
  6325. msgstr ""
  6326. #. type: section
  6327. #: doc/guix.texi:2721
  6328. #, no-wrap
  6329. msgid "Invoking @command{guix pull}"
  6330. msgstr ""
  6331. #. type: cindex
  6332. #: doc/guix.texi:2723
  6333. #, no-wrap
  6334. msgid "upgrading Guix"
  6335. msgstr ""
  6336. #. type: cindex
  6337. #: doc/guix.texi:2724
  6338. #, no-wrap
  6339. msgid "updating Guix"
  6340. msgstr ""
  6341. #. type: command{#1}
  6342. #: doc/guix.texi:2725
  6343. #, no-wrap
  6344. msgid "guix pull"
  6345. msgstr ""
  6346. #. type: cindex
  6347. #: doc/guix.texi:2726
  6348. #, no-wrap
  6349. msgid "pull"
  6350. msgstr ""
  6351. #. type: Plain text
  6352. #: doc/guix.texi:2733
  6353. msgid ""
  6354. "Packages are installed or upgraded to the latest version available in the "
  6355. "distribution currently available on your local machine. To update that "
  6356. "distribution, along with the Guix tools, you must run @command{guix pull}: "
  6357. "the command downloads the latest Guix source code and package descriptions, "
  6358. "and deploys it. Source code is downloaded from a @uref{https://git-scm.com, "
  6359. "Git} repository."
  6360. msgstr ""
  6361. #. type: Plain text
  6362. #: doc/guix.texi:2739
  6363. msgid ""
  6364. "On completion, @command{guix package} will use packages and package versions "
  6365. "from this just-retrieved copy of Guix. Not only that, but all the Guix "
  6366. "commands and Scheme modules will also be taken from that latest version. "
  6367. "New @command{guix} sub-commands added by the update also become available."
  6368. msgstr ""
  6369. #. type: Plain text
  6370. #: doc/guix.texi:2749
  6371. msgid ""
  6372. "Any user can update their Guix copy using @command{guix pull}, and the "
  6373. "effect is limited to the user who run @command{guix pull}. For instance, "
  6374. "when user @code{root} runs @command{guix pull}, this has no effect on the "
  6375. "version of Guix that user @code{alice} sees, and vice versa@footnote{Under "
  6376. "the hood, @command{guix pull} updates the @file{~/.config/guix/latest} "
  6377. "symbolic link to point to the latest Guix, and the @command{guix} command "
  6378. "loads code from there. Currently, the only way to roll back an invocation "
  6379. "of @command{guix pull} is to manually update this symlink to point to the "
  6380. "previous Guix.}."
  6381. msgstr ""
  6382. #. type: Plain text
  6383. #: doc/guix.texi:2752
  6384. msgid ""
  6385. "The @command{guix pull} command is usually invoked with no arguments, but it "
  6386. "supports the following options:"
  6387. msgstr ""
  6388. #. type: table
  6389. #: doc/guix.texi:2756
  6390. msgid ""
  6391. "Produce verbose output, writing build logs to the standard error output."
  6392. msgstr ""
  6393. #. type: item
  6394. #: doc/guix.texi:2757
  6395. #, no-wrap
  6396. msgid "--url=@var{url}"
  6397. msgstr ""
  6398. #. type: table
  6399. #: doc/guix.texi:2759
  6400. msgid "Download Guix from the Git repository at @var{url}."
  6401. msgstr ""
  6402. #. type: vindex
  6403. #: doc/guix.texi:2760
  6404. #, no-wrap
  6405. msgid "GUIX_PULL_URL"
  6406. msgstr ""
  6407. #. type: table
  6408. #: doc/guix.texi:2764
  6409. msgid ""
  6410. "By default, the source is taken from its canonical Git repository at "
  6411. "@code{gnu.org}, for the stable branch of Guix. To use a different source, "
  6412. "set the @code{GUIX_PULL_URL} environment variable."
  6413. msgstr ""
  6414. #. type: item
  6415. #: doc/guix.texi:2765
  6416. #, no-wrap
  6417. msgid "--commit=@var{commit}"
  6418. msgstr ""
  6419. #. type: table
  6420. #: doc/guix.texi:2768
  6421. msgid ""
  6422. "Deploy @var{commit}, a valid Git commit ID represented as a hexadecimal "
  6423. "string."
  6424. msgstr ""
  6425. #. type: item
  6426. #: doc/guix.texi:2769
  6427. #, no-wrap
  6428. msgid "--branch=@var{branch}"
  6429. msgstr ""
  6430. #. type: table
  6431. #: doc/guix.texi:2772
  6432. msgid ""
  6433. "Deploy the tip of @var{branch}, the name of a Git branch available on the "
  6434. "repository at @var{url}."
  6435. msgstr ""
  6436. #. type: table
  6437. #: doc/guix.texi:2776
  6438. msgid ""
  6439. "Use the bootstrap Guile to build the latest Guix. This option is only "
  6440. "useful to Guix developers."
  6441. msgstr ""
  6442. #. type: Plain text
  6443. #: doc/guix.texi:2780
  6444. msgid ""
  6445. "In addition, @command{guix pull} supports all the common build options "
  6446. "(@pxref{Common Build Options})."
  6447. msgstr ""
  6448. #. type: section
  6449. #: doc/guix.texi:2782
  6450. #, no-wrap
  6451. msgid "Invoking @command{guix pack}"
  6452. msgstr ""
  6453. #. type: Plain text
  6454. #: doc/guix.texi:2788
  6455. msgid ""
  6456. "Occasionally you want to pass software to people who are not (yet!) lucky "
  6457. "enough to be using Guix. You'd tell them to run @command{guix package -i "
  6458. "@var{something}}, but that's not possible in this case. This is where "
  6459. "@command{guix pack} comes in."
  6460. msgstr ""
  6461. #. type: quotation
  6462. #: doc/guix.texi:2793
  6463. msgid ""
  6464. "If you are looking for ways to exchange binaries among machines that already "
  6465. "run Guix, @pxref{Invoking guix copy}, @ref{Invoking guix publish}, and "
  6466. "@ref{Invoking guix archive}."
  6467. msgstr ""
  6468. #. type: cindex
  6469. #: doc/guix.texi:2795
  6470. #, no-wrap
  6471. msgid "pack"
  6472. msgstr ""
  6473. #. type: cindex
  6474. #: doc/guix.texi:2796
  6475. #, no-wrap
  6476. msgid "bundle"
  6477. msgstr ""
  6478. #. type: cindex
  6479. #: doc/guix.texi:2797
  6480. #, no-wrap
  6481. msgid "application bundle"
  6482. msgstr ""
  6483. #. type: cindex
  6484. #: doc/guix.texi:2798
  6485. #, no-wrap
  6486. msgid "software bundle"
  6487. msgstr ""
  6488. #. type: Plain text
  6489. #: doc/guix.texi:2807
  6490. msgid ""
  6491. "The @command{guix pack} command creates a shrink-wrapped @dfn{pack} or "
  6492. "@dfn{software bundle}: it creates a tarball or some other archive containing "
  6493. "the binaries of the software you're interested in, and all its "
  6494. "dependencies. The resulting archive can be used on any machine that does "
  6495. "not have Guix, and people can run the exact same binaries as those you have "
  6496. "with Guix. The pack itself is created in a bit-reproducible fashion, so "
  6497. "anyone can verify that it really contains the build results that you pretend "
  6498. "to be shipping."
  6499. msgstr ""
  6500. #. type: Plain text
  6501. #: doc/guix.texi:2810
  6502. msgid ""
  6503. "For example, to create a bundle containing Guile, Emacs, Geiser, and all "
  6504. "their dependencies, you can run:"
  6505. msgstr ""
  6506. #. type: example
  6507. #: doc/guix.texi:2815
  6508. #, no-wrap
  6509. msgid ""
  6510. "$ guix pack guile emacs geiser\n"
  6511. "@dots{}\n"
  6512. "/gnu/store/@dots{}-pack.tar.gz\n"
  6513. msgstr ""
  6514. #. type: Plain text
  6515. #: doc/guix.texi:2823
  6516. msgid ""
  6517. "The result here is a tarball containing a @file{/gnu/store} directory with "
  6518. "all the relevant packages. The resulting tarball contains a @dfn{profile} "
  6519. "with the three packages of interest; the profile is the same as would be "
  6520. "created by @command{guix package -i}. It is this mechanism that is used to "
  6521. "create Guix's own standalone binary tarball (@pxref{Binary Installation})."
  6522. msgstr ""
  6523. #. type: Plain text
  6524. #: doc/guix.texi:2828
  6525. msgid ""
  6526. "Users of this pack would have to run @file{/gnu/store/@dots{}-profile/bin/"
  6527. "guile} to run Guile, which you may find inconvenient. To work around it, "
  6528. "you can create, say, a @file{/opt/gnu/bin} symlink to the profile:"
  6529. msgstr ""
  6530. #. type: example
  6531. #: doc/guix.texi:2831
  6532. #, no-wrap
  6533. msgid "guix pack -S /opt/gnu/bin=bin guile emacs geiser\n"
  6534. msgstr ""
  6535. #. type: Plain text
  6536. #: doc/guix.texi:2835
  6537. msgid "That way, users can happily type @file{/opt/gnu/bin/guile} and enjoy."
  6538. msgstr ""
  6539. #. type: Plain text
  6540. #: doc/guix.texi:2838
  6541. msgid ""
  6542. "Alternatively, you can produce a pack in the Docker image format using the "
  6543. "following command:"
  6544. msgstr ""
  6545. #. type: example
  6546. #: doc/guix.texi:2841
  6547. #, no-wrap
  6548. msgid "guix pack -f docker guile emacs geiser\n"
  6549. msgstr ""
  6550. #. type: Plain text
  6551. #: doc/guix.texi:2848
  6552. msgid ""
  6553. "The result is a tarball that can be passed to the @command{docker load} "
  6554. "command. See the @uref{https://docs.docker.com/engine/reference/commandline/"
  6555. "load/, Docker documentation} for more information."
  6556. msgstr ""
  6557. #. type: Plain text
  6558. #: doc/guix.texi:2850
  6559. msgid "Several command-line options allow you to customize your pack:"
  6560. msgstr ""
  6561. #. type: item
  6562. #: doc/guix.texi:2852
  6563. #, no-wrap
  6564. msgid "--format=@var{format}"
  6565. msgstr ""
  6566. #. type: itemx
  6567. #: doc/guix.texi:2853
  6568. #, no-wrap
  6569. msgid "-f @var{format}"
  6570. msgstr ""
  6571. #. type: table
  6572. #: doc/guix.texi:2855
  6573. msgid "Produce a pack in the given @var{format}."
  6574. msgstr ""
  6575. #. type: table
  6576. #: doc/guix.texi:2857
  6577. msgid "The available formats are:"
  6578. msgstr ""
  6579. #. type: item
  6580. #: doc/guix.texi:2859
  6581. #, no-wrap
  6582. msgid "tarball"
  6583. msgstr ""
  6584. #. type: table
  6585. #: doc/guix.texi:2862
  6586. msgid ""
  6587. "This is the default format. It produces a tarball containing all the "
  6588. "specified binaries and symlinks."
  6589. msgstr ""
  6590. #. type: item
  6591. #: doc/guix.texi:2863
  6592. #, no-wrap
  6593. msgid "docker"
  6594. msgstr ""
  6595. #. type: table
  6596. #: doc/guix.texi:2867
  6597. msgid ""
  6598. "This produces a tarball that follows the @uref{https://github.com/docker/"
  6599. "docker/blob/master/image/spec/v1.2.md, Docker Image Specification}."
  6600. msgstr ""
  6601. #. type: item
  6602. #: doc/guix.texi:2869 doc/guix.texi:5711 doc/guix.texi:6536 doc/guix.texi:7097
  6603. #: doc/guix.texi:7247 doc/guix.texi:20584
  6604. #, no-wrap
  6605. msgid "--expression=@var{expr}"
  6606. msgstr ""
  6607. #. type: itemx
  6608. #: doc/guix.texi:2870 doc/guix.texi:5712 doc/guix.texi:6537 doc/guix.texi:7098
  6609. #: doc/guix.texi:7248 doc/guix.texi:20585
  6610. #, no-wrap
  6611. msgid "-e @var{expr}"
  6612. msgstr ""
  6613. #. type: table
  6614. #: doc/guix.texi:2872 doc/guix.texi:6539 doc/guix.texi:7100
  6615. msgid "Consider the package @var{expr} evaluates to."
  6616. msgstr ""
  6617. #. type: table
  6618. #: doc/guix.texi:2876
  6619. msgid ""
  6620. "This has the same purpose as the same-named option in @command{guix build} "
  6621. "(@pxref{Additional Build Options, @code{--expression} in @command{guix "
  6622. "build}})."
  6623. msgstr ""
  6624. #. type: table
  6625. #: doc/guix.texi:2881
  6626. msgid ""
  6627. "Use the packages contained in the manifest object returned by the Scheme "
  6628. "code in @var{file}."
  6629. msgstr ""
  6630. #. type: table
  6631. #: doc/guix.texi:2889
  6632. msgid ""
  6633. "This has a similar purpose as the same-named option in @command{guix "
  6634. "package} (@pxref{profile-manifest, @option{--manifest}}) and uses the same "
  6635. "manifest files. It allows you to define a collection of packages once and "
  6636. "use it both for creating profiles and for creating archives for use on "
  6637. "machines that do not have Guix installed. Note that you can specify "
  6638. "@emph{either} a manifest file @emph{or} a list of packages, but not both."
  6639. msgstr ""
  6640. #. type: itemx
  6641. #: doc/guix.texi:2891 doc/guix.texi:5784 doc/guix.texi:6925 doc/guix.texi:7333
  6642. #: doc/guix.texi:7967 doc/guix.texi:20593
  6643. #, no-wrap
  6644. msgid "-s @var{system}"
  6645. msgstr ""
  6646. #. type: table
  6647. #: doc/guix.texi:2894 doc/guix.texi:5787
  6648. msgid ""
  6649. "Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of the "
  6650. "system type of the build host."
  6651. msgstr ""
  6652. #. type: item
  6653. #: doc/guix.texi:2895 doc/guix.texi:5808
  6654. #, no-wrap
  6655. msgid "--target=@var{triplet}"
  6656. msgstr ""
  6657. #. type: cindex
  6658. #: doc/guix.texi:2896 doc/guix.texi:3322 doc/guix.texi:5809
  6659. #, no-wrap
  6660. msgid "cross-compilation"
  6661. msgstr ""
  6662. #. type: table
  6663. #: doc/guix.texi:2900 doc/guix.texi:5813
  6664. msgid ""
  6665. "Cross-build for @var{triplet}, which must be a valid GNU triplet, such as "
  6666. "@code{\"mips64el-linux-gnu\"} (@pxref{Specifying target triplets, GNU "
  6667. "configuration triplets,, autoconf, Autoconf})."
  6668. msgstr ""
  6669. #. type: item
  6670. #: doc/guix.texi:2901
  6671. #, no-wrap
  6672. msgid "--compression=@var{tool}"
  6673. msgstr ""
  6674. #. type: itemx
  6675. #: doc/guix.texi:2902
  6676. #, no-wrap
  6677. msgid "-C @var{tool}"
  6678. msgstr ""
  6679. #. type: table
  6680. #: doc/guix.texi:2905
  6681. msgid ""
  6682. "Compress the resulting tarball using @var{tool}---one of @code{gzip}, "
  6683. "@code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no compression."
  6684. msgstr ""
  6685. #. type: item
  6686. #: doc/guix.texi:2906
  6687. #, no-wrap
  6688. msgid "--symlink=@var{spec}"
  6689. msgstr ""
  6690. #. type: itemx
  6691. #: doc/guix.texi:2907
  6692. #, no-wrap
  6693. msgid "-S @var{spec}"
  6694. msgstr ""
  6695. #. type: table
  6696. #: doc/guix.texi:2910
  6697. msgid ""
  6698. "Add the symlinks specified by @var{spec} to the pack. This option can "
  6699. "appear several times."
  6700. msgstr ""
  6701. #. type: table
  6702. #: doc/guix.texi:2914
  6703. msgid ""
  6704. "@var{spec} has the form @code{@var{source}=@var{target}}, where @var{source} "
  6705. "is the symlink that will be created and @var{target} is the symlink target."
  6706. msgstr ""
  6707. #. type: table
  6708. #: doc/guix.texi:2917
  6709. msgid ""
  6710. "For instance, @code{-S /opt/gnu/bin=bin} creates a @file{/opt/gnu/bin} "
  6711. "symlink pointing to the @file{bin} sub-directory of the profile."
  6712. msgstr ""
  6713. #. type: item
  6714. #: doc/guix.texi:2918
  6715. #, no-wrap
  6716. msgid "--localstatedir"
  6717. msgstr ""
  6718. #. type: table
  6719. #: doc/guix.texi:2921
  6720. msgid ""
  6721. "Include the ``local state directory'', @file{/var/guix}, in the resulting "
  6722. "pack."
  6723. msgstr ""
  6724. #. type: table
  6725. #: doc/guix.texi:2927
  6726. msgid ""
  6727. "@file{/var/guix} contains the store database (@pxref{The Store}) as well as "
  6728. "garbage-collector roots (@pxref{Invoking guix gc}). Providing it in the "
  6729. "pack means that the store is ``complete'' and manageable by Guix; not "
  6730. "providing it pack means that the store is ``dead'': items cannot be added to "
  6731. "it or removed from it after extraction of the pack."
  6732. msgstr ""
  6733. #. type: table
  6734. #: doc/guix.texi:2930
  6735. msgid ""
  6736. "One use case for this is the Guix self-contained binary tarball "
  6737. "(@pxref{Binary Installation})."
  6738. msgstr ""
  6739. #. type: table
  6740. #: doc/guix.texi:2934
  6741. msgid ""
  6742. "Use the bootstrap binaries to build the pack. This option is only useful to "
  6743. "Guix developers."
  6744. msgstr ""
  6745. #. type: Plain text
  6746. #: doc/guix.texi:2939
  6747. msgid ""
  6748. "In addition, @command{guix pack} supports all the common build options "
  6749. "(@pxref{Common Build Options}) and all the package transformation options "
  6750. "(@pxref{Package Transformation Options})."
  6751. msgstr ""
  6752. #. type: section
  6753. #: doc/guix.texi:2942
  6754. #, no-wrap
  6755. msgid "Invoking @command{guix archive}"
  6756. msgstr ""
  6757. #. type: command{#1}
  6758. #: doc/guix.texi:2944
  6759. #, no-wrap
  6760. msgid "guix archive"
  6761. msgstr ""
  6762. #. type: cindex
  6763. #: doc/guix.texi:2945
  6764. #, no-wrap
  6765. msgid "archive"
  6766. msgstr ""
  6767. #. type: Plain text
  6768. #: doc/guix.texi:2951
  6769. msgid ""
  6770. "The @command{guix archive} command allows users to @dfn{export} files from "
  6771. "the store into a single archive, and to later @dfn{import} them on a machine "
  6772. "that runs Guix. In particular, it allows store files to be transferred from "
  6773. "one machine to the store on another machine."
  6774. msgstr ""
  6775. #. type: quotation
  6776. #: doc/guix.texi:2955
  6777. msgid ""
  6778. "If you're looking for a way to produce archives in a format suitable for "
  6779. "tools other than Guix, @pxref{Invoking guix pack}."
  6780. msgstr ""
  6781. #. type: cindex
  6782. #: doc/guix.texi:2957
  6783. #, no-wrap
  6784. msgid "exporting store items"
  6785. msgstr ""
  6786. #. type: Plain text
  6787. #: doc/guix.texi:2959
  6788. msgid "To export store files as an archive to standard output, run:"
  6789. msgstr ""
  6790. #. type: example
  6791. #: doc/guix.texi:2962
  6792. #, no-wrap
  6793. msgid "guix archive --export @var{options} @var{specifications}...\n"
  6794. msgstr ""
  6795. #. type: Plain text
  6796. #: doc/guix.texi:2969
  6797. msgid ""
  6798. "@var{specifications} may be either store file names or package "
  6799. "specifications, as for @command{guix package} (@pxref{Invoking guix "
  6800. "package}). For instance, the following command creates an archive "
  6801. "containing the @code{gui} output of the @code{git} package and the main "
  6802. "output of @code{emacs}:"
  6803. msgstr ""
  6804. #. type: example
  6805. #: doc/guix.texi:2972
  6806. #, no-wrap
  6807. msgid "guix archive --export git:gui /gnu/store/...-emacs-24.3 > great.nar\n"
  6808. msgstr ""
  6809. #. type: Plain text
  6810. #: doc/guix.texi:2977
  6811. msgid ""
  6812. "If the specified packages are not built yet, @command{guix archive} "
  6813. "automatically builds them. The build process may be controlled with the "
  6814. "common build options (@pxref{Common Build Options})."
  6815. msgstr ""
  6816. #. type: Plain text
  6817. #: doc/guix.texi:2980
  6818. msgid ""
  6819. "To transfer the @code{emacs} package to a machine connected over SSH, one "
  6820. "would run:"
  6821. msgstr ""
  6822. #. type: example
  6823. #: doc/guix.texi:2983
  6824. #, no-wrap
  6825. msgid "guix archive --export -r emacs | ssh the-machine guix archive --import\n"
  6826. msgstr ""
  6827. #. type: Plain text
  6828. #: doc/guix.texi:2988
  6829. msgid ""
  6830. "Similarly, a complete user profile may be transferred from one machine to "
  6831. "another like this:"
  6832. msgstr ""
  6833. #. type: example
  6834. #: doc/guix.texi:2992
  6835. #, no-wrap
  6836. msgid ""
  6837. "guix archive --export -r $(readlink -f ~/.guix-profile) | \\\n"
  6838. " ssh the-machine guix-archive --import\n"
  6839. msgstr ""
  6840. #. type: Plain text
  6841. #: doc/guix.texi:3002
  6842. msgid ""
  6843. "However, note that, in both examples, all of @code{emacs} and the profile as "
  6844. "well as all of their dependencies are transferred (due to @code{-r}), "
  6845. "regardless of what is already available in the store on the target machine. "
  6846. "The @code{--missing} option can help figure out which items are missing from "
  6847. "the target store. The @command{guix copy} command simplifies and optimizes "
  6848. "this whole process, so this is probably what you should use in this case "
  6849. "(@pxref{Invoking guix copy})."
  6850. msgstr ""
  6851. #. type: cindex
  6852. #: doc/guix.texi:3003
  6853. #, no-wrap
  6854. msgid "nar, archive format"
  6855. msgstr ""
  6856. #. type: cindex
  6857. #: doc/guix.texi:3004
  6858. #, no-wrap
  6859. msgid "normalized archive (nar)"
  6860. msgstr ""
  6861. #. type: Plain text
  6862. #: doc/guix.texi:3014
  6863. msgid ""
  6864. "Archives are stored in the ``normalized archive'' or ``nar'' format, which "
  6865. "is comparable in spirit to `tar', but with differences that make it more "
  6866. "appropriate for our purposes. First, rather than recording all Unix "
  6867. "metadata for each file, the nar format only mentions the file type (regular, "
  6868. "directory, or symbolic link); Unix permissions and owner/group are "
  6869. "dismissed. Second, the order in which directory entries are stored always "
  6870. "follows the order of file names according to the C locale collation order. "
  6871. "This makes archive production fully deterministic."
  6872. msgstr ""
  6873. #. type: Plain text
  6874. #: doc/guix.texi:3020
  6875. msgid ""
  6876. "When exporting, the daemon digitally signs the contents of the archive, and "
  6877. "that digital signature is appended. When importing, the daemon verifies the "
  6878. "signature and rejects the import in case of an invalid signature or if the "
  6879. "signing key is not authorized."
  6880. msgstr ""
  6881. #. type: Plain text
  6882. #: doc/guix.texi:3022
  6883. msgid "The main options are:"
  6884. msgstr ""
  6885. #. type: item
  6886. #: doc/guix.texi:3024
  6887. #, no-wrap
  6888. msgid "--export"
  6889. msgstr ""
  6890. #. type: table
  6891. #: doc/guix.texi:3027
  6892. msgid ""
  6893. "Export the specified store files or packages (see below.) Write the "
  6894. "resulting archive to the standard output."
  6895. msgstr ""
  6896. #. type: table
  6897. #: doc/guix.texi:3030
  6898. msgid ""
  6899. "Dependencies are @emph{not} included in the output, unless @code{--"
  6900. "recursive} is passed."
  6901. msgstr ""
  6902. #. type: itemx
  6903. #: doc/guix.texi:3031 doc/guix.texi:6080
  6904. #, no-wrap
  6905. msgid "-r"
  6906. msgstr ""
  6907. #. type: item
  6908. #: doc/guix.texi:3032 doc/guix.texi:6079
  6909. #, no-wrap
  6910. msgid "--recursive"
  6911. msgstr ""
  6912. #. type: table
  6913. #: doc/guix.texi:3037
  6914. msgid ""
  6915. "When combined with @code{--export}, this instructs @command{guix archive} to "
  6916. "include dependencies of the given items in the archive. Thus, the resulting "
  6917. "archive is self-contained: it contains the closure of the exported store "
  6918. "items."
  6919. msgstr ""
  6920. #. type: item
  6921. #: doc/guix.texi:3038
  6922. #, no-wrap
  6923. msgid "--import"
  6924. msgstr ""
  6925. #. type: table
  6926. #: doc/guix.texi:3043
  6927. msgid ""
  6928. "Read an archive from the standard input, and import the files listed therein "
  6929. "into the store. Abort if the archive has an invalid digital signature, or "
  6930. "if it is signed by a public key not among the authorized keys (see @code{--"
  6931. "authorize} below.)"
  6932. msgstr ""
  6933. #. type: item
  6934. #: doc/guix.texi:3044
  6935. #, no-wrap
  6936. msgid "--missing"
  6937. msgstr ""
  6938. #. type: table
  6939. #: doc/guix.texi:3048
  6940. msgid ""
  6941. "Read a list of store file names from the standard input, one per line, and "
  6942. "write on the standard output the subset of these files missing from the "
  6943. "store."
  6944. msgstr ""
  6945. #. type: item
  6946. #: doc/guix.texi:3049
  6947. #, no-wrap
  6948. msgid "--generate-key[=@var{parameters}]"
  6949. msgstr ""
  6950. #. type: cindex
  6951. #: doc/guix.texi:3050
  6952. #, no-wrap
  6953. msgid "signing, archives"
  6954. msgstr ""
  6955. #. type: table
  6956. #: doc/guix.texi:3055
  6957. msgid ""
  6958. "Generate a new key pair for the daemon. This is a prerequisite before "
  6959. "archives can be exported with @code{--export}. Note that this operation "
  6960. "usually takes time, because it needs to gather enough entropy to generate "
  6961. "the key pair."
  6962. msgstr ""
  6963. #. type: table
  6964. #: doc/guix.texi:3065
  6965. msgid ""
  6966. "The generated key pair is typically stored under @file{/etc/guix}, in "
  6967. "@file{signing-key.pub} (public key) and @file{signing-key.sec} (private key, "
  6968. "which must be kept secret.) When @var{parameters} is omitted, an ECDSA key "
  6969. "using the Ed25519 curve is generated, or, for Libgcrypt versions before "
  6970. "1.6.0, it is a 4096-bit RSA key. Alternatively, @var{parameters} can "
  6971. "specify @code{genkey} parameters suitable for Libgcrypt (@pxref{General "
  6972. "public-key related Functions, @code{gcry_pk_genkey},, gcrypt, The Libgcrypt "
  6973. "Reference Manual})."
  6974. msgstr ""
  6975. #. type: item
  6976. #: doc/guix.texi:3066
  6977. #, no-wrap
  6978. msgid "--authorize"
  6979. msgstr ""
  6980. #. type: cindex
  6981. #: doc/guix.texi:3067
  6982. #, no-wrap
  6983. msgid "authorizing, archives"
  6984. msgstr ""
  6985. #. type: table
  6986. #: doc/guix.texi:3071
  6987. msgid ""
  6988. "Authorize imports signed by the public key passed on standard input. The "
  6989. "public key must be in ``s-expression advanced format''---i.e., the same "
  6990. "format as the @file{signing-key.pub} file."
  6991. msgstr ""
  6992. #. type: table
  6993. #: doc/guix.texi:3078
  6994. msgid ""
  6995. "The list of authorized keys is kept in the human-editable file @file{/etc/"
  6996. "guix/acl}. The file contains @url{http://people.csail.mit.edu/rivest/Sexp."
  6997. "txt, ``advanced-format s-expressions''} and is structured as an access-"
  6998. "control list in the @url{http://theworld.com/~cme/spki.txt, Simple Public-"
  6999. "Key Infrastructure (SPKI)}."
  7000. msgstr ""
  7001. #. type: item
  7002. #: doc/guix.texi:3079
  7003. #, no-wrap
  7004. msgid "--extract=@var{directory}"
  7005. msgstr ""
  7006. #. type: itemx
  7007. #: doc/guix.texi:3080
  7008. #, no-wrap
  7009. msgid "-x @var{directory}"
  7010. msgstr ""
  7011. #. type: table
  7012. #: doc/guix.texi:3084
  7013. msgid ""
  7014. "Read a single-item archive as served by substitute servers "
  7015. "(@pxref{Substitutes}) and extract it to @var{directory}. This is a low-"
  7016. "level operation needed in only very narrow use cases; see below."
  7017. msgstr ""
  7018. #. type: table
  7019. #: doc/guix.texi:3087
  7020. msgid ""
  7021. "For example, the following command extracts the substitute for Emacs served "
  7022. "by @code{hydra.gnu.org} to @file{/tmp/emacs}:"
  7023. msgstr ""
  7024. #. type: example
  7025. #: doc/guix.texi:3092
  7026. #, no-wrap
  7027. msgid ""
  7028. "$ wget -O - \\\n"
  7029. " https://hydra.gnu.org/nar/@dots{}-emacs-24.5 \\\n"
  7030. " | bunzip2 | guix archive -x /tmp/emacs\n"
  7031. msgstr ""
  7032. #. type: table
  7033. #: doc/guix.texi:3099
  7034. msgid ""
  7035. "Single-item archives are different from multiple-item archives produced by "
  7036. "@command{guix archive --export}; they contain a single store item, and they "
  7037. "do @emph{not} embed a signature. Thus this operation does @emph{no} "
  7038. "signature verification and its output should be considered unsafe."
  7039. msgstr ""
  7040. #. type: table
  7041. #: doc/guix.texi:3102
  7042. msgid ""
  7043. "The primary purpose of this operation is to facilitate inspection of archive "
  7044. "contents coming from possibly untrusted substitute servers."
  7045. msgstr ""
  7046. #. type: Plain text
  7047. #: doc/guix.texi:3115
  7048. msgid ""
  7049. "GNU Guix provides several Scheme programming interfaces (APIs) to define, "
  7050. "build, and query packages. The first interface allows users to write high-"
  7051. "level package definitions. These definitions refer to familiar packaging "
  7052. "concepts, such as the name and version of a package, its build system, and "
  7053. "its dependencies. These definitions can then be turned into concrete build "
  7054. "actions."
  7055. msgstr ""
  7056. #. type: Plain text
  7057. #: doc/guix.texi:3121
  7058. msgid ""
  7059. "Build actions are performed by the Guix daemon, on behalf of users. In a "
  7060. "standard setup, the daemon has write access to the store---the @file{/gnu/"
  7061. "store} directory---whereas users do not. The recommended setup also has the "
  7062. "daemon perform builds in chroots, under a specific build users, to minimize "
  7063. "interference with the rest of the system."
  7064. msgstr ""
  7065. #. type: Plain text
  7066. #: doc/guix.texi:3130
  7067. msgid ""
  7068. "Lower-level APIs are available to interact with the daemon and the store. "
  7069. "To instruct the daemon to perform a build action, users actually provide it "
  7070. "with a @dfn{derivation}. A derivation is a low-level representation of the "
  7071. "build actions to be taken, and the environment in which they should occur---"
  7072. "derivations are to package definitions what assembly is to C programs. The "
  7073. "term ``derivation'' comes from the fact that build results @emph{derive} "
  7074. "from them."
  7075. msgstr ""
  7076. #. type: Plain text
  7077. #: doc/guix.texi:3133
  7078. msgid ""
  7079. "This chapter describes all these APIs in turn, starting from high-level "
  7080. "package definitions."
  7081. msgstr ""
  7082. #. type: Plain text
  7083. #: doc/guix.texi:3150
  7084. msgid ""
  7085. "The high-level interface to package definitions is implemented in the "
  7086. "@code{(guix packages)} and @code{(guix build-system)} modules. As an "
  7087. "example, the package definition, or @dfn{recipe}, for the GNU Hello package "
  7088. "looks like this:"
  7089. msgstr ""
  7090. #. type: example
  7091. #: doc/guix.texi:3158
  7092. #, no-wrap
  7093. msgid ""
  7094. "(define-module (gnu packages hello)\n"
  7095. " #:use-module (guix packages)\n"
  7096. " #:use-module (guix download)\n"
  7097. " #:use-module (guix build-system gnu)\n"
  7098. " #:use-module (guix licenses)\n"
  7099. " #:use-module (gnu packages gawk))\n"
  7100. "\n"
  7101. msgstr ""
  7102. #. type: example
  7103. #: doc/guix.texi:3177
  7104. #, no-wrap
  7105. msgid ""
  7106. "(define-public hello\n"
  7107. " (package\n"
  7108. " (name \"hello\")\n"
  7109. " (version \"2.10\")\n"
  7110. " (source (origin\n"
  7111. " (method url-fetch)\n"
  7112. " (uri (string-append \"mirror://gnu/hello/hello-\" version\n"
  7113. " \".tar.gz\"))\n"
  7114. " (sha256\n"
  7115. " (base32\n"
  7116. " \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n"
  7117. " (build-system gnu-build-system)\n"
  7118. " (arguments '(#:configure-flags '(\"--enable-silent-rules\")))\n"
  7119. " (inputs `((\"gawk\" ,gawk)))\n"
  7120. " (synopsis \"Hello, GNU world: An example GNU package\")\n"
  7121. " (description \"Guess what GNU Hello prints!\")\n"
  7122. " (home-page \"http://www.gnu.org/software/hello/\")\n"
  7123. " (license gpl3+)))\n"
  7124. msgstr ""
  7125. #. type: Plain text
  7126. #: doc/guix.texi:3187
  7127. msgid ""
  7128. "Without being a Scheme expert, the reader may have guessed the meaning of "
  7129. "the various fields here. This expression binds the variable @code{hello} to "
  7130. "a @code{<package>} object, which is essentially a record (@pxref{SRFI-9, "
  7131. "Scheme records,, guile, GNU Guile Reference Manual}). This package object "
  7132. "can be inspected using procedures found in the @code{(guix packages)} "
  7133. "module; for instance, @code{(package-name hello)} returns---surprise!---"
  7134. "@code{\"hello\"}."
  7135. msgstr ""
  7136. #. type: Plain text
  7137. #: doc/guix.texi:3191
  7138. msgid ""
  7139. "With luck, you may be able to import part or all of the definition of the "
  7140. "package you are interested in from another repository, using the @code{guix "
  7141. "import} command (@pxref{Invoking guix import})."
  7142. msgstr ""
  7143. #. type: Plain text
  7144. #: doc/guix.texi:3197
  7145. msgid ""
  7146. "In the example above, @var{hello} is defined in a module of its own, "
  7147. "@code{(gnu packages hello)}. Technically, this is not strictly necessary, "
  7148. "but it is convenient to do so: all the packages defined in modules under "
  7149. "@code{(gnu packages @dots{})} are automatically known to the command-line "
  7150. "tools (@pxref{Package Modules})."
  7151. msgstr ""
  7152. #. type: Plain text
  7153. #: doc/guix.texi:3199
  7154. msgid "There are a few points worth noting in the above package definition:"
  7155. msgstr ""
  7156. #. type: itemize
  7157. #: doc/guix.texi:3206
  7158. msgid ""
  7159. "The @code{source} field of the package is an @code{<origin>} object "
  7160. "(@pxref{origin Reference}, for the complete reference). Here, the @code{url-"
  7161. "fetch} method from @code{(guix download)} is used, meaning that the source "
  7162. "is a file to be downloaded over FTP or HTTP."
  7163. msgstr ""
  7164. #. type: itemize
  7165. #: doc/guix.texi:3209
  7166. msgid ""
  7167. "The @code{mirror://gnu} prefix instructs @code{url-fetch} to use one of the "
  7168. "GNU mirrors defined in @code{(guix download)}."
  7169. msgstr ""
  7170. #. type: itemize
  7171. #: doc/guix.texi:3216
  7172. msgid ""
  7173. "The @code{sha256} field specifies the expected SHA256 hash of the file being "
  7174. "downloaded. It is mandatory, and allows Guix to check the integrity of the "
  7175. "file. The @code{(base32 @dots{})} form introduces the base32 representation "
  7176. "of the hash. You can obtain this information with @code{guix download} "
  7177. "(@pxref{Invoking guix download}) and @code{guix hash} (@pxref{Invoking guix "
  7178. "hash})."
  7179. msgstr ""
  7180. #. type: cindex
  7181. #: doc/guix.texi:3217
  7182. #, no-wrap
  7183. msgid "patches"
  7184. msgstr ""
  7185. #. type: itemize
  7186. #: doc/guix.texi:3221
  7187. msgid ""
  7188. "When needed, the @code{origin} form can also have a @code{patches} field "
  7189. "listing patches to be applied, and a @code{snippet} field giving a Scheme "
  7190. "expression to modify the source code."
  7191. msgstr ""
  7192. #. type: cindex
  7193. #: doc/guix.texi:3223
  7194. #, no-wrap
  7195. msgid "GNU Build System"
  7196. msgstr ""
  7197. #. type: itemize
  7198. #: doc/guix.texi:3229
  7199. msgid ""
  7200. "The @code{build-system} field specifies the procedure to build the package "
  7201. "(@pxref{Build Systems}). Here, @var{gnu-build-system} represents the "
  7202. "familiar GNU Build System, where packages may be configured, built, and "
  7203. "installed with the usual @code{./configure && make && make check && make "
  7204. "install} command sequence."
  7205. msgstr ""
  7206. #. type: itemize
  7207. #: doc/guix.texi:3235
  7208. msgid ""
  7209. "The @code{arguments} field specifies options for the build system "
  7210. "(@pxref{Build Systems}). Here it is interpreted by @var{gnu-build-system} "
  7211. "as a request run @file{configure} with the @code{--enable-silent-rules} flag."
  7212. msgstr ""
  7213. #. type: findex
  7214. #: doc/guix.texi:3236 doc/guix.texi:3239
  7215. #, no-wrap
  7216. msgid "quote"
  7217. msgstr ""
  7218. #. type: cindex
  7219. #: doc/guix.texi:3237
  7220. #, no-wrap
  7221. msgid "quoting"
  7222. msgstr ""
  7223. #. type: findex
  7224. #: doc/guix.texi:3238
  7225. #, no-wrap
  7226. msgid "'"
  7227. msgstr ""
  7228. #. type: itemize
  7229. #: doc/guix.texi:3247
  7230. msgid ""
  7231. "What about these quote (@code{'}) characters? They are Scheme syntax to "
  7232. "introduce a literal list; @code{'} is synonymous with @code{quote}. "
  7233. "@xref{Expression Syntax, quoting,, guile, GNU Guile Reference Manual}, for "
  7234. "details. Here the value of the @code{arguments} field is a list of "
  7235. "arguments passed to the build system down the road, as with @code{apply} "
  7236. "(@pxref{Fly Evaluation, @code{apply},, guile, GNU Guile Reference Manual})."
  7237. msgstr ""
  7238. #. type: itemize
  7239. #: doc/guix.texi:3253
  7240. msgid ""
  7241. "The hash-colon (@code{#:}) sequence defines a Scheme @dfn{keyword} "
  7242. "(@pxref{Keywords,,, guile, GNU Guile Reference Manual}), and @code{#:"
  7243. "configure-flags} is a keyword used to pass a keyword argument to the build "
  7244. "system (@pxref{Coding With Keywords,,, guile, GNU Guile Reference Manual})."
  7245. msgstr ""
  7246. #. type: itemize
  7247. #: doc/guix.texi:3259
  7248. msgid ""
  7249. "The @code{inputs} field specifies inputs to the build process---i.e., build-"
  7250. "time or run-time dependencies of the package. Here, we define an input "
  7251. "called @code{\"gawk\"} whose value is that of the @var{gawk} variable; "
  7252. "@var{gawk} is itself bound to a @code{<package>} object."
  7253. msgstr ""
  7254. #. type: cindex
  7255. #: doc/guix.texi:3260
  7256. #, no-wrap
  7257. msgid "backquote (quasiquote)"
  7258. msgstr ""
  7259. #. type: findex
  7260. #: doc/guix.texi:3261
  7261. #, no-wrap
  7262. msgid "`"
  7263. msgstr ""
  7264. #. type: findex
  7265. #: doc/guix.texi:3262
  7266. #, no-wrap
  7267. msgid "quasiquote"
  7268. msgstr ""
  7269. #. type: cindex
  7270. #: doc/guix.texi:3263
  7271. #, no-wrap
  7272. msgid "comma (unquote)"
  7273. msgstr ""
  7274. #. type: findex
  7275. #: doc/guix.texi:3264
  7276. #, no-wrap
  7277. msgid ","
  7278. msgstr ""
  7279. #. type: findex
  7280. #: doc/guix.texi:3265
  7281. #, no-wrap
  7282. msgid "unquote"
  7283. msgstr ""
  7284. #. type: findex
  7285. #: doc/guix.texi:3266
  7286. #, no-wrap
  7287. msgid ",@@"
  7288. msgstr ""
  7289. #. type: findex
  7290. #: doc/guix.texi:3267
  7291. #, no-wrap
  7292. msgid "unquote-splicing"
  7293. msgstr ""
  7294. #. type: itemize
  7295. #: doc/guix.texi:3273
  7296. msgid ""
  7297. "Again, @code{`} (a backquote, synonymous with @code{quasiquote}) allows us "
  7298. "to introduce a literal list in the @code{inputs} field, while @code{,} (a "
  7299. "comma, synonymous with @code{unquote}) allows us to insert a value in that "
  7300. "list (@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference "
  7301. "Manual})."
  7302. msgstr ""
  7303. #. type: itemize
  7304. #: doc/guix.texi:3277
  7305. msgid ""
  7306. "Note that GCC, Coreutils, Bash, and other essential tools do not need to be "
  7307. "specified as inputs here. Instead, @var{gnu-build-system} takes care of "
  7308. "ensuring that they are present (@pxref{Build Systems})."
  7309. msgstr ""
  7310. #. type: itemize
  7311. #: doc/guix.texi:3281
  7312. msgid ""
  7313. "However, any other dependencies need to be specified in the @code{inputs} "
  7314. "field. Any dependency not specified here will simply be unavailable to the "
  7315. "build process, possibly leading to a build failure."
  7316. msgstr ""
  7317. #. type: Plain text
  7318. #: doc/guix.texi:3284
  7319. msgid "@xref{package Reference}, for a full description of possible fields."
  7320. msgstr ""
  7321. #. type: Plain text
  7322. #: doc/guix.texi:3295
  7323. msgid ""
  7324. "Once a package definition is in place, the package may actually be built "
  7325. "using the @code{guix build} command-line tool (@pxref{Invoking guix build}), "
  7326. "troubleshooting any build failures you encounter (@pxref{Debugging Build "
  7327. "Failures}). You can easily jump back to the package definition using the "
  7328. "@command{guix edit} command (@pxref{Invoking guix edit}). @xref{Packaging "
  7329. "Guidelines}, for more information on how to test package definitions, and "
  7330. "@ref{Invoking guix lint}, for information on how to check a definition for "
  7331. "style conformance."
  7332. msgstr ""
  7333. #. type: vindex
  7334. #: doc/guix.texi:3295
  7335. #, no-wrap
  7336. msgid "GUIX_PACKAGE_PATH"
  7337. msgstr ""
  7338. #. type: Plain text
  7339. #: doc/guix.texi:3299
  7340. msgid ""
  7341. "Lastly, @pxref{Package Modules}, for information on how to extend the "
  7342. "distribution by adding your own package definitions to "
  7343. "@code{GUIX_PACKAGE_PATH}."
  7344. msgstr ""
  7345. #. type: Plain text
  7346. #: doc/guix.texi:3303
  7347. msgid ""
  7348. "Finally, updating the package definition to a new upstream version can be "
  7349. "partly automated by the @command{guix refresh} command (@pxref{Invoking guix "
  7350. "refresh})."
  7351. msgstr ""
  7352. #. type: Plain text
  7353. #: doc/guix.texi:3309
  7354. msgid ""
  7355. "Behind the scenes, a derivation corresponding to the @code{<package>} object "
  7356. "is first computed by the @code{package-derivation} procedure. That "
  7357. "derivation is stored in a @code{.drv} file under @file{/gnu/store}. The "
  7358. "build actions it prescribes may then be realized by using the @code{build-"
  7359. "derivations} procedure (@pxref{The Store})."
  7360. msgstr ""
  7361. #. type: deffn
  7362. #: doc/guix.texi:3310
  7363. #, no-wrap
  7364. msgid "{Scheme Procedure} package-derivation @var{store} @var{package} [@var{system}]"
  7365. msgstr ""
  7366. #. type: deffn
  7367. #: doc/guix.texi:3313
  7368. msgid ""
  7369. "Return the @code{<derivation>} object of @var{package} for @var{system} "
  7370. "(@pxref{Derivations})."
  7371. msgstr ""
  7372. #. type: deffn
  7373. #: doc/guix.texi:3319
  7374. msgid ""
  7375. "@var{package} must be a valid @code{<package>} object, and @var{system} must "
  7376. "be a string denoting the target system type---e.g., @code{\"x86_64-linux\"} "
  7377. "for an x86_64 Linux-based GNU system. @var{store} must be a connection to "
  7378. "the daemon, which operates on the store (@pxref{The Store})."
  7379. msgstr ""
  7380. #. type: Plain text
  7381. #: doc/guix.texi:3325
  7382. msgid ""
  7383. "Similarly, it is possible to compute a derivation that cross-builds a "
  7384. "package for some other system:"
  7385. msgstr ""
  7386. #. type: deffn
  7387. #: doc/guix.texi:3326
  7388. #, no-wrap
  7389. msgid "{Scheme Procedure} package-cross-derivation @var{store} @"
  7390. msgstr ""
  7391. #. type: deffn
  7392. #: doc/guix.texi:3330
  7393. msgid ""
  7394. "@var{package} @var{target} [@var{system}] Return the @code{<derivation>} "
  7395. "object of @var{package} cross-built from @var{system} to @var{target}."
  7396. msgstr ""
  7397. #. type: deffn
  7398. #: doc/guix.texi:3335
  7399. msgid ""
  7400. "@var{target} must be a valid GNU triplet denoting the target hardware and "
  7401. "operating system, such as @code{\"mips64el-linux-gnu\"} "
  7402. "(@pxref{Configuration Names, GNU configuration triplets,, configure, GNU "
  7403. "Configure and Build System})."
  7404. msgstr ""
  7405. #. type: cindex
  7406. #: doc/guix.texi:3337
  7407. #, no-wrap
  7408. msgid "package transformations"
  7409. msgstr ""
  7410. #. type: cindex
  7411. #: doc/guix.texi:3338
  7412. #, no-wrap
  7413. msgid "input rewriting"
  7414. msgstr ""
  7415. #. type: cindex
  7416. #: doc/guix.texi:3339
  7417. #, no-wrap
  7418. msgid "dependency tree rewriting"
  7419. msgstr ""
  7420. #. type: Plain text
  7421. #: doc/guix.texi:3343
  7422. msgid ""
  7423. "Packages can be manipulated in arbitrary ways. An example of a useful "
  7424. "transformation is @dfn{input rewriting}, whereby the dependency tree of a "
  7425. "package is rewritten by replacing specific inputs by others:"
  7426. msgstr ""
  7427. #. type: deffn
  7428. #: doc/guix.texi:3344
  7429. #, no-wrap
  7430. msgid "{Scheme Procedure} package-input-rewriting @var{replacements} @"
  7431. msgstr ""
  7432. #. type: deffn
  7433. #: doc/guix.texi:3351
  7434. msgid ""
  7435. "[@var{rewrite-name}] Return a procedure that, when passed a package, "
  7436. "replaces its direct and indirect dependencies (but not its implicit inputs) "
  7437. "according to @var{replacements}. @var{replacements} is a list of package "
  7438. "pairs; the first element of each pair is the package to replace, and the "
  7439. "second one is the replacement."
  7440. msgstr ""
  7441. #. type: deffn
  7442. #: doc/guix.texi:3354
  7443. msgid ""
  7444. "Optionally, @var{rewrite-name} is a one-argument procedure that takes the "
  7445. "name of a package and returns its new name after rewrite."
  7446. msgstr ""
  7447. #. type: Plain text
  7448. #: doc/guix.texi:3358
  7449. msgid "Consider this example:"
  7450. msgstr ""
  7451. #. type: example
  7452. #: doc/guix.texi:3364
  7453. #, no-wrap
  7454. msgid ""
  7455. "(define libressl-instead-of-openssl\n"
  7456. " ;; This is a procedure to replace OPENSSL by LIBRESSL,\n"
  7457. " ;; recursively.\n"
  7458. " (package-input-rewriting `((,openssl . ,libressl))))\n"
  7459. "\n"
  7460. msgstr ""
  7461. #. type: example
  7462. #: doc/guix.texi:3367
  7463. #, no-wrap
  7464. msgid ""
  7465. "(define git-with-libressl\n"
  7466. " (libressl-instead-of-openssl git))\n"
  7467. msgstr ""
  7468. #. type: Plain text
  7469. #: doc/guix.texi:3375
  7470. msgid ""
  7471. "Here we first define a rewriting procedure that replaces @var{openssl} with "
  7472. "@var{libressl}. Then we use it to define a @dfn{variant} of the @var{git} "
  7473. "package that uses @var{libressl} instead of @var{openssl}. This is exactly "
  7474. "what the @option{--with-input} command-line option does (@pxref{Package "
  7475. "Transformation Options, @option{--with-input}})."
  7476. msgstr ""
  7477. #. type: Plain text
  7478. #: doc/guix.texi:3379
  7479. msgid ""
  7480. "A more generic procedure to rewrite a package dependency graph is "
  7481. "@code{package-mapping}: it supports arbitrary changes to nodes in the graph."
  7482. msgstr ""
  7483. #. type: deffn
  7484. #: doc/guix.texi:3380
  7485. #, no-wrap
  7486. msgid "{Scheme Procedure} package-mapping @var{proc} [@var{cut?}]"
  7487. msgstr ""
  7488. #. type: deffn
  7489. #: doc/guix.texi:3384
  7490. msgid ""
  7491. "Return a procedure that, given a package, applies @var{proc} to all the "
  7492. "packages depended on and returns the resulting package. The procedure stops "
  7493. "recursion when @var{cut?} returns true for a given package."
  7494. msgstr ""
  7495. #. type: subsection
  7496. #: doc/guix.texi:3393
  7497. #, no-wrap
  7498. msgid "@code{package} Reference"
  7499. msgstr ""
  7500. #. type: Plain text
  7501. #: doc/guix.texi:3397
  7502. msgid ""
  7503. "This section summarizes all the options available in @code{package} "
  7504. "declarations (@pxref{Defining Packages})."
  7505. msgstr ""
  7506. #. type: deftp
  7507. #: doc/guix.texi:3398
  7508. #, no-wrap
  7509. msgid "{Data Type} package"
  7510. msgstr ""
  7511. #. type: deftp
  7512. #: doc/guix.texi:3400
  7513. msgid "This is the data type representing a package recipe."
  7514. msgstr ""
  7515. #. type: table
  7516. #: doc/guix.texi:3404
  7517. msgid "The name of the package, as a string."
  7518. msgstr ""
  7519. #. type: code{#1}
  7520. #: doc/guix.texi:3405
  7521. #, no-wrap
  7522. msgid "version"
  7523. msgstr ""
  7524. #. type: table
  7525. #: doc/guix.texi:3407
  7526. msgid "The version of the package, as a string."
  7527. msgstr ""
  7528. #. type: code{#1}
  7529. #: doc/guix.texi:3408 doc/guix.texi:6743 doc/guix.texi:9281 doc/guix.texi:9569
  7530. #, no-wrap
  7531. msgid "source"
  7532. msgstr ""
  7533. #. type: table
  7534. #: doc/guix.texi:3415
  7535. msgid ""
  7536. "An object telling how the source code for the package should be acquired. "
  7537. "Most of the time, this is an @code{origin} object, which denotes a file "
  7538. "fetched from the Internet (@pxref{origin Reference}). It can also be any "
  7539. "other ``file-like'' object such as a @code{local-file}, which denotes a file "
  7540. "from the local file system (@pxref{G-Expressions, @code{local-file}})."
  7541. msgstr ""
  7542. #. type: code{#1}
  7543. #: doc/guix.texi:3416
  7544. #, no-wrap
  7545. msgid "build-system"
  7546. msgstr ""
  7547. #. type: table
  7548. #: doc/guix.texi:3419
  7549. msgid ""
  7550. "The build system that should be used to build the package (@pxref{Build "
  7551. "Systems})."
  7552. msgstr ""
  7553. #. type: item
  7554. #: doc/guix.texi:3420 doc/guix.texi:11018
  7555. #, no-wrap
  7556. msgid "@code{arguments} (default: @code{'()})"
  7557. msgstr ""
  7558. #. type: table
  7559. #: doc/guix.texi:3423
  7560. msgid ""
  7561. "The arguments that should be passed to the build system. This is a list, "
  7562. "typically containing sequential keyword-value pairs."
  7563. msgstr ""
  7564. #. type: item
  7565. #: doc/guix.texi:3424
  7566. #, no-wrap
  7567. msgid "@code{inputs} (default: @code{'()})"
  7568. msgstr ""
  7569. #. type: itemx
  7570. #: doc/guix.texi:3425
  7571. #, no-wrap
  7572. msgid "@code{native-inputs} (default: @code{'()})"
  7573. msgstr ""
  7574. #. type: itemx
  7575. #: doc/guix.texi:3426
  7576. #, no-wrap
  7577. msgid "@code{propagated-inputs} (default: @code{'()})"
  7578. msgstr ""
  7579. #. type: cindex
  7580. #: doc/guix.texi:3427
  7581. #, no-wrap
  7582. msgid "inputs, of packages"
  7583. msgstr ""
  7584. #. type: table
  7585. #: doc/guix.texi:3435
  7586. msgid ""
  7587. "These fields list dependencies of the package. Each one is a list of "
  7588. "tuples, where each tuple has a label for the input (a string) as its first "
  7589. "element, a package, origin, or derivation as its second element, and "
  7590. "optionally the name of the output thereof that should be used, which "
  7591. "defaults to @code{\"out\"} (@pxref{Packages with Multiple Outputs}, for more "
  7592. "on package outputs). For example, the list below specifies three inputs:"
  7593. msgstr ""
  7594. #. type: example
  7595. #: doc/guix.texi:3440
  7596. #, no-wrap
  7597. msgid ""
  7598. "`((\"libffi\" ,libffi)\n"
  7599. " (\"libunistring\" ,libunistring)\n"
  7600. " (\"glib:bin\" ,glib \"bin\")) ;the \"bin\" output of Glib\n"
  7601. msgstr ""
  7602. #. type: cindex
  7603. #: doc/guix.texi:3442
  7604. #, no-wrap
  7605. msgid "cross compilation, package dependencies"
  7606. msgstr ""
  7607. #. type: table
  7608. #: doc/guix.texi:3448
  7609. msgid ""
  7610. "The distinction between @code{native-inputs} and @code{inputs} is necessary "
  7611. "when considering cross-compilation. When cross-compiling, dependencies "
  7612. "listed in @code{inputs} are built for the @emph{target} architecture; "
  7613. "conversely, dependencies listed in @code{native-inputs} are built for the "
  7614. "architecture of the @emph{build} machine."
  7615. msgstr ""
  7616. #. type: table
  7617. #: doc/guix.texi:3453
  7618. msgid ""
  7619. "@code{native-inputs} is typically used to list tools needed at build time, "
  7620. "but not at run time, such as Autoconf, Automake, pkg-config, Gettext, or "
  7621. "Bison. @command{guix lint} can report likely mistakes in this area "
  7622. "(@pxref{Invoking guix lint})."
  7623. msgstr ""
  7624. #. type: anchor{#1}
  7625. #: doc/guix.texi:3460
  7626. msgid "package-propagated-inputs"
  7627. msgstr ""
  7628. #. type: table
  7629. #: doc/guix.texi:3460
  7630. msgid ""
  7631. "Lastly, @code{propagated-inputs} is similar to @code{inputs}, but the "
  7632. "specified packages will be automatically installed alongside the package "
  7633. "they belong to (@pxref{package-cmd-propagated-inputs, @command{guix "
  7634. "package}}, for information on how @command{guix package} deals with "
  7635. "propagated inputs.)"
  7636. msgstr ""
  7637. #. type: table
  7638. #: doc/guix.texi:3464
  7639. msgid ""
  7640. "For example this is necessary when a C/C++ library needs headers of another "
  7641. "library to compile, or when a pkg-config file refers to another one @i{via} "
  7642. "its @code{Requires} field."
  7643. msgstr ""
  7644. #. type: table
  7645. #: doc/guix.texi:3471
  7646. msgid ""
  7647. "Another example where @code{propagated-inputs} is useful is for languages "
  7648. "that lack a facility to record the run-time search path akin to the "
  7649. "@code{RUNPATH} of ELF files; this includes Guile, Python, Perl, and more. "
  7650. "To ensure that libraries written in those languages can find library code "
  7651. "they depend on at run time, run-time dependencies must be listed in "
  7652. "@code{propagated-inputs} rather than @code{inputs}."
  7653. msgstr ""
  7654. #. type: item
  7655. #: doc/guix.texi:3472
  7656. #, no-wrap
  7657. msgid "@code{self-native-input?} (default: @code{#f})"
  7658. msgstr ""
  7659. #. type: table
  7660. #: doc/guix.texi:3475
  7661. msgid ""
  7662. "This is a Boolean field telling whether the package should use itself as a "
  7663. "native input when cross-compiling."
  7664. msgstr ""
  7665. #. type: item
  7666. #: doc/guix.texi:3476
  7667. #, no-wrap
  7668. msgid "@code{outputs} (default: @code{'(\"out\")})"
  7669. msgstr ""
  7670. #. type: table
  7671. #: doc/guix.texi:3479
  7672. msgid ""
  7673. "The list of output names of the package. @xref{Packages with Multiple "
  7674. "Outputs}, for typical uses of additional outputs."
  7675. msgstr ""
  7676. #. type: item
  7677. #: doc/guix.texi:3480
  7678. #, no-wrap
  7679. msgid "@code{native-search-paths} (default: @code{'()})"
  7680. msgstr ""
  7681. #. type: itemx
  7682. #: doc/guix.texi:3481
  7683. #, no-wrap
  7684. msgid "@code{search-paths} (default: @code{'()})"
  7685. msgstr ""
  7686. #. type: table
  7687. #: doc/guix.texi:3484
  7688. msgid ""
  7689. "A list of @code{search-path-specification} objects describing search-path "
  7690. "environment variables honored by the package."
  7691. msgstr ""
  7692. #. type: item
  7693. #: doc/guix.texi:3485
  7694. #, no-wrap
  7695. msgid "@code{replacement} (default: @code{#f})"
  7696. msgstr ""
  7697. #. type: table
  7698. #: doc/guix.texi:3489
  7699. msgid ""
  7700. "This must be either @code{#f} or a package object that will be used as a "
  7701. "@dfn{replacement} for this package. @xref{Security Updates, grafts}, for "
  7702. "details."
  7703. msgstr ""
  7704. #. type: item
  7705. #: doc/guix.texi:3490 doc/guix.texi:6735
  7706. #, no-wrap
  7707. msgid "synopsis"
  7708. msgstr ""
  7709. #. type: table
  7710. #: doc/guix.texi:3492
  7711. msgid "A one-line description of the package."
  7712. msgstr ""
  7713. #. type: item
  7714. #: doc/guix.texi:3493 doc/guix.texi:6736 doc/guix.texi:21027
  7715. #, no-wrap
  7716. msgid "description"
  7717. msgstr ""
  7718. #. type: table
  7719. #: doc/guix.texi:3495
  7720. msgid "A more elaborate description of the package."
  7721. msgstr ""
  7722. #. type: code{#1}
  7723. #: doc/guix.texi:3496
  7724. #, no-wrap
  7725. msgid "license"
  7726. msgstr ""
  7727. #. type: cindex
  7728. #: doc/guix.texi:3497
  7729. #, no-wrap
  7730. msgid "license, of packages"
  7731. msgstr ""
  7732. #. type: table
  7733. #: doc/guix.texi:3500
  7734. msgid ""
  7735. "The license of the package; a value from @code{(guix licenses)}, or a list "
  7736. "of such values."
  7737. msgstr ""
  7738. #. type: itemx
  7739. #: doc/guix.texi:3501 doc/guix.texi:6744
  7740. #, no-wrap
  7741. msgid "home-page"
  7742. msgstr ""
  7743. #. type: table
  7744. #: doc/guix.texi:3503
  7745. msgid "The URL to the home-page of the package, as a string."
  7746. msgstr ""
  7747. #. type: item
  7748. #: doc/guix.texi:3504
  7749. #, no-wrap
  7750. msgid "@code{supported-systems} (default: @var{%supported-systems})"
  7751. msgstr ""
  7752. #. type: table
  7753. #: doc/guix.texi:3507
  7754. msgid ""
  7755. "The list of systems supported by the package, as strings of the form "
  7756. "@code{architecture-kernel}, for example @code{\"x86_64-linux\"}."
  7757. msgstr ""
  7758. #. type: item
  7759. #: doc/guix.texi:3508
  7760. #, no-wrap
  7761. msgid "@code{maintainers} (default: @code{'()})"
  7762. msgstr ""
  7763. #. type: table
  7764. #: doc/guix.texi:3510
  7765. msgid "The list of maintainers of the package, as @code{maintainer} objects."
  7766. msgstr ""
  7767. #. type: item
  7768. #: doc/guix.texi:3511
  7769. #, no-wrap
  7770. msgid "@code{location} (default: source location of the @code{package} form)"
  7771. msgstr ""
  7772. #. type: table
  7773. #: doc/guix.texi:3515
  7774. msgid ""
  7775. "The source location of the package. It is useful to override this when "
  7776. "inheriting from another package, in which case this field is not "
  7777. "automatically corrected."
  7778. msgstr ""
  7779. #. type: subsection
  7780. #: doc/guix.texi:3520
  7781. #, no-wrap
  7782. msgid "@code{origin} Reference"
  7783. msgstr ""
  7784. #. type: Plain text
  7785. #: doc/guix.texi:3524
  7786. msgid ""
  7787. "This section summarizes all the options available in @code{origin} "
  7788. "declarations (@pxref{Defining Packages})."
  7789. msgstr ""
  7790. #. type: deftp
  7791. #: doc/guix.texi:3525
  7792. #, no-wrap
  7793. msgid "{Data Type} origin"
  7794. msgstr ""
  7795. #. type: deftp
  7796. #: doc/guix.texi:3527
  7797. msgid "This is the data type representing a source code origin."
  7798. msgstr ""
  7799. #. type: code{#1}
  7800. #: doc/guix.texi:3529 doc/guix.texi:15696
  7801. #, no-wrap
  7802. msgid "uri"
  7803. msgstr ""
  7804. #. type: table
  7805. #: doc/guix.texi:3534
  7806. msgid ""
  7807. "An object containing the URI of the source. The object type depends on the "
  7808. "@code{method} (see below). For example, when using the @var{url-fetch} "
  7809. "method of @code{(guix download)}, the valid @code{uri} values are: a URL "
  7810. "represented as a string, or a list thereof."
  7811. msgstr ""
  7812. #. type: code{#1}
  7813. #: doc/guix.texi:3535
  7814. #, no-wrap
  7815. msgid "method"
  7816. msgstr ""
  7817. #. type: table
  7818. #: doc/guix.texi:3537
  7819. msgid "A procedure that handles the URI."
  7820. msgstr ""
  7821. #. type: table
  7822. #: doc/guix.texi:3539
  7823. msgid "Examples include:"
  7824. msgstr ""
  7825. #. type: item
  7826. #: doc/guix.texi:3541
  7827. #, no-wrap
  7828. msgid "@var{url-fetch} from @code{(guix download)}"
  7829. msgstr ""
  7830. #. type: table
  7831. #: doc/guix.texi:3544
  7832. msgid ""
  7833. "download a file from the HTTP, HTTPS, or FTP URL specified in the @code{uri} "
  7834. "field;"
  7835. msgstr ""
  7836. #. type: vindex
  7837. #: doc/guix.texi:3545 doc/guix.texi:6097
  7838. #, no-wrap
  7839. msgid "git-fetch"
  7840. msgstr ""
  7841. #. type: item
  7842. #: doc/guix.texi:3546
  7843. #, no-wrap
  7844. msgid "@var{git-fetch} from @code{(guix git-download)}"
  7845. msgstr ""
  7846. #. type: table
  7847. #: doc/guix.texi:3550
  7848. msgid ""
  7849. "clone the Git version control repository, and check out the revision "
  7850. "specified in the @code{uri} field as a @code{git-reference} object; a "
  7851. "@code{git-reference} looks like this:"
  7852. msgstr ""
  7853. #. type: example
  7854. #: doc/guix.texi:3555
  7855. #, no-wrap
  7856. msgid ""
  7857. "(git-reference\n"
  7858. " (url \"git://git.debian.org/git/pkg-shadow/shadow\")\n"
  7859. " (commit \"v4.1.5.1\"))\n"
  7860. msgstr ""
  7861. #. type: code{#1}
  7862. #: doc/guix.texi:3558
  7863. #, no-wrap
  7864. msgid "sha256"
  7865. msgstr ""
  7866. #. type: table
  7867. #: doc/guix.texi:3562
  7868. msgid ""
  7869. "A bytevector containing the SHA-256 hash of the source. Typically the "
  7870. "@code{base32} form is used here to generate the bytevector from a base-32 "
  7871. "string."
  7872. msgstr ""
  7873. #. type: table
  7874. #: doc/guix.texi:3566
  7875. msgid ""
  7876. "You can obtain this information using @code{guix download} (@pxref{Invoking "
  7877. "guix download}) or @code{guix hash} (@pxref{Invoking guix hash})."
  7878. msgstr ""
  7879. #. type: item
  7880. #: doc/guix.texi:3567
  7881. #, no-wrap
  7882. msgid "@code{file-name} (default: @code{#f})"
  7883. msgstr ""
  7884. #. type: table
  7885. #: doc/guix.texi:3573
  7886. msgid ""
  7887. "The file name under which the source code should be saved. When this is "
  7888. "@code{#f}, a sensible default value will be used in most cases. In case the "
  7889. "source is fetched from a URL, the file name from the URL will be used. For "
  7890. "version control checkouts, it is recommended to provide the file name "
  7891. "explicitly because the default is not very descriptive."
  7892. msgstr ""
  7893. #. type: item
  7894. #: doc/guix.texi:3574
  7895. #, no-wrap
  7896. msgid "@code{patches} (default: @code{'()})"
  7897. msgstr ""
  7898. #. type: table
  7899. #: doc/guix.texi:3577
  7900. msgid ""
  7901. "A list of file names, origins, or file-like objects (@pxref{G-Expressions, "
  7902. "file-like objects}) pointing to patches to be applied to the source."
  7903. msgstr ""
  7904. #. type: table
  7905. #: doc/guix.texi:3581
  7906. msgid ""
  7907. "This list of patches must be unconditional. In particular, it cannot depend "
  7908. "on the value of @code{%current-system} or @code{%current-target-system}."
  7909. msgstr ""
  7910. #. type: item
  7911. #: doc/guix.texi:3582
  7912. #, no-wrap
  7913. msgid "@code{snippet} (default: @code{#f})"
  7914. msgstr ""
  7915. #. type: table
  7916. #: doc/guix.texi:3586
  7917. msgid ""
  7918. "A G-expression (@pxref{G-Expressions}) or S-expression that will be run in "
  7919. "the source directory. This is a convenient way to modify the source, "
  7920. "sometimes more convenient than a patch."
  7921. msgstr ""
  7922. #. type: item
  7923. #: doc/guix.texi:3587
  7924. #, no-wrap
  7925. msgid "@code{patch-flags} (default: @code{'(\"-p1\")})"
  7926. msgstr ""
  7927. #. type: table
  7928. #: doc/guix.texi:3590
  7929. msgid ""
  7930. "A list of command-line flags that should be passed to the @code{patch} "
  7931. "command."
  7932. msgstr ""
  7933. #. type: item
  7934. #: doc/guix.texi:3591
  7935. #, no-wrap
  7936. msgid "@code{patch-inputs} (default: @code{#f})"
  7937. msgstr ""
  7938. #. type: table
  7939. #: doc/guix.texi:3595
  7940. msgid ""
  7941. "Input packages or derivations to the patching process. When this is "
  7942. "@code{#f}, the usual set of inputs necessary for patching are provided, such "
  7943. "as GNU@tie{}Patch."
  7944. msgstr ""
  7945. #. type: item
  7946. #: doc/guix.texi:3596
  7947. #, no-wrap
  7948. msgid "@code{modules} (default: @code{'()})"
  7949. msgstr ""
  7950. #. type: table
  7951. #: doc/guix.texi:3599
  7952. msgid ""
  7953. "A list of Guile modules that should be loaded during the patching process "
  7954. "and while running the code in the @code{snippet} field."
  7955. msgstr ""
  7956. #. type: item
  7957. #: doc/guix.texi:3600
  7958. #, no-wrap
  7959. msgid "@code{patch-guile} (default: @code{#f})"
  7960. msgstr ""
  7961. #. type: table
  7962. #: doc/guix.texi:3603
  7963. msgid ""
  7964. "The Guile package that should be used in the patching process. When this is "
  7965. "@code{#f}, a sensible default is used."
  7966. msgstr ""
  7967. #. type: cindex
  7968. #: doc/guix.texi:3610
  7969. #, no-wrap
  7970. msgid "build system"
  7971. msgstr ""
  7972. #. type: Plain text
  7973. #: doc/guix.texi:3615
  7974. msgid ""
  7975. "Each package definition specifies a @dfn{build system} and arguments for "
  7976. "that build system (@pxref{Defining Packages}). This @code{build-system} "
  7977. "field represents the build procedure of the package, as well as implicit "
  7978. "dependencies of that build procedure."
  7979. msgstr ""
  7980. #. type: Plain text
  7981. #: doc/guix.texi:3619
  7982. msgid ""
  7983. "Build systems are @code{<build-system>} objects. The interface to create "
  7984. "and manipulate them is provided by the @code{(guix build-system)} module, "
  7985. "and actual build systems are exported by specific modules."
  7986. msgstr ""
  7987. #. type: cindex
  7988. #: doc/guix.texi:3620
  7989. #, no-wrap
  7990. msgid "bag (low-level package representation)"
  7991. msgstr ""
  7992. #. type: Plain text
  7993. #: doc/guix.texi:3627
  7994. msgid ""
  7995. "Under the hood, build systems first compile package objects to @dfn{bags}. "
  7996. "A @dfn{bag} is like a package, but with less ornamentation---in other words, "
  7997. "a bag is a lower-level representation of a package, which includes all the "
  7998. "inputs of that package, including some that were implicitly added by the "
  7999. "build system. This intermediate representation is then compiled to a "
  8000. "derivation (@pxref{Derivations})."
  8001. msgstr ""
  8002. #. type: Plain text
  8003. #: doc/guix.texi:3635
  8004. msgid ""
  8005. "Build systems accept an optional list of @dfn{arguments}. In package "
  8006. "definitions, these are passed @i{via} the @code{arguments} field "
  8007. "(@pxref{Defining Packages}). They are typically keyword arguments "
  8008. "(@pxref{Optional Arguments, keyword arguments in Guile,, guile, GNU Guile "
  8009. "Reference Manual}). The value of these arguments is usually evaluated in "
  8010. "the @dfn{build stratum}---i.e., by a Guile process launched by the daemon "
  8011. "(@pxref{Derivations})."
  8012. msgstr ""
  8013. #. type: Plain text
  8014. #: doc/guix.texi:3639
  8015. msgid ""
  8016. "The main build system is @var{gnu-build-system}, which implements the "
  8017. "standard build procedure for GNU and many other packages. It is provided by "
  8018. "the @code{(guix build-system gnu)} module."
  8019. msgstr ""
  8020. #. type: defvr
  8021. #: doc/guix.texi:3640
  8022. #, no-wrap
  8023. msgid "{Scheme Variable} gnu-build-system"
  8024. msgstr ""
  8025. #. type: defvr
  8026. #: doc/guix.texi:3644
  8027. msgid ""
  8028. "@var{gnu-build-system} represents the GNU Build System, and variants thereof "
  8029. "(@pxref{Configuration, configuration and makefile conventions,, standards, "
  8030. "GNU Coding Standards})."
  8031. msgstr ""
  8032. #. type: cindex
  8033. #: doc/guix.texi:3645
  8034. #, no-wrap
  8035. msgid "build phases"
  8036. msgstr ""
  8037. #. type: defvr
  8038. #: doc/guix.texi:3652
  8039. msgid ""
  8040. "In a nutshell, packages using it are configured, built, and installed with "
  8041. "the usual @code{./configure && make && make check && make install} command "
  8042. "sequence. In practice, a few additional steps are often needed. All these "
  8043. "steps are split up in separate @dfn{phases}, notably@footnote{Please see the "
  8044. "@code{(guix build gnu-build-system)} modules for more details about the "
  8045. "build phases.}:"
  8046. msgstr ""
  8047. #. type: item
  8048. #: doc/guix.texi:3654
  8049. #, no-wrap
  8050. msgid "unpack"
  8051. msgstr ""
  8052. #. type: table
  8053. #: doc/guix.texi:3658
  8054. msgid ""
  8055. "Unpack the source tarball, and change the current directory to the extracted "
  8056. "source tree. If the source is actually a directory, copy it to the build "
  8057. "tree, and enter that directory."
  8058. msgstr ""
  8059. #. type: item
  8060. #: doc/guix.texi:3659
  8061. #, no-wrap
  8062. msgid "patch-source-shebangs"
  8063. msgstr ""
  8064. #. type: table
  8065. #: doc/guix.texi:3663
  8066. msgid ""
  8067. "Patch shebangs encountered in source files so they refer to the right store "
  8068. "file names. For instance, this changes @code{#!/bin/sh} to @code{#!/gnu/"
  8069. "store/@dots{}-bash-4.3/bin/sh}."
  8070. msgstr ""
  8071. #. type: item
  8072. #: doc/guix.texi:3664 doc/guix.texi:4130
  8073. #, no-wrap
  8074. msgid "configure"
  8075. msgstr ""
  8076. #. type: table
  8077. #: doc/guix.texi:3668
  8078. msgid ""
  8079. "Run the @file{configure} script with a number of default options, such as "
  8080. "@code{--prefix=/gnu/store/@dots{}}, as well as the options specified by the "
  8081. "@code{#:configure-flags} argument."
  8082. msgstr ""
  8083. #. type: item
  8084. #: doc/guix.texi:3669 doc/guix.texi:4135 doc/guix.texi:20437
  8085. #, no-wrap
  8086. msgid "build"
  8087. msgstr ""
  8088. #. type: table
  8089. #: doc/guix.texi:3673
  8090. msgid ""
  8091. "Run @code{make} with the list of flags specified with @code{#:make-flags}. "
  8092. "If the @code{#:parallel-build?} argument is true (the default), build with "
  8093. "@code{make -j}."
  8094. msgstr ""
  8095. #. type: item
  8096. #: doc/guix.texi:3674 doc/guix.texi:4139
  8097. #, no-wrap
  8098. msgid "check"
  8099. msgstr ""
  8100. #. type: table
  8101. #: doc/guix.texi:3679
  8102. msgid ""
  8103. "Run @code{make check}, or some other target specified with @code{#:test-"
  8104. "target}, unless @code{#:tests? #f} is passed. If the @code{#:parallel-"
  8105. "tests?} argument is true (the default), run @code{make check -j}."
  8106. msgstr ""
  8107. #. type: item
  8108. #: doc/guix.texi:3680 doc/guix.texi:4143
  8109. #, no-wrap
  8110. msgid "install"
  8111. msgstr ""
  8112. #. type: table
  8113. #: doc/guix.texi:3682
  8114. msgid "Run @code{make install} with the flags listed in @code{#:make-flags}."
  8115. msgstr ""
  8116. #. type: item
  8117. #: doc/guix.texi:3683
  8118. #, no-wrap
  8119. msgid "patch-shebangs"
  8120. msgstr ""
  8121. #. type: table
  8122. #: doc/guix.texi:3685
  8123. msgid "Patch shebangs on the installed executable files."
  8124. msgstr ""
  8125. #. type: item
  8126. #: doc/guix.texi:3686
  8127. #, no-wrap
  8128. msgid "strip"
  8129. msgstr ""
  8130. #. type: table
  8131. #: doc/guix.texi:3690
  8132. msgid ""
  8133. "Strip debugging symbols from ELF files (unless @code{#:strip-binaries?} is "
  8134. "false), copying them to the @code{debug} output when available "
  8135. "(@pxref{Installing Debugging Files})."
  8136. msgstr ""
  8137. #. type: vindex
  8138. #: doc/guix.texi:3692
  8139. #, no-wrap
  8140. msgid "%standard-phases"
  8141. msgstr ""
  8142. #. type: defvr
  8143. #: doc/guix.texi:3697
  8144. msgid ""
  8145. "The build-side module @code{(guix build gnu-build-system)} defines "
  8146. "@var{%standard-phases} as the default list of build phases. @var{%standard-"
  8147. "phases} is a list of symbol/procedure pairs, where the procedure implements "
  8148. "the actual phase."
  8149. msgstr ""
  8150. #. type: defvr
  8151. #: doc/guix.texi:3700
  8152. msgid ""
  8153. "The list of phases used for a particular package can be changed with the "
  8154. "@code{#:phases} parameter. For instance, passing:"
  8155. msgstr ""
  8156. #. type: example
  8157. #: doc/guix.texi:3703
  8158. #, no-wrap
  8159. msgid "#:phases (modify-phases %standard-phases (delete 'configure))\n"
  8160. msgstr ""
  8161. #. type: defvr
  8162. #: doc/guix.texi:3707
  8163. msgid ""
  8164. "means that all the phases described above will be used, except the "
  8165. "@code{configure} phase."
  8166. msgstr ""
  8167. #. type: defvr
  8168. #: doc/guix.texi:3714
  8169. msgid ""
  8170. "In addition, this build system ensures that the ``standard'' environment for "
  8171. "GNU packages is available. This includes tools such as GCC, libc, "
  8172. "Coreutils, Bash, Make, Diffutils, grep, and sed (see the @code{(guix build-"
  8173. "system gnu)} module for a complete list). We call these the @dfn{implicit "
  8174. "inputs} of a package, because package definitions do not have to mention "
  8175. "them."
  8176. msgstr ""
  8177. #. type: Plain text
  8178. #: doc/guix.texi:3721
  8179. msgid ""
  8180. "Other @code{<build-system>} objects are defined to support other conventions "
  8181. "and tools used by free software packages. They inherit most of @var{gnu-"
  8182. "build-system}, and differ mainly in the set of inputs implicitly added to "
  8183. "the build process, and in the list of phases executed. Some of these build "
  8184. "systems are listed below."
  8185. msgstr ""
  8186. #. type: defvr
  8187. #: doc/guix.texi:3722
  8188. #, no-wrap
  8189. msgid "{Scheme Variable} ant-build-system"
  8190. msgstr ""
  8191. #. type: defvr
  8192. #: doc/guix.texi:3726
  8193. msgid ""
  8194. "This variable is exported by @code{(guix build-system ant)}. It implements "
  8195. "the build procedure for Java packages that can be built with @url{http://ant."
  8196. "apache.org/, Ant build tool}."
  8197. msgstr ""
  8198. #. type: defvr
  8199. #: doc/guix.texi:3731
  8200. msgid ""
  8201. "It adds both @code{ant} and the @dfn{Java Development Kit} (JDK) as provided "
  8202. "by the @code{icedtea} package to the set of inputs. Different packages can "
  8203. "be specified with the @code{#:ant} and @code{#:jdk} parameters, respectively."
  8204. msgstr ""
  8205. #. type: defvr
  8206. #: doc/guix.texi:3737
  8207. msgid ""
  8208. "When the original package does not provide a suitable Ant build file, the "
  8209. "parameter @code{#:jar-name} can be used to generate a minimal Ant build file "
  8210. "@file{build.xml} with tasks to build the specified jar archive. In this "
  8211. "case the parameter @code{#:source-dir} can be used to specify the source sub-"
  8212. "directory, defaulting to ``src''."
  8213. msgstr ""
  8214. #. type: defvr
  8215. #: doc/guix.texi:3745
  8216. msgid ""
  8217. "The @code{#:main-class} parameter can be used with the minimal ant buildfile "
  8218. "to specify the main class of the resulting jar. This makes the jar file "
  8219. "executable. The @code{#:test-include} parameter can be used to specify the "
  8220. "list of junit tests to run. It defaults to @code{(list \"**/*Test.java\")}. "
  8221. "The @code{#:test-exclude} can be used to disable some tests. It defaults to "
  8222. "@code{(list \"**/Abstract*.java\")}, because abstract classes cannot be run "
  8223. "as tests."
  8224. msgstr ""
  8225. #. type: defvr
  8226. #: doc/guix.texi:3749
  8227. msgid ""
  8228. "The parameter @code{#:build-target} can be used to specify the Ant task that "
  8229. "should be run during the @code{build} phase. By default the ``jar'' task "
  8230. "will be run."
  8231. msgstr ""
  8232. #. type: defvr
  8233. #: doc/guix.texi:3752
  8234. #, no-wrap
  8235. msgid "{Scheme Variable} asdf-build-system/source"
  8236. msgstr ""
  8237. #. type: defvrx
  8238. #: doc/guix.texi:3753
  8239. #, no-wrap
  8240. msgid "{Scheme Variable} asdf-build-system/sbcl"
  8241. msgstr ""
  8242. #. type: defvrx
  8243. #: doc/guix.texi:3754
  8244. #, no-wrap
  8245. msgid "{Scheme Variable} asdf-build-system/ecl"
  8246. msgstr ""
  8247. #. type: defvr
  8248. #: doc/guix.texi:3760
  8249. msgid ""
  8250. "These variables, exported by @code{(guix build-system asdf)}, implement "
  8251. "build procedures for Common Lisp packages using @url{https://common-lisp.net/"
  8252. "project/asdf/, ``ASDF''}. ASDF is a system definition facility for Common "
  8253. "Lisp programs and libraries."
  8254. msgstr ""
  8255. #. type: defvr
  8256. #: doc/guix.texi:3767
  8257. msgid ""
  8258. "The @code{asdf-build-system/source} system installs the packages in source "
  8259. "form, and can be loaded using any common lisp implementation, via ASDF. The "
  8260. "others, such as @code{asdf-build-system/sbcl}, install binary systems in the "
  8261. "format which a particular implementation understands. These build systems "
  8262. "can also be used to produce executable programs, or lisp images which "
  8263. "contain a set of packages pre-loaded."
  8264. msgstr ""
  8265. #. type: defvr
  8266. #: doc/guix.texi:3771
  8267. msgid ""
  8268. "The build system uses naming conventions. For binary packages, the package "
  8269. "name should be prefixed with the lisp implementation, such as @code{sbcl-} "
  8270. "for @code{asdf-build-system/sbcl}."
  8271. msgstr ""
  8272. #. type: defvr
  8273. #: doc/guix.texi:3775
  8274. msgid ""
  8275. "Additionally, the corresponding source package should be labeled using the "
  8276. "same convention as python packages (see @ref{Python Modules}), using the "
  8277. "@code{cl-} prefix."
  8278. msgstr ""
  8279. #. type: defvr
  8280. #: doc/guix.texi:3780
  8281. msgid ""
  8282. "For binary packages, each system should be defined as a Guix package. If "
  8283. "one package @code{origin} contains several systems, package variants can be "
  8284. "created in order to build all the systems. Source packages, which use "
  8285. "@code{asdf-build-system/source}, may contain several systems."
  8286. msgstr ""
  8287. #. type: defvr
  8288. #: doc/guix.texi:3787
  8289. msgid ""
  8290. "In order to create executable programs and images, the build-side procedures "
  8291. "@code{build-program} and @code{build-image} can be used. They should be "
  8292. "called in a build phase after the @code{create-symlinks} phase, so that the "
  8293. "system which was just built can be used within the resulting image. "
  8294. "@code{build-program} requires a list of Common Lisp expressions to be passed "
  8295. "as the @code{#:entry-program} argument."
  8296. msgstr ""
  8297. #. type: defvr
  8298. #: doc/guix.texi:3796
  8299. msgid ""
  8300. "If the system is not defined within its own @code{.asd} file of the same "
  8301. "name, then the @code{#:asd-file} parameter should be used to specify which "
  8302. "file the system is defined in. Furthermore, if the package defines a system "
  8303. "for its tests in a separate file, it will be loaded before the tests are run "
  8304. "if it is specified by the @code{#:test-asd-file} parameter. If it is not "
  8305. "set, the files @code{<system>-tests.asd}, @code{<system>-test.asd}, "
  8306. "@code{tests.asd}, and @code{test.asd} will be tried if they exist."
  8307. msgstr ""
  8308. #. type: defvr
  8309. #: doc/guix.texi:3800
  8310. msgid ""
  8311. "If for some reason the package must be named in a different way than the "
  8312. "naming conventions suggest, the @code{#:asd-system-name} parameter can be "
  8313. "used to specify the name of the system."
  8314. msgstr ""
  8315. #. type: defvr
  8316. #: doc/guix.texi:3803
  8317. #, no-wrap
  8318. msgid "{Scheme Variable} cargo-build-system"
  8319. msgstr ""
  8320. #. type: cindex
  8321. #: doc/guix.texi:3804
  8322. #, no-wrap
  8323. msgid "Rust programming language"
  8324. msgstr ""
  8325. #. type: cindex
  8326. #: doc/guix.texi:3805
  8327. #, no-wrap
  8328. msgid "Cargo (Rust build system)"
  8329. msgstr ""
  8330. #. type: defvr
  8331. #: doc/guix.texi:3809
  8332. msgid ""
  8333. "This variable is exported by @code{(guix build-system cargo)}. It supports "
  8334. "builds of packages using Cargo, the build tool of the @uref{https://www.rust-"
  8335. "lang.org, Rust programming language}."
  8336. msgstr ""
  8337. #. type: defvr
  8338. #: doc/guix.texi:3814
  8339. msgid ""
  8340. "In its @code{configure} phase, this build system replaces dependencies "
  8341. "specified in the @file{Carto.toml} file with inputs to the Guix package. "
  8342. "The @code{install} phase installs the binaries, and it also installs the "
  8343. "source code and @file{Cargo.toml} file."
  8344. msgstr ""
  8345. #. type: defvr
  8346. #: doc/guix.texi:3816
  8347. #, no-wrap
  8348. msgid "{Scheme Variable} cmake-build-system"
  8349. msgstr ""
  8350. #. type: defvr
  8351. #: doc/guix.texi:3820
  8352. msgid ""
  8353. "This variable is exported by @code{(guix build-system cmake)}. It "
  8354. "implements the build procedure for packages using the @url{http://www.cmake."
  8355. "org, CMake build tool}."
  8356. msgstr ""
  8357. #. type: defvr
  8358. #: doc/guix.texi:3824
  8359. msgid ""
  8360. "It automatically adds the @code{cmake} package to the set of inputs. Which "
  8361. "package is used can be specified with the @code{#:cmake} parameter."
  8362. msgstr ""
  8363. #. type: defvr
  8364. #: doc/guix.texi:3831
  8365. msgid ""
  8366. "The @code{#:configure-flags} parameter is taken as a list of flags passed to "
  8367. "the @command{cmake} command. The @code{#:build-type} parameter specifies in "
  8368. "abstract terms the flags passed to the compiler; it defaults to "
  8369. "@code{\"RelWithDebInfo\"} (short for ``release mode with debugging "
  8370. "information''), which roughly means that code is compiled with @code{-O2 -"
  8371. "g}, as is the case for Autoconf-based packages by default."
  8372. msgstr ""
  8373. #. type: defvr
  8374. #: doc/guix.texi:3833
  8375. #, no-wrap
  8376. msgid "{Scheme Variable} go-build-system"
  8377. msgstr ""
  8378. #. type: defvr
  8379. #: doc/guix.texi:3838
  8380. msgid ""
  8381. "This variable is exported by @code{(guix build-system go)}. It implements a "
  8382. "build procedure for Go packages using the standard @url{https://golang.org/"
  8383. "cmd/go/#hdr-Compile_packages_and_dependencies, Go build mechanisms}."
  8384. msgstr ""
  8385. #. type: defvr
  8386. #: doc/guix.texi:3849
  8387. msgid ""
  8388. "The user is expected to provide a value for the key @code{#:import-path} "
  8389. "and, in some cases, @code{#:unpack-path}. The @url{https://golang.org/doc/"
  8390. "code.html#ImportPaths, import path} corresponds to the file system path "
  8391. "expected by the package's build scripts and any referring packages, and "
  8392. "provides a unique way to refer to a Go package. It is typically based on a "
  8393. "combination of the package source code's remote URI and file system "
  8394. "hierarchy structure. In some cases, you will need to unpack the package's "
  8395. "source code to a different directory structure than the one indicated by the "
  8396. "import path, and @code{#:unpack-path} should be used in such cases."
  8397. msgstr ""
  8398. #. type: defvr
  8399. #: doc/guix.texi:3854
  8400. msgid ""
  8401. "Packages that provide Go libraries should be installed along with their "
  8402. "source code. The key @code{#:install-source?}, which defaults to @code{#t}, "
  8403. "controls whether or not the source code is installed. It can be set to "
  8404. "@code{#f} for packages that only provide executable files."
  8405. msgstr ""
  8406. #. type: defvr
  8407. #: doc/guix.texi:3856
  8408. #, no-wrap
  8409. msgid "{Scheme Variable} glib-or-gtk-build-system"
  8410. msgstr ""
  8411. #. type: defvr
  8412. #: doc/guix.texi:3859
  8413. msgid ""
  8414. "This variable is exported by @code{(guix build-system glib-or-gtk)}. It is "
  8415. "intended for use with packages making use of GLib or GTK+."
  8416. msgstr ""
  8417. #. type: defvr
  8418. #: doc/guix.texi:3862
  8419. msgid ""
  8420. "This build system adds the following two phases to the ones defined by "
  8421. "@var{gnu-build-system}:"
  8422. msgstr ""
  8423. #. type: item
  8424. #: doc/guix.texi:3864 doc/guix.texi:4159
  8425. #, no-wrap
  8426. msgid "glib-or-gtk-wrap"
  8427. msgstr ""
  8428. #. type: table
  8429. #: doc/guix.texi:3871
  8430. msgid ""
  8431. "The phase @code{glib-or-gtk-wrap} ensures that programs in @file{bin/} are "
  8432. "able to find GLib ``schemas'' and @uref{https://developer.gnome.org/gtk3/"
  8433. "stable/gtk-running.html, GTK+ modules}. This is achieved by wrapping the "
  8434. "programs in launch scripts that appropriately set the @code{XDG_DATA_DIRS} "
  8435. "and @code{GTK_PATH} environment variables."
  8436. msgstr ""
  8437. #. type: table
  8438. #: doc/guix.texi:3878
  8439. msgid ""
  8440. "It is possible to exclude specific package outputs from that wrapping "
  8441. "process by listing their names in the @code{#:glib-or-gtk-wrap-excluded-"
  8442. "outputs} parameter. This is useful when an output is known not to contain "
  8443. "any GLib or GTK+ binaries, and where wrapping would gratuitously add a "
  8444. "dependency of that output on GLib and GTK+."
  8445. msgstr ""
  8446. #. type: item
  8447. #: doc/guix.texi:3879 doc/guix.texi:4163
  8448. #, no-wrap
  8449. msgid "glib-or-gtk-compile-schemas"
  8450. msgstr ""
  8451. #. type: table
  8452. #: doc/guix.texi:3887
  8453. msgid ""
  8454. "The phase @code{glib-or-gtk-compile-schemas} makes sure that all "
  8455. "@uref{https://developer.gnome.org/gio/stable/glib-compile-schemas.html, "
  8456. "GSettings schemas} of GLib are compiled. Compilation is performed by the "
  8457. "@command{glib-compile-schemas} program. It is provided by the package "
  8458. "@code{glib:bin} which is automatically imported by the build system. The "
  8459. "@code{glib} package providing @command{glib-compile-schemas} can be "
  8460. "specified with the @code{#:glib} parameter."
  8461. msgstr ""
  8462. #. type: defvr
  8463. #: doc/guix.texi:3890
  8464. msgid "Both phases are executed after the @code{install} phase."
  8465. msgstr ""
  8466. #. type: defvr
  8467. #: doc/guix.texi:3892
  8468. #, no-wrap
  8469. msgid "{Scheme Variable} minify-build-system"
  8470. msgstr ""
  8471. #. type: defvr
  8472. #: doc/guix.texi:3895
  8473. msgid ""
  8474. "This variable is exported by @code{(guix build-system minify)}. It "
  8475. "implements a minification procedure for simple JavaScript packages."
  8476. msgstr ""
  8477. #. type: defvr
  8478. #: doc/guix.texi:3901
  8479. msgid ""
  8480. "It adds @code{uglify-js} to the set of inputs and uses it to compress all "
  8481. "JavaScript files in the @file{src} directory. A different minifier package "
  8482. "can be specified with the @code{#:uglify-js} parameter, but it is expected "
  8483. "that the package writes the minified code to the standard output."
  8484. msgstr ""
  8485. #. type: defvr
  8486. #: doc/guix.texi:3905
  8487. msgid ""
  8488. "When the input JavaScript files are not all located in the @file{src} "
  8489. "directory, the parameter @code{#:javascript-files} can be used to specify a "
  8490. "list of file names to feed to the minifier."
  8491. msgstr ""
  8492. #. type: defvr
  8493. #: doc/guix.texi:3907
  8494. #, no-wrap
  8495. msgid "{Scheme Variable} ocaml-build-system"
  8496. msgstr ""
  8497. #. type: defvr
  8498. #: doc/guix.texi:3913
  8499. msgid ""
  8500. "This variable is exported by @code{(guix build-system ocaml)}. It "
  8501. "implements a build procedure for @uref{https://ocaml.org, OCaml} packages, "
  8502. "which consists of choosing the correct set of commands to run for each "
  8503. "package. OCaml packages can expect many different commands to be run. This "
  8504. "build system will try some of them."
  8505. msgstr ""
  8506. #. type: defvr
  8507. #: doc/guix.texi:3923
  8508. msgid ""
  8509. "When the package has a @file{setup.ml} file present at the top-level, it "
  8510. "will run @code{ocaml setup.ml -configure}, @code{ocaml setup.ml -build} and "
  8511. "@code{ocaml setup.ml -install}. The build system will assume that this file "
  8512. "was generated by @uref{http://oasis.forge.ocamlcore.org/, OASIS} and will "
  8513. "take care of setting the prefix and enabling tests if they are not "
  8514. "disabled. You can pass configure and build flags with the @code{#:configure-"
  8515. "flags} and @code{#:build-flags}. The @code{#:test-flags} key can be passed "
  8516. "to change the set of flags used to enable tests. The @code{#:use-make?} key "
  8517. "can be used to bypass this system in the build and install phases."
  8518. msgstr ""
  8519. #. type: defvr
  8520. #: doc/guix.texi:3928
  8521. msgid ""
  8522. "When the package has a @file{configure} file, it is assumed that it is a "
  8523. "hand-made configure script that requires a different argument format than in "
  8524. "the @code{gnu-build-system}. You can add more flags with the @code{#:"
  8525. "configure-flags} key."
  8526. msgstr ""
  8527. #. type: defvr
  8528. #: doc/guix.texi:3932
  8529. msgid ""
  8530. "When the package has a @file{Makefile} file (or @code{#:use-make?} is "
  8531. "@code{#t}), it will be used and more flags can be passed to the build and "
  8532. "install phases with the @code{#:make-flags} key."
  8533. msgstr ""
  8534. #. type: defvr
  8535. #: doc/guix.texi:3940
  8536. msgid ""
  8537. "Finally, some packages do not have these files and use a somewhat standard "
  8538. "location for its build system. In that case, the build system will run "
  8539. "@code{ocaml pkg/pkg.ml} or @code{ocaml pkg/build.ml} and take care of "
  8540. "providing the path to the required findlib module. Additional flags can be "
  8541. "passed via the @code{#:build-flags} key. Install is taken care of by "
  8542. "@command{opam-installer}. In this case, the @code{opam} package must be "
  8543. "added to the @code{native-inputs} field of the package definition."
  8544. msgstr ""
  8545. #. type: defvr
  8546. #: doc/guix.texi:3948
  8547. msgid ""
  8548. "Note that most OCaml packages assume they will be installed in the same "
  8549. "directory as OCaml, which is not what we want in guix. In particular, they "
  8550. "will install @file{.so} files in their module's directory, which is usually "
  8551. "fine because it is in the OCaml compiler directory. In guix though, these "
  8552. "libraries cannot be found and we use @code{CAML_LD_LIBRARY_PATH}. This "
  8553. "variable points to @file{lib/ocaml/site-lib/stubslibs} and this is where "
  8554. "@file{.so} libraries should be installed."
  8555. msgstr ""
  8556. #. type: defvr
  8557. #: doc/guix.texi:3950
  8558. #, no-wrap
  8559. msgid "{Scheme Variable} python-build-system"
  8560. msgstr ""
  8561. #. type: defvr
  8562. #: doc/guix.texi:3955
  8563. msgid ""
  8564. "This variable is exported by @code{(guix build-system python)}. It "
  8565. "implements the more or less standard build procedure used by Python "
  8566. "packages, which consists in running @code{python setup.py build} and then "
  8567. "@code{python setup.py install --prefix=/gnu/store/@dots{}}."
  8568. msgstr ""
  8569. #. type: defvr
  8570. #: doc/guix.texi:3959
  8571. msgid ""
  8572. "For packages that install stand-alone Python programs under @code{bin/}, it "
  8573. "takes care of wrapping these programs so that their @code{PYTHONPATH} "
  8574. "environment variable points to all the Python libraries they depend on."
  8575. msgstr ""
  8576. #. type: defvr
  8577. #: doc/guix.texi:3965
  8578. msgid ""
  8579. "Which Python package is used to perform the build can be specified with the "
  8580. "@code{#:python} parameter. This is a useful way to force a package to be "
  8581. "built for a specific version of the Python interpreter, which might be "
  8582. "necessary if the package is only compatible with a single interpreter "
  8583. "version."
  8584. msgstr ""
  8585. #. type: defvr
  8586. #: doc/guix.texi:3970
  8587. msgid ""
  8588. "By default guix calls @code{setup.py} under control of @code{setuptools}, "
  8589. "much like @command{pip} does. Some packages are not compatible with "
  8590. "setuptools (and pip), thus you can disable this by setting the @code{#:use-"
  8591. "setuptools} parameter to @code{#f}."
  8592. msgstr ""
  8593. #. type: defvr
  8594. #: doc/guix.texi:3972
  8595. #, no-wrap
  8596. msgid "{Scheme Variable} perl-build-system"
  8597. msgstr ""
  8598. #. type: defvr
  8599. #: doc/guix.texi:3984
  8600. msgid ""
  8601. "This variable is exported by @code{(guix build-system perl)}. It implements "
  8602. "the standard build procedure for Perl packages, which either consists in "
  8603. "running @code{perl Build.PL --prefix=/gnu/store/@dots{}}, followed by "
  8604. "@code{Build} and @code{Build install}; or in running @code{perl Makefile.PL "
  8605. "PREFIX=/gnu/store/@dots{}}, followed by @code{make} and @code{make install}, "
  8606. "depending on which of @code{Build.PL} or @code{Makefile.PL} is present in "
  8607. "the package distribution. Preference is given to the former if both "
  8608. "@code{Build.PL} and @code{Makefile.PL} exist in the package distribution. "
  8609. "This preference can be reversed by specifying @code{#t} for the @code{#:make-"
  8610. "maker?} parameter."
  8611. msgstr ""
  8612. #. type: defvr
  8613. #: doc/guix.texi:3988
  8614. msgid ""
  8615. "The initial @code{perl Makefile.PL} or @code{perl Build.PL} invocation "
  8616. "passes flags specified by the @code{#:make-maker-flags} or @code{#:module-"
  8617. "build-flags} parameter, respectively."
  8618. msgstr ""
  8619. #. type: defvr
  8620. #: doc/guix.texi:3990
  8621. msgid "Which Perl package is used can be specified with @code{#:perl}."
  8622. msgstr ""
  8623. #. type: defvr
  8624. #: doc/guix.texi:3992
  8625. #, no-wrap
  8626. msgid "{Scheme Variable} r-build-system"
  8627. msgstr ""
  8628. #. type: defvr
  8629. #: doc/guix.texi:4000
  8630. msgid ""
  8631. "This variable is exported by @code{(guix build-system r)}. It implements "
  8632. "the build procedure used by @uref{http://r-project.org, R} packages, which "
  8633. "essentially is little more than running @code{R CMD INSTALL --library=/gnu/"
  8634. "store/@dots{}} in an environment where @code{R_LIBS_SITE} contains the paths "
  8635. "to all R package inputs. Tests are run after installation using the R "
  8636. "function @code{tools::testInstalledPackage}."
  8637. msgstr ""
  8638. #. type: defvr
  8639. #: doc/guix.texi:4002
  8640. #, no-wrap
  8641. msgid "{Scheme Variable} texlive-build-system"
  8642. msgstr ""
  8643. #. type: defvr
  8644. #: doc/guix.texi:4007
  8645. msgid ""
  8646. "This variable is exported by @code{(guix build-system texlive)}. It is used "
  8647. "to build TeX packages in batch mode with a specified engine. The build "
  8648. "system sets the @code{TEXINPUTS} variable to find all TeX source files in "
  8649. "the inputs."
  8650. msgstr ""
  8651. #. type: defvr
  8652. #: doc/guix.texi:4016
  8653. msgid ""
  8654. "By default it runs @code{luatex} on all files ending on @code{ins}. A "
  8655. "different engine and format can be specified with the @code{#:tex-format} "
  8656. "argument. Different build targets can be specified with the @code{#:build-"
  8657. "targets} argument, which expects a list of file names. The build system "
  8658. "adds only @code{texlive-bin} and @code{texlive-latex-base} (both from "
  8659. "@code{(gnu packages tex}) to the inputs. Both can be overridden with the "
  8660. "arguments @code{#:texlive-bin} and @code{#:texlive-latex-base}, respectively."
  8661. msgstr ""
  8662. #. type: defvr
  8663. #: doc/guix.texi:4019
  8664. msgid ""
  8665. "The @code{#:tex-directory} parameter tells the build system where to install "
  8666. "the built files under the texmf tree."
  8667. msgstr ""
  8668. #. type: defvr
  8669. #: doc/guix.texi:4021
  8670. #, no-wrap
  8671. msgid "{Scheme Variable} ruby-build-system"
  8672. msgstr ""
  8673. #. type: defvr
  8674. #: doc/guix.texi:4025
  8675. msgid ""
  8676. "This variable is exported by @code{(guix build-system ruby)}. It implements "
  8677. "the RubyGems build procedure used by Ruby packages, which involves running "
  8678. "@code{gem build} followed by @code{gem install}."
  8679. msgstr ""
  8680. #. type: defvr
  8681. #: doc/guix.texi:4033
  8682. msgid ""
  8683. "The @code{source} field of a package that uses this build system typically "
  8684. "references a gem archive, since this is the format that Ruby developers use "
  8685. "when releasing their software. The build system unpacks the gem archive, "
  8686. "potentially patches the source, runs the test suite, repackages the gem, and "
  8687. "installs it. Additionally, directories and tarballs may be referenced to "
  8688. "allow building unreleased gems from Git or a traditional source release "
  8689. "tarball."
  8690. msgstr ""
  8691. #. type: defvr
  8692. #: doc/guix.texi:4037
  8693. msgid ""
  8694. "Which Ruby package is used can be specified with the @code{#:ruby} "
  8695. "parameter. A list of additional flags to be passed to the @command{gem} "
  8696. "command can be specified with the @code{#:gem-flags} parameter."
  8697. msgstr ""
  8698. #. type: defvr
  8699. #: doc/guix.texi:4039
  8700. #, no-wrap
  8701. msgid "{Scheme Variable} waf-build-system"
  8702. msgstr ""
  8703. #. type: defvr
  8704. #: doc/guix.texi:4045
  8705. msgid ""
  8706. "This variable is exported by @code{(guix build-system waf)}. It implements "
  8707. "a build procedure around the @code{waf} script. The common phases---"
  8708. "@code{configure}, @code{build}, and @code{install}---are implemented by "
  8709. "passing their names as arguments to the @code{waf} script."
  8710. msgstr ""
  8711. #. type: defvr
  8712. #: doc/guix.texi:4049
  8713. msgid ""
  8714. "The @code{waf} script is executed by the Python interpreter. Which Python "
  8715. "package is used to run the script can be specified with the @code{#:python} "
  8716. "parameter."
  8717. msgstr ""
  8718. #. type: defvr
  8719. #: doc/guix.texi:4051
  8720. #, no-wrap
  8721. msgid "{Scheme Variable} scons-build-system"
  8722. msgstr ""
  8723. #. type: defvr
  8724. #: doc/guix.texi:4057
  8725. msgid ""
  8726. "This variable is exported by @code{(guix build-system scons)}. It "
  8727. "implements the build procedure used by the SCons software construction "
  8728. "tool. This build system runs @code{scons} to build the package, @code{scons "
  8729. "test} to run tests, and then @code{scons install} to install the package."
  8730. msgstr ""
  8731. #. type: defvr
  8732. #: doc/guix.texi:4062
  8733. msgid ""
  8734. "Additional flags to be passed to @code{scons} can be specified with the "
  8735. "@code{#:scons-flags} parameter. The version of Python used to run SCons can "
  8736. "be specified by selecting the appropriate SCons package with the @code{#:"
  8737. "scons} parameter."
  8738. msgstr ""
  8739. #. type: defvr
  8740. #: doc/guix.texi:4064
  8741. #, no-wrap
  8742. msgid "{Scheme Variable} haskell-build-system"
  8743. msgstr ""
  8744. #. type: defvr
  8745. #: doc/guix.texi:4078
  8746. msgid ""
  8747. "This variable is exported by @code{(guix build-system haskell)}. It "
  8748. "implements the Cabal build procedure used by Haskell packages, which "
  8749. "involves running @code{runhaskell Setup.hs configure --prefix=/gnu/store/"
  8750. "@dots{}} and @code{runhaskell Setup.hs build}. Instead of installing the "
  8751. "package by running @code{runhaskell Setup.hs install}, to avoid trying to "
  8752. "register libraries in the read-only compiler store directory, the build "
  8753. "system uses @code{runhaskell Setup.hs copy}, followed by @code{runhaskell "
  8754. "Setup.hs register}. In addition, the build system generates the package "
  8755. "documentation by running @code{runhaskell Setup.hs haddock}, unless @code{#:"
  8756. "haddock? #f} is passed. Optional Haddock parameters can be passed with the "
  8757. "help of the @code{#:haddock-flags} parameter. If the file @code{Setup.hs} "
  8758. "is not found, the build system looks for @code{Setup.lhs} instead."
  8759. msgstr ""
  8760. #. type: defvr
  8761. #: doc/guix.texi:4081
  8762. msgid ""
  8763. "Which Haskell compiler is used can be specified with the @code{#:haskell} "
  8764. "parameter which defaults to @code{ghc}."
  8765. msgstr ""
  8766. #. type: defvr
  8767. #: doc/guix.texi:4083
  8768. #, no-wrap
  8769. msgid "{Scheme Variable} dub-build-system"
  8770. msgstr ""
  8771. #. type: defvr
  8772. #: doc/guix.texi:4088
  8773. msgid ""
  8774. "This variable is exported by @code{(guix build-system dub)}. It implements "
  8775. "the Dub build procedure used by D packages, which involves running @code{dub "
  8776. "build} and @code{dub run}. Installation is done by copying the files "
  8777. "manually."
  8778. msgstr ""
  8779. #. type: defvr
  8780. #: doc/guix.texi:4091
  8781. msgid ""
  8782. "Which D compiler is used can be specified with the @code{#:ldc} parameter "
  8783. "which defaults to @code{ldc}."
  8784. msgstr ""
  8785. #. type: defvr
  8786. #: doc/guix.texi:4093
  8787. #, no-wrap
  8788. msgid "{Scheme Variable} emacs-build-system"
  8789. msgstr ""
  8790. #. type: defvr
  8791. #: doc/guix.texi:4097
  8792. msgid ""
  8793. "This variable is exported by @code{(guix build-system emacs)}. It "
  8794. "implements an installation procedure similar to the packaging system of "
  8795. "Emacs itself (@pxref{Packages,,, emacs, The GNU Emacs Manual})."
  8796. msgstr ""
  8797. #. type: defvr
  8798. #: doc/guix.texi:4104
  8799. msgid ""
  8800. "It first creates the @code{@var{package}-autoloads.el} file, then it byte "
  8801. "compiles all Emacs Lisp files. Differently from the Emacs packaging system, "
  8802. "the Info documentation files are moved to the standard documentation "
  8803. "directory and the @file{dir} file is deleted. Each package is installed in "
  8804. "its own directory under @file{share/emacs/site-lisp/guix.d}."
  8805. msgstr ""
  8806. #. type: defvr
  8807. #: doc/guix.texi:4106
  8808. #, no-wrap
  8809. msgid "{Scheme Variable} font-build-system"
  8810. msgstr ""
  8811. #. type: defvr
  8812. #: doc/guix.texi:4112
  8813. msgid ""
  8814. "This variable is exported by @code{(guix build-system font)}. It implements "
  8815. "an installation procedure for font packages where upstream provides pre-"
  8816. "compiled TrueType, OpenType, etc. font files that merely need to be copied "
  8817. "into place. It copies font files to standard locations in the output "
  8818. "directory."
  8819. msgstr ""
  8820. #. type: defvr
  8821. #: doc/guix.texi:4114
  8822. #, no-wrap
  8823. msgid "{Scheme Variable} meson-build-system"
  8824. msgstr ""
  8825. #. type: defvr
  8826. #: doc/guix.texi:4118
  8827. msgid ""
  8828. "This variable is exported by @code{(guix build-system meson)}. It "
  8829. "implements the build procedure for packages that use @url{http://mesonbuild."
  8830. "com, Meson} as their build system."
  8831. msgstr ""
  8832. #. type: defvr
  8833. #: doc/guix.texi:4124
  8834. msgid ""
  8835. "It adds both Meson and @uref{https://ninja-build.org/, Ninja} to the set of "
  8836. "inputs, and they can be changed with the parameters @code{#:meson} and "
  8837. "@code{#:ninja} if needed. The default Meson is @code{meson-for-build}, "
  8838. "which is special because it doesn't clear the @code{RUNPATH} of binaries and "
  8839. "libraries when they are installed."
  8840. msgstr ""
  8841. #. type: defvr
  8842. #: doc/guix.texi:4127
  8843. msgid ""
  8844. "This build system is an extension of @var{gnu-build-system}, but with the "
  8845. "following phases changed to some specific for Meson:"
  8846. msgstr ""
  8847. #. type: table
  8848. #: doc/guix.texi:4134
  8849. msgid ""
  8850. "The phase runs @code{meson} with the flags specified in @code{#:configure-"
  8851. "flags}. The flag @code{--build-type} is always set to @code{plain} unless "
  8852. "something else is specified in @code{#:build-type}."
  8853. msgstr ""
  8854. #. type: table
  8855. #: doc/guix.texi:4138
  8856. msgid ""
  8857. "The phase runs @code{ninja} to build the package in parallel by default, but "
  8858. "this can be changed with @code{#:parallel-build?}."
  8859. msgstr ""
  8860. #. type: table
  8861. #: doc/guix.texi:4142
  8862. msgid ""
  8863. "The phase runs @code{ninja} with the target specified in @code{#:test-"
  8864. "target}, which is @code{\"test\"} by default."
  8865. msgstr ""
  8866. #. type: table
  8867. #: doc/guix.texi:4145
  8868. msgid "The phase runs @code{ninja install} and can not be changed."
  8869. msgstr ""
  8870. #. type: defvr
  8871. #: doc/guix.texi:4148
  8872. msgid "Apart from that, the build system also adds the following phases:"
  8873. msgstr ""
  8874. #. type: item
  8875. #: doc/guix.texi:4151
  8876. #, no-wrap
  8877. msgid "fix-runpath"
  8878. msgstr ""
  8879. #. type: table
  8880. #: doc/guix.texi:4158
  8881. msgid ""
  8882. "This phase ensures that all binaries can find the libraries they need. It "
  8883. "searches for required libraries in subdirectories of the package being "
  8884. "built, and adds those to @code{RUNPATH} where needed. It also removes "
  8885. "references to libraries left over from the build phase by @code{meson-for-"
  8886. "build}, such as test dependencies, that aren't actually required for the "
  8887. "program to run."
  8888. msgstr ""
  8889. #. type: table
  8890. #: doc/guix.texi:4162 doc/guix.texi:4166
  8891. msgid ""
  8892. "This phase is the phase provided by @code{glib-or-gtk-build-system}, and it "
  8893. "is not enabled by default. It can be enabled with @code{#:glib-or-gtk?}."
  8894. msgstr ""
  8895. #. type: Plain text
  8896. #: doc/guix.texi:4173
  8897. msgid ""
  8898. "Lastly, for packages that do not need anything as sophisticated, a "
  8899. "``trivial'' build system is provided. It is trivial in the sense that it "
  8900. "provides basically no support: it does not pull any implicit inputs, and "
  8901. "does not have a notion of build phases."
  8902. msgstr ""
  8903. #. type: defvr
  8904. #: doc/guix.texi:4174
  8905. #, no-wrap
  8906. msgid "{Scheme Variable} trivial-build-system"
  8907. msgstr ""
  8908. #. type: defvr
  8909. #: doc/guix.texi:4176
  8910. msgid "This variable is exported by @code{(guix build-system trivial)}."
  8911. msgstr ""
  8912. #. type: defvr
  8913. #: doc/guix.texi:4181
  8914. msgid ""
  8915. "This build system requires a @code{#:builder} argument. This argument must "
  8916. "be a Scheme expression that builds the package output(s)---as with "
  8917. "@code{build-expression->derivation} (@pxref{Derivations, @code{build-"
  8918. "expression->derivation}})."
  8919. msgstr ""
  8920. #. type: cindex
  8921. #: doc/guix.texi:4187
  8922. #, no-wrap
  8923. msgid "store items"
  8924. msgstr ""
  8925. #. type: cindex
  8926. #: doc/guix.texi:4188
  8927. #, no-wrap
  8928. msgid "store paths"
  8929. msgstr ""
  8930. #. type: Plain text
  8931. #: doc/guix.texi:4199
  8932. msgid ""
  8933. "Conceptually, the @dfn{store} is the place where derivations that have been "
  8934. "built successfully are stored---by default, @file{/gnu/store}. Sub-"
  8935. "directories in the store are referred to as @dfn{store items} or sometimes "
  8936. "@dfn{store paths}. The store has an associated database that contains "
  8937. "information such as the store paths referred to by each store path, and the "
  8938. "list of @emph{valid} store items---results of successful builds. This "
  8939. "database resides in @file{@var{localstatedir}/guix/db}, where "
  8940. "@var{localstatedir} is the state directory specified @i{via} @option{--"
  8941. "localstatedir} at configure time, usually @file{/var}."
  8942. msgstr ""
  8943. #. type: Plain text
  8944. #: doc/guix.texi:4204
  8945. msgid ""
  8946. "The store is @emph{always} accessed by the daemon on behalf of its clients "
  8947. "(@pxref{Invoking guix-daemon}). To manipulate the store, clients connect to "
  8948. "the daemon over a Unix-domain socket, send requests to it, and read the "
  8949. "result---these are remote procedure calls, or RPCs."
  8950. msgstr ""
  8951. #. type: quotation
  8952. #: doc/guix.texi:4209
  8953. msgid ""
  8954. "Users must @emph{never} modify files under @file{/gnu/store} directly. This "
  8955. "would lead to inconsistencies and break the immutability assumptions of "
  8956. "Guix's functional model (@pxref{Introduction})."
  8957. msgstr ""
  8958. #. type: quotation
  8959. #: doc/guix.texi:4213
  8960. msgid ""
  8961. "@xref{Invoking guix gc, @command{guix gc --verify}}, for information on how "
  8962. "to check the integrity of the store and attempt recovery from accidental "
  8963. "modifications."
  8964. msgstr ""
  8965. #. type: Plain text
  8966. #: doc/guix.texi:4220
  8967. msgid ""
  8968. "The @code{(guix store)} module provides procedures to connect to the daemon, "
  8969. "and to perform RPCs. These are described below. By default, @code{open-"
  8970. "connection}, and thus all the @command{guix} commands, connect to the local "
  8971. "daemon or to the URI specified by the @code{GUIX_DAEMON_SOCKET} environment "
  8972. "variable."
  8973. msgstr ""
  8974. #. type: defvr
  8975. #: doc/guix.texi:4221
  8976. #, no-wrap
  8977. msgid "{Environment Variable} GUIX_DAEMON_SOCKET"
  8978. msgstr ""
  8979. #. type: defvr
  8980. #: doc/guix.texi:4226
  8981. msgid ""
  8982. "When set, the value of this variable should be a file name or a URI "
  8983. "designating the daemon endpoint. When it is a file name, it denotes a Unix-"
  8984. "domain socket to connect to. In addition to file names, the supported URI "
  8985. "schemes are:"
  8986. msgstr ""
  8987. #. type: code{#1}
  8988. #: doc/guix.texi:4228 doc/guix.texi:15406
  8989. #, no-wrap
  8990. msgid "file"
  8991. msgstr ""
  8992. #. type: itemx
  8993. #: doc/guix.texi:4229
  8994. #, no-wrap
  8995. msgid "unix"
  8996. msgstr ""
  8997. #. type: table
  8998. #: doc/guix.texi:4233
  8999. msgid ""
  9000. "These are for Unix-domain sockets. @code{file:///var/guix/daemon-socket/"
  9001. "socket} is equivalent to @file{/var/guix/daemon-socket/socket}."
  9002. msgstr ""
  9003. #. type: item
  9004. #: doc/guix.texi:4234
  9005. #, no-wrap
  9006. msgid "guix"
  9007. msgstr ""
  9008. #. type: table
  9009. #: doc/guix.texi:4242
  9010. msgid ""
  9011. "These URIs denote connections over TCP/IP, without encryption nor "
  9012. "authentication of the remote host. The URI must specify the host name and "
  9013. "optionally a port number (by default port 44146 is used):"
  9014. msgstr ""
  9015. #. type: example
  9016. #: doc/guix.texi:4245
  9017. #, no-wrap
  9018. msgid "guix://master.guix.example.org:1234\n"
  9019. msgstr ""
  9020. #. type: table
  9021. #: doc/guix.texi:4250
  9022. msgid ""
  9023. "This setup is suitable on local networks, such as clusters, where only "
  9024. "trusted nodes may connect to the build daemon at @code{master.guix.example."
  9025. "org}."
  9026. msgstr ""
  9027. #. type: table
  9028. #: doc/guix.texi:4254
  9029. msgid ""
  9030. "The @code{--listen} option of @command{guix-daemon} can be used to instruct "
  9031. "it to listen for TCP connections (@pxref{Invoking guix-daemon, @code{--"
  9032. "listen}})."
  9033. msgstr ""
  9034. #. type: item
  9035. #: doc/guix.texi:4255
  9036. #, no-wrap
  9037. msgid "ssh"
  9038. msgstr ""
  9039. #. type: cindex
  9040. #: doc/guix.texi:4256
  9041. #, no-wrap
  9042. msgid "SSH access to build daemons"
  9043. msgstr ""
  9044. #. type: table
  9045. #: doc/guix.texi:4260
  9046. msgid ""
  9047. "These URIs allow you to connect to a remote daemon over SSH@footnote{This "
  9048. "feature requires Guile-SSH (@pxref{Requirements}).}. A typical URL might "
  9049. "look like this:"
  9050. msgstr ""
  9051. #. type: example
  9052. #: doc/guix.texi:4263
  9053. #, no-wrap
  9054. msgid "ssh://charlie@@guix.example.org:22\n"
  9055. msgstr ""
  9056. #. type: table
  9057. #: doc/guix.texi:4267
  9058. msgid ""
  9059. "As for @command{guix copy}, the usual OpenSSH client configuration files are "
  9060. "honored (@pxref{Invoking guix copy})."
  9061. msgstr ""
  9062. #. type: defvr
  9063. #: doc/guix.texi:4270
  9064. msgid "Additional URI schemes may be supported in the future."
  9065. msgstr ""
  9066. #. type: quotation
  9067. #: doc/guix.texi:4277
  9068. msgid ""
  9069. "The ability to connect to remote build daemons is considered experimental as "
  9070. "of @value{VERSION}. Please get in touch with us to share any problems or "
  9071. "suggestions you may have (@pxref{Contributing})."
  9072. msgstr ""
  9073. #. type: deffn
  9074. #: doc/guix.texi:4280
  9075. #, no-wrap
  9076. msgid "{Scheme Procedure} open-connection [@var{uri}] [#:reserve-space? #t]"
  9077. msgstr ""
  9078. #. type: deffn
  9079. #: doc/guix.texi:4285
  9080. msgid ""
  9081. "Connect to the daemon over the Unix-domain socket at @var{uri} (a string). "
  9082. "When @var{reserve-space?} is true, instruct it to reserve a little bit of "
  9083. "extra space on the file system so that the garbage collector can still "
  9084. "operate should the disk become full. Return a server object."
  9085. msgstr ""
  9086. #. type: deffn
  9087. #: doc/guix.texi:4288
  9088. msgid ""
  9089. "@var{file} defaults to @var{%default-socket-path}, which is the normal "
  9090. "location given the options that were passed to @command{configure}."
  9091. msgstr ""
  9092. #. type: deffn
  9093. #: doc/guix.texi:4290
  9094. #, no-wrap
  9095. msgid "{Scheme Procedure} close-connection @var{server}"
  9096. msgstr ""
  9097. #. type: deffn
  9098. #: doc/guix.texi:4292
  9099. msgid "Close the connection to @var{server}."
  9100. msgstr ""
  9101. #. type: defvr
  9102. #: doc/guix.texi:4294
  9103. #, no-wrap
  9104. msgid "{Scheme Variable} current-build-output-port"
  9105. msgstr ""
  9106. #. type: defvr
  9107. #: doc/guix.texi:4297
  9108. msgid ""
  9109. "This variable is bound to a SRFI-39 parameter, which refers to the port "
  9110. "where build and error logs sent by the daemon should be written."
  9111. msgstr ""
  9112. #. type: Plain text
  9113. #: doc/guix.texi:4301
  9114. msgid ""
  9115. "Procedures that make RPCs all take a server object as their first argument."
  9116. msgstr ""
  9117. #. type: deffn
  9118. #: doc/guix.texi:4302
  9119. #, no-wrap
  9120. msgid "{Scheme Procedure} valid-path? @var{server} @var{path}"
  9121. msgstr ""
  9122. #. type: cindex
  9123. #: doc/guix.texi:4303
  9124. #, no-wrap
  9125. msgid "invalid store items"
  9126. msgstr ""
  9127. #. type: deffn
  9128. #: doc/guix.texi:4308
  9129. msgid ""
  9130. "Return @code{#t} when @var{path} designates a valid store item and @code{#f} "
  9131. "otherwise (an invalid item may exist on disk but still be invalid, for "
  9132. "instance because it is the result of an aborted or failed build.)"
  9133. msgstr ""
  9134. #. type: deffn
  9135. #: doc/guix.texi:4311
  9136. msgid ""
  9137. "A @code{&nix-protocol-error} condition is raised if @var{path} is not "
  9138. "prefixed by the store directory (@file{/gnu/store})."
  9139. msgstr ""
  9140. #. type: deffn
  9141. #: doc/guix.texi:4313
  9142. #, no-wrap
  9143. msgid "{Scheme Procedure} add-text-to-store @var{server} @var{name} @var{text} [@var{references}]"
  9144. msgstr ""
  9145. #. type: deffn
  9146. #: doc/guix.texi:4317
  9147. msgid ""
  9148. "Add @var{text} under file @var{name} in the store, and return its store "
  9149. "path. @var{references} is the list of store paths referred to by the "
  9150. "resulting store path."
  9151. msgstr ""
  9152. #. type: deffn
  9153. #: doc/guix.texi:4319
  9154. #, no-wrap
  9155. msgid "{Scheme Procedure} build-derivations @var{server} @var{derivations}"
  9156. msgstr ""
  9157. #. type: deffn
  9158. #: doc/guix.texi:4323
  9159. msgid ""
  9160. "Build @var{derivations} (a list of @code{<derivation>} objects or derivation "
  9161. "paths), and return when the worker is done building them. Return @code{#t} "
  9162. "on success."
  9163. msgstr ""
  9164. #. type: Plain text
  9165. #: doc/guix.texi:4329
  9166. msgid ""
  9167. "Note that the @code{(guix monads)} module provides a monad as well as "
  9168. "monadic versions of the above procedures, with the goal of making it more "
  9169. "convenient to work with code that accesses the store (@pxref{The Store "
  9170. "Monad})."
  9171. msgstr ""
  9172. #. type: i{#1}
  9173. #: doc/guix.texi:4332
  9174. msgid "This section is currently incomplete."
  9175. msgstr ""
  9176. #. type: cindex
  9177. #: doc/guix.texi:4336
  9178. #, no-wrap
  9179. msgid "derivations"
  9180. msgstr ""
  9181. #. type: Plain text
  9182. #: doc/guix.texi:4340
  9183. msgid ""
  9184. "Low-level build actions and the environment in which they are performed are "
  9185. "represented by @dfn{derivations}. A derivation contains the following "
  9186. "pieces of information:"
  9187. msgstr ""
  9188. #. type: itemize
  9189. #: doc/guix.texi:4345
  9190. msgid ""
  9191. "The outputs of the derivation---derivations produce at least one file or "
  9192. "directory in the store, but may produce more."
  9193. msgstr ""
  9194. #. type: itemize
  9195. #: doc/guix.texi:4349
  9196. msgid ""
  9197. "The inputs of the derivations, which may be other derivations or plain files "
  9198. "in the store (patches, build scripts, etc.)"
  9199. msgstr ""
  9200. #. type: itemize
  9201. #: doc/guix.texi:4352
  9202. msgid "The system type targeted by the derivation---e.g., @code{x86_64-linux}."
  9203. msgstr ""
  9204. #. type: itemize
  9205. #: doc/guix.texi:4356
  9206. msgid ""
  9207. "The file name of a build script in the store, along with the arguments to be "
  9208. "passed."
  9209. msgstr ""
  9210. #. type: itemize
  9211. #: doc/guix.texi:4359
  9212. msgid "A list of environment variables to be defined."
  9213. msgstr ""
  9214. #. type: cindex
  9215. #: doc/guix.texi:4362
  9216. #, no-wrap
  9217. msgid "derivation path"
  9218. msgstr ""
  9219. #. type: Plain text
  9220. #: doc/guix.texi:4370
  9221. msgid ""
  9222. "Derivations allow clients of the daemon to communicate build actions to the "
  9223. "store. They exist in two forms: as an in-memory representation, both on the "
  9224. "client- and daemon-side, and as files in the store whose name end in @code{."
  9225. "drv}---these files are referred to as @dfn{derivation paths}. Derivations "
  9226. "paths can be passed to the @code{build-derivations} procedure to perform the "
  9227. "build actions they prescribe (@pxref{The Store})."
  9228. msgstr ""
  9229. #. type: cindex
  9230. #: doc/guix.texi:4371
  9231. #, no-wrap
  9232. msgid "fixed-output derivations"
  9233. msgstr ""
  9234. #. type: Plain text
  9235. #: doc/guix.texi:4378
  9236. msgid ""
  9237. "Operations such as file downloads and version-control checkouts for which "
  9238. "the expected content hash is known in advance are modeled as @dfn{fixed-"
  9239. "output derivations}. Unlike regular derivations, the outputs of a fixed-"
  9240. "output derivation are independent of its inputs---e.g., a source code "
  9241. "download produces the same result regardless of the download method and "
  9242. "tools being used."
  9243. msgstr ""
  9244. #. type: Plain text
  9245. #: doc/guix.texi:4383
  9246. msgid ""
  9247. "The @code{(guix derivations)} module provides a representation of "
  9248. "derivations as Scheme objects, along with procedures to create and otherwise "
  9249. "manipulate derivations. The lowest-level primitive to create a derivation "
  9250. "is the @code{derivation} procedure:"
  9251. msgstr ""
  9252. #. type: deffn
  9253. #: doc/guix.texi:4384
  9254. #, no-wrap
  9255. msgid "{Scheme Procedure} derivation @var{store} @var{name} @var{builder} @"
  9256. msgstr ""
  9257. #. type: deffn
  9258. #: doc/guix.texi:4393
  9259. msgid ""
  9260. "@var{args} [#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:"
  9261. "recursive? #f] [#:inputs '()] [#:env-vars '()] @ [#:system (%current-"
  9262. "system)] [#:references-graphs #f] @ [#:allowed-references #f] [#:disallowed-"
  9263. "references #f] @ [#:leaked-env-vars #f] [#:local-build? #f] @ [#:"
  9264. "substitutable? #t] Build a derivation with the given arguments, and return "
  9265. "the resulting @code{<derivation>} object."
  9266. msgstr ""
  9267. #. type: deffn
  9268. #: doc/guix.texi:4400
  9269. msgid ""
  9270. "When @var{hash} and @var{hash-algo} are given, a @dfn{fixed-output "
  9271. "derivation} is created---i.e., one whose result is known in advance, such as "
  9272. "a file download. If, in addition, @var{recursive?} is true, then that fixed "
  9273. "output may be an executable file or a directory and @var{hash} must be the "
  9274. "hash of an archive containing this output."
  9275. msgstr ""
  9276. #. type: deffn
  9277. #: doc/guix.texi:4405
  9278. msgid ""
  9279. "When @var{references-graphs} is true, it must be a list of file name/store "
  9280. "path pairs. In that case, the reference graph of each store path is "
  9281. "exported in the build environment in the corresponding file, in a simple "
  9282. "text format."
  9283. msgstr ""
  9284. #. type: deffn
  9285. #: doc/guix.texi:4410
  9286. msgid ""
  9287. "When @var{allowed-references} is true, it must be a list of store items or "
  9288. "outputs that the derivation's output may refer to. Likewise, "
  9289. "@var{disallowed-references}, if true, must be a list of things the outputs "
  9290. "may @emph{not} refer to."
  9291. msgstr ""
  9292. #. type: deffn
  9293. #: doc/guix.texi:4417
  9294. msgid ""
  9295. "When @var{leaked-env-vars} is true, it must be a list of strings denoting "
  9296. "environment variables that are allowed to ``leak'' from the daemon's "
  9297. "environment to the build environment. This is only applicable to fixed-"
  9298. "output derivations---i.e., when @var{hash} is true. The main use is to "
  9299. "allow variables such as @code{http_proxy} to be passed to derivations that "
  9300. "download files."
  9301. msgstr ""
  9302. #. type: deffn
  9303. #: doc/guix.texi:4422
  9304. msgid ""
  9305. "When @var{local-build?} is true, declare that the derivation is not a good "
  9306. "candidate for offloading and should rather be built locally (@pxref{Daemon "
  9307. "Offload Setup}). This is the case for small derivations where the costs of "
  9308. "data transfers would outweigh the benefits."
  9309. msgstr ""
  9310. #. type: deffn
  9311. #: doc/guix.texi:4427
  9312. msgid ""
  9313. "When @var{substitutable?} is false, declare that substitutes of the "
  9314. "derivation's output should not be used (@pxref{Substitutes}). This is "
  9315. "useful, for instance, when building packages that capture details of the "
  9316. "host CPU instruction set."
  9317. msgstr ""
  9318. #. type: Plain text
  9319. #: doc/guix.texi:4433
  9320. msgid ""
  9321. "Here's an example with a shell script as its builder, assuming @var{store} "
  9322. "is an open connection to the daemon, and @var{bash} points to a Bash "
  9323. "executable in the store:"
  9324. msgstr ""
  9325. #. type: lisp
  9326. #: doc/guix.texi:4438
  9327. #, no-wrap
  9328. msgid ""
  9329. "(use-modules (guix utils)\n"
  9330. " (guix store)\n"
  9331. " (guix derivations))\n"
  9332. "\n"
  9333. msgstr ""
  9334. #. type: lisp
  9335. #: doc/guix.texi:4447
  9336. #, no-wrap
  9337. msgid ""
  9338. "(let ((builder ; add the Bash script to the store\n"
  9339. " (add-text-to-store store \"my-builder.sh\"\n"
  9340. " \"echo hello world > $out\\n\" '())))\n"
  9341. " (derivation store \"foo\"\n"
  9342. " bash `(\"-e\" ,builder)\n"
  9343. " #:inputs `((,bash) (,builder))\n"
  9344. " #:env-vars '((\"HOME\" . \"/homeless\"))))\n"
  9345. "@result{} #<derivation /gnu/store/@dots{}-foo.drv => /gnu/store/@dots{}-foo>\n"
  9346. msgstr ""
  9347. #. type: Plain text
  9348. #: doc/guix.texi:4454
  9349. msgid ""
  9350. "As can be guessed, this primitive is cumbersome to use directly. A better "
  9351. "approach is to write build scripts in Scheme, of course! The best course of "
  9352. "action for that is to write the build code as a ``G-expression'', and to "
  9353. "pass it to @code{gexp->derivation}. For more information, @pxref{G-"
  9354. "Expressions}."
  9355. msgstr ""
  9356. #. type: Plain text
  9357. #: doc/guix.texi:4459
  9358. msgid ""
  9359. "Once upon a time, @code{gexp->derivation} did not exist and constructing "
  9360. "derivations with build code written in Scheme was achieved with @code{build-"
  9361. "expression->derivation}, documented below. This procedure is now deprecated "
  9362. "in favor of the much nicer @code{gexp->derivation}."
  9363. msgstr ""
  9364. #. type: deffn
  9365. #: doc/guix.texi:4460
  9366. #, no-wrap
  9367. msgid "{Scheme Procedure} build-expression->derivation @var{store} @"
  9368. msgstr ""
  9369. #. type: deffn
  9370. #: doc/guix.texi:4476
  9371. msgid ""
  9372. "@var{name} @var{exp} @ [#:system (%current-system)] [#:inputs '()] @ [#:"
  9373. "outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:env-"
  9374. "vars '()] [#:modules '()] @ [#:references-graphs #f] [#:allowed-references "
  9375. "#f] @ [#:disallowed-references #f] @ [#:local-build? #f] [#:substitutable? "
  9376. "#t] [#:guile-for-build #f] Return a derivation that executes Scheme "
  9377. "expression @var{exp} as a builder for derivation @var{name}. @var{inputs} "
  9378. "must be a list of @code{(name drv-path sub-drv)} tuples; when @var{sub-drv} "
  9379. "is omitted, @code{\"out\"} is assumed. @var{modules} is a list of names of "
  9380. "Guile modules from the current search path to be copied in the store, "
  9381. "compiled, and made available in the load path during the execution of "
  9382. "@var{exp}---e.g., @code{((guix build utils) (guix build gnu-build-system))}."
  9383. msgstr ""
  9384. #. type: deffn
  9385. #: doc/guix.texi:4484
  9386. msgid ""
  9387. "@var{exp} is evaluated in an environment where @code{%outputs} is bound to a "
  9388. "list of output/path pairs, and where @code{%build-inputs} is bound to a list "
  9389. "of string/output-path pairs made from @var{inputs}. Optionally, @var{env-"
  9390. "vars} is a list of string pairs specifying the name and value of environment "
  9391. "variables visible to the builder. The builder terminates by passing the "
  9392. "result of @var{exp} to @code{exit}; thus, when @var{exp} returns @code{#f}, "
  9393. "the build is considered to have failed."
  9394. msgstr ""
  9395. #. type: deffn
  9396. #: doc/guix.texi:4488
  9397. msgid ""
  9398. "@var{exp} is built using @var{guile-for-build} (a derivation). When "
  9399. "@var{guile-for-build} is omitted or is @code{#f}, the value of the "
  9400. "@code{%guile-for-build} fluid is used instead."
  9401. msgstr ""
  9402. #. type: deffn
  9403. #: doc/guix.texi:4493
  9404. msgid ""
  9405. "See the @code{derivation} procedure for the meaning of @var{references-"
  9406. "graphs}, @var{allowed-references}, @var{disallowed-references}, @var{local-"
  9407. "build?}, and @var{substitutable?}."
  9408. msgstr ""
  9409. #. type: Plain text
  9410. #: doc/guix.texi:4498
  9411. msgid ""
  9412. "Here's an example of a single-output derivation that creates a directory "
  9413. "containing one file:"
  9414. msgstr ""
  9415. #. type: lisp
  9416. #: doc/guix.texi:4506
  9417. #, no-wrap
  9418. msgid ""
  9419. "(let ((builder '(let ((out (assoc-ref %outputs \"out\")))\n"
  9420. " (mkdir out) ; create /gnu/store/@dots{}-goo\n"
  9421. " (call-with-output-file (string-append out \"/test\")\n"
  9422. " (lambda (p)\n"
  9423. " (display '(hello guix) p))))))\n"
  9424. " (build-expression->derivation store \"goo\" builder))\n"
  9425. "\n"
  9426. msgstr ""
  9427. #. type: lisp
  9428. #: doc/guix.texi:4508
  9429. #, no-wrap
  9430. msgid "@result{} #<derivation /gnu/store/@dots{}-goo.drv => @dots{}>\n"
  9431. msgstr ""
  9432. #. type: cindex
  9433. #: doc/guix.texi:4514
  9434. #, no-wrap
  9435. msgid "monad"
  9436. msgstr ""
  9437. #. type: Plain text
  9438. #: doc/guix.texi:4520
  9439. msgid ""
  9440. "The procedures that operate on the store described in the previous sections "
  9441. "all take an open connection to the build daemon as their first argument. "
  9442. "Although the underlying model is functional, they either have side effects "
  9443. "or depend on the current state of the store."
  9444. msgstr ""
  9445. #. type: Plain text
  9446. #: doc/guix.texi:4526
  9447. msgid ""
  9448. "The former is inconvenient: the connection to the build daemon has to be "
  9449. "carried around in all those functions, making it impossible to compose "
  9450. "functions that do not take that parameter with functions that do. The "
  9451. "latter can be problematic: since store operations have side effects and/or "
  9452. "depend on external state, they have to be properly sequenced."
  9453. msgstr ""
  9454. #. type: cindex
  9455. #: doc/guix.texi:4527
  9456. #, no-wrap
  9457. msgid "monadic values"
  9458. msgstr ""
  9459. #. type: cindex
  9460. #: doc/guix.texi:4528
  9461. #, no-wrap
  9462. msgid "monadic functions"
  9463. msgstr ""
  9464. #. type: Plain text
  9465. #: doc/guix.texi:4538
  9466. msgid ""
  9467. "This is where the @code{(guix monads)} module comes in. This module "
  9468. "provides a framework for working with @dfn{monads}, and a particularly "
  9469. "useful monad for our uses, the @dfn{store monad}. Monads are a construct "
  9470. "that allows two things: associating ``context'' with values (in our case, "
  9471. "the context is the store), and building sequences of computations (here "
  9472. "computations include accesses to the store). Values in a monad---values "
  9473. "that carry this additional context---are called @dfn{monadic values}; "
  9474. "procedures that return such values are called @dfn{monadic procedures}."
  9475. msgstr ""
  9476. #. type: Plain text
  9477. #: doc/guix.texi:4540
  9478. msgid "Consider this ``normal'' procedure:"
  9479. msgstr ""
  9480. #. type: example
  9481. #: doc/guix.texi:4549
  9482. #, no-wrap
  9483. msgid ""
  9484. "(define (sh-symlink store)\n"
  9485. " ;; Return a derivation that symlinks the 'bash' executable.\n"
  9486. " (let* ((drv (package-derivation store bash))\n"
  9487. " (out (derivation->output-path drv))\n"
  9488. " (sh (string-append out \"/bin/bash\")))\n"
  9489. " (build-expression->derivation store \"sh\"\n"
  9490. " `(symlink ,sh %output))))\n"
  9491. msgstr ""
  9492. #. type: Plain text
  9493. #: doc/guix.texi:4553
  9494. msgid ""
  9495. "Using @code{(guix monads)} and @code{(guix gexp)}, it may be rewritten as a "
  9496. "monadic function:"
  9497. msgstr ""
  9498. #. type: example
  9499. #: doc/guix.texi:4561
  9500. #, no-wrap
  9501. msgid ""
  9502. "(define (sh-symlink)\n"
  9503. " ;; Same, but return a monadic value.\n"
  9504. " (mlet %store-monad ((drv (package->derivation bash)))\n"
  9505. " (gexp->derivation \"sh\"\n"
  9506. " #~(symlink (string-append #$drv \"/bin/bash\")\n"
  9507. " #$output))))\n"
  9508. msgstr ""
  9509. #. type: Plain text
  9510. #: doc/guix.texi:4568
  9511. msgid ""
  9512. "There are several things to note in the second version: the @code{store} "
  9513. "parameter is now implicit and is ``threaded'' in the calls to the "
  9514. "@code{package->derivation} and @code{gexp->derivation} monadic procedures, "
  9515. "and the monadic value returned by @code{package->derivation} is @dfn{bound} "
  9516. "using @code{mlet} instead of plain @code{let}."
  9517. msgstr ""
  9518. #. type: Plain text
  9519. #: doc/guix.texi:4572
  9520. msgid ""
  9521. "As it turns out, the call to @code{package->derivation} can even be omitted "
  9522. "since it will take place implicitly, as we will see later (@pxref{G-"
  9523. "Expressions}):"
  9524. msgstr ""
  9525. #. type: example
  9526. #: doc/guix.texi:4578
  9527. #, no-wrap
  9528. msgid ""
  9529. "(define (sh-symlink)\n"
  9530. " (gexp->derivation \"sh\"\n"
  9531. " #~(symlink (string-append #$bash \"/bin/bash\")\n"
  9532. " #$output)))\n"
  9533. msgstr ""
  9534. #. type: Plain text
  9535. #: doc/guix.texi:4587
  9536. msgid ""
  9537. "Calling the monadic @code{sh-symlink} has no effect. As someone once said, "
  9538. "``you exit a monad like you exit a building on fire: by running''. So, to "
  9539. "exit the monad and get the desired effect, one must use @code{run-with-"
  9540. "store}:"
  9541. msgstr ""
  9542. #. type: example
  9543. #: doc/guix.texi:4591
  9544. #, no-wrap
  9545. msgid ""
  9546. "(run-with-store (open-connection) (sh-symlink))\n"
  9547. "@result{} /gnu/store/...-sh-symlink\n"
  9548. msgstr ""
  9549. #. type: Plain text
  9550. #: doc/guix.texi:4597
  9551. msgid ""
  9552. "Note that the @code{(guix monad-repl)} module extends the Guile REPL with "
  9553. "new ``meta-commands'' to make it easier to deal with monadic procedures: "
  9554. "@code{run-in-store}, and @code{enter-store-monad}. The former is used to "
  9555. "``run'' a single monadic value through the store:"
  9556. msgstr ""
  9557. #. type: example
  9558. #: doc/guix.texi:4601
  9559. #, no-wrap
  9560. msgid ""
  9561. "scheme@@(guile-user)> ,run-in-store (package->derivation hello)\n"
  9562. "$1 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n"
  9563. msgstr ""
  9564. #. type: Plain text
  9565. #: doc/guix.texi:4605
  9566. msgid ""
  9567. "The latter enters a recursive REPL, where all the return values are "
  9568. "automatically run through the store:"
  9569. msgstr ""
  9570. #. type: example
  9571. #: doc/guix.texi:4614
  9572. #, no-wrap
  9573. msgid ""
  9574. "scheme@@(guile-user)> ,enter-store-monad\n"
  9575. "store-monad@@(guile-user) [1]> (package->derivation hello)\n"
  9576. "$2 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n"
  9577. "store-monad@@(guile-user) [1]> (text-file \"foo\" \"Hello!\")\n"
  9578. "$3 = \"/gnu/store/@dots{}-foo\"\n"
  9579. "store-monad@@(guile-user) [1]> ,q\n"
  9580. "scheme@@(guile-user)>\n"
  9581. msgstr ""
  9582. #. type: Plain text
  9583. #: doc/guix.texi:4619
  9584. msgid ""
  9585. "Note that non-monadic values cannot be returned in the @code{store-monad} "
  9586. "REPL."
  9587. msgstr ""
  9588. #. type: Plain text
  9589. #: doc/guix.texi:4622
  9590. msgid ""
  9591. "The main syntactic forms to deal with monads in general are provided by the "
  9592. "@code{(guix monads)} module and are described below."
  9593. msgstr ""
  9594. #. type: deffn
  9595. #: doc/guix.texi:4623
  9596. #, no-wrap
  9597. msgid "{Scheme Syntax} with-monad @var{monad} @var{body} ..."
  9598. msgstr ""
  9599. #. type: deffn
  9600. #: doc/guix.texi:4626
  9601. msgid ""
  9602. "Evaluate any @code{>>=} or @code{return} forms in @var{body} as being in "
  9603. "@var{monad}."
  9604. msgstr ""
  9605. #. type: deffn
  9606. #: doc/guix.texi:4628
  9607. #, no-wrap
  9608. msgid "{Scheme Syntax} return @var{val}"
  9609. msgstr ""
  9610. #. type: deffn
  9611. #: doc/guix.texi:4630
  9612. msgid "Return a monadic value that encapsulates @var{val}."
  9613. msgstr ""
  9614. #. type: deffn
  9615. #: doc/guix.texi:4632
  9616. #, no-wrap
  9617. msgid "{Scheme Syntax} >>= @var{mval} @var{mproc} ..."
  9618. msgstr ""
  9619. #. type: deffn
  9620. #: doc/guix.texi:4639
  9621. msgid ""
  9622. "@dfn{Bind} monadic value @var{mval}, passing its ``contents'' to monadic "
  9623. "procedures @var{mproc}@dots{}@footnote{This operation is commonly referred "
  9624. "to as ``bind'', but that name denotes an unrelated procedure in Guile. Thus "
  9625. "we use this somewhat cryptic symbol inherited from the Haskell language.}. "
  9626. "There can be one @var{mproc} or several of them, as in this example:"
  9627. msgstr ""
  9628. #. type: example
  9629. #: doc/guix.texi:4647
  9630. #, no-wrap
  9631. msgid ""
  9632. "(run-with-state\n"
  9633. " (with-monad %state-monad\n"
  9634. " (>>= (return 1)\n"
  9635. " (lambda (x) (return (+ 1 x)))\n"
  9636. " (lambda (x) (return (* 2 x)))))\n"
  9637. " 'some-state)\n"
  9638. "\n"
  9639. msgstr ""
  9640. #. type: example
  9641. #: doc/guix.texi:4650
  9642. #, no-wrap
  9643. msgid ""
  9644. "@result{} 4\n"
  9645. "@result{} some-state\n"
  9646. msgstr ""
  9647. #. type: deffn
  9648. #: doc/guix.texi:4653
  9649. #, no-wrap
  9650. msgid "{Scheme Syntax} mlet @var{monad} ((@var{var} @var{mval}) ...) @"
  9651. msgstr ""
  9652. #. type: deffn
  9653. #: doc/guix.texi:4655
  9654. msgid "@var{body} ..."
  9655. msgstr ""
  9656. #. type: deffnx
  9657. #: doc/guix.texi:4655
  9658. #, no-wrap
  9659. msgid "{Scheme Syntax} mlet* @var{monad} ((@var{var} @var{mval}) ...) @"
  9660. msgstr ""
  9661. #. type: deffn
  9662. #: doc/guix.texi:4667
  9663. msgid ""
  9664. "@var{body} ... Bind the variables @var{var} to the monadic values "
  9665. "@var{mval} in @var{body}, which is a sequence of expressions. As with the "
  9666. "bind operator, this can be thought of as ``unpacking'' the raw, non-monadic "
  9667. "value ``contained'' in @var{mval} and making @var{var} refer to that raw, "
  9668. "non-monadic value within the scope of the @var{body}. The form (@var{var} -"
  9669. "> @var{val}) binds @var{var} to the ``normal'' value @var{val}, as per "
  9670. "@code{let}. The binding operations occur in sequence from left to right. "
  9671. "The last expression of @var{body} must be a monadic expression, and its "
  9672. "result will become the result of the @code{mlet} or @code{mlet*} when run in "
  9673. "the @var{monad}."
  9674. msgstr ""
  9675. #. type: deffn
  9676. #: doc/guix.texi:4670
  9677. msgid ""
  9678. "@code{mlet*} is to @code{mlet} what @code{let*} is to @code{let} "
  9679. "(@pxref{Local Bindings,,, guile, GNU Guile Reference Manual})."
  9680. msgstr ""
  9681. #. type: deffn
  9682. #: doc/guix.texi:4672
  9683. #, no-wrap
  9684. msgid "{Scheme System} mbegin @var{monad} @var{mexp} ..."
  9685. msgstr ""
  9686. #. type: deffn
  9687. #: doc/guix.texi:4676
  9688. msgid ""
  9689. "Bind @var{mexp} and the following monadic expressions in sequence, returning "
  9690. "the result of the last expression. Every expression in the sequence must be "
  9691. "a monadic expression."
  9692. msgstr ""
  9693. #. type: deffn
  9694. #: doc/guix.texi:4680
  9695. msgid ""
  9696. "This is akin to @code{mlet}, except that the return values of the monadic "
  9697. "expressions are ignored. In that sense, it is analogous to @code{begin}, "
  9698. "but applied to monadic expressions."
  9699. msgstr ""
  9700. #. type: deffn
  9701. #: doc/guix.texi:4682
  9702. #, no-wrap
  9703. msgid "{Scheme System} mwhen @var{condition} @var{mexp0} @var{mexp*} ..."
  9704. msgstr ""
  9705. #. type: deffn
  9706. #: doc/guix.texi:4687
  9707. msgid ""
  9708. "When @var{condition} is true, evaluate the sequence of monadic expressions "
  9709. "@var{mexp0}..@var{mexp*} as in an @code{mbegin}. When @var{condition} is "
  9710. "false, return @code{*unspecified*} in the current monad. Every expression "
  9711. "in the sequence must be a monadic expression."
  9712. msgstr ""
  9713. #. type: deffn
  9714. #: doc/guix.texi:4689
  9715. #, no-wrap
  9716. msgid "{Scheme System} munless @var{condition} @var{mexp0} @var{mexp*} ..."
  9717. msgstr ""
  9718. #. type: deffn
  9719. #: doc/guix.texi:4694
  9720. msgid ""
  9721. "When @var{condition} is false, evaluate the sequence of monadic expressions "
  9722. "@var{mexp0}..@var{mexp*} as in an @code{mbegin}. When @var{condition} is "
  9723. "true, return @code{*unspecified*} in the current monad. Every expression in "
  9724. "the sequence must be a monadic expression."
  9725. msgstr ""
  9726. #. type: cindex
  9727. #: doc/guix.texi:4696
  9728. #, no-wrap
  9729. msgid "state monad"
  9730. msgstr ""
  9731. #. type: Plain text
  9732. #: doc/guix.texi:4700
  9733. msgid ""
  9734. "The @code{(guix monads)} module provides the @dfn{state monad}, which allows "
  9735. "an additional value---the state---to be @emph{threaded} through monadic "
  9736. "procedure calls."
  9737. msgstr ""
  9738. #. type: defvr
  9739. #: doc/guix.texi:4701
  9740. #, no-wrap
  9741. msgid "{Scheme Variable} %state-monad"
  9742. msgstr ""
  9743. #. type: defvr
  9744. #: doc/guix.texi:4704
  9745. msgid ""
  9746. "The state monad. Procedures in the state monad can access and change the "
  9747. "state that is threaded."
  9748. msgstr ""
  9749. #. type: defvr
  9750. #: doc/guix.texi:4708
  9751. msgid ""
  9752. "Consider the example below. The @code{square} procedure returns a value in "
  9753. "the state monad. It returns the square of its argument, but also increments "
  9754. "the current state value:"
  9755. msgstr ""
  9756. #. type: example
  9757. #: doc/guix.texi:4715
  9758. #, no-wrap
  9759. msgid ""
  9760. "(define (square x)\n"
  9761. " (mlet %state-monad ((count (current-state)))\n"
  9762. " (mbegin %state-monad\n"
  9763. " (set-current-state (+ 1 count))\n"
  9764. " (return (* x x)))))\n"
  9765. "\n"
  9766. msgstr ""
  9767. #. type: example
  9768. #: doc/guix.texi:4719
  9769. #, no-wrap
  9770. msgid ""
  9771. "(run-with-state (sequence %state-monad (map square (iota 3))) 0)\n"
  9772. "@result{} (0 1 4)\n"
  9773. "@result{} 3\n"
  9774. msgstr ""
  9775. #. type: defvr
  9776. #: doc/guix.texi:4723
  9777. msgid ""
  9778. "When ``run'' through @var{%state-monad}, we obtain that additional state "
  9779. "value, which is the number of @code{square} calls."
  9780. msgstr ""
  9781. #. type: deffn
  9782. #: doc/guix.texi:4725
  9783. #, no-wrap
  9784. msgid "{Monadic Procedure} current-state"
  9785. msgstr ""
  9786. #. type: deffn
  9787. #: doc/guix.texi:4727
  9788. msgid "Return the current state as a monadic value."
  9789. msgstr ""
  9790. #. type: deffn
  9791. #: doc/guix.texi:4729
  9792. #, no-wrap
  9793. msgid "{Monadic Procedure} set-current-state @var{value}"
  9794. msgstr ""
  9795. #. type: deffn
  9796. #: doc/guix.texi:4732
  9797. msgid ""
  9798. "Set the current state to @var{value} and return the previous state as a "
  9799. "monadic value."
  9800. msgstr ""
  9801. #. type: deffn
  9802. #: doc/guix.texi:4734
  9803. #, no-wrap
  9804. msgid "{Monadic Procedure} state-push @var{value}"
  9805. msgstr ""
  9806. #. type: deffn
  9807. #: doc/guix.texi:4737
  9808. msgid ""
  9809. "Push @var{value} to the current state, which is assumed to be a list, and "
  9810. "return the previous state as a monadic value."
  9811. msgstr ""
  9812. #. type: deffn
  9813. #: doc/guix.texi:4739
  9814. #, no-wrap
  9815. msgid "{Monadic Procedure} state-pop"
  9816. msgstr ""
  9817. #. type: deffn
  9818. #: doc/guix.texi:4742
  9819. msgid ""
  9820. "Pop a value from the current state and return it as a monadic value. The "
  9821. "state is assumed to be a list."
  9822. msgstr ""
  9823. #. type: deffn
  9824. #: doc/guix.texi:4744
  9825. #, no-wrap
  9826. msgid "{Scheme Procedure} run-with-state @var{mval} [@var{state}]"
  9827. msgstr ""
  9828. #. type: deffn
  9829. #: doc/guix.texi:4747
  9830. msgid ""
  9831. "Run monadic value @var{mval} starting with @var{state} as the initial "
  9832. "state. Return two values: the resulting value, and the resulting state."
  9833. msgstr ""
  9834. #. type: Plain text
  9835. #: doc/guix.texi:4751
  9836. msgid ""
  9837. "The main interface to the store monad, provided by the @code{(guix store)} "
  9838. "module, is as follows."
  9839. msgstr ""
  9840. #. type: defvr
  9841. #: doc/guix.texi:4752
  9842. #, no-wrap
  9843. msgid "{Scheme Variable} %store-monad"
  9844. msgstr ""
  9845. #. type: defvr
  9846. #: doc/guix.texi:4754
  9847. msgid "The store monad---an alias for @var{%state-monad}."
  9848. msgstr ""
  9849. #. type: defvr
  9850. #: doc/guix.texi:4758
  9851. msgid ""
  9852. "Values in the store monad encapsulate accesses to the store. When its "
  9853. "effect is needed, a value of the store monad must be ``evaluated'' by "
  9854. "passing it to the @code{run-with-store} procedure (see below.)"
  9855. msgstr ""
  9856. #. type: deffn
  9857. #: doc/guix.texi:4760
  9858. #, no-wrap
  9859. msgid "{Scheme Procedure} run-with-store @var{store} @var{mval} [#:guile-for-build] [#:system (%current-system)]"
  9860. msgstr ""
  9861. #. type: deffn
  9862. #: doc/guix.texi:4763
  9863. msgid ""
  9864. "Run @var{mval}, a monadic value in the store monad, in @var{store}, an open "
  9865. "store connection."
  9866. msgstr ""
  9867. #. type: deffn
  9868. #: doc/guix.texi:4765
  9869. #, no-wrap
  9870. msgid "{Monadic Procedure} text-file @var{name} @var{text} [@var{references}]"
  9871. msgstr ""
  9872. #. type: deffn
  9873. #: doc/guix.texi:4769
  9874. msgid ""
  9875. "Return as a monadic value the absolute file name in the store of the file "
  9876. "containing @var{text}, a string. @var{references} is a list of store items "
  9877. "that the resulting text file refers to; it defaults to the empty list."
  9878. msgstr ""
  9879. #. type: deffn
  9880. #: doc/guix.texi:4771
  9881. #, no-wrap
  9882. msgid "{Monadic Procedure} interned-file @var{file} [@var{name}] @"
  9883. msgstr ""
  9884. #. type: deffn
  9885. #: doc/guix.texi:4776
  9886. msgid ""
  9887. "[#:recursive? #t] [#:select? (const #t)] Return the name of @var{file} once "
  9888. "interned in the store. Use @var{name} as its store name, or the basename of "
  9889. "@var{file} if @var{name} is omitted."
  9890. msgstr ""
  9891. #. type: deffn
  9892. #: doc/guix.texi:4780 doc/guix.texi:5159
  9893. msgid ""
  9894. "When @var{recursive?} is true, the contents of @var{file} are added "
  9895. "recursively; if @var{file} designates a flat file and @var{recursive?} is "
  9896. "true, its contents are added, and its permission bits are kept."
  9897. msgstr ""
  9898. #. type: deffn
  9899. #: doc/guix.texi:4785 doc/guix.texi:5164
  9900. msgid ""
  9901. "When @var{recursive?} is true, call @code{(@var{select?} @var{file} "
  9902. "@var{stat})} for each directory entry, where @var{file} is the entry's "
  9903. "absolute file name and @var{stat} is the result of @code{lstat}; exclude "
  9904. "entries for which @var{select?} does not return true."
  9905. msgstr ""
  9906. #. type: deffn
  9907. #: doc/guix.texi:4787
  9908. msgid "The example below adds a file to the store, under two different names:"
  9909. msgstr ""
  9910. #. type: example
  9911. #: doc/guix.texi:4793
  9912. #, no-wrap
  9913. msgid ""
  9914. "(run-with-store (open-connection)\n"
  9915. " (mlet %store-monad ((a (interned-file \"README\"))\n"
  9916. " (b (interned-file \"README\" \"LEGU-MIN\")))\n"
  9917. " (return (list a b))))\n"
  9918. "\n"
  9919. msgstr ""
  9920. #. type: example
  9921. #: doc/guix.texi:4795
  9922. #, no-wrap
  9923. msgid "@result{} (\"/gnu/store/rwm@dots{}-README\" \"/gnu/store/44i@dots{}-LEGU-MIN\")\n"
  9924. msgstr ""
  9925. #. type: Plain text
  9926. #: doc/guix.texi:4801
  9927. msgid ""
  9928. "The @code{(guix packages)} module exports the following package-related "
  9929. "monadic procedures:"
  9930. msgstr ""
  9931. #. type: deffn
  9932. #: doc/guix.texi:4802
  9933. #, no-wrap
  9934. msgid "{Monadic Procedure} package-file @var{package} [@var{file}] @"
  9935. msgstr ""
  9936. #. type: deffn
  9937. #: doc/guix.texi:4810
  9938. msgid ""
  9939. "[#:system (%current-system)] [#:target #f] @ [#:output \"out\"] Return as a "
  9940. "monadic value in the absolute file name of @var{file} within the "
  9941. "@var{output} directory of @var{package}. When @var{file} is omitted, return "
  9942. "the name of the @var{output} directory of @var{package}. When @var{target} "
  9943. "is true, use it as a cross-compilation target triplet."
  9944. msgstr ""
  9945. #. type: deffn
  9946. #: doc/guix.texi:4812
  9947. #, no-wrap
  9948. msgid "{Monadic Procedure} package->derivation @var{package} [@var{system}]"
  9949. msgstr ""
  9950. #. type: deffnx
  9951. #: doc/guix.texi:4813
  9952. #, no-wrap
  9953. msgid "{Monadic Procedure} package->cross-derivation @var{package} @"
  9954. msgstr ""
  9955. #. type: deffn
  9956. #: doc/guix.texi:4817
  9957. msgid ""
  9958. "@var{target} [@var{system}] Monadic version of @code{package-derivation} and "
  9959. "@code{package-cross-derivation} (@pxref{Defining Packages})."
  9960. msgstr ""
  9961. #. type: cindex
  9962. #: doc/guix.texi:4823
  9963. #, no-wrap
  9964. msgid "G-expression"
  9965. msgstr ""
  9966. #. type: cindex
  9967. #: doc/guix.texi:4824
  9968. #, no-wrap
  9969. msgid "build code quoting"
  9970. msgstr ""
  9971. #. type: Plain text
  9972. #: doc/guix.texi:4830
  9973. msgid ""
  9974. "So we have ``derivations'', which represent a sequence of build actions to "
  9975. "be performed to produce an item in the store (@pxref{Derivations}). These "
  9976. "build actions are performed when asking the daemon to actually build the "
  9977. "derivations; they are run by the daemon in a container (@pxref{Invoking guix-"
  9978. "daemon})."
  9979. msgstr ""
  9980. #. type: cindex
  9981. #: doc/guix.texi:4831
  9982. #, no-wrap
  9983. msgid "strata of code"
  9984. msgstr ""
  9985. #. type: Plain text
  9986. #: doc/guix.texi:4843
  9987. msgid ""
  9988. "It should come as no surprise that we like to write these build actions in "
  9989. "Scheme. When we do that, we end up with two @dfn{strata} of Scheme "
  9990. "code@footnote{The term @dfn{stratum} in this context was coined by Manuel "
  9991. "Serrano et al.@: in the context of their work on Hop. Oleg Kiselyov, who "
  9992. "has written insightful @url{http://okmij.org/ftp/meta-programming/#meta-"
  9993. "scheme, essays and code on this topic}, refers to this kind of code "
  9994. "generation as @dfn{staging}.}: the ``host code''---code that defines "
  9995. "packages, talks to the daemon, etc.---and the ``build code''---code that "
  9996. "actually performs build actions, such as making directories, invoking "
  9997. "@command{make}, etc."
  9998. msgstr ""
  9999. #. type: Plain text
  10000. #: doc/guix.texi:4850
  10001. msgid ""
  10002. "To describe a derivation and its build actions, one typically needs to embed "
  10003. "build code inside host code. It boils down to manipulating build code as "
  10004. "data, and the homoiconicity of Scheme---code has a direct representation as "
  10005. "data---comes in handy for that. But we need more than the normal "
  10006. "@code{quasiquote} mechanism in Scheme to construct build expressions."
  10007. msgstr ""
  10008. #. type: Plain text
  10009. #: doc/guix.texi:4859
  10010. msgid ""
  10011. "The @code{(guix gexp)} module implements @dfn{G-expressions}, a form of S-"
  10012. "expressions adapted to build expressions. G-expressions, or @dfn{gexps}, "
  10013. "consist essentially of three syntactic forms: @code{gexp}, @code{ungexp}, "
  10014. "and @code{ungexp-splicing} (or simply: @code{#~}, @code{#$}, and @code{#"
  10015. "$@@}), which are comparable to @code{quasiquote}, @code{unquote}, and "
  10016. "@code{unquote-splicing}, respectively (@pxref{Expression Syntax, "
  10017. "@code{quasiquote},, guile, GNU Guile Reference Manual}). However, there are "
  10018. "major differences:"
  10019. msgstr ""
  10020. #. type: itemize
  10021. #: doc/guix.texi:4864
  10022. msgid ""
  10023. "Gexps are meant to be written to a file and run or manipulated by other "
  10024. "processes."
  10025. msgstr ""
  10026. #. type: itemize
  10027. #: doc/guix.texi:4869
  10028. msgid ""
  10029. "When a high-level object such as a package or derivation is unquoted inside "
  10030. "a gexp, the result is as if its output file name had been introduced."
  10031. msgstr ""
  10032. #. type: itemize
  10033. #: doc/guix.texi:4874
  10034. msgid ""
  10035. "Gexps carry information about the packages or derivations they refer to, and "
  10036. "these dependencies are automatically added as inputs to the build processes "
  10037. "that use them."
  10038. msgstr ""
  10039. #. type: cindex
  10040. #: doc/guix.texi:4876 doc/guix.texi:5346
  10041. #, no-wrap
  10042. msgid "lowering, of high-level objects in gexps"
  10043. msgstr ""
  10044. #. type: Plain text
  10045. #: doc/guix.texi:4886
  10046. msgid ""
  10047. "This mechanism is not limited to package and derivation objects: "
  10048. "@dfn{compilers} able to ``lower'' other high-level objects to derivations or "
  10049. "files in the store can be defined, such that these objects can also be "
  10050. "inserted into gexps. For example, a useful type of high-level objects that "
  10051. "can be inserted in a gexp is ``file-like objects'', which make it easy to "
  10052. "add files to the store and to refer to them in derivations and such (see "
  10053. "@code{local-file} and @code{plain-file} below.)"
  10054. msgstr ""
  10055. #. type: Plain text
  10056. #: doc/guix.texi:4888
  10057. msgid "To illustrate the idea, here is an example of a gexp:"
  10058. msgstr ""
  10059. #. type: example
  10060. #: doc/guix.texi:4896
  10061. #, no-wrap
  10062. msgid ""
  10063. "(define build-exp\n"
  10064. " #~(begin\n"
  10065. " (mkdir #$output)\n"
  10066. " (chdir #$output)\n"
  10067. " (symlink (string-append #$coreutils \"/bin/ls\")\n"
  10068. " \"list-files\")))\n"
  10069. msgstr ""
  10070. #. type: Plain text
  10071. #: doc/guix.texi:4901
  10072. msgid ""
  10073. "This gexp can be passed to @code{gexp->derivation}; we obtain a derivation "
  10074. "that builds a directory containing exactly one symlink to @file{/gnu/store/"
  10075. "@dots{}-coreutils-8.22/bin/ls}:"
  10076. msgstr ""
  10077. #. type: example
  10078. #: doc/guix.texi:4904
  10079. #, no-wrap
  10080. msgid "(gexp->derivation \"the-thing\" build-exp)\n"
  10081. msgstr ""
  10082. #. type: Plain text
  10083. #: doc/guix.texi:4912
  10084. msgid ""
  10085. "As one would expect, the @code{\"/gnu/store/@dots{}-coreutils-8.22\"} string "
  10086. "is substituted to the reference to the @var{coreutils} package in the actual "
  10087. "build code, and @var{coreutils} is automatically made an input to the "
  10088. "derivation. Likewise, @code{#$output} (equivalent to @code{(ungexp "
  10089. "output)}) is replaced by a string containing the directory name of the "
  10090. "output of the derivation."
  10091. msgstr ""
  10092. #. type: cindex
  10093. #: doc/guix.texi:4913
  10094. #, no-wrap
  10095. msgid "cross compilation"
  10096. msgstr ""
  10097. #. type: Plain text
  10098. #: doc/guix.texi:4919
  10099. msgid ""
  10100. "In a cross-compilation context, it is useful to distinguish between "
  10101. "references to the @emph{native} build of a package---that can run on the "
  10102. "host---versus references to cross builds of a package. To that end, the "
  10103. "@code{#+} plays the same role as @code{#$}, but is a reference to a native "
  10104. "package build:"
  10105. msgstr ""
  10106. #. type: example
  10107. #: doc/guix.texi:4929
  10108. #, no-wrap
  10109. msgid ""
  10110. "(gexp->derivation \"vi\"\n"
  10111. " #~(begin\n"
  10112. " (mkdir #$output)\n"
  10113. " (system* (string-append #+coreutils \"/bin/ln\")\n"
  10114. " \"-s\"\n"
  10115. " (string-append #$emacs \"/bin/emacs\")\n"
  10116. " (string-append #$output \"/bin/vi\")))\n"
  10117. " #:target \"mips64el-linux-gnu\")\n"
  10118. msgstr ""
  10119. #. type: Plain text
  10120. #: doc/guix.texi:4935
  10121. msgid ""
  10122. "In the example above, the native build of @var{coreutils} is used, so that "
  10123. "@command{ln} can actually run on the host; but then the cross-compiled build "
  10124. "of @var{emacs} is referenced."
  10125. msgstr ""
  10126. #. type: cindex
  10127. #: doc/guix.texi:4936
  10128. #, no-wrap
  10129. msgid "imported modules, for gexps"
  10130. msgstr ""
  10131. #. type: findex
  10132. #: doc/guix.texi:4937
  10133. #, no-wrap
  10134. msgid "with-imported-modules"
  10135. msgstr ""
  10136. #. type: Plain text
  10137. #: doc/guix.texi:4942
  10138. msgid ""
  10139. "Another gexp feature is @dfn{imported modules}: sometimes you want to be "
  10140. "able to use certain Guile modules from the ``host environment'' in the gexp, "
  10141. "so those modules should be imported in the ``build environment''. The "
  10142. "@code{with-imported-modules} form allows you to express that:"
  10143. msgstr ""
  10144. #. type: example
  10145. #: doc/guix.texi:4953
  10146. #, no-wrap
  10147. msgid ""
  10148. "(let ((build (with-imported-modules '((guix build utils))\n"
  10149. " #~(begin\n"
  10150. " (use-modules (guix build utils))\n"
  10151. " (mkdir-p (string-append #$output \"/bin\"))))))\n"
  10152. " (gexp->derivation \"empty-dir\"\n"
  10153. " #~(begin\n"
  10154. " #$build\n"
  10155. " (display \"success!\\n\")\n"
  10156. " #t)))\n"
  10157. msgstr ""
  10158. #. type: Plain text
  10159. #: doc/guix.texi:4959
  10160. msgid ""
  10161. "In this example, the @code{(guix build utils)} module is automatically "
  10162. "pulled into the isolated build environment of our gexp, such that @code{(use-"
  10163. "modules (guix build utils))} works as expected."
  10164. msgstr ""
  10165. #. type: cindex
  10166. #: doc/guix.texi:4960
  10167. #, no-wrap
  10168. msgid "module closure"
  10169. msgstr ""
  10170. #. type: findex
  10171. #: doc/guix.texi:4961
  10172. #, no-wrap
  10173. msgid "source-module-closure"
  10174. msgstr ""
  10175. #. type: Plain text
  10176. #: doc/guix.texi:4968
  10177. msgid ""
  10178. "Usually you want the @emph{closure} of the module to be imported---i.e., the "
  10179. "module itself and all the modules it depends on---rather than just the "
  10180. "module; failing to do that, attempts to use the module will fail because of "
  10181. "missing dependent modules. The @code{source-module-closure} procedure "
  10182. "computes the closure of a module by looking at its source file headers, "
  10183. "which comes in handy in this case:"
  10184. msgstr ""
  10185. #. type: example
  10186. #: doc/guix.texi:4971
  10187. #, no-wrap
  10188. msgid ""
  10189. "(use-modules (guix modules)) ;for 'source-module-closure'\n"
  10190. "\n"
  10191. msgstr ""
  10192. #. type: example
  10193. #: doc/guix.texi:4980
  10194. #, no-wrap
  10195. msgid ""
  10196. "(with-imported-modules (source-module-closure\n"
  10197. " '((guix build utils)\n"
  10198. " (gnu build vm)))\n"
  10199. " (gexp->derivation \"something-with-vms\"\n"
  10200. " #~(begin\n"
  10201. " (use-modules (guix build utils)\n"
  10202. " (gnu build vm))\n"
  10203. " @dots{})))\n"
  10204. msgstr ""
  10205. #. type: Plain text
  10206. #: doc/guix.texi:4983
  10207. msgid "The syntactic form to construct gexps is summarized below."
  10208. msgstr ""
  10209. #. type: deffn
  10210. #: doc/guix.texi:4984
  10211. #, no-wrap
  10212. msgid "{Scheme Syntax} #~@var{exp}"
  10213. msgstr ""
  10214. #. type: deffnx
  10215. #: doc/guix.texi:4985
  10216. #, no-wrap
  10217. msgid "{Scheme Syntax} (gexp @var{exp})"
  10218. msgstr ""
  10219. #. type: deffn
  10220. #: doc/guix.texi:4988
  10221. msgid ""
  10222. "Return a G-expression containing @var{exp}. @var{exp} may contain one or "
  10223. "more of the following forms:"
  10224. msgstr ""
  10225. #. type: item
  10226. #: doc/guix.texi:4990
  10227. #, no-wrap
  10228. msgid "#$@var{obj}"
  10229. msgstr ""
  10230. #. type: itemx
  10231. #: doc/guix.texi:4991
  10232. #, no-wrap
  10233. msgid "(ungexp @var{obj})"
  10234. msgstr ""
  10235. #. type: table
  10236. #: doc/guix.texi:4996
  10237. msgid ""
  10238. "Introduce a reference to @var{obj}. @var{obj} may have one of the supported "
  10239. "types, for example a package or a derivation, in which case the "
  10240. "@code{ungexp} form is replaced by its output file name---e.g., @code{\"/gnu/"
  10241. "store/@dots{}-coreutils-8.22}."
  10242. msgstr ""
  10243. #. type: table
  10244. #: doc/guix.texi:4999
  10245. msgid ""
  10246. "If @var{obj} is a list, it is traversed and references to supported objects "
  10247. "are substituted similarly."
  10248. msgstr ""
  10249. #. type: table
  10250. #: doc/guix.texi:5002
  10251. msgid ""
  10252. "If @var{obj} is another gexp, its contents are inserted and its dependencies "
  10253. "are added to those of the containing gexp."
  10254. msgstr ""
  10255. #. type: table
  10256. #: doc/guix.texi:5004
  10257. msgid "If @var{obj} is another kind of object, it is inserted as is."
  10258. msgstr ""
  10259. #. type: item
  10260. #: doc/guix.texi:5005
  10261. #, no-wrap
  10262. msgid "#$@var{obj}:@var{output}"
  10263. msgstr ""
  10264. #. type: itemx
  10265. #: doc/guix.texi:5006
  10266. #, no-wrap
  10267. msgid "(ungexp @var{obj} @var{output})"
  10268. msgstr ""
  10269. #. type: table
  10270. #: doc/guix.texi:5010
  10271. msgid ""
  10272. "This is like the form above, but referring explicitly to the @var{output} of "
  10273. "@var{obj}---this is useful when @var{obj} produces multiple outputs "
  10274. "(@pxref{Packages with Multiple Outputs})."
  10275. msgstr ""
  10276. #. type: item
  10277. #: doc/guix.texi:5011
  10278. #, no-wrap
  10279. msgid "#+@var{obj}"
  10280. msgstr ""
  10281. #. type: itemx
  10282. #: doc/guix.texi:5012
  10283. #, no-wrap
  10284. msgid "#+@var{obj}:output"
  10285. msgstr ""
  10286. #. type: itemx
  10287. #: doc/guix.texi:5013
  10288. #, no-wrap
  10289. msgid "(ungexp-native @var{obj})"
  10290. msgstr ""
  10291. #. type: itemx
  10292. #: doc/guix.texi:5014
  10293. #, no-wrap
  10294. msgid "(ungexp-native @var{obj} @var{output})"
  10295. msgstr ""
  10296. #. type: table
  10297. #: doc/guix.texi:5017
  10298. msgid ""
  10299. "Same as @code{ungexp}, but produces a reference to the @emph{native} build "
  10300. "of @var{obj} when used in a cross compilation context."
  10301. msgstr ""
  10302. #. type: item
  10303. #: doc/guix.texi:5018
  10304. #, no-wrap
  10305. msgid "#$output[:@var{output}]"
  10306. msgstr ""
  10307. #. type: itemx
  10308. #: doc/guix.texi:5019
  10309. #, no-wrap
  10310. msgid "(ungexp output [@var{output}])"
  10311. msgstr ""
  10312. #. type: table
  10313. #: doc/guix.texi:5022
  10314. msgid ""
  10315. "Insert a reference to derivation output @var{output}, or to the main output "
  10316. "when @var{output} is omitted."
  10317. msgstr ""
  10318. #. type: table
  10319. #: doc/guix.texi:5024
  10320. msgid "This only makes sense for gexps passed to @code{gexp->derivation}."
  10321. msgstr ""
  10322. #. type: item
  10323. #: doc/guix.texi:5025
  10324. #, no-wrap
  10325. msgid "#$@@@var{lst}"
  10326. msgstr ""
  10327. #. type: itemx
  10328. #: doc/guix.texi:5026
  10329. #, no-wrap
  10330. msgid "(ungexp-splicing @var{lst})"
  10331. msgstr ""
  10332. #. type: table
  10333. #: doc/guix.texi:5029
  10334. msgid ""
  10335. "Like the above, but splices the contents of @var{lst} inside the containing "
  10336. "list."
  10337. msgstr ""
  10338. #. type: item
  10339. #: doc/guix.texi:5030
  10340. #, no-wrap
  10341. msgid "#+@@@var{lst}"
  10342. msgstr ""
  10343. #. type: itemx
  10344. #: doc/guix.texi:5031
  10345. #, no-wrap
  10346. msgid "(ungexp-native-splicing @var{lst})"
  10347. msgstr ""
  10348. #. type: table
  10349. #: doc/guix.texi:5034
  10350. msgid ""
  10351. "Like the above, but refers to native builds of the objects listed in "
  10352. "@var{lst}."
  10353. msgstr ""
  10354. #. type: deffn
  10355. #: doc/guix.texi:5039
  10356. msgid ""
  10357. "G-expressions created by @code{gexp} or @code{#~} are run-time objects of "
  10358. "the @code{gexp?} type (see below.)"
  10359. msgstr ""
  10360. #. type: deffn
  10361. #: doc/guix.texi:5041
  10362. #, no-wrap
  10363. msgid "{Scheme Syntax} with-imported-modules @var{modules} @var{body}@dots{}"
  10364. msgstr ""
  10365. #. type: deffn
  10366. #: doc/guix.texi:5044
  10367. msgid ""
  10368. "Mark the gexps defined in @var{body}@dots{} as requiring @var{modules} in "
  10369. "their execution environment."
  10370. msgstr ""
  10371. #. type: deffn
  10372. #: doc/guix.texi:5048
  10373. msgid ""
  10374. "Each item in @var{modules} can be the name of a module, such as @code{(guix "
  10375. "build utils)}, or it can be a module name, followed by an arrow, followed by "
  10376. "a file-like object:"
  10377. msgstr ""
  10378. #. type: example
  10379. #: doc/guix.texi:5054
  10380. #, no-wrap
  10381. msgid ""
  10382. "`((guix build utils)\n"
  10383. " (guix gcrypt)\n"
  10384. " ((guix config) => ,(scheme-file \"config.scm\"\n"
  10385. " #~(define-module @dots{}))))\n"
  10386. msgstr ""
  10387. #. type: deffn
  10388. #: doc/guix.texi:5059
  10389. msgid ""
  10390. "In the example above, the first two modules are taken from the search path, "
  10391. "and the last one is created from the given file-like object."
  10392. msgstr ""
  10393. #. type: deffn
  10394. #: doc/guix.texi:5063
  10395. msgid ""
  10396. "This form has @emph{lexical} scope: it has an effect on the gexps directly "
  10397. "defined in @var{body}@dots{}, but not on those defined, say, in procedures "
  10398. "called from @var{body}@dots{}."
  10399. msgstr ""
  10400. #. type: deffn
  10401. #: doc/guix.texi:5065
  10402. #, no-wrap
  10403. msgid "{Scheme Procedure} gexp? @var{obj}"
  10404. msgstr ""
  10405. #. type: deffn
  10406. #: doc/guix.texi:5067
  10407. msgid "Return @code{#t} if @var{obj} is a G-expression."
  10408. msgstr ""
  10409. #. type: Plain text
  10410. #: doc/guix.texi:5073
  10411. msgid ""
  10412. "G-expressions are meant to be written to disk, either as code building some "
  10413. "derivation, or as plain files in the store. The monadic procedures below "
  10414. "allow you to do that (@pxref{The Store Monad}, for more information about "
  10415. "monads.)"
  10416. msgstr ""
  10417. #. type: deffn
  10418. #: doc/guix.texi:5074
  10419. #, no-wrap
  10420. msgid "{Monadic Procedure} gexp->derivation @var{name} @var{exp} @"
  10421. msgstr ""
  10422. #. type: deffn
  10423. #: doc/guix.texi:5090
  10424. msgid ""
  10425. "[#:system (%current-system)] [#:target #f] [#:graft? #t] @ [#:hash #f] [#:"
  10426. "hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ [#:"
  10427. "module-path @var{%load-path}] @ [#:references-graphs #f] [#:allowed-"
  10428. "references #f] @ [#:disallowed-references #f] @ [#:leaked-env-vars #f] @ [#:"
  10429. "script-name (string-append @var{name} \"-builder\")] @ [#:deprecation-"
  10430. "warnings #f] @ [#:local-build? #f] [#:substitutable? #t] [#:guile-for-build "
  10431. "#f] Return a derivation @var{name} that runs @var{exp} (a gexp) with "
  10432. "@var{guile-for-build} (a derivation) on @var{system}; @var{exp} is stored in "
  10433. "a file called @var{script-name}. When @var{target} is true, it is used as "
  10434. "the cross-compilation target triplet for packages referred to by @var{exp}."
  10435. msgstr ""
  10436. #. type: deffn
  10437. #: doc/guix.texi:5098
  10438. msgid ""
  10439. "@var{modules} is deprecated in favor of @code{with-imported-modules}. Its "
  10440. "meaning is to make @var{modules} available in the evaluation context of "
  10441. "@var{exp}; @var{modules} is a list of names of Guile modules searched in "
  10442. "@var{module-path} to be copied in the store, compiled, and made available in "
  10443. "the load path during the execution of @var{exp}---e.g., @code{((guix build "
  10444. "utils) (guix build gnu-build-system))}."
  10445. msgstr ""
  10446. #. type: deffn
  10447. #: doc/guix.texi:5101
  10448. msgid ""
  10449. "@var{graft?} determines whether packages referred to by @var{exp} should be "
  10450. "grafted when applicable."
  10451. msgstr ""
  10452. #. type: deffn
  10453. #: doc/guix.texi:5104
  10454. msgid ""
  10455. "When @var{references-graphs} is true, it must be a list of tuples of one of "
  10456. "the following forms:"
  10457. msgstr ""
  10458. #. type: example
  10459. #: doc/guix.texi:5111
  10460. #, no-wrap
  10461. msgid ""
  10462. "(@var{file-name} @var{package})\n"
  10463. "(@var{file-name} @var{package} @var{output})\n"
  10464. "(@var{file-name} @var{derivation})\n"
  10465. "(@var{file-name} @var{derivation} @var{output})\n"
  10466. "(@var{file-name} @var{store-item})\n"
  10467. msgstr ""
  10468. #. type: deffn
  10469. #: doc/guix.texi:5117
  10470. msgid ""
  10471. "The right-hand-side of each element of @var{references-graphs} is "
  10472. "automatically made an input of the build process of @var{exp}. In the build "
  10473. "environment, each @var{file-name} contains the reference graph of the "
  10474. "corresponding item, in a simple text format."
  10475. msgstr ""
  10476. #. type: deffn
  10477. #: doc/guix.texi:5123
  10478. msgid ""
  10479. "@var{allowed-references} must be either @code{#f} or a list of output names "
  10480. "and packages. In the latter case, the list denotes store items that the "
  10481. "result is allowed to refer to. Any reference to another store item will "
  10482. "lead to a build error. Similarly for @var{disallowed-references}, which can "
  10483. "list items that must not be referenced by the outputs."
  10484. msgstr ""
  10485. #. type: deffn
  10486. #: doc/guix.texi:5126
  10487. msgid ""
  10488. "@var{deprecation-warnings} determines whether to show deprecation warnings "
  10489. "while compiling modules. It can be @code{#f}, @code{#t}, or "
  10490. "@code{'detailed}."
  10491. msgstr ""
  10492. #. type: deffn
  10493. #: doc/guix.texi:5128
  10494. msgid "The other arguments are as for @code{derivation} (@pxref{Derivations})."
  10495. msgstr ""
  10496. #. type: cindex
  10497. #: doc/guix.texi:5130
  10498. #, no-wrap
  10499. msgid "file-like objects"
  10500. msgstr ""
  10501. #. type: Plain text
  10502. #: doc/guix.texi:5135
  10503. msgid ""
  10504. "The @code{local-file}, @code{plain-file}, @code{computed-file}, "
  10505. "@code{program-file}, and @code{scheme-file} procedures below return "
  10506. "@dfn{file-like objects}. That is, when unquoted in a G-expression, these "
  10507. "objects lead to a file in the store. Consider this G-expression:"
  10508. msgstr ""
  10509. #. type: example
  10510. #: doc/guix.texi:5139
  10511. #, no-wrap
  10512. msgid ""
  10513. "#~(system* #$(file-append glibc \"/sbin/nscd\") \"-f\"\n"
  10514. " #$(local-file \"/tmp/my-nscd.conf\"))\n"
  10515. msgstr ""
  10516. #. type: Plain text
  10517. #: doc/guix.texi:5148
  10518. msgid ""
  10519. "The effect here is to ``intern'' @file{/tmp/my-nscd.conf} by copying it to "
  10520. "the store. Once expanded, for instance @i{via} @code{gexp->derivation}, the "
  10521. "G-expression refers to that copy under @file{/gnu/store}; thus, modifying or "
  10522. "removing the file in @file{/tmp} does not have any effect on what the G-"
  10523. "expression does. @code{plain-file} can be used similarly; it differs in "
  10524. "that the file content is directly passed as a string."
  10525. msgstr ""
  10526. #. type: deffn
  10527. #: doc/guix.texi:5149
  10528. #, no-wrap
  10529. msgid "{Scheme Procedure} local-file @var{file} [@var{name}] @"
  10530. msgstr ""
  10531. #. type: deffn
  10532. #: doc/guix.texi:5155
  10533. msgid ""
  10534. "[#:recursive? #f] [#:select? (const #t)] Return an object representing local "
  10535. "file @var{file} to add to the store; this object can be used in a gexp. If "
  10536. "@var{file} is a relative file name, it is looked up relative to the source "
  10537. "file where this form appears. @var{file} will be added to the store under "
  10538. "@var{name}--by default the base name of @var{file}."
  10539. msgstr ""
  10540. #. type: deffn
  10541. #: doc/guix.texi:5167
  10542. msgid ""
  10543. "This is the declarative counterpart of the @code{interned-file} monadic "
  10544. "procedure (@pxref{The Store Monad, @code{interned-file}})."
  10545. msgstr ""
  10546. #. type: deffn
  10547. #: doc/guix.texi:5169
  10548. #, no-wrap
  10549. msgid "{Scheme Procedure} plain-file @var{name} @var{content}"
  10550. msgstr ""
  10551. #. type: deffn
  10552. #: doc/guix.texi:5172
  10553. msgid ""
  10554. "Return an object representing a text file called @var{name} with the given "
  10555. "@var{content} (a string) to be added to the store."
  10556. msgstr ""
  10557. #. type: deffn
  10558. #: doc/guix.texi:5174
  10559. msgid "This is the declarative counterpart of @code{text-file}."
  10560. msgstr ""
  10561. #. type: deffn
  10562. #: doc/guix.texi:5176
  10563. #, no-wrap
  10564. msgid "{Scheme Procedure} computed-file @var{name} @var{gexp} @"
  10565. msgstr ""
  10566. #. type: deffn
  10567. #: doc/guix.texi:5181
  10568. msgid ""
  10569. "[#:options '(#:local-build? #t)] Return an object representing the store "
  10570. "item @var{name}, a file or directory computed by @var{gexp}. @var{options} "
  10571. "is a list of additional arguments to pass to @code{gexp->derivation}."
  10572. msgstr ""
  10573. #. type: deffn
  10574. #: doc/guix.texi:5183
  10575. msgid "This is the declarative counterpart of @code{gexp->derivation}."
  10576. msgstr ""
  10577. #. type: deffn
  10578. #: doc/guix.texi:5185
  10579. #, no-wrap
  10580. msgid "{Monadic Procedure} gexp->script @var{name} @var{exp} @"
  10581. msgstr ""
  10582. #. type: deffn
  10583. #: doc/guix.texi:5190
  10584. msgid ""
  10585. "[#:guile (default-guile)] [#:module-path %load-path] Return an executable "
  10586. "script @var{name} that runs @var{exp} using @var{guile}, with @var{exp}'s "
  10587. "imported modules in its search path. Look up @var{exp}'s modules in "
  10588. "@var{module-path}."
  10589. msgstr ""
  10590. #. type: deffn
  10591. #: doc/guix.texi:5193
  10592. msgid ""
  10593. "The example below builds a script that simply invokes the @command{ls} "
  10594. "command:"
  10595. msgstr ""
  10596. #. type: example
  10597. #: doc/guix.texi:5196
  10598. #, no-wrap
  10599. msgid ""
  10600. "(use-modules (guix gexp) (gnu packages base))\n"
  10601. "\n"
  10602. msgstr ""
  10603. #. type: example
  10604. #: doc/guix.texi:5200
  10605. #, no-wrap
  10606. msgid ""
  10607. "(gexp->script \"list-files\"\n"
  10608. " #~(execl #$(file-append coreutils \"/bin/ls\")\n"
  10609. " \"ls\"))\n"
  10610. msgstr ""
  10611. #. type: deffn
  10612. #: doc/guix.texi:5205
  10613. msgid ""
  10614. "When ``running'' it through the store (@pxref{The Store Monad, @code{run-"
  10615. "with-store}}), we obtain a derivation that produces an executable file "
  10616. "@file{/gnu/store/@dots{}-list-files} along these lines:"
  10617. msgstr ""
  10618. #. type: example
  10619. #: doc/guix.texi:5210
  10620. #, no-wrap
  10621. msgid ""
  10622. "#!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds\n"
  10623. "!#\n"
  10624. "(execl \"/gnu/store/@dots{}-coreutils-8.22\"/bin/ls\" \"ls\")\n"
  10625. msgstr ""
  10626. #. type: deffn
  10627. #: doc/guix.texi:5213
  10628. #, no-wrap
  10629. msgid "{Scheme Procedure} program-file @var{name} @var{exp} @"
  10630. msgstr ""
  10631. #. type: deffn
  10632. #: doc/guix.texi:5218
  10633. msgid ""
  10634. "[#:guile #f] [#:module-path %load-path] Return an object representing the "
  10635. "executable store item @var{name} that runs @var{gexp}. @var{guile} is the "
  10636. "Guile package used to execute that script. Imported modules of @var{gexp} "
  10637. "are looked up in @var{module-path}."
  10638. msgstr ""
  10639. #. type: deffn
  10640. #: doc/guix.texi:5220
  10641. msgid "This is the declarative counterpart of @code{gexp->script}."
  10642. msgstr ""
  10643. #. type: deffn
  10644. #: doc/guix.texi:5222
  10645. #, no-wrap
  10646. msgid "{Monadic Procedure} gexp->file @var{name} @var{exp} @"
  10647. msgstr ""
  10648. #. type: deffn
  10649. #: doc/guix.texi:5229
  10650. msgid ""
  10651. "[#:set-load-path? #t] [#:module-path %load-path] @ [#:splice? #f] @ [#:guile "
  10652. "(default-guile)] Return a derivation that builds a file @var{name} "
  10653. "containing @var{exp}. When @var{splice?} is true, @var{exp} is considered "
  10654. "to be a list of expressions that will be spliced in the resulting file."
  10655. msgstr ""
  10656. #. type: deffn
  10657. #: doc/guix.texi:5234
  10658. msgid ""
  10659. "When @var{set-load-path?} is true, emit code in the resulting file to set "
  10660. "@code{%load-path} and @code{%load-compiled-path} to honor @var{exp}'s "
  10661. "imported modules. Look up @var{exp}'s modules in @var{module-path}."
  10662. msgstr ""
  10663. #. type: deffn
  10664. #: doc/guix.texi:5237
  10665. msgid ""
  10666. "The resulting file holds references to all the dependencies of @var{exp} or "
  10667. "a subset thereof."
  10668. msgstr ""
  10669. #. type: deffn
  10670. #: doc/guix.texi:5239
  10671. #, no-wrap
  10672. msgid "{Scheme Procedure} scheme-file @var{name} @var{exp} [#:splice? #f]"
  10673. msgstr ""
  10674. #. type: deffn
  10675. #: doc/guix.texi:5242
  10676. msgid ""
  10677. "Return an object representing the Scheme file @var{name} that contains "
  10678. "@var{exp}."
  10679. msgstr ""
  10680. #. type: deffn
  10681. #: doc/guix.texi:5244
  10682. msgid "This is the declarative counterpart of @code{gexp->file}."
  10683. msgstr ""
  10684. #. type: deffn
  10685. #: doc/guix.texi:5246
  10686. #, no-wrap
  10687. msgid "{Monadic Procedure} text-file* @var{name} @var{text} @dots{}"
  10688. msgstr ""
  10689. #. type: deffn
  10690. #: doc/guix.texi:5252
  10691. msgid ""
  10692. "Return as a monadic value a derivation that builds a text file containing "
  10693. "all of @var{text}. @var{text} may list, in addition to strings, objects of "
  10694. "any type that can be used in a gexp: packages, derivations, local file "
  10695. "objects, etc. The resulting store file holds references to all these."
  10696. msgstr ""
  10697. #. type: deffn
  10698. #: doc/guix.texi:5257
  10699. msgid ""
  10700. "This variant should be preferred over @code{text-file} anytime the file to "
  10701. "create will reference items from the store. This is typically the case when "
  10702. "building a configuration file that embeds store file names, like this:"
  10703. msgstr ""
  10704. #. type: example
  10705. #: doc/guix.texi:5265
  10706. #, no-wrap
  10707. msgid ""
  10708. "(define (profile.sh)\n"
  10709. " ;; Return the name of a shell script in the store that\n"
  10710. " ;; initializes the 'PATH' environment variable.\n"
  10711. " (text-file* \"profile.sh\"\n"
  10712. " \"export PATH=\" coreutils \"/bin:\"\n"
  10713. " grep \"/bin:\" sed \"/bin\\n\"))\n"
  10714. msgstr ""
  10715. #. type: deffn
  10716. #: doc/guix.texi:5270
  10717. msgid ""
  10718. "In this example, the resulting @file{/gnu/store/@dots{}-profile.sh} file "
  10719. "will reference @var{coreutils}, @var{grep}, and @var{sed}, thereby "
  10720. "preventing them from being garbage-collected during its lifetime."
  10721. msgstr ""
  10722. #. type: deffn
  10723. #: doc/guix.texi:5272
  10724. #, no-wrap
  10725. msgid "{Scheme Procedure} mixed-text-file @var{name} @var{text} @dots{}"
  10726. msgstr ""
  10727. #. type: deffn
  10728. #: doc/guix.texi:5276
  10729. msgid ""
  10730. "Return an object representing store file @var{name} containing @var{text}. "
  10731. "@var{text} is a sequence of strings and file-like objects, as in:"
  10732. msgstr ""
  10733. #. type: example
  10734. #: doc/guix.texi:5280
  10735. #, no-wrap
  10736. msgid ""
  10737. "(mixed-text-file \"profile\"\n"
  10738. " \"export PATH=\" coreutils \"/bin:\" grep \"/bin\")\n"
  10739. msgstr ""
  10740. #. type: deffn
  10741. #: doc/guix.texi:5283
  10742. msgid "This is the declarative counterpart of @code{text-file*}."
  10743. msgstr ""
  10744. #. type: deffn
  10745. #: doc/guix.texi:5285
  10746. #, no-wrap
  10747. msgid "{Scheme Procedure} file-union @var{name} @var{files}"
  10748. msgstr ""
  10749. #. type: deffn
  10750. #: doc/guix.texi:5290
  10751. msgid ""
  10752. "Return a @code{<computed-file>} that builds a directory containing all of "
  10753. "@var{files}. Each item in @var{files} must be a two-element list where the "
  10754. "first element is the file name to use in the new directory, and the second "
  10755. "element is a gexp denoting the target file. Here's an example:"
  10756. msgstr ""
  10757. #. type: example
  10758. #: doc/guix.texi:5297
  10759. #, no-wrap
  10760. msgid ""
  10761. "(file-union \"etc\"\n"
  10762. " `((\"hosts\" ,(plain-file \"hosts\"\n"
  10763. " \"127.0.0.1 localhost\"))\n"
  10764. " (\"bashrc\" ,(plain-file \"bashrc\"\n"
  10765. " \"alias ls='ls --color'\"))))\n"
  10766. msgstr ""
  10767. #. type: deffn
  10768. #: doc/guix.texi:5300
  10769. msgid "This yields an @code{etc} directory containing these two files."
  10770. msgstr ""
  10771. #. type: deffn
  10772. #: doc/guix.texi:5302
  10773. #, no-wrap
  10774. msgid "{Scheme Procedure} directory-union @var{name} @var{things}"
  10775. msgstr ""
  10776. #. type: deffn
  10777. #: doc/guix.texi:5305
  10778. msgid ""
  10779. "Return a directory that is the union of @var{things}, where @var{things} is "
  10780. "a list of file-like objects denoting directories. For example:"
  10781. msgstr ""
  10782. #. type: example
  10783. #: doc/guix.texi:5308
  10784. #, no-wrap
  10785. msgid "(directory-union \"guile+emacs\" (list guile emacs))\n"
  10786. msgstr ""
  10787. #. type: deffn
  10788. #: doc/guix.texi:5311
  10789. msgid ""
  10790. "yields a directory that is the union of the @code{guile} and @code{emacs} "
  10791. "packages."
  10792. msgstr ""
  10793. #. type: deffn
  10794. #: doc/guix.texi:5313
  10795. #, no-wrap
  10796. msgid "{Scheme Procedure} file-append @var{obj} @var{suffix} @dots{}"
  10797. msgstr ""
  10798. #. type: deffn
  10799. #: doc/guix.texi:5317
  10800. msgid ""
  10801. "Return a file-like object that expands to the concatenation of @var{obj} and "
  10802. "@var{suffix}, where @var{obj} is a lowerable object and each @var{suffix} is "
  10803. "a string."
  10804. msgstr ""
  10805. #. type: deffn
  10806. #: doc/guix.texi:5319
  10807. msgid "As an example, consider this gexp:"
  10808. msgstr ""
  10809. #. type: example
  10810. #: doc/guix.texi:5324
  10811. #, no-wrap
  10812. msgid ""
  10813. "(gexp->script \"run-uname\"\n"
  10814. " #~(system* #$(file-append coreutils\n"
  10815. " \"/bin/uname\")))\n"
  10816. msgstr ""
  10817. #. type: deffn
  10818. #: doc/guix.texi:5327
  10819. msgid "The same effect could be achieved with:"
  10820. msgstr ""
  10821. #. type: example
  10822. #: doc/guix.texi:5332
  10823. #, no-wrap
  10824. msgid ""
  10825. "(gexp->script \"run-uname\"\n"
  10826. " #~(system* (string-append #$coreutils\n"
  10827. " \"/bin/uname\")))\n"
  10828. msgstr ""
  10829. #. type: deffn
  10830. #: doc/guix.texi:5338
  10831. msgid ""
  10832. "There is one difference though: in the @code{file-append} case, the "
  10833. "resulting script contains the absolute file name as a string, whereas in the "
  10834. "second case, the resulting script contains a @code{(string-append @dots{})} "
  10835. "expression to construct the file name @emph{at run time}."
  10836. msgstr ""
  10837. #. type: Plain text
  10838. #: doc/guix.texi:5345
  10839. msgid ""
  10840. "Of course, in addition to gexps embedded in ``host'' code, there are also "
  10841. "modules containing build tools. To make it clear that they are meant to be "
  10842. "used in the build stratum, these modules are kept in the @code{(guix build "
  10843. "@dots{})} name space."
  10844. msgstr ""
  10845. #. type: Plain text
  10846. #: doc/guix.texi:5351
  10847. msgid ""
  10848. "Internally, high-level objects are @dfn{lowered}, using their compiler, to "
  10849. "either derivations or store items. For instance, lowering a package yields "
  10850. "a derivation, and lowering a @code{plain-file} yields a store item. This is "
  10851. "achieved using the @code{lower-object} monadic procedure."
  10852. msgstr ""
  10853. #. type: deffn
  10854. #: doc/guix.texi:5352
  10855. #, no-wrap
  10856. msgid "{Monadic Procedure} lower-object @var{obj} [@var{system}] @"
  10857. msgstr ""
  10858. #. type: deffn
  10859. #: doc/guix.texi:5358
  10860. msgid ""
  10861. "[#:target #f] Return as a value in @var{%store-monad} the derivation or "
  10862. "store item corresponding to @var{obj} for @var{system}, cross-compiling for "
  10863. "@var{target} if @var{target} is true. @var{obj} must be an object that has "
  10864. "an associated gexp compiler, such as a @code{<package>}."
  10865. msgstr ""
  10866. #. type: Plain text
  10867. #: doc/guix.texi:5369
  10868. msgid ""
  10869. "This section describes Guix command-line utilities. Some of them are "
  10870. "primarily targeted at developers and users who write new package "
  10871. "definitions, while others are more generally useful. They complement the "
  10872. "Scheme programming interface of Guix in a convenient way."
  10873. msgstr ""
  10874. #. type: cindex
  10875. #: doc/guix.texi:5391
  10876. #, no-wrap
  10877. msgid "package building"
  10878. msgstr ""
  10879. #. type: command{#1}
  10880. #: doc/guix.texi:5392
  10881. #, no-wrap
  10882. msgid "guix build"
  10883. msgstr ""
  10884. #. type: Plain text
  10885. #: doc/guix.texi:5398
  10886. msgid ""
  10887. "The @command{guix build} command builds packages or derivations and their "
  10888. "dependencies, and prints the resulting store paths. Note that it does not "
  10889. "modify the user's profile---this is the job of the @command{guix package} "
  10890. "command (@pxref{Invoking guix package}). Thus, it is mainly useful for "
  10891. "distribution developers."
  10892. msgstr ""
  10893. #. type: Plain text
  10894. #: doc/guix.texi:5400 doc/guix.texi:6057 doc/guix.texi:6124 doc/guix.texi:6793
  10895. #: doc/guix.texi:7123 doc/guix.texi:7453 doc/guix.texi:7758 doc/guix.texi:7824
  10896. #: doc/guix.texi:7863
  10897. msgid "The general syntax is:"
  10898. msgstr ""
  10899. #. type: example
  10900. #: doc/guix.texi:5403
  10901. #, no-wrap
  10902. msgid "guix build @var{options} @var{package-or-derivation}@dots{}\n"
  10903. msgstr ""
  10904. #. type: Plain text
  10905. #: doc/guix.texi:5408
  10906. msgid ""
  10907. "As an example, the following command builds the latest versions of Emacs and "
  10908. "of Guile, displays their build logs, and finally displays the resulting "
  10909. "directories:"
  10910. msgstr ""
  10911. #. type: example
  10912. #: doc/guix.texi:5411
  10913. #, no-wrap
  10914. msgid "guix build emacs guile\n"
  10915. msgstr ""
  10916. #. type: Plain text
  10917. #: doc/guix.texi:5414
  10918. msgid "Similarly, the following command builds all the available packages:"
  10919. msgstr ""
  10920. #. type: example
  10921. #: doc/guix.texi:5418
  10922. #, no-wrap
  10923. msgid ""
  10924. "guix build --quiet --keep-going \\\n"
  10925. " `guix package -A | cut -f1,2 --output-delimiter=@@`\n"
  10926. msgstr ""
  10927. #. type: Plain text
  10928. #: doc/guix.texi:5426
  10929. msgid ""
  10930. "@var{package-or-derivation} may be either the name of a package found in the "
  10931. "software distribution such as @code{coreutils} or @code{coreutils@@8.20}, or "
  10932. "a derivation such as @file{/gnu/store/@dots{}-coreutils-8.19.drv}. In the "
  10933. "former case, a package with the corresponding name (and optionally version) "
  10934. "is searched for among the GNU distribution modules (@pxref{Package Modules})."
  10935. msgstr ""
  10936. #. type: Plain text
  10937. #: doc/guix.texi:5431
  10938. msgid ""
  10939. "Alternatively, the @code{--expression} option may be used to specify a "
  10940. "Scheme expression that evaluates to a package; this is useful when "
  10941. "disambiguating among several same-named packages or package variants is "
  10942. "needed."
  10943. msgstr ""
  10944. #. type: Plain text
  10945. #: doc/guix.texi:5434
  10946. msgid ""
  10947. "There may be zero or more @var{options}. The available options are "
  10948. "described in the subsections below."
  10949. msgstr ""
  10950. #. type: Plain text
  10951. #: doc/guix.texi:5449
  10952. msgid ""
  10953. "A number of options that control the build process are common to "
  10954. "@command{guix build} and other commands that can spawn builds, such as "
  10955. "@command{guix package} or @command{guix archive}. These are the following:"
  10956. msgstr ""
  10957. #. type: item
  10958. #: doc/guix.texi:5452
  10959. #, no-wrap
  10960. msgid "--load-path=@var{directory}"
  10961. msgstr ""
  10962. #. type: itemx
  10963. #: doc/guix.texi:5453
  10964. #, no-wrap
  10965. msgid "-L @var{directory}"
  10966. msgstr ""
  10967. #. type: table
  10968. #: doc/guix.texi:5456
  10969. msgid ""
  10970. "Add @var{directory} to the front of the package module search path "
  10971. "(@pxref{Package Modules})."
  10972. msgstr ""
  10973. #. type: table
  10974. #: doc/guix.texi:5459
  10975. msgid ""
  10976. "This allows users to define their own packages and make them visible to the "
  10977. "command-line tools."
  10978. msgstr ""
  10979. #. type: item
  10980. #: doc/guix.texi:5460
  10981. #, no-wrap
  10982. msgid "--keep-failed"
  10983. msgstr ""
  10984. #. type: itemx
  10985. #: doc/guix.texi:5461
  10986. #, no-wrap
  10987. msgid "-K"
  10988. msgstr ""
  10989. #. type: table
  10990. #: doc/guix.texi:5467
  10991. msgid ""
  10992. "Keep the build tree of failed builds. Thus, if a build fails, its build "
  10993. "tree is kept under @file{/tmp}, in a directory whose name is shown at the "
  10994. "end of the build log. This is useful when debugging build issues. "
  10995. "@xref{Debugging Build Failures}, for tips and tricks on how to debug build "
  10996. "issues."
  10997. msgstr ""
  10998. #. type: item
  10999. #: doc/guix.texi:5468
  11000. #, no-wrap
  11001. msgid "--keep-going"
  11002. msgstr ""
  11003. #. type: itemx
  11004. #: doc/guix.texi:5469
  11005. #, no-wrap
  11006. msgid "-k"
  11007. msgstr ""
  11008. #. type: table
  11009. #: doc/guix.texi:5472
  11010. msgid ""
  11011. "Keep going when some of the derivations fail to build; return only once all "
  11012. "the builds have either completed or failed."
  11013. msgstr ""
  11014. #. type: table
  11015. #: doc/guix.texi:5475
  11016. msgid ""
  11017. "The default behavior is to stop as soon as one of the specified derivations "
  11018. "has failed."
  11019. msgstr ""
  11020. #. type: item
  11021. #: doc/guix.texi:5476
  11022. #, no-wrap
  11023. msgid "--dry-run"
  11024. msgstr ""
  11025. #. type: itemx
  11026. #: doc/guix.texi:5477
  11027. #, no-wrap
  11028. msgid "-n"
  11029. msgstr ""
  11030. #. type: table
  11031. #: doc/guix.texi:5479
  11032. msgid "Do not build the derivations."
  11033. msgstr ""
  11034. #. type: anchor{#1}
  11035. #: doc/guix.texi:5481
  11036. msgid "fallback-option"
  11037. msgstr ""
  11038. #. type: item
  11039. #: doc/guix.texi:5481
  11040. #, no-wrap
  11041. msgid "--fallback"
  11042. msgstr ""
  11043. #. type: table
  11044. #: doc/guix.texi:5484
  11045. msgid ""
  11046. "When substituting a pre-built binary fails, fall back to building packages "
  11047. "locally (@pxref{Substitution Failure})."
  11048. msgstr ""
  11049. #. type: anchor{#1}
  11050. #: doc/guix.texi:5490
  11051. msgid "client-substitute-urls"
  11052. msgstr ""
  11053. #. type: table
  11054. #: doc/guix.texi:5490
  11055. msgid ""
  11056. "Consider @var{urls} the whitespace-separated list of substitute source URLs, "
  11057. "overriding the default list of URLs of @command{guix-daemon} (@pxref{daemon-"
  11058. "substitute-urls,, @command{guix-daemon} URLs})."
  11059. msgstr ""
  11060. #. type: table
  11061. #: doc/guix.texi:5494
  11062. msgid ""
  11063. "This means that substitutes may be downloaded from @var{urls}, provided they "
  11064. "are signed by a key authorized by the system administrator "
  11065. "(@pxref{Substitutes})."
  11066. msgstr ""
  11067. #. type: table
  11068. #: doc/guix.texi:5497
  11069. msgid ""
  11070. "When @var{urls} is the empty string, substitutes are effectively disabled."
  11071. msgstr ""
  11072. #. type: item
  11073. #: doc/guix.texi:5503
  11074. #, no-wrap
  11075. msgid "--no-grafts"
  11076. msgstr ""
  11077. #. type: table
  11078. #: doc/guix.texi:5507
  11079. msgid ""
  11080. "Do not ``graft'' packages. In practice, this means that package updates "
  11081. "available as grafts are not applied. @xref{Security Updates}, for more "
  11082. "information on grafts."
  11083. msgstr ""
  11084. #. type: item
  11085. #: doc/guix.texi:5508
  11086. #, no-wrap
  11087. msgid "--rounds=@var{n}"
  11088. msgstr ""
  11089. #. type: table
  11090. #: doc/guix.texi:5511
  11091. msgid ""
  11092. "Build each derivation @var{n} times in a row, and raise an error if "
  11093. "consecutive build results are not bit-for-bit identical."
  11094. msgstr ""
  11095. #. type: table
  11096. #: doc/guix.texi:5516
  11097. msgid ""
  11098. "This is a useful way to detect non-deterministic builds processes. Non-"
  11099. "deterministic build processes are a problem because they make it practically "
  11100. "impossible for users to @emph{verify} whether third-party binaries are "
  11101. "genuine. @xref{Invoking guix challenge}, for more."
  11102. msgstr ""
  11103. #. type: table
  11104. #: doc/guix.texi:5522
  11105. msgid ""
  11106. "Note that, currently, the differing build results are not kept around, so "
  11107. "you will have to manually investigate in case of an error---e.g., by "
  11108. "stashing one of the build results with @code{guix archive --export} "
  11109. "(@pxref{Invoking guix archive}), then rebuilding, and finally comparing the "
  11110. "two results."
  11111. msgstr ""
  11112. #. type: table
  11113. #: doc/guix.texi:5527
  11114. msgid ""
  11115. "Do not attempt to offload builds @i{via} the ``build hook'' of the daemon "
  11116. "(@pxref{Daemon Offload Setup}). That is, always build things locally "
  11117. "instead of offloading builds to remote machines."
  11118. msgstr ""
  11119. #. type: table
  11120. #: doc/guix.texi:5534
  11121. msgid ""
  11122. "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, "
  11123. "@code{--max-silent-time}})."
  11124. msgstr ""
  11125. #. type: table
  11126. #: doc/guix.texi:5541
  11127. msgid ""
  11128. "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, "
  11129. "@code{--timeout}})."
  11130. msgstr ""
  11131. #. type: item
  11132. #: doc/guix.texi:5542
  11133. #, no-wrap
  11134. msgid "--verbosity=@var{level}"
  11135. msgstr ""
  11136. #. type: table
  11137. #: doc/guix.texi:5546
  11138. msgid ""
  11139. "Use the given verbosity level. @var{level} must be an integer between 0 and "
  11140. "5; higher means more verbose output. Setting a level of 4 or more may be "
  11141. "helpful when debugging setup issues with the build daemon."
  11142. msgstr ""
  11143. #. type: table
  11144. #: doc/guix.texi:5551
  11145. msgid ""
  11146. "Allow the use of up to @var{n} CPU cores for the build. The special value "
  11147. "@code{0} means to use as many CPU cores as available."
  11148. msgstr ""
  11149. #. type: table
  11150. #: doc/guix.texi:5557
  11151. msgid ""
  11152. "Allow at most @var{n} build jobs in parallel. @xref{Invoking guix-daemon, "
  11153. "@code{--max-jobs}}, for details about this option and the equivalent "
  11154. "@command{guix-daemon} option."
  11155. msgstr ""
  11156. #. type: Plain text
  11157. #: doc/guix.texi:5564
  11158. msgid ""
  11159. "Behind the scenes, @command{guix build} is essentially an interface to the "
  11160. "@code{package-derivation} procedure of the @code{(guix packages)} module, "
  11161. "and to the @code{build-derivations} procedure of the @code{(guix "
  11162. "derivations)} module."
  11163. msgstr ""
  11164. #. type: Plain text
  11165. #: doc/guix.texi:5568
  11166. msgid ""
  11167. "In addition to options explicitly passed on the command line, @command{guix "
  11168. "build} and other @command{guix} commands that support building honor the "
  11169. "@code{GUIX_BUILD_OPTIONS} environment variable."
  11170. msgstr ""
  11171. #. type: defvr
  11172. #: doc/guix.texi:5569
  11173. #, no-wrap
  11174. msgid "{Environment Variable} GUIX_BUILD_OPTIONS"
  11175. msgstr ""
  11176. #. type: defvr
  11177. #: doc/guix.texi:5574
  11178. msgid ""
  11179. "Users can define this variable to a list of command line options that will "
  11180. "automatically be used by @command{guix build} and other @command{guix} "
  11181. "commands that can perform builds, as in the example below:"
  11182. msgstr ""
  11183. #. type: example
  11184. #: doc/guix.texi:5577
  11185. #, no-wrap
  11186. msgid "$ export GUIX_BUILD_OPTIONS=\"--no-substitutes -c 2 -L /foo/bar\"\n"
  11187. msgstr ""
  11188. #. type: defvr
  11189. #: doc/guix.texi:5581
  11190. msgid ""
  11191. "These options are parsed independently, and the result is appended to the "
  11192. "parsed command-line options."
  11193. msgstr ""
  11194. #. type: cindex
  11195. #: doc/guix.texi:5587
  11196. #, no-wrap
  11197. msgid "package variants"
  11198. msgstr ""
  11199. #. type: Plain text
  11200. #: doc/guix.texi:5595
  11201. msgid ""
  11202. "Another set of command-line options supported by @command{guix build} and "
  11203. "also @command{guix package} are @dfn{package transformation options}. These "
  11204. "are options that make it possible to define @dfn{package variants}---for "
  11205. "instance, packages built from different source code. This is a convenient "
  11206. "way to create customized packages on the fly without having to type in the "
  11207. "definitions of package variants (@pxref{Defining Packages})."
  11208. msgstr ""
  11209. #. type: item
  11210. #: doc/guix.texi:5598
  11211. #, no-wrap
  11212. msgid "--with-source=@var{source}"
  11213. msgstr ""
  11214. #. type: itemx
  11215. #: doc/guix.texi:5599
  11216. #, no-wrap
  11217. msgid "--with-source=@var{package}=@var{source}"
  11218. msgstr ""
  11219. #. type: itemx
  11220. #: doc/guix.texi:5600
  11221. #, no-wrap
  11222. msgid "--with-source=@var{package}@@@var{version}=@var{source}"
  11223. msgstr ""
  11224. #. type: table
  11225. #: doc/guix.texi:5605
  11226. msgid ""
  11227. "Use @var{source} as the source of @var{package}, and @var{version} as its "
  11228. "version number. @var{source} must be a file name or a URL, as for "
  11229. "@command{guix download} (@pxref{Invoking guix download})."
  11230. msgstr ""
  11231. #. type: table
  11232. #: doc/guix.texi:5611
  11233. msgid ""
  11234. "When @var{package} is omitted, it is taken to be the package name specified "
  11235. "on the command line that matches the base of @var{source}---e.g., if "
  11236. "@var{source} is @code{/src/guile-2.0.10.tar.gz}, the corresponding package "
  11237. "is @code{guile}."
  11238. msgstr ""
  11239. #. type: table
  11240. #: doc/guix.texi:5614
  11241. msgid ""
  11242. "Likewise, when @var{version} is omitted, the version string is inferred from "
  11243. "@var{source}; in the previous example, it is @code{2.0.10}."
  11244. msgstr ""
  11245. #. type: table
  11246. #: doc/guix.texi:5619
  11247. msgid ""
  11248. "This option allows users to try out versions of packages other than the one "
  11249. "provided by the distribution. The example below downloads @file{ed-1.7.tar."
  11250. "gz} from a GNU mirror and uses that as the source for the @code{ed} package:"
  11251. msgstr ""
  11252. #. type: example
  11253. #: doc/guix.texi:5622
  11254. #, no-wrap
  11255. msgid "guix build ed --with-source=mirror://gnu/ed/ed-1.7.tar.gz\n"
  11256. msgstr ""
  11257. #. type: table
  11258. #: doc/guix.texi:5626
  11259. msgid ""
  11260. "As a developer, @code{--with-source} makes it easy to test release "
  11261. "candidates:"
  11262. msgstr ""
  11263. #. type: example
  11264. #: doc/guix.texi:5629
  11265. #, no-wrap
  11266. msgid "guix build guile --with-source=../guile-2.0.9.219-e1bb7.tar.xz\n"
  11267. msgstr ""
  11268. #. type: table
  11269. #: doc/guix.texi:5632
  11270. msgid "@dots{} or to build from a checkout in a pristine environment:"
  11271. msgstr ""
  11272. #. type: example
  11273. #: doc/guix.texi:5636
  11274. #, no-wrap
  11275. msgid ""
  11276. "$ git clone git://git.sv.gnu.org/guix.git\n"
  11277. "$ guix build guix --with-source=guix@@1.0=./guix\n"
  11278. msgstr ""
  11279. #. type: item
  11280. #: doc/guix.texi:5638
  11281. #, no-wrap
  11282. msgid "--with-input=@var{package}=@var{replacement}"
  11283. msgstr ""
  11284. #. type: table
  11285. #: doc/guix.texi:5643
  11286. msgid ""
  11287. "Replace dependency on @var{package} by a dependency on @var{replacement}. "
  11288. "@var{package} must be a package name, and @var{replacement} must be a "
  11289. "package specification such as @code{guile} or @code{guile@@1.8}."
  11290. msgstr ""
  11291. #. type: table
  11292. #: doc/guix.texi:5647
  11293. msgid ""
  11294. "For instance, the following command builds Guix, but replaces its dependency "
  11295. "on the current stable version of Guile with a dependency on the legacy "
  11296. "version of Guile, @code{guile@@2.0}:"
  11297. msgstr ""
  11298. #. type: example
  11299. #: doc/guix.texi:5650
  11300. #, no-wrap
  11301. msgid "guix build --with-input=guile=guile@@2.0 guix\n"
  11302. msgstr ""
  11303. #. type: table
  11304. #: doc/guix.texi:5655
  11305. msgid ""
  11306. "This is a recursive, deep replacement. So in this example, both @code{guix} "
  11307. "and its dependency @code{guile-json} (which also depends on @code{guile}) "
  11308. "get rebuilt against @code{guile@@2.0}."
  11309. msgstr ""
  11310. #. type: table
  11311. #: doc/guix.texi:5658
  11312. msgid ""
  11313. "This is implemented using the @code{package-input-rewriting} Scheme "
  11314. "procedure (@pxref{Defining Packages, @code{package-input-rewriting}})."
  11315. msgstr ""
  11316. #. type: item
  11317. #: doc/guix.texi:5659
  11318. #, no-wrap
  11319. msgid "--with-graft=@var{package}=@var{replacement}"
  11320. msgstr ""
  11321. #. type: table
  11322. #: doc/guix.texi:5665
  11323. msgid ""
  11324. "This is similar to @code{--with-input} but with an important difference: "
  11325. "instead of rebuilding the whole dependency chain, @var{replacement} is built "
  11326. "and then @dfn{grafted} onto the binaries that were initially referring to "
  11327. "@var{package}. @xref{Security Updates}, for more information on grafts."
  11328. msgstr ""
  11329. #. type: table
  11330. #: doc/guix.texi:5669
  11331. msgid ""
  11332. "For example, the command below grafts version 3.5.4 of GnuTLS onto Wget and "
  11333. "all its dependencies, replacing references to the version of GnuTLS they "
  11334. "currently refer to:"
  11335. msgstr ""
  11336. #. type: example
  11337. #: doc/guix.texi:5672
  11338. #, no-wrap
  11339. msgid "guix build --with-graft=gnutls=gnutls@@3.5.4 wget\n"
  11340. msgstr ""
  11341. #. type: table
  11342. #: doc/guix.texi:5681
  11343. msgid ""
  11344. "This has the advantage of being much faster than rebuilding everything. But "
  11345. "there is a caveat: it works if and only if @var{package} and "
  11346. "@var{replacement} are strictly compatible---for example, if they provide a "
  11347. "library, the application binary interface (ABI) of those libraries must be "
  11348. "compatible. If @var{replacement} is somehow incompatible with "
  11349. "@var{package}, then the resulting package may be unusable. Use with care!"
  11350. msgstr ""
  11351. #. type: Plain text
  11352. #: doc/guix.texi:5689
  11353. msgid ""
  11354. "The command-line options presented below are specific to @command{guix "
  11355. "build}."
  11356. msgstr ""
  11357. #. type: item
  11358. #: doc/guix.texi:5692
  11359. #, no-wrap
  11360. msgid "--quiet"
  11361. msgstr ""
  11362. #. type: itemx
  11363. #: doc/guix.texi:5693
  11364. #, no-wrap
  11365. msgid "-q"
  11366. msgstr ""
  11367. #. type: table
  11368. #: doc/guix.texi:5697
  11369. msgid ""
  11370. "Build quietly, without displaying the build log. Upon completion, the build "
  11371. "log is kept in @file{/var} (or similar) and can always be retrieved using "
  11372. "the @option{--log-file} option."
  11373. msgstr ""
  11374. #. type: item
  11375. #: doc/guix.texi:5698
  11376. #, no-wrap
  11377. msgid "--file=@var{file}"
  11378. msgstr ""
  11379. #. type: table
  11380. #: doc/guix.texi:5703
  11381. msgid ""
  11382. "Build the package or derivation that the code within @var{file} evaluates to."
  11383. msgstr ""
  11384. #. type: table
  11385. #: doc/guix.texi:5706
  11386. msgid ""
  11387. "As an example, @var{file} might contain a package definition like this "
  11388. "(@pxref{Defining Packages}):"
  11389. msgstr ""
  11390. #. type: table
  11391. #: doc/guix.texi:5714
  11392. msgid "Build the package or derivation @var{expr} evaluates to."
  11393. msgstr ""
  11394. #. type: table
  11395. #: doc/guix.texi:5718
  11396. msgid ""
  11397. "For example, @var{expr} may be @code{(@@ (gnu packages guile) guile-1.8)}, "
  11398. "which unambiguously designates this specific variant of version 1.8 of Guile."
  11399. msgstr ""
  11400. #. type: table
  11401. #: doc/guix.texi:5722
  11402. msgid ""
  11403. "Alternatively, @var{expr} may be a G-expression, in which case it is used as "
  11404. "a build program passed to @code{gexp->derivation} (@pxref{G-Expressions})."
  11405. msgstr ""
  11406. #. type: table
  11407. #: doc/guix.texi:5726
  11408. msgid ""
  11409. "Lastly, @var{expr} may refer to a zero-argument monadic procedure "
  11410. "(@pxref{The Store Monad}). The procedure must return a derivation as a "
  11411. "monadic value, which is then passed through @code{run-with-store}."
  11412. msgstr ""
  11413. #. type: item
  11414. #: doc/guix.texi:5727
  11415. #, no-wrap
  11416. msgid "--source"
  11417. msgstr ""
  11418. #. type: itemx
  11419. #: doc/guix.texi:5728
  11420. #, no-wrap
  11421. msgid "-S"
  11422. msgstr ""
  11423. #. type: table
  11424. #: doc/guix.texi:5731
  11425. msgid ""
  11426. "Build the source derivations of the packages, rather than the packages "
  11427. "themselves."
  11428. msgstr ""
  11429. #. type: table
  11430. #: doc/guix.texi:5735
  11431. msgid ""
  11432. "For instance, @code{guix build -S gcc} returns something like @file{/gnu/"
  11433. "store/@dots{}-gcc-4.7.2.tar.bz2}, which is the GCC source tarball."
  11434. msgstr ""
  11435. #. type: table
  11436. #: doc/guix.texi:5739
  11437. msgid ""
  11438. "The returned source tarball is the result of applying any patches and code "
  11439. "snippets specified in the package @code{origin} (@pxref{Defining Packages})."
  11440. msgstr ""
  11441. #. type: item
  11442. #: doc/guix.texi:5740
  11443. #, no-wrap
  11444. msgid "--sources"
  11445. msgstr ""
  11446. #. type: table
  11447. #: doc/guix.texi:5747
  11448. msgid ""
  11449. "Fetch and return the source of @var{package-or-derivation} and all their "
  11450. "dependencies, recursively. This is a handy way to obtain a local copy of "
  11451. "all the source code needed to build @var{packages}, allowing you to "
  11452. "eventually build them even without network access. It is an extension of "
  11453. "the @code{--source} option and can accept one of the following optional "
  11454. "argument values:"
  11455. msgstr ""
  11456. #. type: item
  11457. #: doc/guix.texi:5749 doc/guix.texi:6974
  11458. #, no-wrap
  11459. msgid "package"
  11460. msgstr ""
  11461. #. type: table
  11462. #: doc/guix.texi:5752
  11463. msgid ""
  11464. "This value causes the @code{--sources} option to behave in the same way as "
  11465. "the @code{--source} option."
  11466. msgstr ""
  11467. #. type: item
  11468. #: doc/guix.texi:5753 doc/guix.texi:11798
  11469. #, no-wrap
  11470. msgid "all"
  11471. msgstr ""
  11472. #. type: table
  11473. #: doc/guix.texi:5756
  11474. msgid ""
  11475. "Build the source derivations of all packages, including any source that "
  11476. "might be listed as @code{inputs}. This is the default value."
  11477. msgstr ""
  11478. #. type: example
  11479. #: doc/guix.texi:5762
  11480. #, no-wrap
  11481. msgid ""
  11482. "$ guix build --sources tzdata\n"
  11483. "The following derivations will be built:\n"
  11484. " /gnu/store/@dots{}-tzdata2015b.tar.gz.drv\n"
  11485. " /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"
  11486. msgstr ""
  11487. #. type: item
  11488. #: doc/guix.texi:5764
  11489. #, no-wrap
  11490. msgid "transitive"
  11491. msgstr ""
  11492. #. type: table
  11493. #: doc/guix.texi:5768
  11494. msgid ""
  11495. "Build the source derivations of all packages, as well of all transitive "
  11496. "inputs to the packages. This can be used e.g. to prefetch package source "
  11497. "for later offline building."
  11498. msgstr ""
  11499. #. type: example
  11500. #: doc/guix.texi:5779
  11501. #, no-wrap
  11502. msgid ""
  11503. "$ guix build --sources=transitive tzdata\n"
  11504. "The following derivations will be built:\n"
  11505. " /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"
  11506. " /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv\n"
  11507. " /gnu/store/@dots{}-grep-2.21.tar.xz.drv\n"
  11508. " /gnu/store/@dots{}-coreutils-8.23.tar.xz.drv\n"
  11509. " /gnu/store/@dots{}-make-4.1.tar.xz.drv\n"
  11510. " /gnu/store/@dots{}-bash-4.3.tar.xz.drv\n"
  11511. "@dots{}\n"
  11512. msgstr ""
  11513. #. type: quotation
  11514. #: doc/guix.texi:5792
  11515. msgid ""
  11516. "The @code{--system} flag is for @emph{native} compilation and must not be "
  11517. "confused with cross-compilation. See @code{--target} below for information "
  11518. "on cross-compilation."
  11519. msgstr ""
  11520. #. type: table
  11521. #: doc/guix.texi:5798
  11522. msgid ""
  11523. "An example use of this is on Linux-based systems, which can emulate "
  11524. "different personalities. For instance, passing @code{--system=i686-linux} "
  11525. "on an @code{x86_64-linux} system allows you to build packages in a complete "
  11526. "32-bit environment."
  11527. msgstr ""
  11528. #. type: table
  11529. #: doc/guix.texi:5803
  11530. msgid ""
  11531. "Similarly, when transparent emulation with QEMU and @code{binfmt_misc} is "
  11532. "enabled (@pxref{Virtualization Services, @code{qemu-binfmt-service-type}}), "
  11533. "you can build for any system for which a QEMU @code{binfmt_misc} handler is "
  11534. "installed."
  11535. msgstr ""
  11536. #. type: table
  11537. #: doc/guix.texi:5807
  11538. msgid ""
  11539. "Builds for a system other than that of the machine you are using can also be "
  11540. "offloaded to a remote machine of the right architecture. @xref{Daemon "
  11541. "Offload Setup}, for more information on offloading."
  11542. msgstr ""
  11543. #. type: anchor{#1}
  11544. #: doc/guix.texi:5815
  11545. msgid "build-check"
  11546. msgstr ""
  11547. #. type: item
  11548. #: doc/guix.texi:5815
  11549. #, no-wrap
  11550. msgid "--check"
  11551. msgstr ""
  11552. #. type: cindex
  11553. #: doc/guix.texi:5816
  11554. #, no-wrap
  11555. msgid "determinism, checking"
  11556. msgstr ""
  11557. #. type: cindex
  11558. #: doc/guix.texi:5817
  11559. #, no-wrap
  11560. msgid "reproducibility, checking"
  11561. msgstr ""
  11562. #. type: table
  11563. #: doc/guix.texi:5821
  11564. msgid ""
  11565. "Rebuild @var{package-or-derivation}, which are already available in the "
  11566. "store, and raise an error if the build results are not bit-for-bit identical."
  11567. msgstr ""
  11568. #. type: table
  11569. #: doc/guix.texi:5826
  11570. msgid ""
  11571. "This mechanism allows you to check whether previously installed substitutes "
  11572. "are genuine (@pxref{Substitutes}), or whether the build result of a package "
  11573. "is deterministic. @xref{Invoking guix challenge}, for more background "
  11574. "information and tools."
  11575. msgstr ""
  11576. #. type: item
  11577. #: doc/guix.texi:5831
  11578. #, no-wrap
  11579. msgid "--repair"
  11580. msgstr ""
  11581. #. type: cindex
  11582. #: doc/guix.texi:5832
  11583. #, no-wrap
  11584. msgid "repairing store items"
  11585. msgstr ""
  11586. #. type: table
  11587. #: doc/guix.texi:5836
  11588. msgid ""
  11589. "Attempt to repair the specified store items, if they are corrupt, by re-"
  11590. "downloading or rebuilding them."
  11591. msgstr ""
  11592. #. type: table
  11593. #: doc/guix.texi:5838
  11594. msgid "This operation is not atomic and thus restricted to @code{root}."
  11595. msgstr ""
  11596. #. type: item
  11597. #: doc/guix.texi:5839
  11598. #, no-wrap
  11599. msgid "--derivations"
  11600. msgstr ""
  11601. #. type: table
  11602. #: doc/guix.texi:5843
  11603. msgid ""
  11604. "Return the derivation paths, not the output paths, of the given packages."
  11605. msgstr ""
  11606. #. type: item
  11607. #: doc/guix.texi:5844 doc/guix.texi:7231 doc/guix.texi:20625
  11608. #, no-wrap
  11609. msgid "--root=@var{file}"
  11610. msgstr ""
  11611. #. type: itemx
  11612. #: doc/guix.texi:5845 doc/guix.texi:7232 doc/guix.texi:20626
  11613. #, no-wrap
  11614. msgid "-r @var{file}"
  11615. msgstr ""
  11616. #. type: cindex
  11617. #: doc/guix.texi:5846
  11618. #, no-wrap
  11619. msgid "GC roots, adding"
  11620. msgstr ""
  11621. #. type: cindex
  11622. #: doc/guix.texi:5847
  11623. #, no-wrap
  11624. msgid "garbage collector roots, adding"
  11625. msgstr ""
  11626. #. type: table
  11627. #: doc/guix.texi:5850 doc/guix.texi:20629
  11628. msgid ""
  11629. "Make @var{file} a symlink to the result, and register it as a garbage "
  11630. "collector root."
  11631. msgstr ""
  11632. #. type: table
  11633. #: doc/guix.texi:5856
  11634. msgid ""
  11635. "Consequently, the results of this @command{guix build} invocation are "
  11636. "protected from garbage collection until @var{file} is removed. When that "
  11637. "option is omitted, build results are eligible for garbage collection as soon "
  11638. "as the build completes. @xref{Invoking guix gc}, for more on GC roots."
  11639. msgstr ""
  11640. #. type: item
  11641. #: doc/guix.texi:5857
  11642. #, no-wrap
  11643. msgid "--log-file"
  11644. msgstr ""
  11645. #. type: cindex
  11646. #: doc/guix.texi:5858
  11647. #, no-wrap
  11648. msgid "build logs, access"
  11649. msgstr ""
  11650. #. type: table
  11651. #: doc/guix.texi:5862
  11652. msgid ""
  11653. "Return the build log file names or URLs for the given @var{package-or-"
  11654. "derivation}, or raise an error if build logs are missing."
  11655. msgstr ""
  11656. #. type: table
  11657. #: doc/guix.texi:5865
  11658. msgid ""
  11659. "This works regardless of how packages or derivations are specified. For "
  11660. "instance, the following invocations are equivalent:"
  11661. msgstr ""
  11662. #. type: example
  11663. #: doc/guix.texi:5871
  11664. #, no-wrap
  11665. msgid ""
  11666. "guix build --log-file `guix build -d guile`\n"
  11667. "guix build --log-file `guix build guile`\n"
  11668. "guix build --log-file guile\n"
  11669. "guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'\n"
  11670. msgstr ""
  11671. #. type: table
  11672. #: doc/guix.texi:5876
  11673. msgid ""
  11674. "If a log is unavailable locally, and unless @code{--no-substitutes} is "
  11675. "passed, the command looks for a corresponding log on one of the substitute "
  11676. "servers (as specified with @code{--substitute-urls}.)"
  11677. msgstr ""
  11678. #. type: table
  11679. #: doc/guix.texi:5879
  11680. msgid ""
  11681. "So for instance, imagine you want to see the build log of GDB on MIPS, but "
  11682. "you are actually on an @code{x86_64} machine:"
  11683. msgstr ""
  11684. #. type: example
  11685. #: doc/guix.texi:5883
  11686. #, no-wrap
  11687. msgid ""
  11688. "$ guix build --log-file gdb -s mips64el-linux\n"
  11689. "https://hydra.gnu.org/log/@dots{}-gdb-7.10\n"
  11690. msgstr ""
  11691. #. type: table
  11692. #: doc/guix.texi:5886
  11693. msgid "You can freely access a huge library of build logs!"
  11694. msgstr ""
  11695. #. type: cindex
  11696. #: doc/guix.texi:5891
  11697. #, no-wrap
  11698. msgid "build failures, debugging"
  11699. msgstr ""
  11700. #. type: Plain text
  11701. #: doc/guix.texi:5897
  11702. msgid ""
  11703. "When defining a new package (@pxref{Defining Packages}), you will probably "
  11704. "find yourself spending some time debugging and tweaking the build until it "
  11705. "succeeds. To do that, you need to operate the build commands yourself in an "
  11706. "environment as close as possible to the one the build daemon uses."
  11707. msgstr ""
  11708. #. type: Plain text
  11709. #: doc/guix.texi:5902
  11710. msgid ""
  11711. "To that end, the first thing to do is to use the @option{--keep-failed} or "
  11712. "@option{-K} option of @command{guix build}, which will keep the failed build "
  11713. "tree in @file{/tmp} or whatever directory you specified as @code{TMPDIR} "
  11714. "(@pxref{Invoking guix build, @code{--keep-failed}})."
  11715. msgstr ""
  11716. #. type: Plain text
  11717. #: doc/guix.texi:5908
  11718. msgid ""
  11719. "From there on, you can @command{cd} to the failed build tree and source the "
  11720. "@file{environment-variables} file, which contains all the environment "
  11721. "variable definitions that were in place when the build failed. So let's say "
  11722. "you're debugging a build failure in package @code{foo}; a typical session "
  11723. "would look like this:"
  11724. msgstr ""
  11725. #. type: example
  11726. #: doc/guix.texi:5915
  11727. #, no-wrap
  11728. msgid ""
  11729. "$ guix build foo -K\n"
  11730. "@dots{} @i{build fails}\n"
  11731. "$ cd /tmp/guix-build-foo.drv-0\n"
  11732. "$ source ./environment-variables\n"
  11733. "$ cd foo-1.2\n"
  11734. msgstr ""
  11735. #. type: Plain text
  11736. #: doc/guix.texi:5919
  11737. msgid ""
  11738. "Now, you can invoke commands as if you were the daemon (almost) and "
  11739. "troubleshoot your build process."
  11740. msgstr ""
  11741. #. type: Plain text
  11742. #: doc/guix.texi:5925
  11743. msgid ""
  11744. "Sometimes it happens that, for example, a package's tests pass when you run "
  11745. "them manually but they fail when the daemon runs them. This can happen "
  11746. "because the daemon runs builds in containers where, unlike in our "
  11747. "environment above, network access is missing, @file{/bin/sh} does not exist, "
  11748. "etc. (@pxref{Build Environment Setup})."
  11749. msgstr ""
  11750. #. type: Plain text
  11751. #: doc/guix.texi:5928
  11752. msgid ""
  11753. "In such cases, you may need to run inspect the build process from within a "
  11754. "container similar to the one the build daemon creates:"
  11755. msgstr ""
  11756. #. type: example
  11757. #: doc/guix.texi:5936
  11758. #, no-wrap
  11759. msgid ""
  11760. "$ guix build -K foo\n"
  11761. "@dots{}\n"
  11762. "$ cd /tmp/guix-build-foo.drv-0\n"
  11763. "$ guix environment --no-grafts -C foo --ad-hoc strace gdb\n"
  11764. "[env]# source ./environment-variables\n"
  11765. "[env]# cd foo-1.2\n"
  11766. msgstr ""
  11767. #. type: Plain text
  11768. #: doc/guix.texi:5945
  11769. msgid ""
  11770. "Here, @command{guix environment -C} creates a container and spawns a new "
  11771. "shell in it (@pxref{Invoking guix environment}). The @command{--ad-hoc "
  11772. "strace gdb} part adds the @command{strace} and @command{gdb} commands to the "
  11773. "container, which would may find handy while debugging. The @option{--no-"
  11774. "grafts} option makes sure we get the exact same environment, with ungrafted "
  11775. "packages (@pxref{Security Updates}, for more info on grafts)."
  11776. msgstr ""
  11777. #. type: Plain text
  11778. #: doc/guix.texi:5948
  11779. msgid ""
  11780. "To get closer to a container like that used by the build daemon, we can "
  11781. "remove @file{/bin/sh}:"
  11782. msgstr ""
  11783. #. type: example
  11784. #: doc/guix.texi:5951
  11785. #, no-wrap
  11786. msgid "[env]# rm /bin/sh\n"
  11787. msgstr ""
  11788. #. type: Plain text
  11789. #: doc/guix.texi:5955
  11790. msgid ""
  11791. "(Don't worry, this is harmless: this is all happening in the throw-away "
  11792. "container created by @command{guix environment}.)"
  11793. msgstr ""
  11794. #. type: Plain text
  11795. #: doc/guix.texi:5958
  11796. msgid ""
  11797. "The @command{strace} command is probably not in the search path, but we can "
  11798. "run:"
  11799. msgstr ""
  11800. #. type: example
  11801. #: doc/guix.texi:5961
  11802. #, no-wrap
  11803. msgid "[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check\n"
  11804. msgstr ""
  11805. #. type: Plain text
  11806. #: doc/guix.texi:5966
  11807. msgid ""
  11808. "In this way, not only you will have reproduced the environment variables the "
  11809. "daemon uses, you will also be running the build process in a container "
  11810. "similar to the one the daemon uses."
  11811. msgstr ""
  11812. #. type: section
  11813. #: doc/guix.texi:5969
  11814. #, no-wrap
  11815. msgid "Invoking @command{guix edit}"
  11816. msgstr ""
  11817. #. type: command{#1}
  11818. #: doc/guix.texi:5971
  11819. #, no-wrap
  11820. msgid "guix edit"
  11821. msgstr ""
  11822. #. type: cindex
  11823. #: doc/guix.texi:5972
  11824. #, no-wrap
  11825. msgid "package definition, editing"
  11826. msgstr ""
  11827. #. type: Plain text
  11828. #: doc/guix.texi:5977
  11829. msgid ""
  11830. "So many packages, so many source files! The @command{guix edit} command "
  11831. "facilitates the life of users and packagers by pointing their editor at the "
  11832. "source file containing the definition of the specified packages. For "
  11833. "instance:"
  11834. msgstr ""
  11835. #. type: example
  11836. #: doc/guix.texi:5980
  11837. #, no-wrap
  11838. msgid "guix edit gcc@@4.9 vim\n"
  11839. msgstr ""
  11840. #. type: Plain text
  11841. #: doc/guix.texi:5986
  11842. msgid ""
  11843. "launches the program specified in the @code{VISUAL} or in the @code{EDITOR} "
  11844. "environment variable to view the recipe of GCC@tie{}4.9.3 and that of Vim."
  11845. msgstr ""
  11846. #. type: Plain text
  11847. #: doc/guix.texi:5992
  11848. msgid ""
  11849. "If you are using a Guix Git checkout (@pxref{Building from Git}), or have "
  11850. "created your own packages on @code{GUIX_PACKAGE_PATH} (@pxref{Defining "
  11851. "Packages}), you will be able to edit the package recipes. Otherwise, you "
  11852. "will be able to examine the read-only recipes for packages currently in the "
  11853. "store."
  11854. msgstr ""
  11855. #. type: section
  11856. #: doc/guix.texi:5995
  11857. #, no-wrap
  11858. msgid "Invoking @command{guix download}"
  11859. msgstr ""
  11860. #. type: command{#1}
  11861. #: doc/guix.texi:5997
  11862. #, no-wrap
  11863. msgid "guix download"
  11864. msgstr ""
  11865. #. type: cindex
  11866. #: doc/guix.texi:5998
  11867. #, no-wrap
  11868. msgid "downloading package sources"
  11869. msgstr ""
  11870. #. type: Plain text
  11871. #: doc/guix.texi:6005
  11872. msgid ""
  11873. "When writing a package definition, developers typically need to download a "
  11874. "source tarball, compute its SHA256 hash, and write that hash in the package "
  11875. "definition (@pxref{Defining Packages}). The @command{guix download} tool "
  11876. "helps with this task: it downloads a file from the given URI, adds it to the "
  11877. "store, and prints both its file name in the store and its SHA256 hash."
  11878. msgstr ""
  11879. #. type: Plain text
  11880. #: doc/guix.texi:6012
  11881. msgid ""
  11882. "The fact that the downloaded file is added to the store saves bandwidth: "
  11883. "when the developer eventually tries to build the newly defined package with "
  11884. "@command{guix build}, the source tarball will not have to be downloaded "
  11885. "again because it is already in the store. It is also a convenient way to "
  11886. "temporarily stash files, which may be deleted eventually (@pxref{Invoking "
  11887. "guix gc})."
  11888. msgstr ""
  11889. #. type: Plain text
  11890. #: doc/guix.texi:6020
  11891. msgid ""
  11892. "The @command{guix download} command supports the same URIs as used in "
  11893. "package definitions. In particular, it supports @code{mirror://} URIs. "
  11894. "@code{https} URIs (HTTP over TLS) are supported @emph{provided} the Guile "
  11895. "bindings for GnuTLS are available in the user's environment; when they are "
  11896. "not available, an error is raised. @xref{Guile Preparations, how to install "
  11897. "the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}, for more "
  11898. "information."
  11899. msgstr ""
  11900. #. type: Plain text
  11901. #: doc/guix.texi:6025
  11902. msgid ""
  11903. "@command{guix download} verifies HTTPS server certificates by loading the "
  11904. "certificates of X.509 authorities from the directory pointed to by the "
  11905. "@code{SSL_CERT_DIR} environment variable (@pxref{X.509 Certificates}), "
  11906. "unless @option{--no-check-certificate} is used."
  11907. msgstr ""
  11908. #. type: Plain text
  11909. #: doc/guix.texi:6027 doc/guix.texi:7511
  11910. msgid "The following options are available:"
  11911. msgstr ""
  11912. #. type: item
  11913. #: doc/guix.texi:6029 doc/guix.texi:6068
  11914. #, no-wrap
  11915. msgid "--format=@var{fmt}"
  11916. msgstr ""
  11917. #. type: itemx
  11918. #: doc/guix.texi:6030 doc/guix.texi:6069
  11919. #, no-wrap
  11920. msgid "-f @var{fmt}"
  11921. msgstr ""
  11922. #. type: table
  11923. #: doc/guix.texi:6033
  11924. msgid ""
  11925. "Write the hash in the format specified by @var{fmt}. For more information "
  11926. "on the valid values for @var{fmt}, @pxref{Invoking guix hash}."
  11927. msgstr ""
  11928. #. type: item
  11929. #: doc/guix.texi:6034
  11930. #, no-wrap
  11931. msgid "--no-check-certificate"
  11932. msgstr ""
  11933. #. type: table
  11934. #: doc/guix.texi:6036
  11935. msgid "Do not validate the X.509 certificates of HTTPS servers."
  11936. msgstr ""
  11937. #. type: table
  11938. #: doc/guix.texi:6040
  11939. msgid ""
  11940. "When using this option, you have @emph{absolutely no guarantee} that you are "
  11941. "communicating with the authentic server responsible for the given URL, which "
  11942. "makes you vulnerable to ``man-in-the-middle'' attacks."
  11943. msgstr ""
  11944. #. type: item
  11945. #: doc/guix.texi:6041
  11946. #, no-wrap
  11947. msgid "--output=@var{file}"
  11948. msgstr ""
  11949. #. type: itemx
  11950. #: doc/guix.texi:6042
  11951. #, no-wrap
  11952. msgid "-o @var{file}"
  11953. msgstr ""
  11954. #. type: table
  11955. #: doc/guix.texi:6045
  11956. msgid ""
  11957. "Save the downloaded file to @var{file} instead of adding it to the store."
  11958. msgstr ""
  11959. #. type: section
  11960. #: doc/guix.texi:6048
  11961. #, no-wrap
  11962. msgid "Invoking @command{guix hash}"
  11963. msgstr ""
  11964. #. type: command{#1}
  11965. #: doc/guix.texi:6050
  11966. #, no-wrap
  11967. msgid "guix hash"
  11968. msgstr ""
  11969. #. type: Plain text
  11970. #: doc/guix.texi:6055
  11971. msgid ""
  11972. "The @command{guix hash} command computes the SHA256 hash of a file. It is "
  11973. "primarily a convenience tool for anyone contributing to the distribution: it "
  11974. "computes the cryptographic hash of a file, which can be used in the "
  11975. "definition of a package (@pxref{Defining Packages})."
  11976. msgstr ""
  11977. #. type: example
  11978. #: doc/guix.texi:6060
  11979. #, no-wrap
  11980. msgid "guix hash @var{option} @var{file}\n"
  11981. msgstr ""
  11982. #. type: Plain text
  11983. #: doc/guix.texi:6065
  11984. msgid ""
  11985. "When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the "
  11986. "hash of data read from standard input. @command{guix hash} has the "
  11987. "following options:"
  11988. msgstr ""
  11989. #. type: table
  11990. #: doc/guix.texi:6071
  11991. msgid "Write the hash in the format specified by @var{fmt}."
  11992. msgstr ""
  11993. #. type: table
  11994. #: doc/guix.texi:6074
  11995. msgid ""
  11996. "Supported formats: @code{nix-base32}, @code{base32}, @code{base16} "
  11997. "(@code{hex} and @code{hexadecimal} can be used as well)."
  11998. msgstr ""
  11999. #. type: table
  12000. #: doc/guix.texi:6078
  12001. msgid ""
  12002. "If the @option{--format} option is not specified, @command{guix hash} will "
  12003. "output the hash in @code{nix-base32}. This representation is used in the "
  12004. "definitions of packages."
  12005. msgstr ""
  12006. #. type: table
  12007. #: doc/guix.texi:6082
  12008. msgid "Compute the hash on @var{file} recursively."
  12009. msgstr ""
  12010. #. type: table
  12011. #: doc/guix.texi:6091
  12012. msgid ""
  12013. "In this case, the hash is computed on an archive containing @var{file}, "
  12014. "including its children if it is a directory. Some of the metadata of "
  12015. "@var{file} is part of the archive; for instance, when @var{file} is a "
  12016. "regular file, the hash is different depending on whether @var{file} is "
  12017. "executable or not. Metadata such as time stamps has no impact on the hash "
  12018. "(@pxref{Invoking guix archive})."
  12019. msgstr ""
  12020. #. type: item
  12021. #: doc/guix.texi:6092
  12022. #, no-wrap
  12023. msgid "--exclude-vcs"
  12024. msgstr ""
  12025. #. type: itemx
  12026. #: doc/guix.texi:6093
  12027. #, no-wrap
  12028. msgid "-x"
  12029. msgstr ""
  12030. #. type: table
  12031. #: doc/guix.texi:6096
  12032. msgid ""
  12033. "When combined with @option{--recursive}, exclude version control system "
  12034. "directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.)"
  12035. msgstr ""
  12036. #. type: table
  12037. #: doc/guix.texi:6101
  12038. msgid ""
  12039. "As an example, here is how you would compute the hash of a Git checkout, "
  12040. "which is useful when using the @code{git-fetch} method (@pxref{origin "
  12041. "Reference}):"
  12042. msgstr ""
  12043. #. type: example
  12044. #: doc/guix.texi:6106
  12045. #, no-wrap
  12046. msgid ""
  12047. "$ git clone http://example.org/foo.git\n"
  12048. "$ cd foo\n"
  12049. "$ guix hash -rx .\n"
  12050. msgstr ""
  12051. #. type: cindex
  12052. #: doc/guix.texi:6110 doc/guix.texi:6115
  12053. #, no-wrap
  12054. msgid "Invoking @command{guix import}"
  12055. msgstr ""
  12056. #. type: cindex
  12057. #: doc/guix.texi:6112
  12058. #, no-wrap
  12059. msgid "importing packages"
  12060. msgstr ""
  12061. #. type: cindex
  12062. #: doc/guix.texi:6113
  12063. #, no-wrap
  12064. msgid "package import"
  12065. msgstr ""
  12066. #. type: cindex
  12067. #: doc/guix.texi:6114
  12068. #, no-wrap
  12069. msgid "package conversion"
  12070. msgstr ""
  12071. #. type: Plain text
  12072. #: doc/guix.texi:6122
  12073. msgid ""
  12074. "The @command{guix import} command is useful for people who would like to add "
  12075. "a package to the distribution with as little work as possible---a legitimate "
  12076. "demand. The command knows of a few repositories from which it can "
  12077. "``import'' package metadata. The result is a package definition, or a "
  12078. "template thereof, in the format we know (@pxref{Defining Packages})."
  12079. msgstr ""
  12080. #. type: example
  12081. #: doc/guix.texi:6127
  12082. #, no-wrap
  12083. msgid "guix import @var{importer} @var{options}@dots{}\n"
  12084. msgstr ""
  12085. #. type: Plain text
  12086. #: doc/guix.texi:6133
  12087. msgid ""
  12088. "@var{importer} specifies the source from which to import package metadata, "
  12089. "and @var{options} specifies a package identifier and other options specific "
  12090. "to @var{importer}. Currently, the available ``importers'' are:"
  12091. msgstr ""
  12092. #. type: item
  12093. #: doc/guix.texi:6135 doc/guix.texi:6588
  12094. #, no-wrap
  12095. msgid "gnu"
  12096. msgstr ""
  12097. #. type: table
  12098. #: doc/guix.texi:6139
  12099. msgid ""
  12100. "Import metadata for the given GNU package. This provides a template for the "
  12101. "latest version of that GNU package, including the hash of its source "
  12102. "tarball, and its canonical synopsis and description."
  12103. msgstr ""
  12104. #. type: table
  12105. #: doc/guix.texi:6142
  12106. msgid ""
  12107. "Additional information such as the package dependencies and its license "
  12108. "needs to be figured out manually."
  12109. msgstr ""
  12110. #. type: table
  12111. #: doc/guix.texi:6145
  12112. msgid ""
  12113. "For example, the following command returns a package definition for GNU@tie{}"
  12114. "Hello:"
  12115. msgstr ""
  12116. #. type: example
  12117. #: doc/guix.texi:6148
  12118. #, no-wrap
  12119. msgid "guix import gnu hello\n"
  12120. msgstr ""
  12121. #. type: table
  12122. #: doc/guix.texi:6151 doc/guix.texi:6369 doc/guix.texi:6414 doc/guix.texi:6438
  12123. msgid "Specific command-line options are:"
  12124. msgstr ""
  12125. #. type: item
  12126. #: doc/guix.texi:6153 doc/guix.texi:6689
  12127. #, no-wrap
  12128. msgid "--key-download=@var{policy}"
  12129. msgstr ""
  12130. #. type: table
  12131. #: doc/guix.texi:6157
  12132. msgid ""
  12133. "As for @code{guix refresh}, specify the policy to handle missing OpenPGP "
  12134. "keys when verifying the package signature. @xref{Invoking guix refresh, "
  12135. "@code{--key-download}}."
  12136. msgstr ""
  12137. #. type: item
  12138. #: doc/guix.texi:6159 doc/guix.texi:6160 doc/guix.texi:6606
  12139. #, no-wrap
  12140. msgid "pypi"
  12141. msgstr ""
  12142. #. type: table
  12143. #: doc/guix.texi:6168
  12144. msgid ""
  12145. "Import metadata from the @uref{https://pypi.python.org/, Python Package "
  12146. "Index}@footnote{This functionality requires Guile-JSON to be installed. "
  12147. "@xref{Requirements}.}. Information is taken from the JSON-formatted "
  12148. "description available at @code{pypi.python.org} and usually includes all the "
  12149. "relevant information, including package dependencies. For maximum "
  12150. "efficiency, it is recommended to install the @command{unzip} utility, so "
  12151. "that the importer can unzip Python wheels and gather data from them."
  12152. msgstr ""
  12153. #. type: table
  12154. #: doc/guix.texi:6171
  12155. msgid ""
  12156. "The command below imports metadata for the @code{itsdangerous} Python "
  12157. "package:"
  12158. msgstr ""
  12159. #. type: example
  12160. #: doc/guix.texi:6174
  12161. #, no-wrap
  12162. msgid "guix import pypi itsdangerous\n"
  12163. msgstr ""
  12164. #. type: item
  12165. #: doc/guix.texi:6176 doc/guix.texi:6177 doc/guix.texi:6608
  12166. #, no-wrap
  12167. msgid "gem"
  12168. msgstr ""
  12169. #. type: table
  12170. #: doc/guix.texi:6188
  12171. msgid ""
  12172. "Import metadata from @uref{https://rubygems.org/, RubyGems}@footnote{This "
  12173. "functionality requires Guile-JSON to be installed. @xref{Requirements}.}. "
  12174. "Information is taken from the JSON-formatted description available at "
  12175. "@code{rubygems.org} and includes most relevant information, including "
  12176. "runtime dependencies. There are some caveats, however. The metadata "
  12177. "doesn't distinguish between synopses and descriptions, so the same string is "
  12178. "used for both fields. Additionally, the details of non-Ruby dependencies "
  12179. "required to build native extensions is unavailable and left as an exercise "
  12180. "to the packager."
  12181. msgstr ""
  12182. #. type: table
  12183. #: doc/guix.texi:6190
  12184. msgid "The command below imports metadata for the @code{rails} Ruby package:"
  12185. msgstr ""
  12186. #. type: example
  12187. #: doc/guix.texi:6193
  12188. #, no-wrap
  12189. msgid "guix import gem rails\n"
  12190. msgstr ""
  12191. #. type: item
  12192. #: doc/guix.texi:6195 doc/guix.texi:6604
  12193. #, no-wrap
  12194. msgid "cpan"
  12195. msgstr ""
  12196. #. type: cindex
  12197. #: doc/guix.texi:6196
  12198. #, no-wrap
  12199. msgid "CPAN"
  12200. msgstr ""
  12201. #. type: table
  12202. #: doc/guix.texi:6206
  12203. msgid ""
  12204. "Import metadata from @uref{https://www.metacpan.org/, MetaCPAN}"
  12205. "@footnote{This functionality requires Guile-JSON to be installed. "
  12206. "@xref{Requirements}.}. Information is taken from the JSON-formatted "
  12207. "metadata provided through @uref{https://fastapi.metacpan.org/, MetaCPAN's "
  12208. "API} and includes most relevant information, such as module dependencies. "
  12209. "License information should be checked closely. If Perl is available in the "
  12210. "store, then the @code{corelist} utility will be used to filter core modules "
  12211. "out of the list of dependencies."
  12212. msgstr ""
  12213. #. type: table
  12214. #: doc/guix.texi:6209
  12215. msgid ""
  12216. "The command command below imports metadata for the @code{Acme::Boolean} Perl "
  12217. "module:"
  12218. msgstr ""
  12219. #. type: example
  12220. #: doc/guix.texi:6212
  12221. #, no-wrap
  12222. msgid "guix import cpan Acme::Boolean\n"
  12223. msgstr ""
  12224. #. type: item
  12225. #: doc/guix.texi:6214 doc/guix.texi:6600
  12226. #, no-wrap
  12227. msgid "cran"
  12228. msgstr ""
  12229. #. type: cindex
  12230. #: doc/guix.texi:6215
  12231. #, no-wrap
  12232. msgid "CRAN"
  12233. msgstr ""
  12234. #. type: cindex
  12235. #: doc/guix.texi:6216
  12236. #, no-wrap
  12237. msgid "Bioconductor"
  12238. msgstr ""
  12239. #. type: table
  12240. #: doc/guix.texi:6220
  12241. msgid ""
  12242. "Import metadata from @uref{https://cran.r-project.org/, CRAN}, the central "
  12243. "repository for the @uref{http://r-project.org, GNU@tie{}R statistical and "
  12244. "graphical environment}."
  12245. msgstr ""
  12246. #. type: table
  12247. #: doc/guix.texi:6222
  12248. msgid ""
  12249. "Information is extracted from the @code{DESCRIPTION} file of the package."
  12250. msgstr ""
  12251. #. type: table
  12252. #: doc/guix.texi:6225
  12253. msgid ""
  12254. "The command command below imports metadata for the @code{Cairo} R package:"
  12255. msgstr ""
  12256. #. type: example
  12257. #: doc/guix.texi:6228
  12258. #, no-wrap
  12259. msgid "guix import cran Cairo\n"
  12260. msgstr ""
  12261. #. type: table
  12262. #: doc/guix.texi:6233
  12263. msgid ""
  12264. "When @code{--recursive} is added, the importer will traverse the dependency "
  12265. "graph of the given upstream package recursively and generate package "
  12266. "expressions for all those packages that are not yet in Guix."
  12267. msgstr ""
  12268. #. type: table
  12269. #: doc/guix.texi:6238
  12270. msgid ""
  12271. "When @code{--archive=bioconductor} is added, metadata is imported from "
  12272. "@uref{https://www.bioconductor.org/, Bioconductor}, a repository of R "
  12273. "packages for for the analysis and comprehension of high-throughput genomic "
  12274. "data in bioinformatics."
  12275. msgstr ""
  12276. #. type: table
  12277. #: doc/guix.texi:6241
  12278. msgid ""
  12279. "Information is extracted from the @code{DESCRIPTION} file of a package "
  12280. "published on the web interface of the Bioconductor SVN repository."
  12281. msgstr ""
  12282. #. type: table
  12283. #: doc/guix.texi:6244
  12284. msgid ""
  12285. "The command below imports metadata for the @code{GenomicRanges} R package:"
  12286. msgstr ""
  12287. #. type: example
  12288. #: doc/guix.texi:6247
  12289. #, no-wrap
  12290. msgid "guix import cran --archive=bioconductor GenomicRanges\n"
  12291. msgstr ""
  12292. #. type: item
  12293. #: doc/guix.texi:6249
  12294. #, no-wrap
  12295. msgid "texlive"
  12296. msgstr ""
  12297. #. type: cindex
  12298. #: doc/guix.texi:6250
  12299. #, no-wrap
  12300. msgid "TeX Live"
  12301. msgstr ""
  12302. #. type: cindex
  12303. #: doc/guix.texi:6251
  12304. #, no-wrap
  12305. msgid "CTAN"
  12306. msgstr ""
  12307. #. type: table
  12308. #: doc/guix.texi:6255
  12309. msgid ""
  12310. "Import metadata from @uref{http://www.ctan.org/, CTAN}, the comprehensive "
  12311. "TeX archive network for TeX packages that are part of the @uref{https://www."
  12312. "tug.org/texlive/, TeX Live distribution}."
  12313. msgstr ""
  12314. #. type: table
  12315. #: doc/guix.texi:6260
  12316. msgid ""
  12317. "Information about the package is obtained through the XML API provided by "
  12318. "CTAN, while the source code is downloaded from the SVN repository of the Tex "
  12319. "Live project. This is done because the CTAN does not keep versioned "
  12320. "archives."
  12321. msgstr ""
  12322. #. type: table
  12323. #: doc/guix.texi:6263
  12324. msgid ""
  12325. "The command command below imports metadata for the @code{fontspec} TeX "
  12326. "package:"
  12327. msgstr ""
  12328. #. type: example
  12329. #: doc/guix.texi:6266
  12330. #, no-wrap
  12331. msgid "guix import texlive fontspec\n"
  12332. msgstr ""
  12333. #. type: table
  12334. #: doc/guix.texi:6272
  12335. msgid ""
  12336. "When @code{--archive=DIRECTORY} is added, the source code is downloaded not "
  12337. "from the @file{latex} sub-directory of the @file{texmf-dist/source} tree in "
  12338. "the TeX Live SVN repository, but from the specified sibling directory under "
  12339. "the same root."
  12340. msgstr ""
  12341. #. type: table
  12342. #: doc/guix.texi:6276
  12343. msgid ""
  12344. "The command below imports metadata for the @code{ifxetex} package from CTAN "
  12345. "while fetching the sources from the directory @file{texmf/source/generic}:"
  12346. msgstr ""
  12347. #. type: example
  12348. #: doc/guix.texi:6279
  12349. #, no-wrap
  12350. msgid "guix import texlive --archive=generic ifxetex\n"
  12351. msgstr ""
  12352. #. type: item
  12353. #: doc/guix.texi:6281
  12354. #, no-wrap
  12355. msgid "json"
  12356. msgstr ""
  12357. #. type: cindex
  12358. #: doc/guix.texi:6282
  12359. #, no-wrap
  12360. msgid "JSON, import"
  12361. msgstr ""
  12362. #. type: table
  12363. #: doc/guix.texi:6287
  12364. msgid ""
  12365. "Import package metadata from a local JSON file@footnote{This functionality "
  12366. "requires Guile-JSON to be installed. @xref{Requirements}.}. Consider the "
  12367. "following example package definition in JSON format:"
  12368. msgstr ""
  12369. #. type: example
  12370. #: doc/guix.texi:6300
  12371. #, no-wrap
  12372. msgid ""
  12373. "@{\n"
  12374. " \"name\": \"hello\",\n"
  12375. " \"version\": \"2.10\",\n"
  12376. " \"source\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n"
  12377. " \"build-system\": \"gnu\",\n"
  12378. " \"home-page\": \"https://www.gnu.org/software/hello/\",\n"
  12379. " \"synopsis\": \"Hello, GNU world: An example GNU package\",\n"
  12380. " \"description\": \"GNU Hello prints a greeting.\",\n"
  12381. " \"license\": \"GPL-3.0+\",\n"
  12382. " \"native-inputs\": [\"gcc@@6\"]\n"
  12383. "@}\n"
  12384. msgstr ""
  12385. #. type: table
  12386. #: doc/guix.texi:6306
  12387. msgid ""
  12388. "The field names are the same as for the @code{<package>} record "
  12389. "(@xref{Defining Packages}). References to other packages are provided as "
  12390. "JSON lists of quoted package specification strings such as @code{guile} or "
  12391. "@code{guile@@2.0}."
  12392. msgstr ""
  12393. #. type: table
  12394. #: doc/guix.texi:6309
  12395. msgid ""
  12396. "The importer also supports a more explicit source definition using the "
  12397. "common fields for @code{<origin>} records:"
  12398. msgstr ""
  12399. #. type: example
  12400. #: doc/guix.texi:6322
  12401. #, no-wrap
  12402. msgid ""
  12403. "@{\n"
  12404. " @dots{}\n"
  12405. " \"source\": @{\n"
  12406. " \"method\": \"url-fetch\",\n"
  12407. " \"uri\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n"
  12408. " \"sha256\": @{\n"
  12409. " \"base32\": \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"\n"
  12410. " @}\n"
  12411. " @}\n"
  12412. " @dots{}\n"
  12413. "@}\n"
  12414. msgstr ""
  12415. #. type: table
  12416. #: doc/guix.texi:6326
  12417. msgid ""
  12418. "The command below reads metadata from the JSON file @code{hello.json} and "
  12419. "outputs a package expression:"
  12420. msgstr ""
  12421. #. type: example
  12422. #: doc/guix.texi:6329
  12423. #, no-wrap
  12424. msgid "guix import json hello.json\n"
  12425. msgstr ""
  12426. #. type: item
  12427. #: doc/guix.texi:6331
  12428. #, no-wrap
  12429. msgid "nix"
  12430. msgstr ""
  12431. #. type: table
  12432. #: doc/guix.texi:6340
  12433. msgid ""
  12434. "Import metadata from a local copy of the source of the @uref{http://nixos."
  12435. "org/nixpkgs/, Nixpkgs distribution}@footnote{This relies on the @command{nix-"
  12436. "instantiate} command of @uref{http://nixos.org/nix/, Nix}.}. Package "
  12437. "definitions in Nixpkgs are typically written in a mixture of Nix-language "
  12438. "and Bash code. This command only imports the high-level package structure "
  12439. "that is written in the Nix language. It normally includes all the basic "
  12440. "fields of a package definition."
  12441. msgstr ""
  12442. #. type: table
  12443. #: doc/guix.texi:6343
  12444. msgid ""
  12445. "When importing a GNU package, the synopsis and descriptions are replaced by "
  12446. "their canonical upstream variant."
  12447. msgstr ""
  12448. #. type: table
  12449. #: doc/guix.texi:6345
  12450. msgid "Usually, you will first need to do:"
  12451. msgstr ""
  12452. #. type: example
  12453. #: doc/guix.texi:6348
  12454. #, no-wrap
  12455. msgid "export NIX_REMOTE=daemon\n"
  12456. msgstr ""
  12457. #. type: table
  12458. #: doc/guix.texi:6352
  12459. msgid ""
  12460. "so that @command{nix-instantiate} does not try to open the Nix database."
  12461. msgstr ""
  12462. #. type: table
  12463. #: doc/guix.texi:6356
  12464. msgid ""
  12465. "As an example, the command below imports the package definition of "
  12466. "LibreOffice (more precisely, it imports the definition of the package bound "
  12467. "to the @code{libreoffice} top-level attribute):"
  12468. msgstr ""
  12469. #. type: example
  12470. #: doc/guix.texi:6359
  12471. #, no-wrap
  12472. msgid "guix import nix ~/path/to/nixpkgs libreoffice\n"
  12473. msgstr ""
  12474. #. type: item
  12475. #: doc/guix.texi:6361 doc/guix.texi:6362 doc/guix.texi:6612
  12476. #, no-wrap
  12477. msgid "hackage"
  12478. msgstr ""
  12479. #. type: table
  12480. #: doc/guix.texi:6367
  12481. msgid ""
  12482. "Import metadata from the Haskell community's central package archive "
  12483. "@uref{https://hackage.haskell.org/, Hackage}. Information is taken from "
  12484. "Cabal files and includes all the relevant information, including package "
  12485. "dependencies."
  12486. msgstr ""
  12487. #. type: item
  12488. #: doc/guix.texi:6371
  12489. #, no-wrap
  12490. msgid "--stdin"
  12491. msgstr ""
  12492. #. type: itemx
  12493. #: doc/guix.texi:6372
  12494. #, no-wrap
  12495. msgid "-s"
  12496. msgstr ""
  12497. #. type: table
  12498. #: doc/guix.texi:6374
  12499. msgid "Read a Cabal file from standard input."
  12500. msgstr ""
  12501. #. type: item
  12502. #: doc/guix.texi:6374 doc/guix.texi:6416
  12503. #, no-wrap
  12504. msgid "--no-test-dependencies"
  12505. msgstr ""
  12506. #. type: itemx
  12507. #: doc/guix.texi:6375 doc/guix.texi:6417
  12508. #, no-wrap
  12509. msgid "-t"
  12510. msgstr ""
  12511. #. type: table
  12512. #: doc/guix.texi:6377 doc/guix.texi:6419
  12513. msgid "Do not include dependencies required only by the test suites."
  12514. msgstr ""
  12515. #. type: item
  12516. #: doc/guix.texi:6377
  12517. #, no-wrap
  12518. msgid "--cabal-environment=@var{alist}"
  12519. msgstr ""
  12520. #. type: itemx
  12521. #: doc/guix.texi:6378
  12522. #, no-wrap
  12523. msgid "-e @var{alist}"
  12524. msgstr ""
  12525. #. type: table
  12526. #: doc/guix.texi:6387
  12527. msgid ""
  12528. "@var{alist} is a Scheme alist defining the environment in which the Cabal "
  12529. "conditionals are evaluated. The accepted keys are: @code{os}, @code{arch}, "
  12530. "@code{impl} and a string representing the name of a flag. The value "
  12531. "associated with a flag has to be either the symbol @code{true} or "
  12532. "@code{false}. The value associated with other keys has to conform to the "
  12533. "Cabal file format definition. The default value associated with the keys "
  12534. "@code{os}, @code{arch} and @code{impl} is @samp{linux}, @samp{x86_64} and "
  12535. "@samp{ghc}, respectively."
  12536. msgstr ""
  12537. #. type: table
  12538. #: doc/guix.texi:6392
  12539. msgid ""
  12540. "The command below imports metadata for the latest version of the @code{HTTP} "
  12541. "Haskell package without including test dependencies and specifying the value "
  12542. "of the flag @samp{network-uri} as @code{false}:"
  12543. msgstr ""
  12544. #. type: example
  12545. #: doc/guix.texi:6395
  12546. #, no-wrap
  12547. msgid "guix import hackage -t -e \"'((\\\"network-uri\\\" . false))\" HTTP\n"
  12548. msgstr ""
  12549. #. type: table
  12550. #: doc/guix.texi:6399
  12551. msgid ""
  12552. "A specific package version may optionally be specified by following the "
  12553. "package name by an at-sign and a version number as in the following example:"
  12554. msgstr ""
  12555. #. type: example
  12556. #: doc/guix.texi:6402
  12557. #, no-wrap
  12558. msgid "guix import hackage mtl@@2.1.3.1\n"
  12559. msgstr ""
  12560. #. type: item
  12561. #: doc/guix.texi:6404 doc/guix.texi:6405 doc/guix.texi:6614
  12562. #, no-wrap
  12563. msgid "stackage"
  12564. msgstr ""
  12565. #. type: table
  12566. #: doc/guix.texi:6412
  12567. msgid ""
  12568. "The @code{stackage} importer is a wrapper around the @code{hackage} one. It "
  12569. "takes a package name, looks up the package version included in a long-term "
  12570. "support (LTS) @uref{https://www.stackage.org, Stackage} release and uses the "
  12571. "@code{hackage} importer to retrieve its metadata. Note that it is up to you "
  12572. "to select an LTS release compatible with the GHC compiler used by Guix."
  12573. msgstr ""
  12574. #. type: item
  12575. #: doc/guix.texi:6419
  12576. #, no-wrap
  12577. msgid "--lts-version=@var{version}"
  12578. msgstr ""
  12579. #. type: itemx
  12580. #: doc/guix.texi:6420
  12581. #, no-wrap
  12582. msgid "-r @var{version}"
  12583. msgstr ""
  12584. #. type: table
  12585. #: doc/guix.texi:6423
  12586. msgid ""
  12587. "@var{version} is the desired LTS release version. If omitted the latest "
  12588. "release is used."
  12589. msgstr ""
  12590. #. type: table
  12591. #: doc/guix.texi:6427
  12592. msgid ""
  12593. "The command below imports metadata for the @code{HTTP} Haskell package "
  12594. "included in the LTS Stackage release version 7.18:"
  12595. msgstr ""
  12596. #. type: example
  12597. #: doc/guix.texi:6430
  12598. #, no-wrap
  12599. msgid "guix import stackage --lts-version=7.18 HTTP\n"
  12600. msgstr ""
  12601. #. type: item
  12602. #: doc/guix.texi:6432 doc/guix.texi:6433 doc/guix.texi:6598
  12603. #, no-wrap
  12604. msgid "elpa"
  12605. msgstr ""
  12606. #. type: table
  12607. #: doc/guix.texi:6436
  12608. msgid ""
  12609. "Import metadata from an Emacs Lisp Package Archive (ELPA) package repository "
  12610. "(@pxref{Packages,,, emacs, The GNU Emacs Manual})."
  12611. msgstr ""
  12612. #. type: item
  12613. #: doc/guix.texi:6440
  12614. #, no-wrap
  12615. msgid "--archive=@var{repo}"
  12616. msgstr ""
  12617. #. type: itemx
  12618. #: doc/guix.texi:6441
  12619. #, no-wrap
  12620. msgid "-a @var{repo}"
  12621. msgstr ""
  12622. #. type: table
  12623. #: doc/guix.texi:6445
  12624. msgid ""
  12625. "@var{repo} identifies the archive repository from which to retrieve the "
  12626. "information. Currently the supported repositories and their identifiers are:"
  12627. msgstr ""
  12628. #. type: itemize
  12629. #: doc/guix.texi:6449
  12630. msgid ""
  12631. "@uref{http://elpa.gnu.org/packages, GNU}, selected by the @code{gnu} "
  12632. "identifier. This is the default."
  12633. msgstr ""
  12634. #. type: itemize
  12635. #: doc/guix.texi:6455
  12636. msgid ""
  12637. "Packages from @code{elpa.gnu.org} are signed with one of the keys contained "
  12638. "in the GnuPG keyring at @file{share/emacs/25.1/etc/package-keyring.gpg} (or "
  12639. "similar) in the @code{emacs} package (@pxref{Package Installation, ELPA "
  12640. "package signatures,, emacs, The GNU Emacs Manual})."
  12641. msgstr ""
  12642. #. type: itemize
  12643. #: doc/guix.texi:6459
  12644. msgid ""
  12645. "@uref{http://stable.melpa.org/packages, MELPA-Stable}, selected by the "
  12646. "@code{melpa-stable} identifier."
  12647. msgstr ""
  12648. #. type: itemize
  12649. #: doc/guix.texi:6463
  12650. msgid ""
  12651. "@uref{http://melpa.org/packages, MELPA}, selected by the @code{melpa} "
  12652. "identifier."
  12653. msgstr ""
  12654. #. type: item
  12655. #: doc/guix.texi:6466 doc/guix.texi:6467 doc/guix.texi:6616
  12656. #, no-wrap
  12657. msgid "crate"
  12658. msgstr ""
  12659. #. type: table
  12660. #: doc/guix.texi:6470
  12661. msgid ""
  12662. "Import metadata from the crates.io Rust package repository @uref{https://"
  12663. "crates.io, crates.io}."
  12664. msgstr ""
  12665. #. type: Plain text
  12666. #: doc/guix.texi:6475
  12667. msgid ""
  12668. "The structure of the @command{guix import} code is modular. It would be "
  12669. "useful to have more importers for other package formats, and your help is "
  12670. "welcome here (@pxref{Contributing})."
  12671. msgstr ""
  12672. #. type: section
  12673. #: doc/guix.texi:6477
  12674. #, no-wrap
  12675. msgid "Invoking @command{guix refresh}"
  12676. msgstr ""
  12677. #. type: command{#1}
  12678. #: doc/guix.texi:6479
  12679. #, no-wrap
  12680. msgid "guix refresh"
  12681. msgstr ""
  12682. #. type: Plain text
  12683. #: doc/guix.texi:6484
  12684. msgid ""
  12685. "The primary audience of the @command{guix refresh} command is developers of "
  12686. "the GNU software distribution. By default, it reports any packages provided "
  12687. "by the distribution that are outdated compared to the latest upstream "
  12688. "version, like this:"
  12689. msgstr ""
  12690. #. type: example
  12691. #: doc/guix.texi:6489
  12692. #, no-wrap
  12693. msgid ""
  12694. "$ guix refresh\n"
  12695. "gnu/packages/gettext.scm:29:13: gettext would be upgraded from 0.18.1.1 to 0.18.2.1\n"
  12696. "gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0\n"
  12697. msgstr ""
  12698. #. type: Plain text
  12699. #: doc/guix.texi:6493
  12700. msgid ""
  12701. "Alternately, one can specify packages to consider, in which case a warning "
  12702. "is emitted for packages that lack an updater:"
  12703. msgstr ""
  12704. #. type: example
  12705. #: doc/guix.texi:6498
  12706. #, no-wrap
  12707. msgid ""
  12708. "$ guix refresh coreutils guile guile-ssh\n"
  12709. "gnu/packages/ssh.scm:205:2: warning: no updater for guile-ssh\n"
  12710. "gnu/packages/guile.scm:136:12: guile would be upgraded from 2.0.12 to 2.0.13\n"
  12711. msgstr ""
  12712. #. type: Plain text
  12713. #: doc/guix.texi:6507
  12714. msgid ""
  12715. "@command{guix refresh} browses the upstream repository of each package and "
  12716. "determines the highest version number of the releases therein. The command "
  12717. "knows how to update specific types of packages: GNU packages, ELPA packages, "
  12718. "etc.---see the documentation for @option{--type} below. There are many "
  12719. "packages, though, for which it lacks a method to determine whether a new "
  12720. "upstream release is available. However, the mechanism is extensible, so "
  12721. "feel free to get in touch with us to add a new method!"
  12722. msgstr ""
  12723. #. type: Plain text
  12724. #: doc/guix.texi:6512
  12725. msgid ""
  12726. "Sometimes the upstream name differs from the package name used in Guix, and "
  12727. "@command{guix refresh} needs a little help. Most updaters honor the "
  12728. "@code{upstream-name} property in package definitions, which can be used to "
  12729. "that effect:"
  12730. msgstr ""
  12731. #. type: example
  12732. #: doc/guix.texi:6519
  12733. #, no-wrap
  12734. msgid ""
  12735. "(define-public network-manager\n"
  12736. " (package\n"
  12737. " (name \"network-manager\")\n"
  12738. " ;; @dots{}\n"
  12739. " (properties '((upstream-name . \"NetworkManager\")))))\n"
  12740. msgstr ""
  12741. #. type: Plain text
  12742. #: doc/guix.texi:6531
  12743. msgid ""
  12744. "When passed @code{--update}, it modifies distribution source files to update "
  12745. "the version numbers and source tarball hashes of those package recipes "
  12746. "(@pxref{Defining Packages}). This is achieved by downloading each package's "
  12747. "latest source tarball and its associated OpenPGP signature, authenticating "
  12748. "the downloaded tarball against its signature using @command{gpg}, and "
  12749. "finally computing its hash. When the public key used to sign the tarball is "
  12750. "missing from the user's keyring, an attempt is made to automatically "
  12751. "retrieve it from a public key server; when this is successful, the key is "
  12752. "added to the user's keyring; otherwise, @command{guix refresh} reports an "
  12753. "error."
  12754. msgstr ""
  12755. #. type: Plain text
  12756. #: doc/guix.texi:6533
  12757. msgid "The following options are supported:"
  12758. msgstr ""
  12759. #. type: table
  12760. #: doc/guix.texi:6541 doc/guix.texi:7102
  12761. msgid "This is useful to precisely refer to a package, as in this example:"
  12762. msgstr ""
  12763. #. type: example
  12764. #: doc/guix.texi:6544
  12765. #, no-wrap
  12766. msgid "guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'\n"
  12767. msgstr ""
  12768. #. type: table
  12769. #: doc/guix.texi:6548
  12770. msgid ""
  12771. "This command lists the dependents of the ``final'' libc (essentially all the "
  12772. "packages.)"
  12773. msgstr ""
  12774. #. type: item
  12775. #: doc/guix.texi:6549
  12776. #, no-wrap
  12777. msgid "--update"
  12778. msgstr ""
  12779. #. type: itemx
  12780. #: doc/guix.texi:6550
  12781. #, no-wrap
  12782. msgid "-u"
  12783. msgstr ""
  12784. #. type: table
  12785. #: doc/guix.texi:6554
  12786. msgid ""
  12787. "Update distribution source files (package recipes) in place. This is "
  12788. "usually run from a checkout of the Guix source tree (@pxref{Running Guix "
  12789. "Before It Is Installed}):"
  12790. msgstr ""
  12791. #. type: example
  12792. #: doc/guix.texi:6557
  12793. #, no-wrap
  12794. msgid "$ ./pre-inst-env guix refresh -s non-core -u\n"
  12795. msgstr ""
  12796. #. type: table
  12797. #: doc/guix.texi:6560
  12798. msgid "@xref{Defining Packages}, for more information on package definitions."
  12799. msgstr ""
  12800. #. type: item
  12801. #: doc/guix.texi:6561
  12802. #, no-wrap
  12803. msgid "--select=[@var{subset}]"
  12804. msgstr ""
  12805. #. type: itemx
  12806. #: doc/guix.texi:6562
  12807. #, no-wrap
  12808. msgid "-s @var{subset}"
  12809. msgstr ""
  12810. #. type: table
  12811. #: doc/guix.texi:6565
  12812. msgid ""
  12813. "Select all the packages in @var{subset}, one of @code{core} or @code{non-"
  12814. "core}."
  12815. msgstr ""
  12816. #. type: table
  12817. #: doc/guix.texi:6572
  12818. msgid ""
  12819. "The @code{core} subset refers to all the packages at the core of the "
  12820. "distribution---i.e., packages that are used to build ``everything else''. "
  12821. "This includes GCC, libc, Binutils, Bash, etc. Usually, changing one of "
  12822. "these packages in the distribution entails a rebuild of all the others. "
  12823. "Thus, such updates are an inconvenience to users in terms of build time or "
  12824. "bandwidth used to achieve the upgrade."
  12825. msgstr ""
  12826. #. type: table
  12827. #: doc/guix.texi:6576
  12828. msgid ""
  12829. "The @code{non-core} subset refers to the remaining packages. It is "
  12830. "typically useful in cases where an update of the core packages would be "
  12831. "inconvenient."
  12832. msgstr ""
  12833. #. type: table
  12834. #: doc/guix.texi:6581
  12835. msgid ""
  12836. "Select all the packages from the manifest in @var{file}. This is useful to "
  12837. "check if any packages of the user manifest can be updated."
  12838. msgstr ""
  12839. #. type: item
  12840. #: doc/guix.texi:6582
  12841. #, no-wrap
  12842. msgid "--type=@var{updater}"
  12843. msgstr ""
  12844. #. type: itemx
  12845. #: doc/guix.texi:6583
  12846. #, no-wrap
  12847. msgid "-t @var{updater}"
  12848. msgstr ""
  12849. #. type: table
  12850. #: doc/guix.texi:6586
  12851. msgid ""
  12852. "Select only packages handled by @var{updater} (may be a comma-separated list "
  12853. "of updaters). Currently, @var{updater} may be one of:"
  12854. msgstr ""
  12855. #. type: table
  12856. #: doc/guix.texi:6590
  12857. msgid "the updater for GNU packages;"
  12858. msgstr ""
  12859. #. type: item
  12860. #: doc/guix.texi:6590
  12861. #, no-wrap
  12862. msgid "gnome"
  12863. msgstr ""
  12864. #. type: table
  12865. #: doc/guix.texi:6592
  12866. msgid "the updater for GNOME packages;"
  12867. msgstr ""
  12868. #. type: item
  12869. #: doc/guix.texi:6592
  12870. #, no-wrap
  12871. msgid "kde"
  12872. msgstr ""
  12873. #. type: table
  12874. #: doc/guix.texi:6594
  12875. msgid "the updater for KDE packages;"
  12876. msgstr ""
  12877. #. type: item
  12878. #: doc/guix.texi:6594
  12879. #, no-wrap
  12880. msgid "xorg"
  12881. msgstr ""
  12882. #. type: table
  12883. #: doc/guix.texi:6596
  12884. msgid "the updater for X.org packages;"
  12885. msgstr ""
  12886. #. type: item
  12887. #: doc/guix.texi:6596
  12888. #, no-wrap
  12889. msgid "kernel.org"
  12890. msgstr ""
  12891. #. type: table
  12892. #: doc/guix.texi:6598
  12893. msgid "the updater for packages hosted on kernel.org;"
  12894. msgstr ""
  12895. #. type: table
  12896. #: doc/guix.texi:6600
  12897. msgid "the updater for @uref{http://elpa.gnu.org/, ELPA} packages;"
  12898. msgstr ""
  12899. #. type: table
  12900. #: doc/guix.texi:6602
  12901. msgid "the updater for @uref{https://cran.r-project.org/, CRAN} packages;"
  12902. msgstr ""
  12903. #. type: item
  12904. #: doc/guix.texi:6602
  12905. #, no-wrap
  12906. msgid "bioconductor"
  12907. msgstr ""
  12908. #. type: table
  12909. #: doc/guix.texi:6604
  12910. msgid ""
  12911. "the updater for @uref{https://www.bioconductor.org/, Bioconductor} R "
  12912. "packages;"
  12913. msgstr ""
  12914. #. type: table
  12915. #: doc/guix.texi:6606
  12916. msgid "the updater for @uref{http://www.cpan.org/, CPAN} packages;"
  12917. msgstr ""
  12918. #. type: table
  12919. #: doc/guix.texi:6608
  12920. msgid "the updater for @uref{https://pypi.python.org, PyPI} packages."
  12921. msgstr ""
  12922. #. type: table
  12923. #: doc/guix.texi:6610
  12924. msgid "the updater for @uref{https://rubygems.org, RubyGems} packages."
  12925. msgstr ""
  12926. #. type: item
  12927. #: doc/guix.texi:6610
  12928. #, no-wrap
  12929. msgid "github"
  12930. msgstr ""
  12931. #. type: table
  12932. #: doc/guix.texi:6612
  12933. msgid "the updater for @uref{https://github.com, GitHub} packages."
  12934. msgstr ""
  12935. #. type: table
  12936. #: doc/guix.texi:6614
  12937. msgid "the updater for @uref{https://hackage.haskell.org, Hackage} packages."
  12938. msgstr ""
  12939. #. type: table
  12940. #: doc/guix.texi:6616
  12941. msgid "the updater for @uref{https://www.stackage.org, Stackage} packages."
  12942. msgstr ""
  12943. #. type: table
  12944. #: doc/guix.texi:6618
  12945. msgid "the updater for @uref{https://crates.io, Crates} packages."
  12946. msgstr ""
  12947. #. type: table
  12948. #: doc/guix.texi:6622
  12949. msgid ""
  12950. "For instance, the following command only checks for updates of Emacs "
  12951. "packages hosted at @code{elpa.gnu.org} and for updates of CRAN packages:"
  12952. msgstr ""
  12953. #. type: example
  12954. #: doc/guix.texi:6627
  12955. #, no-wrap
  12956. msgid ""
  12957. "$ guix refresh --type=elpa,cran\n"
  12958. "gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 to 0.11.0\n"
  12959. "gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9\n"
  12960. msgstr ""
  12961. #. type: Plain text
  12962. #: doc/guix.texi:6633
  12963. msgid ""
  12964. "In addition, @command{guix refresh} can be passed one or more package names, "
  12965. "as in this example:"
  12966. msgstr ""
  12967. #. type: example
  12968. #: doc/guix.texi:6636
  12969. #, no-wrap
  12970. msgid "$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8\n"
  12971. msgstr ""
  12972. #. type: Plain text
  12973. #: doc/guix.texi:6642
  12974. msgid ""
  12975. "The command above specifically updates the @code{emacs} and @code{idutils} "
  12976. "packages. The @code{--select} option would have no effect in this case."
  12977. msgstr ""
  12978. #. type: Plain text
  12979. #: doc/guix.texi:6647
  12980. msgid ""
  12981. "When considering whether to upgrade a package, it is sometimes convenient to "
  12982. "know which packages would be affected by the upgrade and should be checked "
  12983. "for compatibility. For this the following option may be used when passing "
  12984. "@command{guix refresh} one or more package names:"
  12985. msgstr ""
  12986. #. type: item
  12987. #: doc/guix.texi:6650
  12988. #, no-wrap
  12989. msgid "--list-updaters"
  12990. msgstr ""
  12991. #. type: itemx
  12992. #: doc/guix.texi:6651
  12993. #, no-wrap
  12994. msgid "-L"
  12995. msgstr ""
  12996. #. type: table
  12997. #: doc/guix.texi:6653
  12998. msgid "List available updaters and exit (see @option{--type} above.)"
  12999. msgstr ""
  13000. #. type: table
  13001. #: doc/guix.texi:6656
  13002. msgid ""
  13003. "For each updater, display the fraction of packages it covers; at the end, "
  13004. "display the fraction of packages covered by all these updaters."
  13005. msgstr ""
  13006. #. type: item
  13007. #: doc/guix.texi:6657
  13008. #, no-wrap
  13009. msgid "--list-dependent"
  13010. msgstr ""
  13011. #. type: itemx
  13012. #: doc/guix.texi:6658 doc/guix.texi:6803
  13013. #, no-wrap
  13014. msgid "-l"
  13015. msgstr ""
  13016. #. type: table
  13017. #: doc/guix.texi:6661
  13018. msgid ""
  13019. "List top-level dependent packages that would need to be rebuilt as a result "
  13020. "of upgrading one or more packages."
  13021. msgstr ""
  13022. #. type: table
  13023. #: doc/guix.texi:6665
  13024. msgid ""
  13025. "@xref{Invoking guix graph, the @code{reverse-package} type of @command{guix "
  13026. "graph}}, for information on how to visualize the list of dependents of a "
  13027. "package."
  13028. msgstr ""
  13029. #. type: Plain text
  13030. #: doc/guix.texi:6671
  13031. msgid ""
  13032. "Be aware that the @code{--list-dependent} option only @emph{approximates} "
  13033. "the rebuilds that would be required as a result of an upgrade. More "
  13034. "rebuilds might be required under some circumstances."
  13035. msgstr ""
  13036. #. type: example
  13037. #: doc/guix.texi:6676
  13038. #, no-wrap
  13039. msgid ""
  13040. "$ guix refresh --list-dependent flex\n"
  13041. "Building the following 120 packages would ensure 213 dependent packages are rebuilt:\n"
  13042. "hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 @dots{}\n"
  13043. msgstr ""
  13044. #. type: Plain text
  13045. #: doc/guix.texi:6680
  13046. msgid ""
  13047. "The command above lists a set of packages that could be built to check for "
  13048. "compatibility with an upgraded @code{flex} package."
  13049. msgstr ""
  13050. #. type: Plain text
  13051. #: doc/guix.texi:6682
  13052. msgid "The following options can be used to customize GnuPG operation:"
  13053. msgstr ""
  13054. #. type: item
  13055. #: doc/guix.texi:6685
  13056. #, no-wrap
  13057. msgid "--gpg=@var{command}"
  13058. msgstr ""
  13059. #. type: table
  13060. #: doc/guix.texi:6688
  13061. msgid ""
  13062. "Use @var{command} as the GnuPG 2.x command. @var{command} is searched for "
  13063. "in @code{$PATH}."
  13064. msgstr ""
  13065. #. type: table
  13066. #: doc/guix.texi:6692
  13067. msgid ""
  13068. "Handle missing OpenPGP keys according to @var{policy}, which may be one of:"
  13069. msgstr ""
  13070. #. type: item
  13071. #: doc/guix.texi:6694 doc/guix.texi:13715
  13072. #, no-wrap
  13073. msgid "always"
  13074. msgstr ""
  13075. #. type: table
  13076. #: doc/guix.texi:6697
  13077. msgid ""
  13078. "Always download missing OpenPGP keys from the key server, and add them to "
  13079. "the user's GnuPG keyring."
  13080. msgstr ""
  13081. #. type: item
  13082. #: doc/guix.texi:6698 doc/guix.texi:13717
  13083. #, no-wrap
  13084. msgid "never"
  13085. msgstr ""
  13086. #. type: table
  13087. #: doc/guix.texi:6700
  13088. msgid "Never try to download missing OpenPGP keys. Instead just bail out."
  13089. msgstr ""
  13090. #. type: item
  13091. #: doc/guix.texi:6701
  13092. #, no-wrap
  13093. msgid "interactive"
  13094. msgstr ""
  13095. #. type: table
  13096. #: doc/guix.texi:6704
  13097. msgid ""
  13098. "When a package signed with an unknown OpenPGP key is encountered, ask the "
  13099. "user whether to download it or not. This is the default behavior."
  13100. msgstr ""
  13101. #. type: item
  13102. #: doc/guix.texi:6706
  13103. #, no-wrap
  13104. msgid "--key-server=@var{host}"
  13105. msgstr ""
  13106. #. type: table
  13107. #: doc/guix.texi:6708
  13108. msgid "Use @var{host} as the OpenPGP key server when importing a public key."
  13109. msgstr ""
  13110. #. type: Plain text
  13111. #: doc/guix.texi:6721
  13112. msgid ""
  13113. "The @code{github} updater uses the @uref{https://developer.github.com/v3/, "
  13114. "GitHub API} to query for new releases. When used repeatedly e.g. when "
  13115. "refreshing all packages, GitHub will eventually refuse to answer any further "
  13116. "API requests. By default 60 API requests per hour are allowed, and a full "
  13117. "refresh on all GitHub packages in Guix requires more than this. "
  13118. "Authentication with GitHub through the use of an API token alleviates these "
  13119. "limits. To use an API token, set the environment variable "
  13120. "@code{GUIX_GITHUB_TOKEN} to a token procured from @uref{https://github.com/"
  13121. "settings/tokens} or otherwise."
  13122. msgstr ""
  13123. #. type: section
  13124. #: doc/guix.texi:6724
  13125. #, no-wrap
  13126. msgid "Invoking @command{guix lint}"
  13127. msgstr ""
  13128. #. type: command{#1}
  13129. #: doc/guix.texi:6726
  13130. #, no-wrap
  13131. msgid "guix lint"
  13132. msgstr ""
  13133. #. type: cindex
  13134. #: doc/guix.texi:6727
  13135. #, no-wrap
  13136. msgid "package, checking for errors"
  13137. msgstr ""
  13138. #. type: Plain text
  13139. #: doc/guix.texi:6733
  13140. msgid ""
  13141. "The @command{guix lint} command is meant to help package developers avoid "
  13142. "common errors and use a consistent style. It runs a number of checks on a "
  13143. "given set of packages in order to find common mistakes in their "
  13144. "definitions. Available @dfn{checkers} include (see @code{--list-checkers} "
  13145. "for a complete list):"
  13146. msgstr ""
  13147. #. type: table
  13148. #: doc/guix.texi:6739
  13149. msgid ""
  13150. "Validate certain typographical and stylistic rules about package "
  13151. "descriptions and synopses."
  13152. msgstr ""
  13153. #. type: item
  13154. #: doc/guix.texi:6740
  13155. #, no-wrap
  13156. msgid "inputs-should-be-native"
  13157. msgstr ""
  13158. #. type: table
  13159. #: doc/guix.texi:6742
  13160. msgid "Identify inputs that should most likely be native inputs."
  13161. msgstr ""
  13162. #. type: itemx
  13163. #: doc/guix.texi:6745
  13164. #, no-wrap
  13165. msgid "mirror-url"
  13166. msgstr ""
  13167. #. type: itemx
  13168. #: doc/guix.texi:6746
  13169. #, no-wrap
  13170. msgid "source-file-name"
  13171. msgstr ""
  13172. #. type: table
  13173. #: doc/guix.texi:6752
  13174. msgid ""
  13175. "Probe @code{home-page} and @code{source} URLs and report those that are "
  13176. "invalid. Suggest a @code{mirror://} URL when applicable. Check that the "
  13177. "source file name is meaningful, e.g. is not just a version number or ``git-"
  13178. "checkout'', without a declared @code{file-name} (@pxref{origin Reference})."
  13179. msgstr ""
  13180. #. type: item
  13181. #: doc/guix.texi:6753
  13182. #, no-wrap
  13183. msgid "cve"
  13184. msgstr ""
  13185. #. type: cindex
  13186. #: doc/guix.texi:6754 doc/guix.texi:21485
  13187. #, no-wrap
  13188. msgid "security vulnerabilities"
  13189. msgstr ""
  13190. #. type: cindex
  13191. #: doc/guix.texi:6755
  13192. #, no-wrap
  13193. msgid "CVE, Common Vulnerabilities and Exposures"
  13194. msgstr ""
  13195. #. type: table
  13196. #: doc/guix.texi:6760
  13197. msgid ""
  13198. "Report known vulnerabilities found in the Common Vulnerabilities and "
  13199. "Exposures (CVE) databases of the current and past year @uref{https://nvd."
  13200. "nist.gov/download.cfm#CVE_FEED, published by the US NIST}."
  13201. msgstr ""
  13202. #. type: table
  13203. #: doc/guix.texi:6762
  13204. msgid ""
  13205. "To view information about a particular vulnerability, visit pages such as:"
  13206. msgstr ""
  13207. #. type: indicateurl{#1}
  13208. #: doc/guix.texi:6766
  13209. msgid "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-YYYY-ABCD"
  13210. msgstr ""
  13211. #. type: indicateurl{#1}
  13212. #: doc/guix.texi:6768
  13213. msgid "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-YYYY-ABCD"
  13214. msgstr ""
  13215. #. type: table
  13216. #: doc/guix.texi:6773
  13217. msgid ""
  13218. "where @code{CVE-YYYY-ABCD} is the CVE identifier---e.g., "
  13219. "@code{CVE-2015-7554}."
  13220. msgstr ""
  13221. #. type: table
  13222. #: doc/guix.texi:6778
  13223. msgid ""
  13224. "Package developers can specify in package recipes the @uref{https://nvd.nist."
  13225. "gov/cpe.cfm,Common Platform Enumeration (CPE)} name and version of the "
  13226. "package when they differ from the name that Guix uses, as in this example:"
  13227. msgstr ""
  13228. #. type: example
  13229. #: doc/guix.texi:6785
  13230. #, no-wrap
  13231. msgid ""
  13232. "(package\n"
  13233. " (name \"grub\")\n"
  13234. " ;; @dots{}\n"
  13235. " ;; CPE calls this package \"grub2\".\n"
  13236. " (properties '((cpe-name . \"grub2\"))))\n"
  13237. msgstr ""
  13238. #. type: item
  13239. #: doc/guix.texi:6787
  13240. #, no-wrap
  13241. msgid "formatting"
  13242. msgstr ""
  13243. #. type: table
  13244. #: doc/guix.texi:6790
  13245. msgid ""
  13246. "Warn about obvious source code formatting issues: trailing white space, use "
  13247. "of tabulations, etc."
  13248. msgstr ""
  13249. #. type: example
  13250. #: doc/guix.texi:6796
  13251. #, no-wrap
  13252. msgid "guix lint @var{options} @var{package}@dots{}\n"
  13253. msgstr ""
  13254. #. type: Plain text
  13255. #: doc/guix.texi:6800
  13256. msgid ""
  13257. "If no package is given on the command line, then all packages are checked. "
  13258. "The @var{options} may be zero or more of the following:"
  13259. msgstr ""
  13260. #. type: item
  13261. #: doc/guix.texi:6802
  13262. #, no-wrap
  13263. msgid "--list-checkers"
  13264. msgstr ""
  13265. #. type: table
  13266. #: doc/guix.texi:6806
  13267. msgid ""
  13268. "List and describe all the available checkers that will be run on packages "
  13269. "and exit."
  13270. msgstr ""
  13271. #. type: item
  13272. #: doc/guix.texi:6807
  13273. #, no-wrap
  13274. msgid "--checkers"
  13275. msgstr ""
  13276. #. type: itemx
  13277. #: doc/guix.texi:6808
  13278. #, no-wrap
  13279. msgid "-c"
  13280. msgstr ""
  13281. #. type: table
  13282. #: doc/guix.texi:6811
  13283. msgid ""
  13284. "Only enable the checkers specified in a comma-separated list using the names "
  13285. "returned by @code{--list-checkers}."
  13286. msgstr ""
  13287. #. type: section
  13288. #: doc/guix.texi:6815
  13289. #, no-wrap
  13290. msgid "Invoking @command{guix size}"
  13291. msgstr ""
  13292. #. type: cindex
  13293. #: doc/guix.texi:6817
  13294. #, no-wrap
  13295. msgid "size"
  13296. msgstr ""
  13297. #. type: cindex
  13298. #: doc/guix.texi:6818
  13299. #, no-wrap
  13300. msgid "package size"
  13301. msgstr ""
  13302. #. type: command{#1}
  13303. #: doc/guix.texi:6820
  13304. #, no-wrap
  13305. msgid "guix size"
  13306. msgstr ""
  13307. #. type: Plain text
  13308. #: doc/guix.texi:6827
  13309. msgid ""
  13310. "The @command{guix size} command helps package developers profile the disk "
  13311. "usage of packages. It is easy to overlook the impact of an additional "
  13312. "dependency added to a package, or the impact of using a single output for a "
  13313. "package that could easily be split (@pxref{Packages with Multiple "
  13314. "Outputs}). Such are the typical issues that @command{guix size} can "
  13315. "highlight."
  13316. msgstr ""
  13317. #. type: Plain text
  13318. #: doc/guix.texi:6831
  13319. msgid ""
  13320. "The command can be passed a package specification such as @code{gcc@@4.8} or "
  13321. "@code{guile:debug}, or a file name in the store. Consider this example:"
  13322. msgstr ""
  13323. #. type: example
  13324. #: doc/guix.texi:6841
  13325. #, no-wrap
  13326. msgid ""
  13327. "$ guix size coreutils\n"
  13328. "store item total self\n"
  13329. "/gnu/store/@dots{}-coreutils-8.23 70.0 13.9 19.8%\n"
  13330. "/gnu/store/@dots{}-gmp-6.0.0a 55.3 2.5 3.6%\n"
  13331. "/gnu/store/@dots{}-acl-2.2.52 53.7 0.5 0.7%\n"
  13332. "/gnu/store/@dots{}-attr-2.4.46 53.2 0.3 0.5%\n"
  13333. "/gnu/store/@dots{}-gcc-4.8.4-lib 52.9 15.7 22.4%\n"
  13334. "/gnu/store/@dots{}-glibc-2.21 37.2 37.2 53.1%\n"
  13335. msgstr ""
  13336. #. type: Plain text
  13337. #: doc/guix.texi:6847
  13338. msgid ""
  13339. "The store items listed here constitute the @dfn{transitive closure} of "
  13340. "Coreutils---i.e., Coreutils and all its dependencies, recursively---as would "
  13341. "be returned by:"
  13342. msgstr ""
  13343. #. type: example
  13344. #: doc/guix.texi:6850
  13345. #, no-wrap
  13346. msgid "$ guix gc -R /gnu/store/@dots{}-coreutils-8.23\n"
  13347. msgstr ""
  13348. #. type: Plain text
  13349. #: doc/guix.texi:6858
  13350. msgid ""
  13351. "Here the output shows three columns next to store items. The first column, "
  13352. "labeled ``total'', shows the size in mebibytes (MiB) of the closure of the "
  13353. "store item---that is, its own size plus the size of all its dependencies. "
  13354. "The next column, labeled ``self'', shows the size of the item itself. The "
  13355. "last column shows the ratio of the size of the item itself to the space "
  13356. "occupied by all the items listed here."
  13357. msgstr ""
  13358. #. type: Plain text
  13359. #: doc/guix.texi:6863
  13360. msgid ""
  13361. "In this example, we see that the closure of Coreutils weighs in at 70@tie{}"
  13362. "MiB, half of which is taken by libc. (That libc represents a large fraction "
  13363. "of the closure is not a problem @i{per se} because it is always available on "
  13364. "the system anyway.)"
  13365. msgstr ""
  13366. #. type: Plain text
  13367. #: doc/guix.texi:6869
  13368. msgid ""
  13369. "When the package passed to @command{guix size} is available in the store, "
  13370. "@command{guix size} queries the daemon to determine its dependencies, and "
  13371. "measures its size in the store, similar to @command{du -ms --apparent-size} "
  13372. "(@pxref{du invocation,,, coreutils, GNU Coreutils})."
  13373. msgstr ""
  13374. #. type: Plain text
  13375. #: doc/guix.texi:6874
  13376. msgid ""
  13377. "When the given package is @emph{not} in the store, @command{guix size} "
  13378. "reports information based on the available substitutes "
  13379. "(@pxref{Substitutes}). This makes it possible it to profile disk usage of "
  13380. "store items that are not even on disk, only available remotely."
  13381. msgstr ""
  13382. #. type: Plain text
  13383. #: doc/guix.texi:6876
  13384. msgid "You can also specify several package names:"
  13385. msgstr ""
  13386. #. type: example
  13387. #: doc/guix.texi:6886
  13388. #, no-wrap
  13389. msgid ""
  13390. "$ guix size coreutils grep sed bash\n"
  13391. "store item total self\n"
  13392. "/gnu/store/@dots{}-coreutils-8.24 77.8 13.8 13.4%\n"
  13393. "/gnu/store/@dots{}-grep-2.22 73.1 0.8 0.8%\n"
  13394. "/gnu/store/@dots{}-bash-4.3.42 72.3 4.7 4.6%\n"
  13395. "/gnu/store/@dots{}-readline-6.3 67.6 1.2 1.2%\n"
  13396. "@dots{}\n"
  13397. "total: 102.3 MiB\n"
  13398. msgstr ""
  13399. #. type: Plain text
  13400. #: doc/guix.texi:6892
  13401. msgid ""
  13402. "In this example we see that the combination of the four packages takes "
  13403. "102.3@tie{}MiB in total, which is much less than the sum of each closure "
  13404. "since they have a lot of dependencies in common."
  13405. msgstr ""
  13406. #. type: Plain text
  13407. #: doc/guix.texi:6894
  13408. msgid "The available options are:"
  13409. msgstr ""
  13410. #. type: table
  13411. #: doc/guix.texi:6900
  13412. msgid ""
  13413. "Use substitute information from @var{urls}. @xref{client-substitute-urls, "
  13414. "the same option for @code{guix build}}."
  13415. msgstr ""
  13416. #. type: item
  13417. #: doc/guix.texi:6901
  13418. #, no-wrap
  13419. msgid "--sort=@var{key}"
  13420. msgstr ""
  13421. #. type: table
  13422. #: doc/guix.texi:6903
  13423. msgid "Sort lines according to @var{key}, one of the following options:"
  13424. msgstr ""
  13425. #. type: item
  13426. #: doc/guix.texi:6905
  13427. #, no-wrap
  13428. msgid "self"
  13429. msgstr ""
  13430. #. type: table
  13431. #: doc/guix.texi:6907
  13432. msgid "the size of each item (the default);"
  13433. msgstr ""
  13434. #. type: table
  13435. #: doc/guix.texi:6909
  13436. msgid "the total size of the item's closure."
  13437. msgstr ""
  13438. #. type: item
  13439. #: doc/guix.texi:6911
  13440. #, no-wrap
  13441. msgid "--map-file=@var{file}"
  13442. msgstr ""
  13443. #. type: table
  13444. #: doc/guix.texi:6913
  13445. msgid "Write a graphical map of disk usage in PNG format to @var{file}."
  13446. msgstr ""
  13447. #. type: table
  13448. #: doc/guix.texi:6915
  13449. msgid "For the example above, the map looks like this:"
  13450. msgstr ""
  13451. #. type: table
  13452. #: doc/guix.texi:6918
  13453. msgid ""
  13454. "@image{images/coreutils-size-map,5in,, map of Coreutils disk usage produced "
  13455. "by @command{guix size}}"
  13456. msgstr ""
  13457. #. type: table
  13458. #: doc/guix.texi:6923
  13459. msgid ""
  13460. "This option requires that @uref{http://wingolog.org/software/guile-"
  13461. "charting/, Guile-Charting} be installed and visible in Guile's module search "
  13462. "path. When that is not the case, @command{guix size} fails as it tries to "
  13463. "load it."
  13464. msgstr ""
  13465. #. type: table
  13466. #: doc/guix.texi:6927
  13467. msgid "Consider packages for @var{system}---e.g., @code{x86_64-linux}."
  13468. msgstr ""
  13469. #. type: section
  13470. #: doc/guix.texi:6931
  13471. #, no-wrap
  13472. msgid "Invoking @command{guix graph}"
  13473. msgstr ""
  13474. #. type: cindex
  13475. #: doc/guix.texi:6933
  13476. #, no-wrap
  13477. msgid "DAG"
  13478. msgstr ""
  13479. #. type: command{#1}
  13480. #: doc/guix.texi:6934
  13481. #, no-wrap
  13482. msgid "guix graph"
  13483. msgstr ""
  13484. #. type: Plain text
  13485. #: doc/guix.texi:6948
  13486. msgid ""
  13487. "Packages and their dependencies form a @dfn{graph}, specifically a directed "
  13488. "acyclic graph (DAG). It can quickly become difficult to have a mental model "
  13489. "of the package DAG, so the @command{guix graph} command provides a visual "
  13490. "representation of the DAG. By default, @command{guix graph} emits a DAG "
  13491. "representation in the input format of @uref{http://www.graphviz.org/, "
  13492. "Graphviz}, so its output can be passed directly to the @command{dot} command "
  13493. "of Graphviz. It can also emit an HTML page with embedded JavaScript code to "
  13494. "display a ``chord diagram'' in a Web browser, using the @uref{https://d3js."
  13495. "org/, d3.js} library, or emit Cypher queries to construct a graph in a graph "
  13496. "database supporting the @uref{http://www.opencypher.org/, openCypher} query "
  13497. "language. The general syntax is:"
  13498. msgstr ""
  13499. #. type: example
  13500. #: doc/guix.texi:6951
  13501. #, no-wrap
  13502. msgid "guix graph @var{options} @var{package}@dots{}\n"
  13503. msgstr ""
  13504. #. type: Plain text
  13505. #: doc/guix.texi:6956
  13506. msgid ""
  13507. "For example, the following command generates a PDF file representing the "
  13508. "package DAG for the GNU@tie{}Core Utilities, showing its build-time "
  13509. "dependencies:"
  13510. msgstr ""
  13511. #. type: example
  13512. #: doc/guix.texi:6959
  13513. #, no-wrap
  13514. msgid "guix graph coreutils | dot -Tpdf > dag.pdf\n"
  13515. msgstr ""
  13516. #. type: Plain text
  13517. #: doc/guix.texi:6962
  13518. msgid "The output looks like this:"
  13519. msgstr ""
  13520. #. type: Plain text
  13521. #: doc/guix.texi:6964
  13522. msgid ""
  13523. "@image{images/coreutils-graph,2in,,Dependency graph of the GNU Coreutils}"
  13524. msgstr ""
  13525. #. type: Plain text
  13526. #: doc/guix.texi:6966
  13527. msgid "Nice little graph, no?"
  13528. msgstr ""
  13529. #. type: Plain text
  13530. #: doc/guix.texi:6972
  13531. msgid ""
  13532. "But there is more than one graph! The one above is concise: it is the graph "
  13533. "of package objects, omitting implicit inputs such as GCC, libc, grep, etc. "
  13534. "It is often useful to have such a concise graph, but sometimes one may want "
  13535. "to see more details. @command{guix graph} supports several types of graphs, "
  13536. "allowing you to choose the level of detail:"
  13537. msgstr ""
  13538. #. type: table
  13539. #: doc/guix.texi:6978
  13540. msgid ""
  13541. "This is the default type used in the example above. It shows the DAG of "
  13542. "package objects, excluding implicit dependencies. It is concise, but "
  13543. "filters out many details."
  13544. msgstr ""
  13545. #. type: item
  13546. #: doc/guix.texi:6979
  13547. #, no-wrap
  13548. msgid "reverse-package"
  13549. msgstr ""
  13550. #. type: table
  13551. #: doc/guix.texi:6981
  13552. msgid "This shows the @emph{reverse} DAG of packages. For example:"
  13553. msgstr ""
  13554. #. type: example
  13555. #: doc/guix.texi:6984
  13556. #, no-wrap
  13557. msgid "guix graph --type=reverse-package ocaml\n"
  13558. msgstr ""
  13559. #. type: table
  13560. #: doc/guix.texi:6987
  13561. msgid "... yields the graph of packages that depend on OCaml."
  13562. msgstr ""
  13563. #. type: table
  13564. #: doc/guix.texi:6992
  13565. msgid ""
  13566. "Note that for core packages this can yield huge graphs. If all you want is "
  13567. "to know the number of packages that depend on a given package, use "
  13568. "@command{guix refresh --list-dependent} (@pxref{Invoking guix refresh, "
  13569. "@option{--list-dependent}})."
  13570. msgstr ""
  13571. #. type: item
  13572. #: doc/guix.texi:6993
  13573. #, no-wrap
  13574. msgid "bag-emerged"
  13575. msgstr ""
  13576. #. type: table
  13577. #: doc/guix.texi:6995
  13578. msgid "This is the package DAG, @emph{including} implicit inputs."
  13579. msgstr ""
  13580. #. type: table
  13581. #: doc/guix.texi:6997
  13582. msgid "For instance, the following command:"
  13583. msgstr ""
  13584. #. type: example
  13585. #: doc/guix.texi:7000
  13586. #, no-wrap
  13587. msgid "guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf\n"
  13588. msgstr ""
  13589. #. type: table
  13590. #: doc/guix.texi:7003
  13591. msgid "... yields this bigger graph:"
  13592. msgstr ""
  13593. #. type: table
  13594. #: doc/guix.texi:7005
  13595. msgid ""
  13596. "@image{images/coreutils-bag-graph,,5in,Detailed dependency graph of the GNU "
  13597. "Coreutils}"
  13598. msgstr ""
  13599. #. type: table
  13600. #: doc/guix.texi:7008
  13601. msgid ""
  13602. "At the bottom of the graph, we see all the implicit inputs of @var{gnu-build-"
  13603. "system} (@pxref{Build Systems, @code{gnu-build-system}})."
  13604. msgstr ""
  13605. #. type: table
  13606. #: doc/guix.texi:7012
  13607. msgid ""
  13608. "Now, note that the dependencies of these implicit inputs---that is, the "
  13609. "@dfn{bootstrap dependencies} (@pxref{Bootstrapping})---are not shown here, "
  13610. "for conciseness."
  13611. msgstr ""
  13612. #. type: item
  13613. #: doc/guix.texi:7013
  13614. #, no-wrap
  13615. msgid "bag"
  13616. msgstr ""
  13617. #. type: table
  13618. #: doc/guix.texi:7016
  13619. msgid ""
  13620. "Similar to @code{bag-emerged}, but this time including all the bootstrap "
  13621. "dependencies."
  13622. msgstr ""
  13623. #. type: item
  13624. #: doc/guix.texi:7017
  13625. #, no-wrap
  13626. msgid "bag-with-origins"
  13627. msgstr ""
  13628. #. type: table
  13629. #: doc/guix.texi:7019
  13630. msgid "Similar to @code{bag}, but also showing origins and their dependencies."
  13631. msgstr ""
  13632. #. type: table
  13633. #: doc/guix.texi:7025
  13634. msgid ""
  13635. "This is the most detailed representation: It shows the DAG of derivations "
  13636. "(@pxref{Derivations}) and plain store items. Compared to the above "
  13637. "representation, many additional nodes are visible, including build scripts, "
  13638. "patches, Guile modules, etc."
  13639. msgstr ""
  13640. #. type: table
  13641. #: doc/guix.texi:7028
  13642. msgid ""
  13643. "For this type of graph, it is also possible to pass a @file{.drv} file name "
  13644. "instead of a package name, as in:"
  13645. msgstr ""
  13646. #. type: example
  13647. #: doc/guix.texi:7031
  13648. #, no-wrap
  13649. msgid "guix graph -t derivation `guix system build -d my-config.scm`\n"
  13650. msgstr ""
  13651. #. type: item
  13652. #: doc/guix.texi:7033
  13653. #, no-wrap
  13654. msgid "module"
  13655. msgstr ""
  13656. #. type: table
  13657. #: doc/guix.texi:7037
  13658. msgid ""
  13659. "This is the graph of @dfn{package modules} (@pxref{Package Modules}). For "
  13660. "example, the following command shows the graph for the package module that "
  13661. "defines the @code{guile} package:"
  13662. msgstr ""
  13663. #. type: example
  13664. #: doc/guix.texi:7040
  13665. #, no-wrap
  13666. msgid "guix graph -t module guile | dot -Tpdf > module-graph.pdf\n"
  13667. msgstr ""
  13668. #. type: Plain text
  13669. #: doc/guix.texi:7045
  13670. msgid ""
  13671. "All the types above correspond to @emph{build-time dependencies}. The "
  13672. "following graph type represents the @emph{run-time dependencies}:"
  13673. msgstr ""
  13674. #. type: item
  13675. #: doc/guix.texi:7047
  13676. #, no-wrap
  13677. msgid "references"
  13678. msgstr ""
  13679. #. type: table
  13680. #: doc/guix.texi:7050
  13681. msgid ""
  13682. "This is the graph of @dfn{references} of a package output, as returned by "
  13683. "@command{guix gc --references} (@pxref{Invoking guix gc})."
  13684. msgstr ""
  13685. #. type: table
  13686. #: doc/guix.texi:7053
  13687. msgid ""
  13688. "If the given package output is not available in the store, @command{guix "
  13689. "graph} attempts to obtain dependency information from substitutes."
  13690. msgstr ""
  13691. #. type: table
  13692. #: doc/guix.texi:7057
  13693. msgid ""
  13694. "Here you can also pass a store file name instead of a package name. For "
  13695. "example, the command below produces the reference graph of your profile "
  13696. "(which can be big!):"
  13697. msgstr ""
  13698. #. type: example
  13699. #: doc/guix.texi:7060
  13700. #, no-wrap
  13701. msgid "guix graph -t references `readlink -f ~/.guix-profile`\n"
  13702. msgstr ""
  13703. #. type: item
  13704. #: doc/guix.texi:7062
  13705. #, no-wrap
  13706. msgid "referrers"
  13707. msgstr ""
  13708. #. type: table
  13709. #: doc/guix.texi:7065
  13710. msgid ""
  13711. "This is the graph of the @dfn{referrers} of a store item, as returned by "
  13712. "@command{guix gc --referrers} (@pxref{Invoking guix gc})."
  13713. msgstr ""
  13714. #. type: table
  13715. #: doc/guix.texi:7071
  13716. msgid ""
  13717. "This relies exclusively on local information from your store. For instance, "
  13718. "let us suppose that the current Inkscape is available in 10 profiles on your "
  13719. "machine; @command{guix graph -t referrers inkscape} will show a graph rooted "
  13720. "at Inkscape and with those 10 profiles linked to it."
  13721. msgstr ""
  13722. #. type: table
  13723. #: doc/guix.texi:7074
  13724. msgid ""
  13725. "It can help determine what is preventing a store item from being garbage "
  13726. "collected."
  13727. msgstr ""
  13728. #. type: Plain text
  13729. #: doc/guix.texi:7078
  13730. msgid "The available options are the following:"
  13731. msgstr ""
  13732. #. type: item
  13733. #: doc/guix.texi:7080
  13734. #, no-wrap
  13735. msgid "--type=@var{type}"
  13736. msgstr ""
  13737. #. type: itemx
  13738. #: doc/guix.texi:7081 doc/guix.texi:20603
  13739. #, no-wrap
  13740. msgid "-t @var{type}"
  13741. msgstr ""
  13742. #. type: table
  13743. #: doc/guix.texi:7084
  13744. msgid ""
  13745. "Produce a graph output of @var{type}, where @var{type} must be one of the "
  13746. "values listed above."
  13747. msgstr ""
  13748. #. type: item
  13749. #: doc/guix.texi:7085
  13750. #, no-wrap
  13751. msgid "--list-types"
  13752. msgstr ""
  13753. #. type: table
  13754. #: doc/guix.texi:7087
  13755. msgid "List the supported graph types."
  13756. msgstr ""
  13757. #. type: item
  13758. #: doc/guix.texi:7088
  13759. #, no-wrap
  13760. msgid "--backend=@var{backend}"
  13761. msgstr ""
  13762. #. type: itemx
  13763. #: doc/guix.texi:7089
  13764. #, no-wrap
  13765. msgid "-b @var{backend}"
  13766. msgstr ""
  13767. #. type: table
  13768. #: doc/guix.texi:7091
  13769. msgid "Produce a graph using the selected @var{backend}."
  13770. msgstr ""
  13771. #. type: item
  13772. #: doc/guix.texi:7092
  13773. #, no-wrap
  13774. msgid "--list-backends"
  13775. msgstr ""
  13776. #. type: table
  13777. #: doc/guix.texi:7094
  13778. msgid "List the supported graph backends."
  13779. msgstr ""
  13780. #. type: table
  13781. #: doc/guix.texi:7096
  13782. msgid "Currently, the available backends are Graphviz and d3.js."
  13783. msgstr ""
  13784. #. type: example
  13785. #: doc/guix.texi:7105
  13786. #, no-wrap
  13787. msgid "guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'\n"
  13788. msgstr ""
  13789. #. type: section
  13790. #: doc/guix.texi:7110
  13791. #, no-wrap
  13792. msgid "Invoking @command{guix environment}"
  13793. msgstr ""
  13794. #. type: cindex
  13795. #: doc/guix.texi:7112
  13796. #, no-wrap
  13797. msgid "reproducible build environments"
  13798. msgstr ""
  13799. #. type: cindex
  13800. #: doc/guix.texi:7113
  13801. #, no-wrap
  13802. msgid "development environments"
  13803. msgstr ""
  13804. #. type: command{#1}
  13805. #: doc/guix.texi:7114
  13806. #, no-wrap
  13807. msgid "guix environment"
  13808. msgstr ""
  13809. #. type: cindex
  13810. #: doc/guix.texi:7115
  13811. #, no-wrap
  13812. msgid "environment, package build environment"
  13813. msgstr ""
  13814. #. type: Plain text
  13815. #: doc/guix.texi:7121
  13816. msgid ""
  13817. "The purpose of @command{guix environment} is to assist hackers in creating "
  13818. "reproducible development environments without polluting their package "
  13819. "profile. The @command{guix environment} tool takes one or more packages, "
  13820. "builds all of their inputs, and creates a shell environment to use them."
  13821. msgstr ""
  13822. #. type: example
  13823. #: doc/guix.texi:7126
  13824. #, no-wrap
  13825. msgid "guix environment @var{options} @var{package}@dots{}\n"
  13826. msgstr ""
  13827. #. type: Plain text
  13828. #: doc/guix.texi:7130
  13829. msgid ""
  13830. "The following example spawns a new shell set up for the development of "
  13831. "GNU@tie{}Guile:"
  13832. msgstr ""
  13833. #. type: example
  13834. #: doc/guix.texi:7133
  13835. #, no-wrap
  13836. msgid "guix environment guile\n"
  13837. msgstr ""
  13838. #. type: Plain text
  13839. #: doc/guix.texi:7150
  13840. msgid ""
  13841. "If the needed dependencies are not built yet, @command{guix environment} "
  13842. "automatically builds them. The environment of the new shell is an augmented "
  13843. "version of the environment that @command{guix environment} was run in. It "
  13844. "contains the necessary search paths for building the given package added to "
  13845. "the existing environment variables. To create a ``pure'' environment, in "
  13846. "which the original environment variables have been unset, use the @code{--"
  13847. "pure} option@footnote{Users sometimes wrongfully augment environment "
  13848. "variables such as @code{PATH} in their @file{~/.bashrc} file. As a "
  13849. "consequence, when @code{guix environment} launches it, Bash may read "
  13850. "@file{~/.bashrc}, thereby introducing ``impurities'' in these environment "
  13851. "variables. It is an error to define such environment variables in @file{."
  13852. "bashrc}; instead, they should be defined in @file{.bash_profile}, which is "
  13853. "sourced only by log-in shells. @xref{Bash Startup Files,,, bash, The GNU "
  13854. "Bash Reference Manual}, for details on Bash start-up files.}."
  13855. msgstr ""
  13856. #. type: vindex
  13857. #: doc/guix.texi:7151
  13858. #, no-wrap
  13859. msgid "GUIX_ENVIRONMENT"
  13860. msgstr ""
  13861. #. type: Plain text
  13862. #: doc/guix.texi:7157
  13863. msgid ""
  13864. "@command{guix environment} defines the @code{GUIX_ENVIRONMENT} variable in "
  13865. "the shell it spawns; its value is the file name of the profile of this "
  13866. "environment. This allows users to, say, define a specific prompt for "
  13867. "development environments in their @file{.bashrc} (@pxref{Bash Startup "
  13868. "Files,,, bash, The GNU Bash Reference Manual}):"
  13869. msgstr ""
  13870. #. type: example
  13871. #: doc/guix.texi:7163
  13872. #, no-wrap
  13873. msgid ""
  13874. "if [ -n \"$GUIX_ENVIRONMENT\" ]\n"
  13875. "then\n"
  13876. " export PS1=\"\\u@@\\h \\w [dev]\\$ \"\n"
  13877. "fi\n"
  13878. msgstr ""
  13879. #. type: Plain text
  13880. #: doc/guix.texi:7167
  13881. msgid "... or to browse the profile:"
  13882. msgstr ""
  13883. #. type: example
  13884. #: doc/guix.texi:7170
  13885. #, no-wrap
  13886. msgid "$ ls \"$GUIX_ENVIRONMENT/bin\"\n"
  13887. msgstr ""
  13888. #. type: Plain text
  13889. #: doc/guix.texi:7176
  13890. msgid ""
  13891. "Additionally, more than one package may be specified, in which case the "
  13892. "union of the inputs for the given packages are used. For example, the "
  13893. "command below spawns a shell where all of the dependencies of both Guile and "
  13894. "Emacs are available:"
  13895. msgstr ""
  13896. #. type: example
  13897. #: doc/guix.texi:7179
  13898. #, no-wrap
  13899. msgid "guix environment guile emacs\n"
  13900. msgstr ""
  13901. #. type: Plain text
  13902. #: doc/guix.texi:7184
  13903. msgid ""
  13904. "Sometimes an interactive shell session is not desired. An arbitrary command "
  13905. "may be invoked by placing the @code{--} token to separate the command from "
  13906. "the rest of the arguments:"
  13907. msgstr ""
  13908. #. type: example
  13909. #: doc/guix.texi:7187
  13910. #, no-wrap
  13911. msgid "guix environment guile -- make -j4\n"
  13912. msgstr ""
  13913. #. type: Plain text
  13914. #: doc/guix.texi:7193
  13915. msgid ""
  13916. "In other situations, it is more convenient to specify the list of packages "
  13917. "needed in the environment. For example, the following command runs "
  13918. "@command{python} from an environment containing Python@tie{}2.7 and NumPy:"
  13919. msgstr ""
  13920. #. type: example
  13921. #: doc/guix.texi:7196
  13922. #, no-wrap
  13923. msgid "guix environment --ad-hoc python2-numpy python-2.7 -- python\n"
  13924. msgstr ""
  13925. #. type: Plain text
  13926. #: doc/guix.texi:7207
  13927. msgid ""
  13928. "Furthermore, one might want the dependencies of a package and also some "
  13929. "additional packages that are not build-time or runtime dependencies, but are "
  13930. "useful when developing nonetheless. Because of this, the @code{--ad-hoc} "
  13931. "flag is positional. Packages appearing before @code{--ad-hoc} are "
  13932. "interpreted as packages whose dependencies will be added to the "
  13933. "environment. Packages appearing after are interpreted as packages that will "
  13934. "be added to the environment directly. For example, the following command "
  13935. "creates a Guix development environment that additionally includes Git and "
  13936. "strace:"
  13937. msgstr ""
  13938. #. type: example
  13939. #: doc/guix.texi:7210
  13940. #, no-wrap
  13941. msgid "guix environment guix --ad-hoc git strace\n"
  13942. msgstr ""
  13943. #. type: Plain text
  13944. #: doc/guix.texi:7219
  13945. msgid ""
  13946. "Sometimes it is desirable to isolate the environment as much as possible, "
  13947. "for maximal purity and reproducibility. In particular, when using Guix on a "
  13948. "host distro that is not GuixSD, it is desirable to prevent access to @file{/"
  13949. "usr/bin} and other system-wide resources from the development environment. "
  13950. "For example, the following command spawns a Guile REPL in a ``container'' "
  13951. "where only the store and the current working directory are mounted:"
  13952. msgstr ""
  13953. #. type: example
  13954. #: doc/guix.texi:7222
  13955. #, no-wrap
  13956. msgid "guix environment --ad-hoc --container guile -- guile\n"
  13957. msgstr ""
  13958. #. type: quotation
  13959. #: doc/guix.texi:7226
  13960. msgid "The @code{--container} option requires Linux-libre 3.19 or newer."
  13961. msgstr ""
  13962. #. type: Plain text
  13963. #: doc/guix.texi:7229
  13964. msgid "The available options are summarized below."
  13965. msgstr ""
  13966. #. type: cindex
  13967. #: doc/guix.texi:7233
  13968. #, no-wrap
  13969. msgid "persistent environment"
  13970. msgstr ""
  13971. #. type: cindex
  13972. #: doc/guix.texi:7234
  13973. #, no-wrap
  13974. msgid "garbage collector root, for environments"
  13975. msgstr ""
  13976. #. type: table
  13977. #: doc/guix.texi:7237
  13978. msgid ""
  13979. "Make @var{file} a symlink to the profile for this environment, and register "
  13980. "it as a garbage collector root."
  13981. msgstr ""
  13982. #. type: table
  13983. #: doc/guix.texi:7240
  13984. msgid ""
  13985. "This is useful if you want to protect your environment from garbage "
  13986. "collection, to make it ``persistent''."
  13987. msgstr ""
  13988. #. type: table
  13989. #: doc/guix.texi:7246
  13990. msgid ""
  13991. "When this option is omitted, the environment is protected from garbage "
  13992. "collection only for the duration of the @command{guix environment} session. "
  13993. "This means that next time you recreate the same environment, you could have "
  13994. "to rebuild or re-download packages. @xref{Invoking guix gc}, for more on GC "
  13995. "roots."
  13996. msgstr ""
  13997. #. type: table
  13998. #: doc/guix.texi:7251
  13999. msgid ""
  14000. "Create an environment for the package or list of packages that @var{expr} "
  14001. "evaluates to."
  14002. msgstr ""
  14003. #. type: table
  14004. #: doc/guix.texi:7253
  14005. msgid "For example, running:"
  14006. msgstr ""
  14007. #. type: example
  14008. #: doc/guix.texi:7256
  14009. #, no-wrap
  14010. msgid "guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'\n"
  14011. msgstr ""
  14012. #. type: table
  14013. #: doc/guix.texi:7260
  14014. msgid ""
  14015. "starts a shell with the environment for this specific variant of the PETSc "
  14016. "package."
  14017. msgstr ""
  14018. #. type: table
  14019. #: doc/guix.texi:7262
  14020. msgid "Running:"
  14021. msgstr ""
  14022. #. type: example
  14023. #: doc/guix.texi:7265
  14024. #, no-wrap
  14025. msgid "guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'\n"
  14026. msgstr ""
  14027. #. type: table
  14028. #: doc/guix.texi:7268
  14029. msgid "starts a shell with all the GuixSD base packages available."
  14030. msgstr ""
  14031. #. type: table
  14032. #: doc/guix.texi:7271
  14033. msgid ""
  14034. "The above commands only use the default output of the given packages. To "
  14035. "select other outputs, two element tuples can be specified:"
  14036. msgstr ""
  14037. #. type: example
  14038. #: doc/guix.texi:7274
  14039. #, no-wrap
  14040. msgid "guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) \"include\")'\n"
  14041. msgstr ""
  14042. #. type: item
  14043. #: doc/guix.texi:7276
  14044. #, no-wrap
  14045. msgid "--load=@var{file}"
  14046. msgstr ""
  14047. #. type: itemx
  14048. #: doc/guix.texi:7277
  14049. #, no-wrap
  14050. msgid "-l @var{file}"
  14051. msgstr ""
  14052. #. type: table
  14053. #: doc/guix.texi:7280
  14054. msgid ""
  14055. "Create an environment for the package or list of packages that the code "
  14056. "within @var{file} evaluates to."
  14057. msgstr ""
  14058. #. type: example
  14059. #: doc/guix.texi:7286
  14060. #, no-wrap
  14061. msgid "@verbatiminclude environment-gdb.scm\n"
  14062. msgstr ""
  14063. #. type: table
  14064. #: doc/guix.texi:7292
  14065. msgid ""
  14066. "Create an environment for the packages contained in the manifest object "
  14067. "returned by the Scheme code in @var{file}."
  14068. msgstr ""
  14069. #. type: table
  14070. #: doc/guix.texi:7296
  14071. msgid ""
  14072. "This is similar to the same-named option in @command{guix package} "
  14073. "(@pxref{profile-manifest, @option{--manifest}}) and uses the same manifest "
  14074. "files."
  14075. msgstr ""
  14076. #. type: item
  14077. #: doc/guix.texi:7297
  14078. #, no-wrap
  14079. msgid "--ad-hoc"
  14080. msgstr ""
  14081. #. type: table
  14082. #: doc/guix.texi:7302
  14083. msgid ""
  14084. "Include all specified packages in the resulting environment, as if an @i{ad "
  14085. "hoc} package were defined with them as inputs. This option is useful for "
  14086. "quickly creating an environment without having to write a package expression "
  14087. "to contain the desired inputs."
  14088. msgstr ""
  14089. #. type: table
  14090. #: doc/guix.texi:7304
  14091. msgid "For instance, the command:"
  14092. msgstr ""
  14093. #. type: example
  14094. #: doc/guix.texi:7307
  14095. #, no-wrap
  14096. msgid "guix environment --ad-hoc guile guile-sdl -- guile\n"
  14097. msgstr ""
  14098. #. type: table
  14099. #: doc/guix.texi:7311
  14100. msgid ""
  14101. "runs @command{guile} in an environment where Guile and Guile-SDL are "
  14102. "available."
  14103. msgstr ""
  14104. #. type: table
  14105. #: doc/guix.texi:7316
  14106. msgid ""
  14107. "Note that this example implicitly asks for the default output of "
  14108. "@code{guile} and @code{guile-sdl}, but it is possible to ask for a specific "
  14109. "output---e.g., @code{glib:bin} asks for the @code{bin} output of @code{glib} "
  14110. "(@pxref{Packages with Multiple Outputs})."
  14111. msgstr ""
  14112. #. type: table
  14113. #: doc/guix.texi:7322
  14114. msgid ""
  14115. "This option may be composed with the default behavior of @command{guix "
  14116. "environment}. Packages appearing before @code{--ad-hoc} are interpreted as "
  14117. "packages whose dependencies will be added to the environment, the default "
  14118. "behavior. Packages appearing after are interpreted as packages that will be "
  14119. "added to the environment directly."
  14120. msgstr ""
  14121. #. type: item
  14122. #: doc/guix.texi:7323
  14123. #, no-wrap
  14124. msgid "--pure"
  14125. msgstr ""
  14126. #. type: table
  14127. #: doc/guix.texi:7327
  14128. msgid ""
  14129. "Unset existing environment variables when building the new environment. "
  14130. "This has the effect of creating an environment in which search paths only "
  14131. "contain package inputs."
  14132. msgstr ""
  14133. #. type: item
  14134. #: doc/guix.texi:7328
  14135. #, no-wrap
  14136. msgid "--search-paths"
  14137. msgstr ""
  14138. #. type: table
  14139. #: doc/guix.texi:7331
  14140. msgid ""
  14141. "Display the environment variable definitions that make up the environment."
  14142. msgstr ""
  14143. #. type: table
  14144. #: doc/guix.texi:7335
  14145. msgid "Attempt to build for @var{system}---e.g., @code{i686-linux}."
  14146. msgstr ""
  14147. #. type: item
  14148. #: doc/guix.texi:7336
  14149. #, no-wrap
  14150. msgid "--container"
  14151. msgstr ""
  14152. #. type: itemx
  14153. #: doc/guix.texi:7337
  14154. #, no-wrap
  14155. msgid "-C"
  14156. msgstr ""
  14157. #. type: item
  14158. #: doc/guix.texi:7338 doc/guix.texi:7849 doc/guix.texi:20552
  14159. #, no-wrap
  14160. msgid "container"
  14161. msgstr ""
  14162. #. type: table
  14163. #: doc/guix.texi:7346
  14164. msgid ""
  14165. "Run @var{command} within an isolated container. The current working "
  14166. "directory outside the container is mapped inside the container. "
  14167. "Additionally, unless overridden with @code{--user}, a dummy home directory "
  14168. "is created that matches the current user's home directory, and @file{/etc/"
  14169. "passwd} is configured accordingly. The spawned process runs as the current "
  14170. "user outside the container, but has root privileges in the context of the "
  14171. "container."
  14172. msgstr ""
  14173. #. type: item
  14174. #: doc/guix.texi:7347
  14175. #, no-wrap
  14176. msgid "--network"
  14177. msgstr ""
  14178. #. type: itemx
  14179. #: doc/guix.texi:7348
  14180. #, no-wrap
  14181. msgid "-N"
  14182. msgstr ""
  14183. #. type: table
  14184. #: doc/guix.texi:7352
  14185. msgid ""
  14186. "For containers, share the network namespace with the host system. "
  14187. "Containers created without this flag only have access to the loopback device."
  14188. msgstr ""
  14189. #. type: item
  14190. #: doc/guix.texi:7353
  14191. #, no-wrap
  14192. msgid "--link-profile"
  14193. msgstr ""
  14194. #. type: itemx
  14195. #: doc/guix.texi:7354
  14196. #, no-wrap
  14197. msgid "-P"
  14198. msgstr ""
  14199. #. type: table
  14200. #: doc/guix.texi:7361
  14201. msgid ""
  14202. "For containers, link the environment profile to @file{~/.guix-profile} "
  14203. "within the container. This is equivalent to running the command @command{ln "
  14204. "-s $GUIX_ENVIRONMENT ~/.guix-profile} within the container. Linking will "
  14205. "fail and abort the environment if the directory already exists, which will "
  14206. "certainly be the case if @command{guix environment} was invoked in the "
  14207. "user's home directory."
  14208. msgstr ""
  14209. #. type: table
  14210. #: doc/guix.texi:7368
  14211. msgid ""
  14212. "Certain packages are configured to look in @code{~/.guix-profile} for "
  14213. "configuration files and data;@footnote{For example, the @code{fontconfig} "
  14214. "package inspects @file{~/.guix-profile/share/fonts} for additional fonts.} "
  14215. "@code{--link-profile} allows these programs to behave as expected within the "
  14216. "environment."
  14217. msgstr ""
  14218. #. type: item
  14219. #: doc/guix.texi:7369 doc/guix.texi:7521
  14220. #, no-wrap
  14221. msgid "--user=@var{user}"
  14222. msgstr ""
  14223. #. type: itemx
  14224. #: doc/guix.texi:7370 doc/guix.texi:7522
  14225. #, no-wrap
  14226. msgid "-u @var{user}"
  14227. msgstr ""
  14228. #. type: table
  14229. #: doc/guix.texi:7376
  14230. msgid ""
  14231. "For containers, use the username @var{user} in place of the current user. "
  14232. "The generated @file{/etc/passwd} entry within the container will contain the "
  14233. "name @var{user}; the home directory will be @file{/home/USER}; and no user "
  14234. "GECOS data will be copied. @var{user} need not exist on the system."
  14235. msgstr ""
  14236. #. type: table
  14237. #: doc/guix.texi:7381
  14238. msgid ""
  14239. "Additionally, any shared or exposed path (see @code{--share} and @code{--"
  14240. "expose} respectively) whose target is within the current user's home "
  14241. "directory will be remapped relative to @file{/home/USER}; this includes the "
  14242. "automatic mapping of the current working directory."
  14243. msgstr ""
  14244. #. type: example
  14245. #: doc/guix.texi:7388
  14246. #, no-wrap
  14247. msgid ""
  14248. "# will expose paths as /home/foo/wd, /home/foo/test, and /home/foo/target\n"
  14249. "cd $HOME/wd\n"
  14250. "guix environment --container --user=foo \\\n"
  14251. " --expose=$HOME/test \\\n"
  14252. " --expose=/tmp/target=$HOME/target\n"
  14253. msgstr ""
  14254. #. type: table
  14255. #: doc/guix.texi:7393
  14256. msgid ""
  14257. "While this will limit the leaking of user identity through home paths and "
  14258. "each of the user fields, this is only one useful component of a broader "
  14259. "privacy/anonymity solution---not one in and of itself."
  14260. msgstr ""
  14261. #. type: item
  14262. #: doc/guix.texi:7394
  14263. #, no-wrap
  14264. msgid "--expose=@var{source}[=@var{target}]"
  14265. msgstr ""
  14266. #. type: table
  14267. #: doc/guix.texi:7399
  14268. msgid ""
  14269. "For containers, expose the file system @var{source} from the host system as "
  14270. "the read-only file system @var{target} within the container. If "
  14271. "@var{target} is not specified, @var{source} is used as the target mount "
  14272. "point in the container."
  14273. msgstr ""
  14274. #. type: table
  14275. #: doc/guix.texi:7403
  14276. msgid ""
  14277. "The example below spawns a Guile REPL in a container in which the user's "
  14278. "home directory is accessible read-only via the @file{/exchange} directory:"
  14279. msgstr ""
  14280. #. type: example
  14281. #: doc/guix.texi:7406
  14282. #, no-wrap
  14283. msgid "guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile\n"
  14284. msgstr ""
  14285. #. type: item
  14286. #: doc/guix.texi:7408
  14287. #, no-wrap
  14288. msgid "--share=@var{source}[=@var{target}]"
  14289. msgstr ""
  14290. #. type: table
  14291. #: doc/guix.texi:7413
  14292. msgid ""
  14293. "For containers, share the file system @var{source} from the host system as "
  14294. "the writable file system @var{target} within the container. If @var{target} "
  14295. "is not specified, @var{source} is used as the target mount point in the "
  14296. "container."
  14297. msgstr ""
  14298. #. type: table
  14299. #: doc/guix.texi:7417
  14300. msgid ""
  14301. "The example below spawns a Guile REPL in a container in which the user's "
  14302. "home directory is accessible for both reading and writing via the @file{/"
  14303. "exchange} directory:"
  14304. msgstr ""
  14305. #. type: example
  14306. #: doc/guix.texi:7420
  14307. #, no-wrap
  14308. msgid "guix environment --container --share=$HOME=/exchange --ad-hoc guile -- guile\n"
  14309. msgstr ""
  14310. #. type: Plain text
  14311. #: doc/guix.texi:7426
  14312. msgid ""
  14313. "@command{guix environment} also supports all of the common build options "
  14314. "that @command{guix build} supports (@pxref{Common Build Options})."
  14315. msgstr ""
  14316. #. type: section
  14317. #: doc/guix.texi:7429
  14318. #, no-wrap
  14319. msgid "Invoking @command{guix publish}"
  14320. msgstr ""
  14321. #. type: command{#1}
  14322. #: doc/guix.texi:7431
  14323. #, no-wrap
  14324. msgid "guix publish"
  14325. msgstr ""
  14326. #. type: Plain text
  14327. #: doc/guix.texi:7435
  14328. msgid ""
  14329. "The purpose of @command{guix publish} is to enable users to easily share "
  14330. "their store with others, who can then use it as a substitute server "
  14331. "(@pxref{Substitutes})."
  14332. msgstr ""
  14333. #. type: Plain text
  14334. #: doc/guix.texi:7441
  14335. msgid ""
  14336. "When @command{guix publish} runs, it spawns an HTTP server which allows "
  14337. "anyone with network access to obtain substitutes from it. This means that "
  14338. "any machine running Guix can also act as if it were a build farm, since the "
  14339. "HTTP interface is compatible with Hydra, the software behind the @code{hydra."
  14340. "gnu.org} build farm."
  14341. msgstr ""
  14342. #. type: Plain text
  14343. #: doc/guix.texi:7447
  14344. msgid ""
  14345. "For security, each substitute is signed, allowing recipients to check their "
  14346. "authenticity and integrity (@pxref{Substitutes}). Because @command{guix "
  14347. "publish} uses the signing key of the system, which is only readable by the "
  14348. "system administrator, it must be started as root; the @code{--user} option "
  14349. "makes it drop root privileges early on."
  14350. msgstr ""
  14351. #. type: Plain text
  14352. #: doc/guix.texi:7451
  14353. msgid ""
  14354. "The signing key pair must be generated before @command{guix publish} is "
  14355. "launched, using @command{guix archive --generate-key} (@pxref{Invoking guix "
  14356. "archive})."
  14357. msgstr ""
  14358. #. type: example
  14359. #: doc/guix.texi:7456
  14360. #, no-wrap
  14361. msgid "guix publish @var{options}@dots{}\n"
  14362. msgstr ""
  14363. #. type: Plain text
  14364. #: doc/guix.texi:7460
  14365. msgid ""
  14366. "Running @command{guix publish} without any additional arguments will spawn "
  14367. "an HTTP server on port 8080:"
  14368. msgstr ""
  14369. #. type: example
  14370. #: doc/guix.texi:7463
  14371. #, no-wrap
  14372. msgid "guix publish\n"
  14373. msgstr ""
  14374. #. type: Plain text
  14375. #: doc/guix.texi:7467
  14376. msgid ""
  14377. "Once a publishing server has been authorized (@pxref{Invoking guix "
  14378. "archive}), the daemon may download substitutes from it:"
  14379. msgstr ""
  14380. #. type: example
  14381. #: doc/guix.texi:7470
  14382. #, no-wrap
  14383. msgid "guix-daemon --substitute-urls=http://example.org:8080\n"
  14384. msgstr ""
  14385. #. type: Plain text
  14386. #: doc/guix.texi:7479
  14387. msgid ""
  14388. "By default, @command{guix publish} compresses archives on the fly as it "
  14389. "serves them. This ``on-the-fly'' mode is convenient in that it requires no "
  14390. "setup and is immediately available. However, when serving lots of clients, "
  14391. "we recommend using the @option{--cache} option, which enables caching of the "
  14392. "archives before they are sent to clients---see below for details. The "
  14393. "@command{guix weather} command provides a handy way to check what a server "
  14394. "provides (@pxref{Invoking guix weather})."
  14395. msgstr ""
  14396. #. type: Plain text
  14397. #: doc/guix.texi:7486
  14398. msgid ""
  14399. "As a bonus, @command{guix publish} also serves as a content-addressed mirror "
  14400. "for source files referenced in @code{origin} records (@pxref{origin "
  14401. "Reference}). For instance, assuming @command{guix publish} is running on "
  14402. "@code{example.org}, the following URL returns the raw @file{hello-2.10.tar."
  14403. "gz} file with the given SHA256 hash (represented in @code{nix-base32} "
  14404. "format, @pxref{Invoking guix hash}):"
  14405. msgstr ""
  14406. #. type: example
  14407. #: doc/guix.texi:7489
  14408. #, no-wrap
  14409. msgid "http://example.org/file/hello-2.10.tar.gz/sha256/0ssi1@dots{}ndq1i\n"
  14410. msgstr ""
  14411. #. type: Plain text
  14412. #: doc/guix.texi:7493
  14413. msgid ""
  14414. "Obviously, these URLs only work for files that are in the store; in other "
  14415. "cases, they return 404 (``Not Found'')."
  14416. msgstr ""
  14417. #. type: cindex
  14418. #: doc/guix.texi:7494
  14419. #, no-wrap
  14420. msgid "build logs, publication"
  14421. msgstr ""
  14422. #. type: Plain text
  14423. #: doc/guix.texi:7496
  14424. msgid "Build logs are available from @code{/log} URLs like:"
  14425. msgstr ""
  14426. #. type: example
  14427. #: doc/guix.texi:7499
  14428. #, no-wrap
  14429. msgid "http://example.org/log/gwspk@dots{}-guile-2.2.3\n"
  14430. msgstr ""
  14431. #. type: Plain text
  14432. #: doc/guix.texi:7509
  14433. msgid ""
  14434. "When @command{guix-daemon} is configured to save compressed build logs, as "
  14435. "is the case by default (@pxref{Invoking guix-daemon}), @code{/log} URLs "
  14436. "return the compressed log as-is, with an appropriate @code{Content-Type} and/"
  14437. "or @code{Content-Encoding} header. We recommend running @command{guix-"
  14438. "daemon} with @code{--log-compression=gzip} since Web browsers can "
  14439. "automatically decompress it, which is not the case with bzip2 compression."
  14440. msgstr ""
  14441. #. type: item
  14442. #: doc/guix.texi:7513
  14443. #, no-wrap
  14444. msgid "--port=@var{port}"
  14445. msgstr ""
  14446. #. type: itemx
  14447. #: doc/guix.texi:7514
  14448. #, no-wrap
  14449. msgid "-p @var{port}"
  14450. msgstr ""
  14451. #. type: table
  14452. #: doc/guix.texi:7516
  14453. msgid "Listen for HTTP requests on @var{port}."
  14454. msgstr ""
  14455. #. type: item
  14456. #: doc/guix.texi:7517 doc/guix.texi:17032
  14457. #, no-wrap
  14458. msgid "--listen=@var{host}"
  14459. msgstr ""
  14460. #. type: table
  14461. #: doc/guix.texi:7520
  14462. msgid ""
  14463. "Listen on the network interface for @var{host}. The default is to accept "
  14464. "connections from any interface."
  14465. msgstr ""
  14466. #. type: table
  14467. #: doc/guix.texi:7525
  14468. msgid ""
  14469. "Change privileges to @var{user} as soon as possible---i.e., once the server "
  14470. "socket is open and the signing key has been read."
  14471. msgstr ""
  14472. #. type: item
  14473. #: doc/guix.texi:7526
  14474. #, no-wrap
  14475. msgid "--compression[=@var{level}]"
  14476. msgstr ""
  14477. #. type: itemx
  14478. #: doc/guix.texi:7527
  14479. #, no-wrap
  14480. msgid "-C [@var{level}]"
  14481. msgstr ""
  14482. #. type: table
  14483. #: doc/guix.texi:7532
  14484. msgid ""
  14485. "Compress data using the given @var{level}. When @var{level} is zero, "
  14486. "disable compression. The range 1 to 9 corresponds to different gzip "
  14487. "compression levels: 1 is the fastest, and 9 is the best (CPU-intensive). "
  14488. "The default is 3."
  14489. msgstr ""
  14490. #. type: table
  14491. #: doc/guix.texi:7541
  14492. msgid ""
  14493. "Unless @option{--cache} is used, compression occurs on the fly and the "
  14494. "compressed streams are not cached. Thus, to reduce load on the machine that "
  14495. "runs @command{guix publish}, it may be a good idea to choose a low "
  14496. "compression level, to run @command{guix publish} behind a caching proxy, or "
  14497. "to use @option{--cache}. Using @option{--cache} has the advantage that it "
  14498. "allows @command{guix publish} to add @code{Content-Length} HTTP header to "
  14499. "its responses."
  14500. msgstr ""
  14501. #. type: item
  14502. #: doc/guix.texi:7542
  14503. #, no-wrap
  14504. msgid "--cache=@var{directory}"
  14505. msgstr ""
  14506. #. type: itemx
  14507. #: doc/guix.texi:7543
  14508. #, no-wrap
  14509. msgid "-c @var{directory}"
  14510. msgstr ""
  14511. #. type: table
  14512. #: doc/guix.texi:7546
  14513. msgid ""
  14514. "Cache archives and meta-data (@code{.narinfo} URLs) to @var{directory} and "
  14515. "only serve archives that are in cache."
  14516. msgstr ""
  14517. #. type: table
  14518. #: doc/guix.texi:7554
  14519. msgid ""
  14520. "When this option is omitted, archives and meta-data are created on-the-fly. "
  14521. "This can reduce the available bandwidth, especially when compression is "
  14522. "enabled, since this may become CPU-bound. Another drawback of the default "
  14523. "mode is that the length of archives is not known in advance, so "
  14524. "@command{guix publish} does not add a @code{Content-Length} HTTP header to "
  14525. "its responses, which in turn prevents clients from knowing the amount of "
  14526. "data being downloaded."
  14527. msgstr ""
  14528. #. type: table
  14529. #: doc/guix.texi:7562
  14530. msgid ""
  14531. "Conversely, when @option{--cache} is used, the first request for a store "
  14532. "item (@i{via} a @code{.narinfo} URL) returns 404 and triggers a background "
  14533. "process to @dfn{bake} the archive---computing its @code{.narinfo} and "
  14534. "compressing the archive, if needed. Once the archive is cached in "
  14535. "@var{directory}, subsequent requests succeed and are served directly from "
  14536. "the cache, which guarantees that clients get the best possible bandwidth."
  14537. msgstr ""
  14538. #. type: table
  14539. #: doc/guix.texi:7566
  14540. msgid ""
  14541. "The ``baking'' process is performed by worker threads. By default, one "
  14542. "thread per CPU core is created, but this can be customized. See @option{--"
  14543. "workers} below."
  14544. msgstr ""
  14545. #. type: table
  14546. #: doc/guix.texi:7569
  14547. msgid ""
  14548. "When @option{--ttl} is used, cached entries are automatically deleted when "
  14549. "they have expired."
  14550. msgstr ""
  14551. #. type: item
  14552. #: doc/guix.texi:7570
  14553. #, no-wrap
  14554. msgid "--workers=@var{N}"
  14555. msgstr ""
  14556. #. type: table
  14557. #: doc/guix.texi:7573
  14558. msgid ""
  14559. "When @option{--cache} is used, request the allocation of @var{N} worker "
  14560. "threads to ``bake'' archives."
  14561. msgstr ""
  14562. #. type: item
  14563. #: doc/guix.texi:7574
  14564. #, no-wrap
  14565. msgid "--ttl=@var{ttl}"
  14566. msgstr ""
  14567. #. type: table
  14568. #: doc/guix.texi:7578
  14569. msgid ""
  14570. "Produce @code{Cache-Control} HTTP headers that advertise a time-to-live "
  14571. "(TTL) of @var{ttl}. @var{ttl} must denote a duration: @code{5d} means 5 "
  14572. "days, @code{1m} means 1 month, and so on."
  14573. msgstr ""
  14574. #. type: table
  14575. #: doc/guix.texi:7583
  14576. msgid ""
  14577. "This allows the user's Guix to keep substitute information in cache for "
  14578. "@var{ttl}. However, note that @code{guix publish} does not itself guarantee "
  14579. "that the store items it provides will indeed remain available for as long as "
  14580. "@var{ttl}."
  14581. msgstr ""
  14582. #. type: table
  14583. #: doc/guix.texi:7587
  14584. msgid ""
  14585. "Additionally, when @option{--cache} is used, cached entries that have not "
  14586. "been accessed for @var{ttl} and that no longer have a corresponding item in "
  14587. "the store, may be deleted."
  14588. msgstr ""
  14589. #. type: item
  14590. #: doc/guix.texi:7588
  14591. #, no-wrap
  14592. msgid "--nar-path=@var{path}"
  14593. msgstr ""
  14594. #. type: table
  14595. #: doc/guix.texi:7591
  14596. msgid ""
  14597. "Use @var{path} as the prefix for the URLs of ``nar'' files (@pxref{Invoking "
  14598. "guix archive, normalized archives})."
  14599. msgstr ""
  14600. #. type: table
  14601. #: doc/guix.texi:7595
  14602. msgid ""
  14603. "By default, nars are served at a URL such as @code{/nar/gzip/@dots{}-"
  14604. "coreutils-8.25}. This option allows you to change the @code{/nar} part to "
  14605. "@var{path}."
  14606. msgstr ""
  14607. #. type: item
  14608. #: doc/guix.texi:7596
  14609. #, no-wrap
  14610. msgid "--public-key=@var{file}"
  14611. msgstr ""
  14612. #. type: itemx
  14613. #: doc/guix.texi:7597
  14614. #, no-wrap
  14615. msgid "--private-key=@var{file}"
  14616. msgstr ""
  14617. #. type: table
  14618. #: doc/guix.texi:7600
  14619. msgid ""
  14620. "Use the specific @var{file}s as the public/private key pair used to sign the "
  14621. "store items being published."
  14622. msgstr ""
  14623. #. type: table
  14624. #: doc/guix.texi:7607
  14625. msgid ""
  14626. "The files must correspond to the same key pair (the private key is used for "
  14627. "signing and the public key is merely advertised in the signature metadata). "
  14628. "They must contain keys in the canonical s-expression format as produced by "
  14629. "@command{guix archive --generate-key} (@pxref{Invoking guix archive}). By "
  14630. "default, @file{/etc/guix/signing-key.pub} and @file{/etc/guix/signing-key."
  14631. "sec} are used."
  14632. msgstr ""
  14633. #. type: item
  14634. #: doc/guix.texi:7608
  14635. #, no-wrap
  14636. msgid "--repl[=@var{port}]"
  14637. msgstr ""
  14638. #. type: itemx
  14639. #: doc/guix.texi:7609
  14640. #, no-wrap
  14641. msgid "-r [@var{port}]"
  14642. msgstr ""
  14643. #. type: table
  14644. #: doc/guix.texi:7613
  14645. msgid ""
  14646. "Spawn a Guile REPL server (@pxref{REPL Servers,,, guile, GNU Guile Reference "
  14647. "Manual}) on @var{port} (37146 by default). This is used primarily for "
  14648. "debugging a running @command{guix publish} server."
  14649. msgstr ""
  14650. #. type: Plain text
  14651. #: doc/guix.texi:7619
  14652. msgid ""
  14653. "Enabling @command{guix publish} on a GuixSD system is a one-liner: just "
  14654. "instantiate a @code{guix-publish-service-type} service in the "
  14655. "@code{services} field of the @code{operating-system} declaration "
  14656. "(@pxref{guix-publish-service-type, @code{guix-publish-service-type}})."
  14657. msgstr ""
  14658. #. type: Plain text
  14659. #: doc/guix.texi:7622
  14660. msgid ""
  14661. "If you are instead running Guix on a ``foreign distro'', follow these "
  14662. "instructions:”"
  14663. msgstr ""
  14664. #. type: itemize
  14665. #: doc/guix.texi:7626
  14666. msgid "If your host distro uses the systemd init system:"
  14667. msgstr ""
  14668. #. type: example
  14669. #: doc/guix.texi:7631
  14670. #, no-wrap
  14671. msgid ""
  14672. "# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \\\n"
  14673. " /etc/systemd/system/\n"
  14674. "# systemctl start guix-publish && systemctl enable guix-publish\n"
  14675. msgstr ""
  14676. #. type: example
  14677. #: doc/guix.texi:7639
  14678. #, no-wrap
  14679. msgid ""
  14680. "# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/\n"
  14681. "# start guix-publish\n"
  14682. msgstr ""
  14683. #. type: itemize
  14684. #: doc/guix.texi:7643
  14685. msgid "Otherwise, proceed similarly with your distro's init system."
  14686. msgstr ""
  14687. #. type: section
  14688. #: doc/guix.texi:7646
  14689. #, no-wrap
  14690. msgid "Invoking @command{guix challenge}"
  14691. msgstr ""
  14692. #. type: cindex
  14693. #: doc/guix.texi:7649
  14694. #, no-wrap
  14695. msgid "verifiable builds"
  14696. msgstr ""
  14697. #. type: command{#1}
  14698. #: doc/guix.texi:7650
  14699. #, no-wrap
  14700. msgid "guix challenge"
  14701. msgstr ""
  14702. #. type: cindex
  14703. #: doc/guix.texi:7651
  14704. #, no-wrap
  14705. msgid "challenge"
  14706. msgstr ""
  14707. #. type: Plain text
  14708. #: doc/guix.texi:7656
  14709. msgid ""
  14710. "Do the binaries provided by this server really correspond to the source code "
  14711. "it claims to build? Is a package build process deterministic? These are the "
  14712. "questions the @command{guix challenge} command attempts to answer."
  14713. msgstr ""
  14714. #. type: Plain text
  14715. #: doc/guix.texi:7664
  14716. msgid ""
  14717. "The former is obviously an important question: Before using a substitute "
  14718. "server (@pxref{Substitutes}), one had better @emph{verify} that it provides "
  14719. "the right binaries, and thus @emph{challenge} it. The latter is what "
  14720. "enables the former: If package builds are deterministic, then independent "
  14721. "builds of the package should yield the exact same result, bit for bit; if a "
  14722. "server provides a binary different from the one obtained locally, it may be "
  14723. "either corrupt or malicious."
  14724. msgstr ""
  14725. #. type: Plain text
  14726. #: doc/guix.texi:7673
  14727. msgid ""
  14728. "We know that the hash that shows up in @file{/gnu/store} file names is the "
  14729. "hash of all the inputs of the process that built the file or directory---"
  14730. "compilers, libraries, build scripts, etc. (@pxref{Introduction}). Assuming "
  14731. "deterministic build processes, one store file name should map to exactly one "
  14732. "build output. @command{guix challenge} checks whether there is, indeed, a "
  14733. "single mapping by comparing the build outputs of several independent builds "
  14734. "of any given store item."
  14735. msgstr ""
  14736. #. type: Plain text
  14737. #: doc/guix.texi:7675
  14738. msgid "The command output looks like this:"
  14739. msgstr ""
  14740. #. type: smallexample
  14741. #: doc/guix.texi:7692
  14742. #, no-wrap
  14743. msgid ""
  14744. "$ guix challenge --substitute-urls=\"https://hydra.gnu.org https://guix.example.org\"\n"
  14745. "updating list of substitutes from 'https://hydra.gnu.org'... 100.0%\n"
  14746. "updating list of substitutes from 'https://guix.example.org'... 100.0%\n"
  14747. "/gnu/store/@dots{}-openssl-1.0.2d contents differ:\n"
  14748. " local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n"
  14749. " https://hydra.gnu.org/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n"
  14750. " https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim\n"
  14751. "/gnu/store/@dots{}-git-2.5.0 contents differ:\n"
  14752. " local hash: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha\n"
  14753. " https://hydra.gnu.org/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f\n"
  14754. " https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73\n"
  14755. "/gnu/store/@dots{}-pius-2.1.1 contents differ:\n"
  14756. " local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n"
  14757. " https://hydra.gnu.org/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n"
  14758. " https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs\n"
  14759. "\n"
  14760. msgstr ""
  14761. #. type: smallexample
  14762. #: doc/guix.texi:7694
  14763. #, no-wrap
  14764. msgid ""
  14765. "@dots{}\n"
  14766. "\n"
  14767. msgstr ""
  14768. #. type: smallexample
  14769. #: doc/guix.texi:7699
  14770. #, no-wrap
  14771. msgid ""
  14772. "6,406 store items were analyzed:\n"
  14773. " - 4,749 (74.1%) were identical\n"
  14774. " - 525 (8.2%) differed\n"
  14775. " - 1,132 (17.7%) were inconclusive\n"
  14776. msgstr ""
  14777. #. type: Plain text
  14778. #: doc/guix.texi:7707
  14779. msgid ""
  14780. "In this example, @command{guix challenge} first scans the store to determine "
  14781. "the set of locally-built derivations---as opposed to store items that were "
  14782. "downloaded from a substitute server---and then queries all the substitute "
  14783. "servers. It then reports those store items for which the servers obtained a "
  14784. "result different from the local build."
  14785. msgstr ""
  14786. #. type: cindex
  14787. #: doc/guix.texi:7708
  14788. #, no-wrap
  14789. msgid "non-determinism, in package builds"
  14790. msgstr ""
  14791. #. type: Plain text
  14792. #: doc/guix.texi:7719
  14793. msgid ""
  14794. "As an example, @code{guix.example.org} always gets a different answer. "
  14795. "Conversely, @code{hydra.gnu.org} agrees with local builds, except in the "
  14796. "case of Git. This might indicate that the build process of Git is non-"
  14797. "deterministic, meaning that its output varies as a function of various "
  14798. "things that Guix does not fully control, in spite of building packages in "
  14799. "isolated environments (@pxref{Features}). Most common sources of non-"
  14800. "determinism include the addition of timestamps in build results, the "
  14801. "inclusion of random numbers, and directory listings sorted by inode number. "
  14802. "See @uref{https://reproducible-builds.org/docs/}, for more information."
  14803. msgstr ""
  14804. #. type: Plain text
  14805. #: doc/guix.texi:7722
  14806. msgid ""
  14807. "To find out what is wrong with this Git binary, we can do something along "
  14808. "these lines (@pxref{Invoking guix archive}):"
  14809. msgstr ""
  14810. #. type: example
  14811. #: doc/guix.texi:7727
  14812. #, no-wrap
  14813. msgid ""
  14814. "$ wget -q -O - https://hydra.gnu.org/nar/@dots{}-git-2.5.0 \\\n"
  14815. " | guix archive -x /tmp/git\n"
  14816. "$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git\n"
  14817. msgstr ""
  14818. #. type: Plain text
  14819. #: doc/guix.texi:7736
  14820. msgid ""
  14821. "This command shows the difference between the files resulting from the local "
  14822. "build, and the files resulting from the build on @code{hydra.gnu.org} "
  14823. "(@pxref{Overview, Comparing and Merging Files,, diffutils, Comparing and "
  14824. "Merging Files}). The @command{diff} command works great for text files. "
  14825. "When binary files differ, a better option is @uref{https://diffoscope.org/, "
  14826. "Diffoscope}, a tool that helps visualize differences for all kinds of files."
  14827. msgstr ""
  14828. #. type: Plain text
  14829. #: doc/guix.texi:7744
  14830. msgid ""
  14831. "Once you have done that work, you can tell whether the differences are due "
  14832. "to a non-deterministic build process or to a malicious server. We try hard "
  14833. "to remove sources of non-determinism in packages to make it easier to verify "
  14834. "substitutes, but of course, this is a process that involves not just Guix, "
  14835. "but a large part of the free software community. In the meantime, "
  14836. "@command{guix challenge} is one tool to help address the problem."
  14837. msgstr ""
  14838. #. type: Plain text
  14839. #: doc/guix.texi:7748
  14840. msgid ""
  14841. "If you are writing packages for Guix, you are encouraged to check whether "
  14842. "@code{hydra.gnu.org} and other substitute servers obtain the same build "
  14843. "result as you did with:"
  14844. msgstr ""
  14845. #. type: example
  14846. #: doc/guix.texi:7751
  14847. #, no-wrap
  14848. msgid "$ guix challenge @var{package}\n"
  14849. msgstr ""
  14850. #. type: Plain text
  14851. #: doc/guix.texi:7756
  14852. msgid ""
  14853. "where @var{package} is a package specification such as @code{guile@@2.0} or "
  14854. "@code{glibc:debug}."
  14855. msgstr ""
  14856. #. type: example
  14857. #: doc/guix.texi:7761
  14858. #, no-wrap
  14859. msgid "guix challenge @var{options} [@var{packages}@dots{}]\n"
  14860. msgstr ""
  14861. #. type: Plain text
  14862. #: doc/guix.texi:7768
  14863. msgid ""
  14864. "When a difference is found between the hash of a locally-built item and that "
  14865. "of a server-provided substitute, or among substitutes provided by different "
  14866. "servers, the command displays it as in the example above and its exit code "
  14867. "is 2 (other non-zero exit codes denote other kinds of errors.)"
  14868. msgstr ""
  14869. #. type: Plain text
  14870. #: doc/guix.texi:7770
  14871. msgid "The one option that matters is:"
  14872. msgstr ""
  14873. #. type: table
  14874. #: doc/guix.texi:7776
  14875. msgid ""
  14876. "Consider @var{urls} the whitespace-separated list of substitute source URLs "
  14877. "to compare to."
  14878. msgstr ""
  14879. #. type: itemx
  14880. #: doc/guix.texi:7778
  14881. #, no-wrap
  14882. msgid "-v"
  14883. msgstr ""
  14884. #. type: table
  14885. #: doc/guix.texi:7781
  14886. msgid ""
  14887. "Show details about matches (identical contents) in addition to information "
  14888. "about mismatches."
  14889. msgstr ""
  14890. #. type: section
  14891. #: doc/guix.texi:7785
  14892. #, no-wrap
  14893. msgid "Invoking @command{guix copy}"
  14894. msgstr ""
  14895. #. type: cindex
  14896. #: doc/guix.texi:7787
  14897. #, no-wrap
  14898. msgid "copy, of store items, over SSH"
  14899. msgstr ""
  14900. #. type: cindex
  14901. #: doc/guix.texi:7788
  14902. #, no-wrap
  14903. msgid "SSH, copy of store items"
  14904. msgstr ""
  14905. #. type: cindex
  14906. #: doc/guix.texi:7789
  14907. #, no-wrap
  14908. msgid "sharing store items across machines"
  14909. msgstr ""
  14910. #. type: cindex
  14911. #: doc/guix.texi:7790
  14912. #, no-wrap
  14913. msgid "transferring store items across machines"
  14914. msgstr ""
  14915. #. type: Plain text
  14916. #: doc/guix.texi:7797
  14917. msgid ""
  14918. "The @command{guix copy} command copies items from the store of one machine "
  14919. "to that of another machine over a secure shell (SSH) "
  14920. "connection@footnote{This command is available only when Guile-SSH was "
  14921. "found. @xref{Requirements}, for details.}. For example, the following "
  14922. "command copies the @code{coreutils} package, the user's profile, and all "
  14923. "their dependencies over to @var{host}, logged in as @var{user}:"
  14924. msgstr ""
  14925. #. type: example
  14926. #: doc/guix.texi:7801
  14927. #, no-wrap
  14928. msgid ""
  14929. "guix copy --to=@var{user}@@@var{host} \\\n"
  14930. " coreutils `readlink -f ~/.guix-profile`\n"
  14931. msgstr ""
  14932. #. type: Plain text
  14933. #: doc/guix.texi:7805
  14934. msgid ""
  14935. "If some of the items to be copied are already present on @var{host}, they "
  14936. "are not actually sent."
  14937. msgstr ""
  14938. #. type: Plain text
  14939. #: doc/guix.texi:7808
  14940. msgid ""
  14941. "The command below retrieves @code{libreoffice} and @code{gimp} from "
  14942. "@var{host}, assuming they are available there:"
  14943. msgstr ""
  14944. #. type: example
  14945. #: doc/guix.texi:7811
  14946. #, no-wrap
  14947. msgid "guix copy --from=@var{host} libreoffice gimp\n"
  14948. msgstr ""
  14949. #. type: Plain text
  14950. #: doc/guix.texi:7816
  14951. msgid ""
  14952. "The SSH connection is established using the Guile-SSH client, which is "
  14953. "compatible with OpenSSH: it honors @file{~/.ssh/known_hosts} and @file{~/."
  14954. "ssh/config}, and uses the SSH agent for authentication."
  14955. msgstr ""
  14956. #. type: Plain text
  14957. #: doc/guix.texi:7822
  14958. msgid ""
  14959. "The key used to sign items that are sent must be accepted by the remote "
  14960. "machine. Likewise, the key used by the remote machine to sign items you are "
  14961. "retrieving must be in @file{/etc/guix/acl} so it is accepted by your own "
  14962. "daemon. @xref{Invoking guix archive}, for more information about store item "
  14963. "authentication."
  14964. msgstr ""
  14965. #. type: example
  14966. #: doc/guix.texi:7827
  14967. #, no-wrap
  14968. msgid "guix copy [--to=@var{spec}|--from=@var{spec}] @var{items}@dots{}\n"
  14969. msgstr ""
  14970. #. type: Plain text
  14971. #: doc/guix.texi:7830
  14972. msgid "You must always specify one of the following options:"
  14973. msgstr ""
  14974. #. type: item
  14975. #: doc/guix.texi:7832
  14976. #, no-wrap
  14977. msgid "--to=@var{spec}"
  14978. msgstr ""
  14979. #. type: itemx
  14980. #: doc/guix.texi:7833
  14981. #, no-wrap
  14982. msgid "--from=@var{spec}"
  14983. msgstr ""
  14984. #. type: table
  14985. #: doc/guix.texi:7837
  14986. msgid ""
  14987. "Specify the host to send to or receive from. @var{spec} must be an SSH spec "
  14988. "such as @code{example.org}, @code{charlie@@example.org}, or "
  14989. "@code{charlie@@example.org:2222}."
  14990. msgstr ""
  14991. #. type: Plain text
  14992. #: doc/guix.texi:7841
  14993. msgid ""
  14994. "The @var{items} can be either package names, such as @code{gimp}, or store "
  14995. "items, such as @file{/gnu/store/@dots{}-idutils-4.6}."
  14996. msgstr ""
  14997. #. type: Plain text
  14998. #: doc/guix.texi:7845
  14999. msgid ""
  15000. "When specifying the name of a package to send, it is first built if needed, "
  15001. "unless @option{--dry-run} was specified. Common build options are supported "
  15002. "(@pxref{Common Build Options})."
  15003. msgstr ""
  15004. #. type: section
  15005. #: doc/guix.texi:7848
  15006. #, no-wrap
  15007. msgid "Invoking @command{guix container}"
  15008. msgstr ""
  15009. #. type: command{#1}
  15010. #: doc/guix.texi:7850
  15011. #, no-wrap
  15012. msgid "guix container"
  15013. msgstr ""
  15014. #. type: quotation
  15015. #: doc/guix.texi:7854
  15016. msgid ""
  15017. "As of version @value{VERSION}, this tool is experimental. The interface is "
  15018. "subject to radical change in the future."
  15019. msgstr ""
  15020. #. type: Plain text
  15021. #: doc/guix.texi:7861
  15022. msgid ""
  15023. "The purpose of @command{guix container} is to manipulate processes running "
  15024. "within an isolated environment, commonly known as a ``container'', typically "
  15025. "created by the @command{guix environment} (@pxref{Invoking guix "
  15026. "environment}) and @command{guix system container} (@pxref{Invoking guix "
  15027. "system}) commands."
  15028. msgstr ""
  15029. #. type: example
  15030. #: doc/guix.texi:7866
  15031. #, no-wrap
  15032. msgid "guix container @var{action} @var{options}@dots{}\n"
  15033. msgstr ""
  15034. #. type: Plain text
  15035. #: doc/guix.texi:7870
  15036. msgid ""
  15037. "@var{action} specifies the operation to perform with a container, and "
  15038. "@var{options} specifies the context-specific arguments for the action."
  15039. msgstr ""
  15040. #. type: Plain text
  15041. #: doc/guix.texi:7872
  15042. msgid "The following actions are available:"
  15043. msgstr ""
  15044. #. type: item
  15045. #: doc/guix.texi:7874
  15046. #, no-wrap
  15047. msgid "exec"
  15048. msgstr ""
  15049. #. type: table
  15050. #: doc/guix.texi:7876
  15051. msgid "Execute a command within the context of a running container."
  15052. msgstr ""
  15053. #. type: table
  15054. #: doc/guix.texi:7878
  15055. msgid "The syntax is:"
  15056. msgstr ""
  15057. #. type: example
  15058. #: doc/guix.texi:7881
  15059. #, no-wrap
  15060. msgid "guix container exec @var{pid} @var{program} @var{arguments}@dots{}\n"
  15061. msgstr ""
  15062. #. type: table
  15063. #: doc/guix.texi:7887
  15064. msgid ""
  15065. "@var{pid} specifies the process ID of the running container. @var{program} "
  15066. "specifies an executable file name within the root file system of the "
  15067. "container. @var{arguments} are the additional options that will be passed "
  15068. "to @var{program}."
  15069. msgstr ""
  15070. #. type: table
  15071. #: doc/guix.texi:7891
  15072. msgid ""
  15073. "The following command launches an interactive login shell inside a GuixSD "
  15074. "container, started by @command{guix system container}, and whose process ID "
  15075. "is 9001:"
  15076. msgstr ""
  15077. #. type: example
  15078. #: doc/guix.texi:7894
  15079. #, no-wrap
  15080. msgid "guix container exec 9001 /run/current-system/profile/bin/bash --login\n"
  15081. msgstr ""
  15082. #. type: table
  15083. #: doc/guix.texi:7898
  15084. msgid ""
  15085. "Note that the @var{pid} cannot be the parent process of a container. It "
  15086. "must be PID 1 of the container or one of its child processes."
  15087. msgstr ""
  15088. #. type: section
  15089. #: doc/guix.texi:7902
  15090. #, no-wrap
  15091. msgid "Invoking @command{guix weather}"
  15092. msgstr ""
  15093. #. type: Plain text
  15094. #: doc/guix.texi:7911
  15095. msgid ""
  15096. "Occasionally you're grumpy because substitutes are lacking and you end up "
  15097. "building packages by yourself (@pxref{Substitutes}). The @command{guix "
  15098. "weather} command reports on substitute availability on the specified servers "
  15099. "so you can have an idea of whether you'll be grumpy today. It can sometimes "
  15100. "be useful info as a user, but it is primarily useful to people running "
  15101. "@command{guix publish} (@pxref{Invoking guix publish})."
  15102. msgstr ""
  15103. #. type: cindex
  15104. #: doc/guix.texi:7912
  15105. #, no-wrap
  15106. msgid "statistics, for substitutes"
  15107. msgstr ""
  15108. #. type: cindex
  15109. #: doc/guix.texi:7913
  15110. #, no-wrap
  15111. msgid "availability of substitutes"
  15112. msgstr ""
  15113. #. type: cindex
  15114. #: doc/guix.texi:7914
  15115. #, no-wrap
  15116. msgid "substitute availability"
  15117. msgstr ""
  15118. #. type: cindex
  15119. #: doc/guix.texi:7915
  15120. #, no-wrap
  15121. msgid "weather, substitute availability"
  15122. msgstr ""
  15123. #. type: Plain text
  15124. #: doc/guix.texi:7917
  15125. msgid "Here's a sample run:"
  15126. msgstr ""
  15127. #. type: example
  15128. #: doc/guix.texi:7929
  15129. #, no-wrap
  15130. msgid ""
  15131. "$ guix weather --substitute-urls=https://guix.example.org\n"
  15132. "computing 5,872 package derivations for x86_64-linux...\n"
  15133. "looking for 6,128 store items on https://guix.example.org..\n"
  15134. "updating list of substitutes from 'https://guix.example.org'... 100.0%\n"
  15135. "https://guix.example.org\n"
  15136. " 43.4% substitutes available (2,658 out of 6,128)\n"
  15137. " 7,032.5 MiB of nars (compressed)\n"
  15138. " 19,824.2 MiB on disk (uncompressed)\n"
  15139. " 0.030 seconds per request (182.9 seconds in total)\n"
  15140. " 33.5 requests per second\n"
  15141. "\n"
  15142. msgstr ""
  15143. #. type: example
  15144. #: doc/guix.texi:7939
  15145. #, no-wrap
  15146. msgid ""
  15147. " 9.8% (342 out of 3,470) of the missing items are queued\n"
  15148. " 867 queued builds\n"
  15149. " x86_64-linux: 518 (59.7%)\n"
  15150. " i686-linux: 221 (25.5%)\n"
  15151. " aarch64-linux: 128 (14.8%)\n"
  15152. " build rate: 23.41 builds per hour\n"
  15153. " x86_64-linux: 11.16 builds per hour\n"
  15154. " i686-linux: 6.03 builds per hour\n"
  15155. " aarch64-linux: 6.41 builds per hour\n"
  15156. msgstr ""
  15157. #. type: cindex
  15158. #: doc/guix.texi:7941
  15159. #, no-wrap
  15160. msgid "continuous integration, statistics"
  15161. msgstr ""
  15162. #. type: Plain text
  15163. #: doc/guix.texi:7950
  15164. msgid ""
  15165. "As you can see, it reports the fraction of all the packages for which "
  15166. "substitutes are available on the server---regardless of whether substitutes "
  15167. "are enabled, and regardless of whether this server's signing key is "
  15168. "authorized. It also reports the size of the compressed archives (``nars'') "
  15169. "provided by the server, the size the corresponding store items occupy in the "
  15170. "store (assuming deduplication is turned off), and the server's throughput. "
  15171. "The second part gives continuous integration (CI) statistics, if the server "
  15172. "supports it."
  15173. msgstr ""
  15174. #. type: Plain text
  15175. #: doc/guix.texi:7956
  15176. msgid ""
  15177. "To achieve that, @command{guix weather} queries over HTTP(S) meta-data "
  15178. "(@dfn{narinfos}) for all the relevant store items. Like @command{guix "
  15179. "challenge}, it ignores signatures on those substitutes, which is innocuous "
  15180. "since the command only gathers statistics and cannot install those "
  15181. "substitutes."
  15182. msgstr ""
  15183. #. type: Plain text
  15184. #: doc/guix.texi:7959
  15185. msgid ""
  15186. "Among other things, it is possible to query specific system types and "
  15187. "specific package sets. The available options are listed below."
  15188. msgstr ""
  15189. #. type: table
  15190. #: doc/guix.texi:7965
  15191. msgid ""
  15192. "@var{urls} is the space-separated list of substitute server URLs to query. "
  15193. "When this option is omitted, the default set of substitute servers is "
  15194. "queried."
  15195. msgstr ""
  15196. #. type: table
  15197. #: doc/guix.texi:7971
  15198. msgid ""
  15199. "Query substitutes for @var{system}---e.g., @code{aarch64-linux}. This "
  15200. "option can be repeated, in which case @command{guix weather} will query "
  15201. "substitutes for several system types."
  15202. msgstr ""
  15203. #. type: table
  15204. #: doc/guix.texi:7977
  15205. msgid ""
  15206. "Instead of querying substitutes for all the packages, only ask for those "
  15207. "specified in @var{file}. @var{file} must contain a @dfn{manifest}, as with "
  15208. "the @code{-m} option of @command{guix package} (@pxref{Invoking guix "
  15209. "package})."
  15210. msgstr ""
  15211. #. type: Plain text
  15212. #: doc/guix.texi:7995
  15213. msgid ""
  15214. "Guix comes with a distribution of the GNU system consisting entirely of free "
  15215. "software@footnote{The term ``free'' here refers to the @url{http://www.gnu."
  15216. "org/philosophy/free-sw.html,freedom provided to users of that software}.}. "
  15217. "The distribution can be installed on its own (@pxref{System Installation}), "
  15218. "but it is also possible to install Guix as a package manager on top of an "
  15219. "installed GNU/Linux system (@pxref{Installation}). To distinguish between "
  15220. "the two, we refer to the standalone distribution as the Guix System "
  15221. "Distribution, or GuixSD."
  15222. msgstr ""
  15223. #. type: Plain text
  15224. #: doc/guix.texi:8001
  15225. msgid ""
  15226. "The distribution provides core GNU packages such as GNU libc, GCC, and "
  15227. "Binutils, as well as many GNU and non-GNU applications. The complete list "
  15228. "of available packages can be browsed @url{http://www.gnu.org/software/guix/"
  15229. "packages,on-line} or by running @command{guix package} (@pxref{Invoking guix "
  15230. "package}):"
  15231. msgstr ""
  15232. #. type: example
  15233. #: doc/guix.texi:8004
  15234. #, no-wrap
  15235. msgid "guix package --list-available\n"
  15236. msgstr ""
  15237. #. type: Plain text
  15238. #: doc/guix.texi:8010
  15239. msgid ""
  15240. "Our goal is to provide a practical 100% free software distribution of Linux-"
  15241. "based and other variants of GNU, with a focus on the promotion and tight "
  15242. "integration of GNU components, and an emphasis on programs and tools that "
  15243. "help users exert that freedom."
  15244. msgstr ""
  15245. #. type: Plain text
  15246. #: doc/guix.texi:8012
  15247. msgid "Packages are currently available on the following platforms:"
  15248. msgstr ""
  15249. #. type: item
  15250. #: doc/guix.texi:8015 doc/guix.texi:8180
  15251. #, no-wrap
  15252. msgid "x86_64-linux"
  15253. msgstr ""
  15254. #. type: table
  15255. #: doc/guix.texi:8017
  15256. msgid "Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;"
  15257. msgstr ""
  15258. #. type: item
  15259. #: doc/guix.texi:8018 doc/guix.texi:8183
  15260. #, no-wrap
  15261. msgid "i686-linux"
  15262. msgstr ""
  15263. #. type: table
  15264. #: doc/guix.texi:8020
  15265. msgid "Intel 32-bit architecture (IA32), Linux-Libre kernel;"
  15266. msgstr ""
  15267. #. type: item
  15268. #: doc/guix.texi:8021
  15269. #, no-wrap
  15270. msgid "armhf-linux"
  15271. msgstr ""
  15272. #. type: table
  15273. #: doc/guix.texi:8025
  15274. msgid ""
  15275. "ARMv7-A architecture with hard float, Thumb-2 and NEON, using the EABI hard-"
  15276. "float application binary interface (ABI), and Linux-Libre kernel."
  15277. msgstr ""
  15278. #. type: item
  15279. #: doc/guix.texi:8026
  15280. #, no-wrap
  15281. msgid "aarch64-linux"
  15282. msgstr ""
  15283. #. type: table
  15284. #: doc/guix.texi:8030
  15285. msgid ""
  15286. "little-endian 64-bit ARMv8-A processors, Linux-Libre kernel. This is "
  15287. "currently in an experimental stage, with limited support. "
  15288. "@xref{Contributing}, for how to help!"
  15289. msgstr ""
  15290. #. type: item
  15291. #: doc/guix.texi:8031
  15292. #, no-wrap
  15293. msgid "mips64el-linux"
  15294. msgstr ""
  15295. #. type: table
  15296. #: doc/guix.texi:8034
  15297. msgid ""
  15298. "little-endian 64-bit MIPS processors, specifically the Loongson series, n32 "
  15299. "ABI, and Linux-Libre kernel."
  15300. msgstr ""
  15301. #. type: Plain text
  15302. #: doc/guix.texi:8038
  15303. msgid ""
  15304. "GuixSD itself is currently only available on @code{i686} and @code{x86_64}."
  15305. msgstr ""
  15306. #. type: Plain text
  15307. #: doc/guix.texi:8042
  15308. msgid ""
  15309. "For information on porting to other architectures or kernels, "
  15310. "@pxref{Porting}."
  15311. msgstr ""
  15312. #. type: Plain text
  15313. #: doc/guix.texi:8057
  15314. msgid ""
  15315. "Building this distribution is a cooperative effort, and you are invited to "
  15316. "join! @xref{Contributing}, for information about how you can help."
  15317. msgstr ""
  15318. #. type: cindex
  15319. #: doc/guix.texi:8061
  15320. #, no-wrap
  15321. msgid "installing GuixSD"
  15322. msgstr ""
  15323. #. type: Plain text
  15324. #: doc/guix.texi:8067
  15325. msgid ""
  15326. "This section explains how to install the Guix System Distribution (GuixSD) "
  15327. "on a machine. The Guix package manager can also be installed on top of a "
  15328. "running GNU/Linux system, @pxref{Installation}."
  15329. msgstr ""
  15330. #. type: quotation
  15331. #: doc/guix.texi:8076
  15332. msgid ""
  15333. "You are reading this documentation with an Info reader. For details on how "
  15334. "to use it, hit the @key{RET} key (``return'' or ``enter'') on the link that "
  15335. "follows: @pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}. Hit "
  15336. "@kbd{l} afterwards to come back here."
  15337. msgstr ""
  15338. #. type: quotation
  15339. #: doc/guix.texi:8079
  15340. msgid ""
  15341. "Alternately, run @command{info info} in another tty to keep the manual "
  15342. "available."
  15343. msgstr ""
  15344. #. type: Plain text
  15345. #: doc/guix.texi:8104
  15346. msgid ""
  15347. "As of version @value{VERSION}, the Guix System Distribution (GuixSD) is not "
  15348. "production-ready. It may contain bugs and lack important features. Thus, "
  15349. "if you are looking for a stable production system that respects your freedom "
  15350. "as a computer user, a good solution at this point is to consider @url{http://"
  15351. "www.gnu.org/distros/free-distros.html, one of the more established GNU/Linux "
  15352. "distributions}. We hope you can soon switch to the GuixSD without fear, of "
  15353. "course. In the meantime, you can also keep using your distribution and try "
  15354. "out the package manager on top of it (@pxref{Installation})."
  15355. msgstr ""
  15356. #. type: Plain text
  15357. #: doc/guix.texi:8107
  15358. msgid ""
  15359. "Before you proceed with the installation, be aware of the following "
  15360. "noteworthy limitations applicable to version @value{VERSION}:"
  15361. msgstr ""
  15362. #. type: itemize
  15363. #: doc/guix.texi:8113
  15364. msgid ""
  15365. "The installation process does not include a graphical user interface and "
  15366. "requires familiarity with GNU/Linux (see the following subsections to get a "
  15367. "feel of what that means.)"
  15368. msgstr ""
  15369. #. type: itemize
  15370. #: doc/guix.texi:8116
  15371. msgid "Support for the Logical Volume Manager (LVM) is missing."
  15372. msgstr ""
  15373. #. type: itemize
  15374. #: doc/guix.texi:8120
  15375. msgid ""
  15376. "More and more system services are provided (@pxref{Services}), but some may "
  15377. "be missing."
  15378. msgstr ""
  15379. #. type: itemize
  15380. #: doc/guix.texi:8124
  15381. msgid ""
  15382. "More than 6,500 packages are available, but you might occasionally find that "
  15383. "a useful package is missing."
  15384. msgstr ""
  15385. #. type: itemize
  15386. #: doc/guix.texi:8129
  15387. msgid ""
  15388. "GNOME, Xfce, LXDE, and Enlightenment are available (@pxref{Desktop "
  15389. "Services}), as well as a number of X11 window managers. However, some "
  15390. "graphical applications may be missing, as well as KDE."
  15391. msgstr ""
  15392. #. type: Plain text
  15393. #: doc/guix.texi:8134
  15394. msgid ""
  15395. "You have been warned! But more than a disclaimer, this is an invitation to "
  15396. "report issues (and success stories!), and to join us in improving it. "
  15397. "@xref{Contributing}, for more info."
  15398. msgstr ""
  15399. #. type: cindex
  15400. #: doc/guix.texi:8139
  15401. #, no-wrap
  15402. msgid "hardware support on GuixSD"
  15403. msgstr ""
  15404. #. type: Plain text
  15405. #: doc/guix.texi:8148
  15406. msgid ""
  15407. "GNU@tie{}GuixSD focuses on respecting the user's computing freedom. It "
  15408. "builds around the kernel Linux-libre, which means that only hardware for "
  15409. "which free software drivers and firmware exist is supported. Nowadays, a "
  15410. "wide range of off-the-shelf hardware is supported on GNU/Linux-libre---from "
  15411. "keyboards to graphics cards to scanners and Ethernet controllers. "
  15412. "Unfortunately, there are still areas where hardware vendors deny users "
  15413. "control over their own computing, and such hardware is not supported on "
  15414. "GuixSD."
  15415. msgstr ""
  15416. #. type: cindex
  15417. #: doc/guix.texi:8149
  15418. #, no-wrap
  15419. msgid "WiFi, hardware support"
  15420. msgstr ""
  15421. #. type: Plain text
  15422. #: doc/guix.texi:8158
  15423. msgid ""
  15424. "One of the main areas where free drivers or firmware are lacking is WiFi "
  15425. "devices. WiFi devices known to work include those using Atheros chips "
  15426. "(AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre "
  15427. "driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core "
  15428. "Revision 5), which corresponds to the @code{b43-open} Linux-libre driver. "
  15429. "Free firmware exists for both and is available out-of-the-box on GuixSD, as "
  15430. "part of @var{%base-firmware} (@pxref{operating-system Reference, "
  15431. "@code{firmware}})."
  15432. msgstr ""
  15433. #. type: cindex
  15434. #: doc/guix.texi:8159
  15435. #, no-wrap
  15436. msgid "RYF, Respects Your Freedom"
  15437. msgstr ""
  15438. #. type: Plain text
  15439. #: doc/guix.texi:8165
  15440. msgid ""
  15441. "The @uref{https://www.fsf.org/, Free Software Foundation} runs @uref{https://"
  15442. "www.fsf.org/ryf, @dfn{Respects Your Freedom}} (RYF), a certification program "
  15443. "for hardware products that respect your freedom and your privacy and ensure "
  15444. "that you have control over your device. We encourage you to check the list "
  15445. "of RYF-certified devices."
  15446. msgstr ""
  15447. #. type: Plain text
  15448. #: doc/guix.texi:8169
  15449. msgid ""
  15450. "Another useful resource is the @uref{https://www.h-node.org/, H-Node} web "
  15451. "site. It contains a catalog of hardware devices with information about "
  15452. "their support in GNU/Linux."
  15453. msgstr ""
  15454. #. type: Plain text
  15455. #: doc/guix.texi:8178
  15456. msgid ""
  15457. "An ISO-9660 installation image that can be written to a USB stick or burnt "
  15458. "to a DVD can be downloaded from @indicateurl{ftp://alpha.gnu.org/gnu/guix/"
  15459. "guixsd-install-@value{VERSION}.@var{system}.iso.xz}, where @var{system} is "
  15460. "one of:"
  15461. msgstr ""
  15462. #. type: table
  15463. #: doc/guix.texi:8182
  15464. msgid "for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs;"
  15465. msgstr ""
  15466. #. type: table
  15467. #: doc/guix.texi:8185
  15468. msgid "for a 32-bit GNU/Linux system on Intel-compatible CPUs."
  15469. msgstr ""
  15470. #. type: Plain text
  15471. #: doc/guix.texi:8190
  15472. msgid ""
  15473. "Make sure to download the associated @file{.sig} file and to verify the "
  15474. "authenticity of the image against it, along these lines:"
  15475. msgstr ""
  15476. #. type: example
  15477. #: doc/guix.texi:8194
  15478. #, no-wrap
  15479. msgid ""
  15480. "$ wget ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig\n"
  15481. "$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig\n"
  15482. msgstr ""
  15483. #. type: Plain text
  15484. #: doc/guix.texi:8209
  15485. msgid ""
  15486. "This image contains the tools necessary for an installation. It is meant to "
  15487. "be copied @emph{as is} to a large-enough USB stick or DVD."
  15488. msgstr ""
  15489. #. type: unnumberedsubsubsec
  15490. #: doc/guix.texi:8210
  15491. #, no-wrap
  15492. msgid "Copying to a USB Stick"
  15493. msgstr ""
  15494. #. type: Plain text
  15495. #: doc/guix.texi:8213
  15496. msgid "To copy the image to a USB stick, follow these steps:"
  15497. msgstr ""
  15498. #. type: enumerate
  15499. #: doc/guix.texi:8217 doc/guix.texi:8242
  15500. msgid "Decompress the image using the @command{xz} command:"
  15501. msgstr ""
  15502. #. type: example
  15503. #: doc/guix.texi:8220 doc/guix.texi:8245
  15504. #, no-wrap
  15505. msgid "xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz\n"
  15506. msgstr ""
  15507. #. type: enumerate
  15508. #: doc/guix.texi:8226
  15509. msgid ""
  15510. "Insert a USB stick of 1@tie{}GiB or more into your machine, and determine "
  15511. "its device name. Assuming that the USB stick is known as @file{/dev/sdX}, "
  15512. "copy the image with:"
  15513. msgstr ""
  15514. #. type: example
  15515. #: doc/guix.texi:8230
  15516. #, no-wrap
  15517. msgid ""
  15518. "dd if=guixsd-install-@value{VERSION}.x86_64-linux.iso of=/dev/sdX\n"
  15519. "sync\n"
  15520. msgstr ""
  15521. #. type: enumerate
  15522. #: doc/guix.texi:8233
  15523. msgid "Access to @file{/dev/sdX} usually requires root privileges."
  15524. msgstr ""
  15525. #. type: unnumberedsubsubsec
  15526. #: doc/guix.texi:8235
  15527. #, no-wrap
  15528. msgid "Burning on a DVD"
  15529. msgstr ""
  15530. #. type: Plain text
  15531. #: doc/guix.texi:8238
  15532. msgid "To copy the image to a DVD, follow these steps:"
  15533. msgstr ""
  15534. #. type: enumerate
  15535. #: doc/guix.texi:8251
  15536. msgid ""
  15537. "Insert a blank DVD into your machine, and determine its device name. "
  15538. "Assuming that the DVD drive is known as @file{/dev/srX}, copy the image with:"
  15539. msgstr ""
  15540. #. type: example
  15541. #: doc/guix.texi:8254
  15542. #, no-wrap
  15543. msgid "growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.x86_64.iso\n"
  15544. msgstr ""
  15545. #. type: enumerate
  15546. #: doc/guix.texi:8257
  15547. msgid "Access to @file{/dev/srX} usually requires root privileges."
  15548. msgstr ""
  15549. #. type: unnumberedsubsubsec
  15550. #: doc/guix.texi:8259
  15551. #, no-wrap
  15552. msgid "Booting"
  15553. msgstr ""
  15554. #. type: Plain text
  15555. #: doc/guix.texi:8264
  15556. msgid ""
  15557. "Once this is done, you should be able to reboot the system and boot from the "
  15558. "USB stick or DVD. The latter usually requires you to get in the BIOS or "
  15559. "UEFI boot menu, where you can choose to boot from the USB stick."
  15560. msgstr ""
  15561. #. type: Plain text
  15562. #: doc/guix.texi:8267
  15563. msgid ""
  15564. "@xref{Installing GuixSD in a VM}, if, instead, you would like to install "
  15565. "GuixSD in a virtual machine (VM)."
  15566. msgstr ""
  15567. #. type: Plain text
  15568. #: doc/guix.texi:8279
  15569. msgid ""
  15570. "Once you have successfully booted your computer using the installation "
  15571. "medium, you should end up with a root prompt. Several console TTYs are "
  15572. "configured and can be used to run commands as root. TTY2 shows this "
  15573. "documentation, browsable using the Info reader commands (@pxref{Top,,, info-"
  15574. "stnd, Stand-alone GNU Info}). The installation system runs the GPM mouse "
  15575. "daemon, which allows you to select text with the left mouse button and to "
  15576. "paste it with the middle button."
  15577. msgstr ""
  15578. #. type: quotation
  15579. #: doc/guix.texi:8284
  15580. msgid ""
  15581. "Installation requires access to the Internet so that any missing "
  15582. "dependencies of your system configuration can be downloaded. See the "
  15583. "``Networking'' section below."
  15584. msgstr ""
  15585. #. type: Plain text
  15586. #: doc/guix.texi:8290
  15587. msgid ""
  15588. "The installation system includes many common tools needed for this task. "
  15589. "But it is also a full-blown GuixSD system, which means that you can install "
  15590. "additional packages, should you need it, using @command{guix package} "
  15591. "(@pxref{Invoking guix package})."
  15592. msgstr ""
  15593. #. type: subsubsection
  15594. #: doc/guix.texi:8291
  15595. #, no-wrap
  15596. msgid "Keyboard Layout"
  15597. msgstr ""
  15598. #. type: cindex
  15599. #: doc/guix.texi:8293 doc/guix.texi:10364
  15600. #, no-wrap
  15601. msgid "keyboard layout"
  15602. msgstr ""
  15603. #. type: Plain text
  15604. #: doc/guix.texi:8297
  15605. msgid ""
  15606. "The installation image uses the US qwerty keyboard layout. If you want to "
  15607. "change it, you can use the @command{loadkeys} command. For example, the "
  15608. "following command selects the Dvorak keyboard layout:"
  15609. msgstr ""
  15610. #. type: example
  15611. #: doc/guix.texi:8300
  15612. #, no-wrap
  15613. msgid "loadkeys dvorak\n"
  15614. msgstr ""
  15615. #. type: Plain text
  15616. #: doc/guix.texi:8305
  15617. msgid ""
  15618. "See the files under @file{/run/current-system/profile/share/keymaps} for a "
  15619. "list of available keyboard layouts. Run @command{man loadkeys} for more "
  15620. "information."
  15621. msgstr ""
  15622. #. type: subsubsection
  15623. #: doc/guix.texi:8306
  15624. #, no-wrap
  15625. msgid "Networking"
  15626. msgstr ""
  15627. #. type: Plain text
  15628. #: doc/guix.texi:8309
  15629. msgid "Run the following command see what your network interfaces are called:"
  15630. msgstr ""
  15631. #. type: example
  15632. #: doc/guix.texi:8312
  15633. #, no-wrap
  15634. msgid "ifconfig -a\n"
  15635. msgstr ""
  15636. #. type: Plain text
  15637. #: doc/guix.texi:8316
  15638. msgid "@dots{} or, using the GNU/Linux-specific @command{ip} command:"
  15639. msgstr ""
  15640. #. type: example
  15641. #: doc/guix.texi:8319
  15642. #, no-wrap
  15643. msgid "ip a\n"
  15644. msgstr ""
  15645. #. type: Plain text
  15646. #: doc/guix.texi:8326
  15647. msgid ""
  15648. "Wired interfaces have a name starting with @samp{e}; for example, the "
  15649. "interface corresponding to the first on-board Ethernet controller is called "
  15650. "@samp{eno1}. Wireless interfaces have a name starting with @samp{w}, like "
  15651. "@samp{w1p2s0}."
  15652. msgstr ""
  15653. #. type: item
  15654. #: doc/guix.texi:8328
  15655. #, no-wrap
  15656. msgid "Wired connection"
  15657. msgstr ""
  15658. #. type: table
  15659. #: doc/guix.texi:8331
  15660. msgid ""
  15661. "To configure a wired network run the following command, substituting "
  15662. "@var{interface} with the name of the wired interface you want to use."
  15663. msgstr ""
  15664. #. type: example
  15665. #: doc/guix.texi:8334
  15666. #, no-wrap
  15667. msgid "ifconfig @var{interface} up\n"
  15668. msgstr ""
  15669. #. type: item
  15670. #: doc/guix.texi:8336
  15671. #, no-wrap
  15672. msgid "Wireless connection"
  15673. msgstr ""
  15674. #. type: cindex
  15675. #: doc/guix.texi:8337 doc/guix.texi:10763
  15676. #, no-wrap
  15677. msgid "wireless"
  15678. msgstr ""
  15679. #. type: cindex
  15680. #: doc/guix.texi:8338 doc/guix.texi:10764
  15681. #, no-wrap
  15682. msgid "WiFi"
  15683. msgstr ""
  15684. #. type: table
  15685. #: doc/guix.texi:8343
  15686. msgid ""
  15687. "To configure wireless networking, you can create a configuration file for "
  15688. "the @command{wpa_supplicant} configuration tool (its location is not "
  15689. "important) using one of the available text editors such as @command{nano}:"
  15690. msgstr ""
  15691. #. type: example
  15692. #: doc/guix.texi:8346
  15693. #, no-wrap
  15694. msgid "nano wpa_supplicant.conf\n"
  15695. msgstr ""
  15696. #. type: table
  15697. #: doc/guix.texi:8351
  15698. msgid ""
  15699. "As an example, the following stanza can go to this file and will work for "
  15700. "many wireless networks, provided you give the actual SSID and passphrase for "
  15701. "the network you are connecting to:"
  15702. msgstr ""
  15703. #. type: example
  15704. #: doc/guix.texi:8358
  15705. #, no-wrap
  15706. msgid ""
  15707. "network=@{\n"
  15708. " ssid=\"@var{my-ssid}\"\n"
  15709. " key_mgmt=WPA-PSK\n"
  15710. " psk=\"the network's secret passphrase\"\n"
  15711. "@}\n"
  15712. msgstr ""
  15713. #. type: table
  15714. #: doc/guix.texi:8363
  15715. msgid ""
  15716. "Start the wireless service and run it in the background with the following "
  15717. "command (substitute @var{interface} with the name of the network interface "
  15718. "you want to use):"
  15719. msgstr ""
  15720. #. type: example
  15721. #: doc/guix.texi:8366
  15722. #, no-wrap
  15723. msgid "wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B\n"
  15724. msgstr ""
  15725. #. type: table
  15726. #: doc/guix.texi:8369
  15727. msgid "Run @command{man wpa_supplicant} for more information."
  15728. msgstr ""
  15729. #. type: cindex
  15730. #: doc/guix.texi:8371
  15731. #, no-wrap
  15732. msgid "DHCP"
  15733. msgstr ""
  15734. #. type: Plain text
  15735. #: doc/guix.texi:8374
  15736. msgid ""
  15737. "At this point, you need to acquire an IP address. On a network where IP "
  15738. "addresses are automatically assigned @i{via} DHCP, you can run:"
  15739. msgstr ""
  15740. #. type: example
  15741. #: doc/guix.texi:8377
  15742. #, no-wrap
  15743. msgid "dhclient -v @var{interface}\n"
  15744. msgstr ""
  15745. #. type: Plain text
  15746. #: doc/guix.texi:8380
  15747. msgid "Try to ping a server to see if networking is up and running:"
  15748. msgstr ""
  15749. #. type: example
  15750. #: doc/guix.texi:8383
  15751. #, no-wrap
  15752. msgid "ping -c 3 gnu.org\n"
  15753. msgstr ""
  15754. #. type: Plain text
  15755. #: doc/guix.texi:8387
  15756. msgid ""
  15757. "Setting up network access is almost always a requirement because the image "
  15758. "does not contain all the software and tools that may be needed."
  15759. msgstr ""
  15760. #. type: cindex
  15761. #: doc/guix.texi:8388
  15762. #, no-wrap
  15763. msgid "installing over SSH"
  15764. msgstr ""
  15765. #. type: Plain text
  15766. #: doc/guix.texi:8391
  15767. msgid ""
  15768. "If you want to, you can continue the installation remotely by starting an "
  15769. "SSH server:"
  15770. msgstr ""
  15771. #. type: example
  15772. #: doc/guix.texi:8394
  15773. #, no-wrap
  15774. msgid "herd start ssh-daemon\n"
  15775. msgstr ""
  15776. #. type: Plain text
  15777. #: doc/guix.texi:8398
  15778. msgid ""
  15779. "Make sure to either set a password with @command{passwd}, or configure "
  15780. "OpenSSH public key authentication before logging in."
  15781. msgstr ""
  15782. #. type: subsubsection
  15783. #: doc/guix.texi:8399
  15784. #, no-wrap
  15785. msgid "Disk Partitioning"
  15786. msgstr ""
  15787. #. type: Plain text
  15788. #: doc/guix.texi:8403
  15789. msgid ""
  15790. "Unless this has already been done, the next step is to partition, and then "
  15791. "format the target partition(s)."
  15792. msgstr ""
  15793. #. type: Plain text
  15794. #: doc/guix.texi:8408
  15795. msgid ""
  15796. "The installation image includes several partitioning tools, including Parted "
  15797. "(@pxref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk}, and "
  15798. "@command{cfdisk}. Run it and set up your disk with the partition layout you "
  15799. "want:"
  15800. msgstr ""
  15801. #. type: example
  15802. #: doc/guix.texi:8411
  15803. #, no-wrap
  15804. msgid "cfdisk\n"
  15805. msgstr ""
  15806. #. type: Plain text
  15807. #: doc/guix.texi:8417
  15808. msgid ""
  15809. "If your disk uses the GUID Partition Table (GPT) format and you plan to "
  15810. "install BIOS-based GRUB (which is the default), make sure a BIOS Boot "
  15811. "Partition is available (@pxref{BIOS installation,,, grub, GNU GRUB manual})."
  15812. msgstr ""
  15813. #. type: cindex
  15814. #: doc/guix.texi:8418
  15815. #, no-wrap
  15816. msgid "EFI, installation"
  15817. msgstr ""
  15818. #. type: cindex
  15819. #: doc/guix.texi:8419
  15820. #, no-wrap
  15821. msgid "UEFI, installation"
  15822. msgstr ""
  15823. #. type: cindex
  15824. #: doc/guix.texi:8420
  15825. #, no-wrap
  15826. msgid "ESP, EFI system partition"
  15827. msgstr ""
  15828. #. type: Plain text
  15829. #: doc/guix.texi:8424
  15830. msgid ""
  15831. "If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System "
  15832. "Partition} (ESP) is required. This partition should be mounted at @file{/"
  15833. "boot/efi} and must have the @code{esp} flag set. E.g., for @command{parted}:"
  15834. msgstr ""
  15835. #. type: example
  15836. #: doc/guix.texi:8427
  15837. #, no-wrap
  15838. msgid "parted /dev/sda set 1 esp on\n"
  15839. msgstr ""
  15840. #. type: Plain text
  15841. #: doc/guix.texi:8435
  15842. msgid ""
  15843. "Once you are done partitioning the target hard disk drive, you have to "
  15844. "create a file system on the relevant partition(s)@footnote{Currently GuixSD "
  15845. "only supports ext4 and btrfs file systems. In particular, code that reads "
  15846. "file system UUIDs and labels only works for these file system types.}. For "
  15847. "the ESP, if you have one and assuming it is @file{/dev/sda2}, run:"
  15848. msgstr ""
  15849. #. type: example
  15850. #: doc/guix.texi:8438
  15851. #, no-wrap
  15852. msgid "mkfs.fat -F32 /dev/sda2\n"
  15853. msgstr ""
  15854. #. type: Plain text
  15855. #: doc/guix.texi:8446
  15856. msgid ""
  15857. "Preferably, assign file systems a label so that you can easily and reliably "
  15858. "refer to them in @code{file-system} declarations (@pxref{File Systems}). "
  15859. "This is typically done using the @code{-L} option of @command{mkfs.ext4} and "
  15860. "related commands. So, assuming the target root partition lives at @file{/"
  15861. "dev/sda1}, a file system with the label @code{my-root} can be created with:"
  15862. msgstr ""
  15863. #. type: example
  15864. #: doc/guix.texi:8449
  15865. #, no-wrap
  15866. msgid "mkfs.ext4 -L my-root /dev/sda1\n"
  15867. msgstr ""
  15868. #. type: cindex
  15869. #: doc/guix.texi:8451 doc/guix.texi:8840
  15870. #, no-wrap
  15871. msgid "encrypted disk"
  15872. msgstr ""
  15873. #. type: Plain text
  15874. #: doc/guix.texi:8458
  15875. msgid ""
  15876. "If you are instead planning to encrypt the root partition, you can use the "
  15877. "Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html, "
  15878. "@uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}}, "
  15879. "@code{man cryptsetup}} for more information.) Assuming you want to store "
  15880. "the root partition on @file{/dev/sda1}, the command sequence would be along "
  15881. "these lines:"
  15882. msgstr ""
  15883. #. type: example
  15884. #: doc/guix.texi:8463
  15885. #, no-wrap
  15886. msgid ""
  15887. "cryptsetup luksFormat /dev/sda1\n"
  15888. "cryptsetup open --type luks /dev/sda1 my-partition\n"
  15889. "mkfs.ext4 -L my-root /dev/mapper/my-partition\n"
  15890. msgstr ""
  15891. #. type: Plain text
  15892. #: doc/guix.texi:8468
  15893. msgid ""
  15894. "Once that is done, mount the target file system under @file{/mnt} with a "
  15895. "command like (again, assuming @code{my-root} is the label of the root file "
  15896. "system):"
  15897. msgstr ""
  15898. #. type: example
  15899. #: doc/guix.texi:8471
  15900. #, no-wrap
  15901. msgid "mount LABEL=my-root /mnt\n"
  15902. msgstr ""
  15903. #. type: Plain text
  15904. #: doc/guix.texi:8477
  15905. msgid ""
  15906. "Also mount any other file systems you would like to use on the target system "
  15907. "relative to this path. If you have @file{/boot} on a separate partition for "
  15908. "example, mount it at @file{/mnt/boot} now so it is found by @code{guix "
  15909. "system init} afterwards."
  15910. msgstr ""
  15911. #. type: Plain text
  15912. #: doc/guix.texi:8482
  15913. msgid ""
  15914. "Finally, if you plan to use one or more swap partitions (@pxref{Memory "
  15915. "Concepts, swap space,, libc, The GNU C Library Reference Manual}), make sure "
  15916. "to initialize them with @command{mkswap}. Assuming you have one swap "
  15917. "partition on @file{/dev/sda2}, you would run:"
  15918. msgstr ""
  15919. #. type: example
  15920. #: doc/guix.texi:8486
  15921. #, no-wrap
  15922. msgid ""
  15923. "mkswap /dev/sda2\n"
  15924. "swapon /dev/sda2\n"
  15925. msgstr ""
  15926. #. type: Plain text
  15927. #: doc/guix.texi:8494
  15928. msgid ""
  15929. "Alternatively, you may use a swap file. For example, assuming that in the "
  15930. "new system you want to use the file @file{/swapfile} as a swap file, you "
  15931. "would run@footnote{This example will work for many types of file systems (e."
  15932. "g., ext4). However, for copy-on-write file systems (e.g., btrfs), the "
  15933. "required steps may be different. For details, see the manual pages for "
  15934. "@command{mkswap} and @command{swapon}.}:"
  15935. msgstr ""
  15936. #. type: example
  15937. #: doc/guix.texi:8502
  15938. #, no-wrap
  15939. msgid ""
  15940. "# This is 10 GiB of swap space. Adjust \"count\" to change the size.\n"
  15941. "dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240\n"
  15942. "# For security, make the file readable and writable only by root.\n"
  15943. "chmod 600 /mnt/swapfile\n"
  15944. "mkswap /mnt/swapfile\n"
  15945. "swapon /mnt/swapfile\n"
  15946. msgstr ""
  15947. #. type: Plain text
  15948. #: doc/guix.texi:8507
  15949. msgid ""
  15950. "Note that if you have encrypted the root partition and created a swap file "
  15951. "in its file system as described above, then the encryption also protects the "
  15952. "swap file, just like any other file in that file system."
  15953. msgstr ""
  15954. #. type: Plain text
  15955. #: doc/guix.texi:8513
  15956. msgid ""
  15957. "With the target partitions ready and the target root mounted on @file{/mnt}, "
  15958. "we're ready to go. First, run:"
  15959. msgstr ""
  15960. #. type: example
  15961. #: doc/guix.texi:8516
  15962. #, no-wrap
  15963. msgid "herd start cow-store /mnt\n"
  15964. msgstr ""
  15965. #. type: Plain text
  15966. #: doc/guix.texi:8523
  15967. msgid ""
  15968. "This makes @file{/gnu/store} copy-on-write, such that packages added to it "
  15969. "during the installation phase are written to the target disk on @file{/mnt} "
  15970. "rather than kept in memory. This is necessary because the first phase of "
  15971. "the @command{guix system init} command (see below) entails downloads or "
  15972. "builds to @file{/gnu/store} which, initially, is an in-memory file system."
  15973. msgstr ""
  15974. #. type: Plain text
  15975. #: doc/guix.texi:8534
  15976. msgid ""
  15977. "Next, you have to edit a file and provide the declaration of the operating "
  15978. "system to be installed. To that end, the installation system comes with "
  15979. "three text editors. We recommend GNU nano (@pxref{Top,,, nano, GNU nano "
  15980. "Manual}), which supports syntax highlighting and parentheses matching; other "
  15981. "editors include GNU Zile (an Emacs clone), and nvi (a clone of the original "
  15982. "BSD @command{vi} editor). We strongly recommend storing that file on the "
  15983. "target root file system, say, as @file{/mnt/etc/config.scm}. Failing to do "
  15984. "that, you will have lost your configuration file once you have rebooted into "
  15985. "the newly-installed system."
  15986. msgstr ""
  15987. #. type: Plain text
  15988. #: doc/guix.texi:8541
  15989. msgid ""
  15990. "@xref{Using the Configuration System}, for an overview of the configuration "
  15991. "file. The example configurations discussed in that section are available "
  15992. "under @file{/etc/configuration} in the installation image. Thus, to get "
  15993. "started with a system configuration providing a graphical display server (a "
  15994. "``desktop'' system), you can run something along these lines:"
  15995. msgstr ""
  15996. #. type: example
  15997. #: doc/guix.texi:8546
  15998. #, no-wrap
  15999. msgid ""
  16000. "# mkdir /mnt/etc\n"
  16001. "# cp /etc/configuration/desktop.scm /mnt/etc/config.scm\n"
  16002. "# nano /mnt/etc/config.scm\n"
  16003. msgstr ""
  16004. #. type: Plain text
  16005. #: doc/guix.texi:8550
  16006. msgid ""
  16007. "You should pay attention to what your configuration file contains, and in "
  16008. "particular:"
  16009. msgstr ""
  16010. #. type: itemize
  16011. #: doc/guix.texi:8560
  16012. msgid ""
  16013. "Make sure the @code{bootloader-configuration} form refers to the target you "
  16014. "want to install GRUB on. It should mention @code{grub-bootloader} if you "
  16015. "are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for "
  16016. "newer UEFI systems. For legacy systems, the @code{target} field names a "
  16017. "device, like @code{/dev/sda}; for UEFI systems it names a path to a mounted "
  16018. "EFI partition, like @code{/boot/efi}, and do make sure the path is actually "
  16019. "mounted."
  16020. msgstr ""
  16021. #. type: itemize
  16022. #: doc/guix.texi:8566
  16023. msgid ""
  16024. "Be sure that your file system labels match the value of their respective "
  16025. "@code{device} fields in your @code{file-system} configuration, assuming your "
  16026. "@code{file-system} configuration sets the value of @code{title} to "
  16027. "@code{'label}."
  16028. msgstr ""
  16029. #. type: itemize
  16030. #: doc/guix.texi:8570
  16031. msgid ""
  16032. "If there are encrypted or RAID partitions, make sure to add a @code{mapped-"
  16033. "devices} field to describe them (@pxref{Mapped Devices})."
  16034. msgstr ""
  16035. #. type: Plain text
  16036. #: doc/guix.texi:8575
  16037. msgid ""
  16038. "Once you are done preparing the configuration file, the new system must be "
  16039. "initialized (remember that the target root file system is mounted under "
  16040. "@file{/mnt}):"
  16041. msgstr ""
  16042. #. type: example
  16043. #: doc/guix.texi:8578
  16044. #, no-wrap
  16045. msgid "guix system init /mnt/etc/config.scm /mnt\n"
  16046. msgstr ""
  16047. #. type: Plain text
  16048. #: doc/guix.texi:8585
  16049. msgid ""
  16050. "This copies all the necessary files and installs GRUB on @file{/dev/sdX}, "
  16051. "unless you pass the @option{--no-bootloader} option. For more information, "
  16052. "@pxref{Invoking guix system}. This command may trigger downloads or builds "
  16053. "of missing packages, which can take some time."
  16054. msgstr ""
  16055. #. type: Plain text
  16056. #: doc/guix.texi:8592
  16057. msgid ""
  16058. "Once that command has completed---and hopefully succeeded!---you can run "
  16059. "@command{reboot} and boot into the new system. The @code{root} password in "
  16060. "the new system is initially empty; other users' passwords need to be "
  16061. "initialized by running the @command{passwd} command as @code{root}, unless "
  16062. "your configuration specifies otherwise (@pxref{user-account-password, user "
  16063. "account passwords})."
  16064. msgstr ""
  16065. #. type: cindex
  16066. #: doc/guix.texi:8593
  16067. #, no-wrap
  16068. msgid "upgrading GuixSD"
  16069. msgstr ""
  16070. #. type: Plain text
  16071. #: doc/guix.texi:8600
  16072. msgid ""
  16073. "From then on, you can update GuixSD whenever you want by running "
  16074. "@command{guix pull} as @code{root} (@pxref{Invoking guix pull}), and then "
  16075. "running @command{guix system reconfigure} to build a new system generation "
  16076. "with the latest packages and services (@pxref{Invoking guix system}). We "
  16077. "recommend doing that regularly so that your system includes the latest "
  16078. "security updates (@pxref{Security Updates})."
  16079. msgstr ""
  16080. #. type: Plain text
  16081. #: doc/guix.texi:8604
  16082. msgid ""
  16083. "Join us on @code{#guix} on the Freenode IRC network or on @file{guix-"
  16084. "devel@@gnu.org} to share your experience---good or not so good."
  16085. msgstr ""
  16086. #. type: subsection
  16087. #: doc/guix.texi:8606
  16088. #, no-wrap
  16089. msgid "Installing GuixSD in a Virtual Machine"
  16090. msgstr ""
  16091. #. type: cindex
  16092. #: doc/guix.texi:8608
  16093. #, no-wrap
  16094. msgid "virtual machine, GuixSD installation"
  16095. msgstr ""
  16096. #. type: cindex
  16097. #: doc/guix.texi:8609
  16098. #, no-wrap
  16099. msgid "virtual private server (VPS)"
  16100. msgstr ""
  16101. #. type: cindex
  16102. #: doc/guix.texi:8610
  16103. #, no-wrap
  16104. msgid "VPS (virtual private server)"
  16105. msgstr ""
  16106. #. type: Plain text
  16107. #: doc/guix.texi:8614
  16108. msgid ""
  16109. "If you'd like to install GuixSD in a virtual machine (VM) or on a virtual "
  16110. "private server (VPS) rather than on your beloved machine, this section is "
  16111. "for you."
  16112. msgstr ""
  16113. #. type: Plain text
  16114. #: doc/guix.texi:8617
  16115. msgid ""
  16116. "To boot a @uref{http://qemu.org/,QEMU} VM for installing GuixSD in a disk "
  16117. "image, follow these steps:"
  16118. msgstr ""
  16119. #. type: enumerate
  16120. #: doc/guix.texi:8622
  16121. msgid ""
  16122. "First, retrieve and decompress the GuixSD installation image as described "
  16123. "previously (@pxref{USB Stick and DVD Installation})."
  16124. msgstr ""
  16125. #. type: enumerate
  16126. #: doc/guix.texi:8626
  16127. msgid ""
  16128. "Create a disk image that will hold the installed system. To make a qcow2-"
  16129. "formatted disk image, use the @command{qemu-img} command:"
  16130. msgstr ""
  16131. #. type: example
  16132. #: doc/guix.texi:8629
  16133. #, no-wrap
  16134. msgid "qemu-img create -f qcow2 guixsd.img 50G\n"
  16135. msgstr ""
  16136. #. type: enumerate
  16137. #: doc/guix.texi:8633
  16138. msgid ""
  16139. "The resulting file will be much smaller than 50 GB (typically less than 1 "
  16140. "MB), but it will grow as the virtualized storage device is filled up."
  16141. msgstr ""
  16142. #. type: enumerate
  16143. #: doc/guix.texi:8636
  16144. msgid "Boot the USB installation image in an VM:"
  16145. msgstr ""
  16146. #. type: example
  16147. #: doc/guix.texi:8642
  16148. #, no-wrap
  16149. msgid ""
  16150. "qemu-system-x86_64 -m 1024 -smp 1 \\\n"
  16151. " -net user -net nic,model=virtio -boot menu=on \\\n"
  16152. " -drive file=guixsd-install-@value{VERSION}.@var{system}.iso \\\n"
  16153. " -drive file=guixsd.img\n"
  16154. msgstr ""
  16155. #. type: enumerate
  16156. #: doc/guix.texi:8645
  16157. msgid "The ordering of the drives matters."
  16158. msgstr ""
  16159. #. type: enumerate
  16160. #: doc/guix.texi:8649
  16161. msgid ""
  16162. "In the VM console, quickly press the @kbd{F12} key to enter the boot menu. "
  16163. "Then press the @kbd{2} key and the @kbd{RET} key to validate your selection."
  16164. msgstr ""
  16165. #. type: enumerate
  16166. #: doc/guix.texi:8653
  16167. msgid ""
  16168. "You're now root in the VM, proceed with the installation process. "
  16169. "@xref{Preparing for Installation}, and follow the instructions."
  16170. msgstr ""
  16171. #. type: Plain text
  16172. #: doc/guix.texi:8658
  16173. msgid ""
  16174. "Once installation is complete, you can boot the system that's on your "
  16175. "@file{guixsd.img} image. @xref{Running GuixSD in a VM}, for how to do that."
  16176. msgstr ""
  16177. #. type: cindex
  16178. #: doc/guix.texi:8662
  16179. #, no-wrap
  16180. msgid "installation image"
  16181. msgstr ""
  16182. #. type: Plain text
  16183. #: doc/guix.texi:8665
  16184. msgid ""
  16185. "The installation image described above was built using the @command{guix "
  16186. "system} command, specifically:"
  16187. msgstr ""
  16188. #. type: example
  16189. #: doc/guix.texi:8668
  16190. #, no-wrap
  16191. msgid "guix system disk-image gnu/system/install.scm\n"
  16192. msgstr ""
  16193. #. type: Plain text
  16194. #: doc/guix.texi:8673
  16195. msgid ""
  16196. "Have a look at @file{gnu/system/install.scm} in the source tree, and see "
  16197. "also @ref{Invoking guix system} for more information about the installation "
  16198. "image."
  16199. msgstr ""
  16200. #. type: cindex
  16201. #: doc/guix.texi:8677
  16202. #, no-wrap
  16203. msgid "system configuration"
  16204. msgstr ""
  16205. #. type: Plain text
  16206. #: doc/guix.texi:8683
  16207. msgid ""
  16208. "The Guix System Distribution supports a consistent whole-system "
  16209. "configuration mechanism. By that we mean that all aspects of the global "
  16210. "system configuration---such as the available system services, timezone and "
  16211. "locale settings, user accounts---are declared in a single place. Such a "
  16212. "@dfn{system configuration} can be @dfn{instantiated}---i.e., effected."
  16213. msgstr ""
  16214. #. type: Plain text
  16215. #: doc/guix.texi:8693
  16216. msgid ""
  16217. "One of the advantages of putting all the system configuration under the "
  16218. "control of Guix is that it supports transactional system upgrades, and makes "
  16219. "it possible to roll back to a previous system instantiation, should "
  16220. "something go wrong with the new one (@pxref{Features}). Another advantage "
  16221. "is that it makes it easy to replicate the exact same configuration across "
  16222. "different machines, or at different points in time, without having to resort "
  16223. "to additional administration tools layered on top of the own tools of the "
  16224. "system."
  16225. msgstr ""
  16226. #. type: Plain text
  16227. #: doc/guix.texi:8698
  16228. msgid ""
  16229. "This section describes this mechanism. First we focus on the system "
  16230. "administrator's viewpoint---explaining how the system is configured and "
  16231. "instantiated. Then we show how this mechanism can be extended, for instance "
  16232. "to support new system services."
  16233. msgstr ""
  16234. #. type: Plain text
  16235. #: doc/guix.texi:8725
  16236. msgid ""
  16237. "The operating system is configured by providing an @code{operating-system} "
  16238. "declaration in a file that can then be passed to the @command{guix system} "
  16239. "command (@pxref{Invoking guix system}). A simple setup, with the default "
  16240. "system services, the default Linux-Libre kernel, initial RAM disk, and boot "
  16241. "loader looks like this:"
  16242. msgstr ""
  16243. #. type: findex
  16244. #: doc/guix.texi:8726
  16245. #, no-wrap
  16246. msgid "operating-system"
  16247. msgstr ""
  16248. #. type: include
  16249. #: doc/guix.texi:8728
  16250. #, no-wrap
  16251. msgid "os-config-bare-bones.texi"
  16252. msgstr ""
  16253. #. type: Plain text
  16254. #: doc/guix.texi:8735
  16255. msgid ""
  16256. "This example should be self-describing. Some of the fields defined above, "
  16257. "such as @code{host-name} and @code{bootloader}, are mandatory. Others, such "
  16258. "as @code{packages} and @code{services}, can be omitted, in which case they "
  16259. "get a default value."
  16260. msgstr ""
  16261. #. type: Plain text
  16262. #: doc/guix.texi:8740
  16263. msgid ""
  16264. "Below we discuss the effect of some of the most important fields "
  16265. "(@pxref{operating-system Reference}, for details about all the available "
  16266. "fields), and how to @dfn{instantiate} the operating system using "
  16267. "@command{guix system}."
  16268. msgstr ""
  16269. #. type: unnumberedsubsubsec
  16270. #: doc/guix.texi:8741
  16271. #, no-wrap
  16272. msgid "Globally-Visible Packages"
  16273. msgstr ""
  16274. #. type: vindex
  16275. #: doc/guix.texi:8743
  16276. #, no-wrap
  16277. msgid "%base-packages"
  16278. msgstr ""
  16279. #. type: Plain text
  16280. #: doc/guix.texi:8756
  16281. msgid ""
  16282. "The @code{packages} field lists packages that will be globally visible on "
  16283. "the system, for all user accounts---i.e., in every user's @code{PATH} "
  16284. "environment variable---in addition to the per-user profiles (@pxref{Invoking "
  16285. "guix package}). The @var{%base-packages} variable provides all the tools "
  16286. "one would expect for basic user and administrator tasks---including the GNU "
  16287. "Core Utilities, the GNU Networking Utilities, the GNU Zile lightweight text "
  16288. "editor, @command{find}, @command{grep}, etc. The example above adds "
  16289. "GNU@tie{}Screen and OpenSSH to those, taken from the @code{(gnu packages "
  16290. "screen)} and @code{(gnu packages ssh)} modules (@pxref{Package Modules}). "
  16291. "The @code{(list package output)} syntax can be used to add a specific output "
  16292. "of a package:"
  16293. msgstr ""
  16294. #. type: lisp
  16295. #: doc/guix.texi:8760
  16296. #, no-wrap
  16297. msgid ""
  16298. "(use-modules (gnu packages))\n"
  16299. "(use-modules (gnu packages dns))\n"
  16300. "\n"
  16301. msgstr ""
  16302. #. type: lisp
  16303. #: doc/guix.texi:8765
  16304. #, no-wrap
  16305. msgid ""
  16306. "(operating-system\n"
  16307. " ;; ...\n"
  16308. " (packages (cons (list bind \"utils\")\n"
  16309. " %base-packages)))\n"
  16310. msgstr ""
  16311. #. type: findex
  16312. #: doc/guix.texi:8767
  16313. #, no-wrap
  16314. msgid "specification->package"
  16315. msgstr ""
  16316. #. type: Plain text
  16317. #: doc/guix.texi:8776
  16318. msgid ""
  16319. "Referring to packages by variable name, like @code{bind} above, has the "
  16320. "advantage of being unambiguous; it also allows typos and such to be "
  16321. "diagnosed right away as ``unbound variables''. The downside is that one "
  16322. "needs to know which module defines which package, and to augment the "
  16323. "@code{use-package-modules} line accordingly. To avoid that, one can use the "
  16324. "@code{specification->package} procedure of the @code{(gnu packages)} module, "
  16325. "which returns the best package for a given name or name and version:"
  16326. msgstr ""
  16327. #. type: lisp
  16328. #: doc/guix.texi:8779
  16329. #, no-wrap
  16330. msgid ""
  16331. "(use-modules (gnu packages))\n"
  16332. "\n"
  16333. msgstr ""
  16334. #. type: lisp
  16335. #: doc/guix.texi:8785
  16336. #, no-wrap
  16337. msgid ""
  16338. "(operating-system\n"
  16339. " ;; ...\n"
  16340. " (packages (append (map specification->package\n"
  16341. " '(\"tcpdump\" \"htop\" \"gnupg@@2.0\"))\n"
  16342. " %base-packages)))\n"
  16343. msgstr ""
  16344. #. type: unnumberedsubsubsec
  16345. #: doc/guix.texi:8787
  16346. #, no-wrap
  16347. msgid "System Services"
  16348. msgstr ""
  16349. #. type: cindex
  16350. #: doc/guix.texi:8789 doc/guix.texi:19933 doc/guix.texi:20851
  16351. #, no-wrap
  16352. msgid "services"
  16353. msgstr ""
  16354. #. type: vindex
  16355. #: doc/guix.texi:8790
  16356. #, no-wrap
  16357. msgid "%base-services"
  16358. msgstr ""
  16359. #. type: Plain text
  16360. #: doc/guix.texi:8800
  16361. msgid ""
  16362. "The @code{services} field lists @dfn{system services} to be made available "
  16363. "when the system starts (@pxref{Services}). The @code{operating-system} "
  16364. "declaration above specifies that, in addition to the basic services, we want "
  16365. "the @command{lshd} secure shell daemon listening on port 2222 "
  16366. "(@pxref{Networking Services, @code{lsh-service}}). Under the hood, "
  16367. "@code{lsh-service} arranges so that @code{lshd} is started with the right "
  16368. "command-line options, possibly with supporting configuration files generated "
  16369. "as needed (@pxref{Defining Services})."
  16370. msgstr ""
  16371. #. type: cindex
  16372. #: doc/guix.texi:8801
  16373. #, no-wrap
  16374. msgid "customization, of services"
  16375. msgstr ""
  16376. #. type: findex
  16377. #: doc/guix.texi:8802
  16378. #, no-wrap
  16379. msgid "modify-services"
  16380. msgstr ""
  16381. #. type: Plain text
  16382. #: doc/guix.texi:8806
  16383. msgid ""
  16384. "Occasionally, instead of using the base services as is, you will want to "
  16385. "customize them. To do this, use @code{modify-services} (@pxref{Service "
  16386. "Reference, @code{modify-services}}) to modify the list."
  16387. msgstr ""
  16388. #. type: Plain text
  16389. #: doc/guix.texi:8811
  16390. msgid ""
  16391. "For example, suppose you want to modify @code{guix-daemon} and Mingetty (the "
  16392. "console log-in) in the @var{%base-services} list (@pxref{Base Services, "
  16393. "@code{%base-services}}). To do that, you can write the following in your "
  16394. "operating system declaration:"
  16395. msgstr ""
  16396. #. type: lisp
  16397. #: doc/guix.texi:8824
  16398. #, no-wrap
  16399. msgid ""
  16400. "(define %my-services\n"
  16401. " ;; My very own list of services.\n"
  16402. " (modify-services %base-services\n"
  16403. " (guix-service-type config =>\n"
  16404. " (guix-configuration\n"
  16405. " (inherit config)\n"
  16406. " (use-substitutes? #f)\n"
  16407. " (extra-options '(\"--gc-keep-derivations\"))))\n"
  16408. " (mingetty-service-type config =>\n"
  16409. " (mingetty-configuration\n"
  16410. " (inherit config)))))\n"
  16411. "\n"
  16412. msgstr ""
  16413. #. type: lisp
  16414. #: doc/guix.texi:8828
  16415. #, no-wrap
  16416. msgid ""
  16417. "(operating-system\n"
  16418. " ;; @dots{}\n"
  16419. " (services %my-services))\n"
  16420. msgstr ""
  16421. #. type: Plain text
  16422. #: doc/guix.texi:8839
  16423. msgid ""
  16424. "This changes the configuration---i.e., the service parameters---of the "
  16425. "@code{guix-service-type} instance, and that of all the @code{mingetty-"
  16426. "service-type} instances in the @var{%base-services} list. Observe how this "
  16427. "is accomplished: first, we arrange for the original configuration to be "
  16428. "bound to the identifier @code{config} in the @var{body}, and then we write "
  16429. "the @var{body} so that it evaluates to the desired configuration. In "
  16430. "particular, notice how we use @code{inherit} to create a new configuration "
  16431. "which has the same values as the old configuration, but with a few "
  16432. "modifications."
  16433. msgstr ""
  16434. #. type: Plain text
  16435. #: doc/guix.texi:8846
  16436. msgid ""
  16437. "The configuration for a typical ``desktop'' usage, with an encrypted root "
  16438. "partition, the X11 display server, GNOME and Xfce (users can choose which of "
  16439. "these desktop environments to use at the log-in screen by pressing "
  16440. "@kbd{F1}), network management, power management, and more, would look like "
  16441. "this:"
  16442. msgstr ""
  16443. #. type: include
  16444. #: doc/guix.texi:8848
  16445. #, no-wrap
  16446. msgid "os-config-desktop.texi"
  16447. msgstr ""
  16448. #. type: cindex
  16449. #: doc/guix.texi:8851
  16450. #, no-wrap
  16451. msgid "UEFI"
  16452. msgstr ""
  16453. #. type: Plain text
  16454. #: doc/guix.texi:8854
  16455. msgid ""
  16456. "A graphical UEFI system with a choice of lightweight window managers instead "
  16457. "of full-blown desktop environments would look like this:"
  16458. msgstr ""
  16459. #. type: include
  16460. #: doc/guix.texi:8856
  16461. #, no-wrap
  16462. msgid "os-config-lightweight-desktop.texi"
  16463. msgstr ""
  16464. #. type: Plain text
  16465. #: doc/guix.texi:8862
  16466. msgid ""
  16467. "This example refers to the @file{/boot/efi} file system by its UUID, "
  16468. "@code{1234-ABCD}. Replace this UUID with the right UUID on your system, as "
  16469. "returned by the @command{blkid} command."
  16470. msgstr ""
  16471. #. type: Plain text
  16472. #: doc/guix.texi:8866
  16473. msgid ""
  16474. "@xref{Desktop Services}, for the exact list of services provided by "
  16475. "@var{%desktop-services}. @xref{X.509 Certificates}, for background "
  16476. "information about the @code{nss-certs} package that is used here."
  16477. msgstr ""
  16478. #. type: Plain text
  16479. #: doc/guix.texi:8873
  16480. msgid ""
  16481. "Again, @var{%desktop-services} is just a list of service objects. If you "
  16482. "want to remove services from there, you can do so using the procedures for "
  16483. "list filtering (@pxref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile "
  16484. "Reference Manual}). For instance, the following expression returns a list "
  16485. "that contains all the services in @var{%desktop-services} minus the Avahi "
  16486. "service:"
  16487. msgstr ""
  16488. #. type: example
  16489. #: doc/guix.texi:8878
  16490. #, no-wrap
  16491. msgid ""
  16492. "(remove (lambda (service)\n"
  16493. " (eq? (service-kind service) avahi-service-type))\n"
  16494. " %desktop-services)\n"
  16495. msgstr ""
  16496. #. type: unnumberedsubsubsec
  16497. #: doc/guix.texi:8880
  16498. #, no-wrap
  16499. msgid "Instantiating the System"
  16500. msgstr ""
  16501. #. type: Plain text
  16502. #: doc/guix.texi:8887
  16503. msgid ""
  16504. "Assuming the @code{operating-system} declaration is stored in the @file{my-"
  16505. "system-config.scm} file, the @command{guix system reconfigure my-system-"
  16506. "config.scm} command instantiates that configuration, and makes it the "
  16507. "default GRUB boot entry (@pxref{Invoking guix system})."
  16508. msgstr ""
  16509. #. type: Plain text
  16510. #: doc/guix.texi:8895
  16511. msgid ""
  16512. "The normal way to change the system configuration is by updating this file "
  16513. "and re-running @command{guix system reconfigure}. One should never have to "
  16514. "touch files in @file{/etc} or to run commands that modify the system state "
  16515. "such as @command{useradd} or @command{grub-install}. In fact, you must "
  16516. "avoid that since that would not only void your warranty but also prevent you "
  16517. "from rolling back to previous versions of your system, should you ever need "
  16518. "to."
  16519. msgstr ""
  16520. #. type: cindex
  16521. #: doc/guix.texi:8896
  16522. #, no-wrap
  16523. msgid "roll-back, of the operating system"
  16524. msgstr ""
  16525. #. type: Plain text
  16526. #: doc/guix.texi:8906
  16527. msgid ""
  16528. "Speaking of roll-back, each time you run @command{guix system reconfigure}, "
  16529. "a new @dfn{generation} of the system is created---without modifying or "
  16530. "deleting previous generations. Old system generations get an entry in the "
  16531. "bootloader boot menu, allowing you to boot them in case something went wrong "
  16532. "with the latest generation. Reassuring, no? The @command{guix system list-"
  16533. "generations} command lists the system generations available on disk. It is "
  16534. "also possible to roll back the system via the commands @command{guix system "
  16535. "roll-back} and @command{guix system switch-generation}."
  16536. msgstr ""
  16537. #. type: Plain text
  16538. #: doc/guix.texi:8912
  16539. msgid ""
  16540. "Although the command @command{guix system reconfigure} will not modify "
  16541. "previous generations, must take care when the current generation is not the "
  16542. "latest (e.g., after invoking @command{guix system roll-back}), since the "
  16543. "operation might overwrite a later generation (@pxref{Invoking guix system})."
  16544. msgstr ""
  16545. #. type: unnumberedsubsubsec
  16546. #: doc/guix.texi:8913
  16547. #, no-wrap
  16548. msgid "The Programming Interface"
  16549. msgstr ""
  16550. #. type: Plain text
  16551. #: doc/guix.texi:8918
  16552. msgid ""
  16553. "At the Scheme level, the bulk of an @code{operating-system} declaration is "
  16554. "instantiated with the following monadic procedure (@pxref{The Store Monad}):"
  16555. msgstr ""
  16556. #. type: deffn
  16557. #: doc/guix.texi:8919
  16558. #, no-wrap
  16559. msgid "{Monadic Procedure} operating-system-derivation os"
  16560. msgstr ""
  16561. #. type: deffn
  16562. #: doc/guix.texi:8922
  16563. msgid ""
  16564. "Return a derivation that builds @var{os}, an @code{operating-system} object "
  16565. "(@pxref{Derivations})."
  16566. msgstr ""
  16567. #. type: deffn
  16568. #: doc/guix.texi:8926
  16569. msgid ""
  16570. "The output of the derivation is a single directory that refers to all the "
  16571. "packages, configuration files, and other supporting files needed to "
  16572. "instantiate @var{os}."
  16573. msgstr ""
  16574. #. type: Plain text
  16575. #: doc/guix.texi:8931
  16576. msgid ""
  16577. "This procedure is provided by the @code{(gnu system)} module. Along with "
  16578. "@code{(gnu services)} (@pxref{Services}), this module contains the guts of "
  16579. "GuixSD. Make sure to visit it!"
  16580. msgstr ""
  16581. #. type: subsection
  16582. #: doc/guix.texi:8934
  16583. #, no-wrap
  16584. msgid "@code{operating-system} Reference"
  16585. msgstr ""
  16586. #. type: Plain text
  16587. #: doc/guix.texi:8939
  16588. msgid ""
  16589. "This section summarizes all the options available in @code{operating-system} "
  16590. "declarations (@pxref{Using the Configuration System})."
  16591. msgstr ""
  16592. #. type: deftp
  16593. #: doc/guix.texi:8940
  16594. #, no-wrap
  16595. msgid "{Data Type} operating-system"
  16596. msgstr ""
  16597. #. type: deftp
  16598. #: doc/guix.texi:8944
  16599. msgid ""
  16600. "This is the data type representing an operating system configuration. By "
  16601. "that, we mean all the global system configuration, not per-user "
  16602. "configuration (@pxref{Using the Configuration System})."
  16603. msgstr ""
  16604. #. type: item
  16605. #: doc/guix.texi:8946
  16606. #, no-wrap
  16607. msgid "@code{kernel} (default: @var{linux-libre})"
  16608. msgstr ""
  16609. #. type: table
  16610. #: doc/guix.texi:8950
  16611. msgid ""
  16612. "The package object of the operating system kernel to use@footnote{Currently "
  16613. "only the Linux-libre kernel is supported. In the future, it will be "
  16614. "possible to use the GNU@tie{}Hurd.}."
  16615. msgstr ""
  16616. #. type: item
  16617. #: doc/guix.texi:8951
  16618. #, no-wrap
  16619. msgid "@code{kernel-arguments} (default: @code{'()})"
  16620. msgstr ""
  16621. #. type: table
  16622. #: doc/guix.texi:8954
  16623. msgid ""
  16624. "List of strings or gexps representing additional arguments to pass on the "
  16625. "command-line of the kernel---e.g., @code{(\"console=ttyS0\")}."
  16626. msgstr ""
  16627. #. type: code{#1}
  16628. #: doc/guix.texi:8955 doc/guix.texi:20130 doc/guix.texi:20149
  16629. #, no-wrap
  16630. msgid "bootloader"
  16631. msgstr ""
  16632. #. type: table
  16633. #: doc/guix.texi:8957
  16634. msgid ""
  16635. "The system bootloader configuration object. @xref{Bootloader Configuration}."
  16636. msgstr ""
  16637. #. type: item
  16638. #: doc/guix.texi:8958
  16639. #, no-wrap
  16640. msgid "@code{initrd-modules} (default: @code{%base-initrd-modules})"
  16641. msgstr ""
  16642. #. type: code{#1}
  16643. #: doc/guix.texi:8959 doc/guix.texi:19970 doc/guix.texi:20073
  16644. #: doc/guix.texi:20268
  16645. #, no-wrap
  16646. msgid "initrd"
  16647. msgstr ""
  16648. #. type: cindex
  16649. #: doc/guix.texi:8960 doc/guix.texi:19971 doc/guix.texi:20074
  16650. #, no-wrap
  16651. msgid "initial RAM disk"
  16652. msgstr ""
  16653. #. type: table
  16654. #: doc/guix.texi:8963
  16655. msgid ""
  16656. "The list of Linux kernel modules that need to be available in the initial "
  16657. "RAM disk. @xref{Initial RAM Disk}."
  16658. msgstr ""
  16659. #. type: item
  16660. #: doc/guix.texi:8964
  16661. #, no-wrap
  16662. msgid "@code{initrd} (default: @code{base-initrd})"
  16663. msgstr ""
  16664. #. type: table
  16665. #: doc/guix.texi:8968
  16666. msgid ""
  16667. "A monadic procedure that returns an initial RAM disk for the Linux kernel. "
  16668. "This field is provided to support low-level customization and should rarely "
  16669. "be needed for casual use. @xref{Initial RAM Disk}."
  16670. msgstr ""
  16671. #. type: item
  16672. #: doc/guix.texi:8969
  16673. #, no-wrap
  16674. msgid "@code{firmware} (default: @var{%base-firmware})"
  16675. msgstr ""
  16676. #. type: cindex
  16677. #: doc/guix.texi:8970
  16678. #, no-wrap
  16679. msgid "firmware"
  16680. msgstr ""
  16681. #. type: table
  16682. #: doc/guix.texi:8972
  16683. msgid "List of firmware packages loadable by the operating system kernel."
  16684. msgstr ""
  16685. #. type: table
  16686. #: doc/guix.texi:8977
  16687. msgid ""
  16688. "The default includes firmware needed for Atheros- and Broadcom-based WiFi "
  16689. "devices (Linux-libre modules @code{ath9k} and @code{b43-open}, "
  16690. "respectively). @xref{Hardware Considerations}, for more info on supported "
  16691. "hardware."
  16692. msgstr ""
  16693. #. type: code{#1}
  16694. #: doc/guix.texi:8978
  16695. #, no-wrap
  16696. msgid "host-name"
  16697. msgstr ""
  16698. #. type: table
  16699. #: doc/guix.texi:8980
  16700. msgid "The host name."
  16701. msgstr ""
  16702. #. type: code{#1}
  16703. #: doc/guix.texi:8981
  16704. #, no-wrap
  16705. msgid "hosts-file"
  16706. msgstr ""
  16707. #. type: cindex
  16708. #: doc/guix.texi:8982
  16709. #, no-wrap
  16710. msgid "hosts file"
  16711. msgstr ""
  16712. #. type: table
  16713. #: doc/guix.texi:8987
  16714. msgid ""
  16715. "A file-like object (@pxref{G-Expressions, file-like objects}) for use as "
  16716. "@file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C Library Reference "
  16717. "Manual}). The default is a file with entries for @code{localhost} and "
  16718. "@var{host-name}."
  16719. msgstr ""
  16720. #. type: item
  16721. #: doc/guix.texi:8988
  16722. #, no-wrap
  16723. msgid "@code{mapped-devices} (default: @code{'()})"
  16724. msgstr ""
  16725. #. type: table
  16726. #: doc/guix.texi:8990
  16727. msgid "A list of mapped devices. @xref{Mapped Devices}."
  16728. msgstr ""
  16729. #. type: code{#1}
  16730. #: doc/guix.texi:8991
  16731. #, no-wrap
  16732. msgid "file-systems"
  16733. msgstr ""
  16734. #. type: table
  16735. #: doc/guix.texi:8993
  16736. msgid "A list of file systems. @xref{File Systems}."
  16737. msgstr ""
  16738. #. type: item
  16739. #: doc/guix.texi:8994
  16740. #, no-wrap
  16741. msgid "@code{swap-devices} (default: @code{'()})"
  16742. msgstr ""
  16743. #. type: cindex
  16744. #: doc/guix.texi:8995
  16745. #, no-wrap
  16746. msgid "swap devices"
  16747. msgstr ""
  16748. #. type: table
  16749. #: doc/guix.texi:9002
  16750. msgid ""
  16751. "A list of strings identifying devices or files to be used for ``swap "
  16752. "space'' (@pxref{Memory Concepts,,, libc, The GNU C Library Reference "
  16753. "Manual}). For example, @code{'(\"/dev/sda3\")} or @code{'(\"/swapfile\")}. "
  16754. "It is possible to specify a swap file in a file system on a mapped device, "
  16755. "provided that the necessary device mapping and file system are also "
  16756. "specified. @xref{Mapped Devices} and @ref{File Systems}."
  16757. msgstr ""
  16758. #. type: item
  16759. #: doc/guix.texi:9003
  16760. #, no-wrap
  16761. msgid "@code{users} (default: @code{%base-user-accounts})"
  16762. msgstr ""
  16763. #. type: itemx
  16764. #: doc/guix.texi:9004
  16765. #, no-wrap
  16766. msgid "@code{groups} (default: @var{%base-groups})"
  16767. msgstr ""
  16768. #. type: table
  16769. #: doc/guix.texi:9006
  16770. msgid "List of user accounts and groups. @xref{User Accounts}."
  16771. msgstr ""
  16772. #. type: table
  16773. #: doc/guix.texi:9009
  16774. msgid ""
  16775. "If the @code{users} list lacks a user account with UID@tie{}0, a ``root'' "
  16776. "account with UID@tie{}0 is automatically added."
  16777. msgstr ""
  16778. #. type: item
  16779. #: doc/guix.texi:9010
  16780. #, no-wrap
  16781. msgid "@code{skeletons} (default: @code{(default-skeletons)})"
  16782. msgstr ""
  16783. #. type: table
  16784. #: doc/guix.texi:9014
  16785. msgid ""
  16786. "A list target file name/file-like object tuples (@pxref{G-Expressions, file-"
  16787. "like objects}). These are the skeleton files that will be added to the home "
  16788. "directory of newly-created user accounts."
  16789. msgstr ""
  16790. #. type: table
  16791. #: doc/guix.texi:9016
  16792. msgid "For instance, a valid value may look like this:"
  16793. msgstr ""
  16794. #. type: example
  16795. #: doc/guix.texi:9022
  16796. #, no-wrap
  16797. msgid ""
  16798. "`((\".bashrc\" ,(plain-file \"bashrc\" \"echo Hello\\n\"))\n"
  16799. " (\".guile\" ,(plain-file \"guile\"\n"
  16800. " \"(use-modules (ice-9 readline))\n"
  16801. " (activate-readline)\")))\n"
  16802. msgstr ""
  16803. #. type: item
  16804. #: doc/guix.texi:9024
  16805. #, no-wrap
  16806. msgid "@code{issue} (default: @var{%default-issue})"
  16807. msgstr ""
  16808. #. type: table
  16809. #: doc/guix.texi:9027
  16810. msgid ""
  16811. "A string denoting the contents of the @file{/etc/issue} file, which is "
  16812. "displayed when users log in on a text console."
  16813. msgstr ""
  16814. #. type: item
  16815. #: doc/guix.texi:9028
  16816. #, no-wrap
  16817. msgid "@code{packages} (default: @var{%base-packages})"
  16818. msgstr ""
  16819. #. type: table
  16820. #: doc/guix.texi:9031
  16821. msgid ""
  16822. "The set of packages installed in the global profile, which is accessible at "
  16823. "@file{/run/current-system/profile}."
  16824. msgstr ""
  16825. #. type: table
  16826. #: doc/guix.texi:9035
  16827. msgid ""
  16828. "The default set includes core utilities and it is good practice to install "
  16829. "non-core utilities in user profiles (@pxref{Invoking guix package})."
  16830. msgstr ""
  16831. #. type: code{#1}
  16832. #: doc/guix.texi:9036
  16833. #, no-wrap
  16834. msgid "timezone"
  16835. msgstr ""
  16836. #. type: table
  16837. #: doc/guix.texi:9038
  16838. msgid "A timezone identifying string---e.g., @code{\"Europe/Paris\"}."
  16839. msgstr ""
  16840. #. type: table
  16841. #: doc/guix.texi:9042
  16842. msgid ""
  16843. "You can run the @command{tzselect} command to find out which timezone string "
  16844. "corresponds to your region. Choosing an invalid timezone name causes "
  16845. "@command{guix system} to fail."
  16846. msgstr ""
  16847. #. type: item
  16848. #: doc/guix.texi:9043
  16849. #, no-wrap
  16850. msgid "@code{locale} (default: @code{\"en_US.utf8\"})"
  16851. msgstr ""
  16852. #. type: table
  16853. #: doc/guix.texi:9046
  16854. msgid ""
  16855. "The name of the default locale (@pxref{Locale Names,,, libc, The GNU C "
  16856. "Library Reference Manual}). @xref{Locales}, for more information."
  16857. msgstr ""
  16858. #. type: item
  16859. #: doc/guix.texi:9047
  16860. #, no-wrap
  16861. msgid "@code{locale-definitions} (default: @var{%default-locale-definitions})"
  16862. msgstr ""
  16863. #. type: table
  16864. #: doc/guix.texi:9050
  16865. msgid ""
  16866. "The list of locale definitions to be compiled and that may be used at run "
  16867. "time. @xref{Locales}."
  16868. msgstr ""
  16869. #. type: item
  16870. #: doc/guix.texi:9051
  16871. #, no-wrap
  16872. msgid "@code{locale-libcs} (default: @code{(list @var{glibc})})"
  16873. msgstr ""
  16874. #. type: table
  16875. #: doc/guix.texi:9055
  16876. msgid ""
  16877. "The list of GNU@tie{}libc packages whose locale data and tools are used to "
  16878. "build the locale definitions. @xref{Locales}, for compatibility "
  16879. "considerations that justify this option."
  16880. msgstr ""
  16881. #. type: item
  16882. #: doc/guix.texi:9056
  16883. #, no-wrap
  16884. msgid "@code{name-service-switch} (default: @var{%default-nss})"
  16885. msgstr ""
  16886. #. type: table
  16887. #: doc/guix.texi:9060
  16888. msgid ""
  16889. "Configuration of the libc name service switch (NSS)---a @code{<name-service-"
  16890. "switch>} object. @xref{Name Service Switch}, for details."
  16891. msgstr ""
  16892. #. type: item
  16893. #: doc/guix.texi:9061
  16894. #, no-wrap
  16895. msgid "@code{services} (default: @var{%base-services})"
  16896. msgstr ""
  16897. #. type: table
  16898. #: doc/guix.texi:9063
  16899. msgid "A list of service objects denoting system services. @xref{Services}."
  16900. msgstr ""
  16901. #. type: item
  16902. #: doc/guix.texi:9064
  16903. #, no-wrap
  16904. msgid "@code{pam-services} (default: @code{(base-pam-services)})"
  16905. msgstr ""
  16906. #. type: cindex
  16907. #: doc/guix.texi:9065
  16908. #, no-wrap
  16909. msgid "PAM"
  16910. msgstr ""
  16911. #. type: cindex
  16912. #: doc/guix.texi:9066
  16913. #, no-wrap
  16914. msgid "pluggable authentication modules"
  16915. msgstr ""
  16916. #. type: table
  16917. #: doc/guix.texi:9069
  16918. msgid "Linux @dfn{pluggable authentication module} (PAM) services."
  16919. msgstr ""
  16920. #. type: item
  16921. #: doc/guix.texi:9070
  16922. #, no-wrap
  16923. msgid "@code{setuid-programs} (default: @var{%setuid-programs})"
  16924. msgstr ""
  16925. #. type: table
  16926. #: doc/guix.texi:9073
  16927. msgid ""
  16928. "List of string-valued G-expressions denoting setuid programs. @xref{Setuid "
  16929. "Programs}."
  16930. msgstr ""
  16931. #. type: item
  16932. #: doc/guix.texi:9074
  16933. #, no-wrap
  16934. msgid "@code{sudoers-file} (default: @var{%sudoers-specification})"
  16935. msgstr ""
  16936. #. type: cindex
  16937. #: doc/guix.texi:9075
  16938. #, no-wrap
  16939. msgid "sudoers file"
  16940. msgstr ""
  16941. #. type: table
  16942. #: doc/guix.texi:9078
  16943. msgid ""
  16944. "The contents of the @file{/etc/sudoers} file as a file-like object (@pxref{G-"
  16945. "Expressions, @code{local-file} and @code{plain-file}})."
  16946. msgstr ""
  16947. #. type: table
  16948. #: doc/guix.texi:9083
  16949. msgid ""
  16950. "This file specifies which users can use the @command{sudo} command, what "
  16951. "they are allowed to do, and what privileges they may gain. The default is "
  16952. "that only @code{root} and members of the @code{wheel} group may use "
  16953. "@code{sudo}."
  16954. msgstr ""
  16955. #. type: Plain text
  16956. #: doc/guix.texi:9094
  16957. msgid ""
  16958. "The list of file systems to be mounted is specified in the @code{file-"
  16959. "systems} field of the operating system declaration (@pxref{Using the "
  16960. "Configuration System}). Each file system is declared using the @code{file-"
  16961. "system} form, like this:"
  16962. msgstr ""
  16963. #. type: example
  16964. #: doc/guix.texi:9100
  16965. #, no-wrap
  16966. msgid ""
  16967. "(file-system\n"
  16968. " (mount-point \"/home\")\n"
  16969. " (device \"/dev/sda3\")\n"
  16970. " (type \"ext4\"))\n"
  16971. msgstr ""
  16972. #. type: Plain text
  16973. #: doc/guix.texi:9104
  16974. msgid ""
  16975. "As usual, some of the fields are mandatory---those shown in the example "
  16976. "above---while others can be omitted. These are described below."
  16977. msgstr ""
  16978. #. type: deftp
  16979. #: doc/guix.texi:9105
  16980. #, no-wrap
  16981. msgid "{Data Type} file-system"
  16982. msgstr ""
  16983. #. type: deftp
  16984. #: doc/guix.texi:9108
  16985. msgid ""
  16986. "Objects of this type represent file systems to be mounted. They contain the "
  16987. "following members:"
  16988. msgstr ""
  16989. #. type: item
  16990. #: doc/guix.texi:9110 doc/guix.texi:9294
  16991. #, no-wrap
  16992. msgid "type"
  16993. msgstr ""
  16994. #. type: table
  16995. #: doc/guix.texi:9113
  16996. msgid ""
  16997. "This is a string specifying the type of the file system---e.g., "
  16998. "@code{\"ext4\"}."
  16999. msgstr ""
  17000. #. type: code{#1}
  17001. #: doc/guix.texi:9114
  17002. #, no-wrap
  17003. msgid "mount-point"
  17004. msgstr ""
  17005. #. type: table
  17006. #: doc/guix.texi:9116
  17007. msgid "This designates the place where the file system is to be mounted."
  17008. msgstr ""
  17009. #. type: code{#1}
  17010. #: doc/guix.texi:9117
  17011. #, no-wrap
  17012. msgid "device"
  17013. msgstr ""
  17014. #. type: table
  17015. #: doc/guix.texi:9121
  17016. msgid ""
  17017. "This names the ``source'' of the file system. By default it is the name of "
  17018. "a node under @file{/dev}, but its meaning depends on the @code{title} field "
  17019. "described below."
  17020. msgstr ""
  17021. #. type: item
  17022. #: doc/guix.texi:9122
  17023. #, no-wrap
  17024. msgid "@code{title} (default: @code{'device})"
  17025. msgstr ""
  17026. #. type: table
  17027. #: doc/guix.texi:9125
  17028. msgid ""
  17029. "This is a symbol that specifies how the @code{device} field is to be "
  17030. "interpreted."
  17031. msgstr ""
  17032. #. type: table
  17033. #: doc/guix.texi:9130
  17034. msgid ""
  17035. "When it is the symbol @code{device}, then the @code{device} field is "
  17036. "interpreted as a file name; when it is @code{label}, then @code{device} is "
  17037. "interpreted as a file system label name; when it is @code{uuid}, "
  17038. "@code{device} is interpreted as a file system unique identifier (UUID)."
  17039. msgstr ""
  17040. #. type: table
  17041. #: doc/guix.texi:9138
  17042. msgid ""
  17043. "UUIDs may be converted from their string representation (as shown by the "
  17044. "@command{tune2fs -l} command) using the @code{uuid} form@footnote{The "
  17045. "@code{uuid} form expects 16-byte UUIDs as defined in @uref{https://tools."
  17046. "ietf.org/html/rfc4122, RFC@tie{}4122}. This is the form of UUID used by the "
  17047. "ext2 family of file systems and others, but it is different from ``UUIDs'' "
  17048. "found in FAT file systems, for instance.}, like this:"
  17049. msgstr ""
  17050. #. type: example
  17051. #: doc/guix.texi:9145
  17052. #, no-wrap
  17053. msgid ""
  17054. "(file-system\n"
  17055. " (mount-point \"/home\")\n"
  17056. " (type \"ext4\")\n"
  17057. " (title 'uuid)\n"
  17058. " (device (uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")))\n"
  17059. msgstr ""
  17060. #. type: table
  17061. #: doc/guix.texi:9154
  17062. msgid ""
  17063. "The @code{label} and @code{uuid} options offer a way to refer to file "
  17064. "systems without having to hard-code their actual device name@footnote{Note "
  17065. "that, while it is tempting to use @file{/dev/disk/by-uuid} and similar "
  17066. "device names to achieve the same result, this is not recommended: These "
  17067. "special device nodes are created by the udev daemon and may be unavailable "
  17068. "at the time the device is mounted.}."
  17069. msgstr ""
  17070. #. type: table
  17071. #: doc/guix.texi:9161
  17072. msgid ""
  17073. "However, when the source of a file system is a mapped device (@pxref{Mapped "
  17074. "Devices}), its @code{device} field @emph{must} refer to the mapped device "
  17075. "name---e.g., @file{/dev/mapper/root-partition}---and consequently "
  17076. "@code{title} must be set to @code{'device}. This is required so that the "
  17077. "system knows that mounting the file system depends on having the "
  17078. "corresponding device mapping established."
  17079. msgstr ""
  17080. #. type: item
  17081. #: doc/guix.texi:9162
  17082. #, no-wrap
  17083. msgid "@code{flags} (default: @code{'()})"
  17084. msgstr ""
  17085. #. type: table
  17086. #: doc/guix.texi:9167
  17087. msgid ""
  17088. "This is a list of symbols denoting mount flags. Recognized flags include "
  17089. "@code{read-only}, @code{bind-mount}, @code{no-dev} (disallow access to "
  17090. "special files), @code{no-suid} (ignore setuid and setgid bits), and @code{no-"
  17091. "exec} (disallow program execution.)"
  17092. msgstr ""
  17093. #. type: item
  17094. #: doc/guix.texi:9168
  17095. #, no-wrap
  17096. msgid "@code{options} (default: @code{#f})"
  17097. msgstr ""
  17098. #. type: table
  17099. #: doc/guix.texi:9170
  17100. msgid "This is either @code{#f}, or a string denoting mount options."
  17101. msgstr ""
  17102. #. type: item
  17103. #: doc/guix.texi:9171
  17104. #, no-wrap
  17105. msgid "@code{mount?} (default: @code{#t})"
  17106. msgstr ""
  17107. #. type: table
  17108. #: doc/guix.texi:9176
  17109. msgid ""
  17110. "This value indicates whether to automatically mount the file system when the "
  17111. "system is brought up. When set to @code{#f}, the file system gets an entry "
  17112. "in @file{/etc/fstab} (read by the @command{mount} command) but is not "
  17113. "automatically mounted."
  17114. msgstr ""
  17115. #. type: item
  17116. #: doc/guix.texi:9177
  17117. #, no-wrap
  17118. msgid "@code{needed-for-boot?} (default: @code{#f})"
  17119. msgstr ""
  17120. #. type: table
  17121. #: doc/guix.texi:9182
  17122. msgid ""
  17123. "This Boolean value indicates whether the file system is needed when "
  17124. "booting. If that is true, then the file system is mounted when the initial "
  17125. "RAM disk (initrd) is loaded. This is always the case, for instance, for the "
  17126. "root file system."
  17127. msgstr ""
  17128. #. type: item
  17129. #: doc/guix.texi:9183
  17130. #, no-wrap
  17131. msgid "@code{check?} (default: @code{#t})"
  17132. msgstr ""
  17133. #. type: table
  17134. #: doc/guix.texi:9186
  17135. msgid ""
  17136. "This Boolean indicates whether the file system needs to be checked for "
  17137. "errors before being mounted."
  17138. msgstr ""
  17139. #. type: item
  17140. #: doc/guix.texi:9187
  17141. #, no-wrap
  17142. msgid "@code{create-mount-point?} (default: @code{#f})"
  17143. msgstr ""
  17144. #. type: table
  17145. #: doc/guix.texi:9189
  17146. msgid "When true, the mount point is created if it does not exist yet."
  17147. msgstr ""
  17148. #. type: item
  17149. #: doc/guix.texi:9190
  17150. #, no-wrap
  17151. msgid "@code{dependencies} (default: @code{'()})"
  17152. msgstr ""
  17153. #. type: table
  17154. #: doc/guix.texi:9194
  17155. msgid ""
  17156. "This is a list of @code{<file-system>} or @code{<mapped-device>} objects "
  17157. "representing file systems that must be mounted or mapped devices that must "
  17158. "be opened before (and unmounted or closed after) this one."
  17159. msgstr ""
  17160. #. type: table
  17161. #: doc/guix.texi:9198
  17162. msgid ""
  17163. "As an example, consider a hierarchy of mounts: @file{/sys/fs/cgroup} is a "
  17164. "dependency of @file{/sys/fs/cgroup/cpu} and @file{/sys/fs/cgroup/memory}."
  17165. msgstr ""
  17166. #. type: table
  17167. #: doc/guix.texi:9201
  17168. msgid ""
  17169. "Another example is a file system that depends on a mapped device, for "
  17170. "example for an encrypted partition (@pxref{Mapped Devices})."
  17171. msgstr ""
  17172. #. type: Plain text
  17173. #: doc/guix.texi:9206
  17174. msgid ""
  17175. "The @code{(gnu system file-systems)} exports the following useful variables."
  17176. msgstr ""
  17177. #. type: defvr
  17178. #: doc/guix.texi:9207
  17179. #, no-wrap
  17180. msgid "{Scheme Variable} %base-file-systems"
  17181. msgstr ""
  17182. #. type: defvr
  17183. #: doc/guix.texi:9212
  17184. msgid ""
  17185. "These are essential file systems that are required on normal systems, such "
  17186. "as @var{%pseudo-terminal-file-system} and @var{%immutable-store} (see "
  17187. "below.) Operating system declarations should always contain at least these."
  17188. msgstr ""
  17189. #. type: defvr
  17190. #: doc/guix.texi:9214
  17191. #, no-wrap
  17192. msgid "{Scheme Variable} %pseudo-terminal-file-system"
  17193. msgstr ""
  17194. #. type: defvr
  17195. #: doc/guix.texi:9220
  17196. msgid ""
  17197. "This is the file system to be mounted as @file{/dev/pts}. It supports "
  17198. "@dfn{pseudo-terminals} created @i{via} @code{openpty} and similar functions "
  17199. "(@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}). "
  17200. "Pseudo-terminals are used by terminal emulators such as @command{xterm}."
  17201. msgstr ""
  17202. #. type: defvr
  17203. #: doc/guix.texi:9222
  17204. #, no-wrap
  17205. msgid "{Scheme Variable} %shared-memory-file-system"
  17206. msgstr ""
  17207. #. type: defvr
  17208. #: doc/guix.texi:9226
  17209. msgid ""
  17210. "This file system is mounted as @file{/dev/shm} and is used to support memory "
  17211. "sharing across processes (@pxref{Memory-mapped I/O, @code{shm_open},, libc, "
  17212. "The GNU C Library Reference Manual})."
  17213. msgstr ""
  17214. #. type: defvr
  17215. #: doc/guix.texi:9228
  17216. #, no-wrap
  17217. msgid "{Scheme Variable} %immutable-store"
  17218. msgstr ""
  17219. #. type: defvr
  17220. #: doc/guix.texi:9233
  17221. msgid ""
  17222. "This file system performs a read-only ``bind mount'' of @file{/gnu/store}, "
  17223. "making it read-only for all the users including @code{root}. This prevents "
  17224. "against accidental modification by software running as @code{root} or by "
  17225. "system administrators."
  17226. msgstr ""
  17227. #. type: defvr
  17228. #: doc/guix.texi:9236
  17229. msgid ""
  17230. "The daemon itself is still able to write to the store: it remounts it read-"
  17231. "write in its own ``name space.''"
  17232. msgstr ""
  17233. #. type: defvr
  17234. #: doc/guix.texi:9238
  17235. #, no-wrap
  17236. msgid "{Scheme Variable} %binary-format-file-system"
  17237. msgstr ""
  17238. #. type: defvr
  17239. #: doc/guix.texi:9242
  17240. msgid ""
  17241. "The @code{binfmt_misc} file system, which allows handling of arbitrary "
  17242. "executable file types to be delegated to user space. This requires the "
  17243. "@code{binfmt.ko} kernel module to be loaded."
  17244. msgstr ""
  17245. #. type: defvr
  17246. #: doc/guix.texi:9244
  17247. #, no-wrap
  17248. msgid "{Scheme Variable} %fuse-control-file-system"
  17249. msgstr ""
  17250. #. type: defvr
  17251. #: doc/guix.texi:9248
  17252. msgid ""
  17253. "The @code{fusectl} file system, which allows unprivileged users to mount and "
  17254. "unmount user-space FUSE file systems. This requires the @code{fuse.ko} "
  17255. "kernel module to be loaded."
  17256. msgstr ""
  17257. #. type: cindex
  17258. #: doc/guix.texi:9253
  17259. #, no-wrap
  17260. msgid "device mapping"
  17261. msgstr ""
  17262. #. type: cindex
  17263. #: doc/guix.texi:9254
  17264. #, no-wrap
  17265. msgid "mapped devices"
  17266. msgstr ""
  17267. #. type: Plain text
  17268. #: doc/guix.texi:9272
  17269. msgid ""
  17270. "The Linux kernel has a notion of @dfn{device mapping}: a block device, such "
  17271. "as a hard disk partition, can be @dfn{mapped} into another device, usually "
  17272. "in @code{/dev/mapper/}, with additional processing over the data that flows "
  17273. "through it@footnote{Note that the GNU@tie{}Hurd makes no difference between "
  17274. "the concept of a ``mapped device'' and that of a file system: both boil down "
  17275. "to @emph{translating} input/output operations made on a file to operations "
  17276. "on its backing store. Thus, the Hurd implements mapped devices, like file "
  17277. "systems, using the generic @dfn{translator} mechanism (@pxref{Translators,,, "
  17278. "hurd, The GNU Hurd Reference Manual}).}. A typical example is encryption "
  17279. "device mapping: all writes to the mapped device are encrypted, and all reads "
  17280. "are deciphered, transparently. Guix extends this notion by considering any "
  17281. "device or set of devices that are @dfn{transformed} in some way to create a "
  17282. "new device; for instance, RAID devices are obtained by @dfn{assembling} "
  17283. "several other devices, such as hard disks or partitions, into a new one that "
  17284. "behaves as one partition. Other examples, not yet implemented, are LVM "
  17285. "logical volumes."
  17286. msgstr ""
  17287. #. type: Plain text
  17288. #: doc/guix.texi:9275
  17289. msgid ""
  17290. "Mapped devices are declared using the @code{mapped-device} form, defined as "
  17291. "follows; for examples, see below."
  17292. msgstr ""
  17293. #. type: deftp
  17294. #: doc/guix.texi:9276
  17295. #, no-wrap
  17296. msgid "{Data Type} mapped-device"
  17297. msgstr ""
  17298. #. type: deftp
  17299. #: doc/guix.texi:9279
  17300. msgid ""
  17301. "Objects of this type represent device mappings that will be made when the "
  17302. "system boots up."
  17303. msgstr ""
  17304. #. type: table
  17305. #: doc/guix.texi:9285
  17306. msgid ""
  17307. "This is either a string specifying the name of the block device to be "
  17308. "mapped, such as @code{\"/dev/sda3\"}, or a list of such strings when several "
  17309. "devices need to be assembled for creating a new one."
  17310. msgstr ""
  17311. #. type: code{#1}
  17312. #: doc/guix.texi:9286 doc/guix.texi:20162
  17313. #, no-wrap
  17314. msgid "target"
  17315. msgstr ""
  17316. #. type: table
  17317. #: doc/guix.texi:9293
  17318. msgid ""
  17319. "This string specifies the name of the resulting mapped device. For kernel "
  17320. "mappers such as encrypted devices of type @code{luks-device-mapping}, "
  17321. "specifying @code{\"my-partition\"} leads to the creation of the @code{\"/dev/"
  17322. "mapper/my-partition\"} device. For RAID devices of type @code{raid-device-"
  17323. "mapping}, the full device name such as @code{\"/dev/md0\"} needs to be given."
  17324. msgstr ""
  17325. #. type: table
  17326. #: doc/guix.texi:9297
  17327. msgid ""
  17328. "This must be a @code{mapped-device-kind} object, which specifies how "
  17329. "@var{source} is mapped to @var{target}."
  17330. msgstr ""
  17331. #. type: defvr
  17332. #: doc/guix.texi:9300
  17333. #, no-wrap
  17334. msgid "{Scheme Variable} luks-device-mapping"
  17335. msgstr ""
  17336. #. type: defvr
  17337. #: doc/guix.texi:9304
  17338. msgid ""
  17339. "This defines LUKS block device encryption using the @command{cryptsetup} "
  17340. "command from the package with the same name. It relies on the @code{dm-"
  17341. "crypt} Linux kernel module."
  17342. msgstr ""
  17343. #. type: defvr
  17344. #: doc/guix.texi:9306
  17345. #, no-wrap
  17346. msgid "{Scheme Variable} raid-device-mapping"
  17347. msgstr ""
  17348. #. type: defvr
  17349. #: doc/guix.texi:9311
  17350. msgid ""
  17351. "This defines a RAID device, which is assembled using the @code{mdadm} "
  17352. "command from the package with the same name. It requires a Linux kernel "
  17353. "module for the appropriate RAID level to be loaded, such as @code{raid456} "
  17354. "for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10."
  17355. msgstr ""
  17356. #. type: cindex
  17357. #: doc/guix.texi:9313
  17358. #, no-wrap
  17359. msgid "disk encryption"
  17360. msgstr ""
  17361. #. type: cindex
  17362. #: doc/guix.texi:9314
  17363. #, no-wrap
  17364. msgid "LUKS"
  17365. msgstr ""
  17366. #. type: Plain text
  17367. #: doc/guix.texi:9322
  17368. msgid ""
  17369. "The following example specifies a mapping from @file{/dev/sda3} to @file{/"
  17370. "dev/mapper/home} using LUKS---the @url{https://gitlab.com/cryptsetup/"
  17371. "cryptsetup,Linux Unified Key Setup}, a standard mechanism for disk "
  17372. "encryption. The @file{/dev/mapper/home} device can then be used as the "
  17373. "@code{device} of a @code{file-system} declaration (@pxref{File Systems})."
  17374. msgstr ""
  17375. #. type: example
  17376. #: doc/guix.texi:9328
  17377. #, no-wrap
  17378. msgid ""
  17379. "(mapped-device\n"
  17380. " (source \"/dev/sda3\")\n"
  17381. " (target \"home\")\n"
  17382. " (type luks-device-mapping))\n"
  17383. msgstr ""
  17384. #. type: Plain text
  17385. #: doc/guix.texi:9333
  17386. msgid ""
  17387. "Alternatively, to become independent of device numbering, one may obtain the "
  17388. "LUKS UUID (@dfn{unique identifier}) of the source device by a command like:"
  17389. msgstr ""
  17390. #. type: example
  17391. #: doc/guix.texi:9336
  17392. #, no-wrap
  17393. msgid "cryptsetup luksUUID /dev/sda3\n"
  17394. msgstr ""
  17395. #. type: Plain text
  17396. #: doc/guix.texi:9339
  17397. msgid "and use it as follows:"
  17398. msgstr ""
  17399. #. type: example
  17400. #: doc/guix.texi:9345
  17401. #, no-wrap
  17402. msgid ""
  17403. "(mapped-device\n"
  17404. " (source (uuid \"cb67fc72-0d54-4c88-9d4b-b225f30b0f44\"))\n"
  17405. " (target \"home\")\n"
  17406. " (type luks-device-mapping))\n"
  17407. msgstr ""
  17408. #. type: cindex
  17409. #: doc/guix.texi:9347
  17410. #, no-wrap
  17411. msgid "swap encryption"
  17412. msgstr ""
  17413. #. type: Plain text
  17414. #: doc/guix.texi:9353
  17415. msgid ""
  17416. "It is also desirable to encrypt swap space, since swap space may contain "
  17417. "sensitive data. One way to accomplish that is to use a swap file in a file "
  17418. "system on a device mapped via LUKS encryption. In this way, the swap file "
  17419. "is encrypted because the entire device is encrypted. @xref{Preparing for "
  17420. "Installation,,Disk Partitioning}, for an example."
  17421. msgstr ""
  17422. #. type: Plain text
  17423. #: doc/guix.texi:9356
  17424. msgid ""
  17425. "A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1} "
  17426. "may be declared as follows:"
  17427. msgstr ""
  17428. #. type: example
  17429. #: doc/guix.texi:9362
  17430. #, no-wrap
  17431. msgid ""
  17432. "(mapped-device\n"
  17433. " (source (list \"/dev/sda1\" \"/dev/sdb1\"))\n"
  17434. " (target \"/dev/md0\")\n"
  17435. " (type raid-device-mapping))\n"
  17436. msgstr ""
  17437. #. type: Plain text
  17438. #: doc/guix.texi:9369
  17439. msgid ""
  17440. "The @file{/dev/md0} device can then be used as the @code{device} of a "
  17441. "@code{file-system} declaration (@pxref{File Systems}). Note that the RAID "
  17442. "level need not be given; it is chosen during the initial creation and "
  17443. "formatting of the RAID device and is determined automatically later."
  17444. msgstr ""
  17445. #. type: cindex
  17446. #: doc/guix.texi:9374
  17447. #, no-wrap
  17448. msgid "users"
  17449. msgstr ""
  17450. #. type: cindex
  17451. #: doc/guix.texi:9375
  17452. #, no-wrap
  17453. msgid "accounts"
  17454. msgstr ""
  17455. #. type: cindex
  17456. #: doc/guix.texi:9376
  17457. #, no-wrap
  17458. msgid "user accounts"
  17459. msgstr ""
  17460. #. type: Plain text
  17461. #: doc/guix.texi:9380
  17462. msgid ""
  17463. "User accounts and groups are entirely managed through the @code{operating-"
  17464. "system} declaration. They are specified with the @code{user-account} and "
  17465. "@code{user-group} forms:"
  17466. msgstr ""
  17467. #. type: example
  17468. #: doc/guix.texi:9391
  17469. #, no-wrap
  17470. msgid ""
  17471. "(user-account\n"
  17472. " (name \"alice\")\n"
  17473. " (group \"users\")\n"
  17474. " (supplementary-groups '(\"wheel\" ;allow use of sudo, etc.\n"
  17475. " \"audio\" ;sound card\n"
  17476. " \"video\" ;video devices such as webcams\n"
  17477. " \"cdrom\")) ;the good ol' CD-ROM\n"
  17478. " (comment \"Bob's sister\")\n"
  17479. " (home-directory \"/home/alice\"))\n"
  17480. msgstr ""
  17481. #. type: Plain text
  17482. #: doc/guix.texi:9400
  17483. msgid ""
  17484. "When booting or upon completion of @command{guix system reconfigure}, the "
  17485. "system ensures that only the user accounts and groups specified in the "
  17486. "@code{operating-system} declaration exist, and with the specified "
  17487. "properties. Thus, account or group creations or modifications made by "
  17488. "directly invoking commands such as @command{useradd} are lost upon "
  17489. "reconfiguration or reboot. This ensures that the system remains exactly as "
  17490. "declared."
  17491. msgstr ""
  17492. #. type: deftp
  17493. #: doc/guix.texi:9401
  17494. #, no-wrap
  17495. msgid "{Data Type} user-account"
  17496. msgstr ""
  17497. #. type: deftp
  17498. #: doc/guix.texi:9404
  17499. msgid ""
  17500. "Objects of this type represent user accounts. The following members may be "
  17501. "specified:"
  17502. msgstr ""
  17503. #. type: table
  17504. #: doc/guix.texi:9408
  17505. msgid "The name of the user account."
  17506. msgstr ""
  17507. #. type: itemx
  17508. #: doc/guix.texi:9409 doc/guix.texi:19924
  17509. #, no-wrap
  17510. msgid "group"
  17511. msgstr ""
  17512. #. type: cindex
  17513. #: doc/guix.texi:9410 doc/guix.texi:9459
  17514. #, no-wrap
  17515. msgid "groups"
  17516. msgstr ""
  17517. #. type: table
  17518. #: doc/guix.texi:9413
  17519. msgid ""
  17520. "This is the name (a string) or identifier (a number) of the user group this "
  17521. "account belongs to."
  17522. msgstr ""
  17523. #. type: item
  17524. #: doc/guix.texi:9414
  17525. #, no-wrap
  17526. msgid "@code{supplementary-groups} (default: @code{'()})"
  17527. msgstr ""
  17528. #. type: table
  17529. #: doc/guix.texi:9417
  17530. msgid ""
  17531. "Optionally, this can be defined as a list of group names that this account "
  17532. "belongs to."
  17533. msgstr ""
  17534. #. type: item
  17535. #: doc/guix.texi:9418
  17536. #, no-wrap
  17537. msgid "@code{uid} (default: @code{#f})"
  17538. msgstr ""
  17539. #. type: table
  17540. #: doc/guix.texi:9422
  17541. msgid ""
  17542. "This is the user ID for this account (a number), or @code{#f}. In the "
  17543. "latter case, a number is automatically chosen by the system when the account "
  17544. "is created."
  17545. msgstr ""
  17546. #. type: item
  17547. #: doc/guix.texi:9423
  17548. #, no-wrap
  17549. msgid "@code{comment} (default: @code{\"\"})"
  17550. msgstr ""
  17551. #. type: table
  17552. #: doc/guix.texi:9425
  17553. msgid "A comment about the account, such as the account owner's full name."
  17554. msgstr ""
  17555. #. type: code{#1}
  17556. #: doc/guix.texi:9426
  17557. #, no-wrap
  17558. msgid "home-directory"
  17559. msgstr ""
  17560. #. type: table
  17561. #: doc/guix.texi:9428
  17562. msgid "This is the name of the home directory for the account."
  17563. msgstr ""
  17564. #. type: item
  17565. #: doc/guix.texi:9429
  17566. #, no-wrap
  17567. msgid "@code{create-home-directory?} (default: @code{#t})"
  17568. msgstr ""
  17569. #. type: table
  17570. #: doc/guix.texi:9432
  17571. msgid ""
  17572. "Indicates whether the home directory of this account should be created if it "
  17573. "does not exist yet."
  17574. msgstr ""
  17575. #. type: item
  17576. #: doc/guix.texi:9433
  17577. #, no-wrap
  17578. msgid "@code{shell} (default: Bash)"
  17579. msgstr ""
  17580. #. type: table
  17581. #: doc/guix.texi:9436
  17582. msgid ""
  17583. "This is a G-expression denoting the file name of a program to be used as the "
  17584. "shell (@pxref{G-Expressions})."
  17585. msgstr ""
  17586. #. type: item
  17587. #: doc/guix.texi:9437 doc/guix.texi:9477
  17588. #, no-wrap
  17589. msgid "@code{system?} (default: @code{#f})"
  17590. msgstr ""
  17591. #. type: table
  17592. #: doc/guix.texi:9441
  17593. msgid ""
  17594. "This Boolean value indicates whether the account is a ``system'' account. "
  17595. "System accounts are sometimes treated specially; for instance, graphical "
  17596. "login managers do not list them."
  17597. msgstr ""
  17598. #. type: anchor{#1}
  17599. #: doc/guix.texi:9443
  17600. msgid "user-account-password"
  17601. msgstr ""
  17602. #. type: item
  17603. #: doc/guix.texi:9443 doc/guix.texi:9481
  17604. #, no-wrap
  17605. msgid "@code{password} (default: @code{#f})"
  17606. msgstr ""
  17607. #. type: table
  17608. #: doc/guix.texi:9449
  17609. msgid ""
  17610. "You would normally leave this field to @code{#f}, initialize user passwords "
  17611. "as @code{root} with the @command{passwd} command, and then let users change "
  17612. "it with @command{passwd}. Passwords set with @command{passwd} are of course "
  17613. "preserved across reboot and reconfiguration."
  17614. msgstr ""
  17615. #. type: table
  17616. #: doc/guix.texi:9455
  17617. msgid ""
  17618. "If you @emph{do} want to have a preset password for an account, then this "
  17619. "field must contain the encrypted password, as a string. @xref{crypt,,, "
  17620. "libc, The GNU C Library Reference Manual}, for more information on password "
  17621. "encryption, and @ref{Encryption,,, guile, GNU Guile Reference Manual}, for "
  17622. "information on Guile's @code{crypt} procedure."
  17623. msgstr ""
  17624. #. type: Plain text
  17625. #: doc/guix.texi:9461
  17626. msgid "User group declarations are even simpler:"
  17627. msgstr ""
  17628. #. type: example
  17629. #: doc/guix.texi:9464
  17630. #, no-wrap
  17631. msgid "(user-group (name \"students\"))\n"
  17632. msgstr ""
  17633. #. type: deftp
  17634. #: doc/guix.texi:9466
  17635. #, no-wrap
  17636. msgid "{Data Type} user-group"
  17637. msgstr ""
  17638. #. type: deftp
  17639. #: doc/guix.texi:9468
  17640. msgid "This type is for, well, user groups. There are just a few fields:"
  17641. msgstr ""
  17642. #. type: table
  17643. #: doc/guix.texi:9472
  17644. msgid "The name of the group."
  17645. msgstr ""
  17646. #. type: item
  17647. #: doc/guix.texi:9473
  17648. #, no-wrap
  17649. msgid "@code{id} (default: @code{#f})"
  17650. msgstr ""
  17651. #. type: table
  17652. #: doc/guix.texi:9476
  17653. msgid ""
  17654. "The group identifier (a number). If @code{#f}, a new number is "
  17655. "automatically allocated when the group is created."
  17656. msgstr ""
  17657. #. type: table
  17658. #: doc/guix.texi:9480
  17659. msgid ""
  17660. "This Boolean value indicates whether the group is a ``system'' group. "
  17661. "System groups have low numerical IDs."
  17662. msgstr ""
  17663. #. type: table
  17664. #: doc/guix.texi:9484
  17665. msgid ""
  17666. "What, user groups can have a password? Well, apparently yes. Unless "
  17667. "@code{#f}, this field specifies the password of the group."
  17668. msgstr ""
  17669. #. type: Plain text
  17670. #: doc/guix.texi:9490
  17671. msgid ""
  17672. "For convenience, a variable lists all the basic user groups one may expect:"
  17673. msgstr ""
  17674. #. type: defvr
  17675. #: doc/guix.texi:9491
  17676. #, no-wrap
  17677. msgid "{Scheme Variable} %base-groups"
  17678. msgstr ""
  17679. #. type: defvr
  17680. #: doc/guix.texi:9496
  17681. msgid ""
  17682. "This is the list of basic user groups that users and/or packages expect to "
  17683. "be present on the system. This includes groups such as ``root'', ``wheel'', "
  17684. "and ``users'', as well as groups used to control access to specific devices "
  17685. "such as ``audio'', ``disk'', and ``cdrom''."
  17686. msgstr ""
  17687. #. type: defvr
  17688. #: doc/guix.texi:9498
  17689. #, no-wrap
  17690. msgid "{Scheme Variable} %base-user-accounts"
  17691. msgstr ""
  17692. #. type: defvr
  17693. #: doc/guix.texi:9501
  17694. msgid ""
  17695. "This is the list of basic system accounts that programs may expect to find "
  17696. "on a GNU/Linux system, such as the ``nobody'' account."
  17697. msgstr ""
  17698. #. type: defvr
  17699. #: doc/guix.texi:9504
  17700. msgid ""
  17701. "Note that the ``root'' account is not included here. It is a special-case "
  17702. "and is automatically added whether or not it is specified."
  17703. msgstr ""
  17704. #. type: cindex
  17705. #: doc/guix.texi:9509
  17706. #, no-wrap
  17707. msgid "locale"
  17708. msgstr ""
  17709. #. type: Plain text
  17710. #: doc/guix.texi:9516
  17711. msgid ""
  17712. "A @dfn{locale} defines cultural conventions for a particular language and "
  17713. "region of the world (@pxref{Locales,,, libc, The GNU C Library Reference "
  17714. "Manual}). Each locale has a name that typically has the form "
  17715. "@code{@var{language}_@var{territory}.@var{codeset}}---e.g., @code{fr_LU."
  17716. "utf8} designates the locale for the French language, with cultural "
  17717. "conventions from Luxembourg, and using the UTF-8 encoding."
  17718. msgstr ""
  17719. #. type: cindex
  17720. #: doc/guix.texi:9517
  17721. #, no-wrap
  17722. msgid "locale definition"
  17723. msgstr ""
  17724. #. type: Plain text
  17725. #: doc/guix.texi:9521
  17726. msgid ""
  17727. "Usually, you will want to specify the default locale for the machine using "
  17728. "the @code{locale} field of the @code{operating-system} declaration "
  17729. "(@pxref{operating-system Reference, @code{locale}})."
  17730. msgstr ""
  17731. #. type: Plain text
  17732. #: doc/guix.texi:9530
  17733. msgid ""
  17734. "The selected locale is automatically added to the @dfn{locale definitions} "
  17735. "known to the system if needed, with its codeset inferred from its name---e."
  17736. "g., @code{bo_CN.utf8} will be assumed to use the @code{UTF-8} codeset. "
  17737. "Additional locale definitions can be specified in the @code{locale-"
  17738. "definitions} slot of @code{operating-system}---this is useful, for instance, "
  17739. "if the codeset could not be inferred from the locale name. The default set "
  17740. "of locale definitions includes some widely used locales, but not all the "
  17741. "available locales, in order to save space."
  17742. msgstr ""
  17743. #. type: Plain text
  17744. #: doc/guix.texi:9533
  17745. msgid ""
  17746. "For instance, to add the North Frisian locale for Germany, the value of that "
  17747. "field may be:"
  17748. msgstr ""
  17749. #. type: example
  17750. #: doc/guix.texi:9538
  17751. #, no-wrap
  17752. msgid ""
  17753. "(cons (locale-definition\n"
  17754. " (name \"fy_DE.utf8\") (source \"fy_DE\"))\n"
  17755. " %default-locale-definitions)\n"
  17756. msgstr ""
  17757. #. type: Plain text
  17758. #: doc/guix.texi:9542
  17759. msgid ""
  17760. "Likewise, to save space, one might want @code{locale-definitions} to list "
  17761. "only the locales that are actually used, as in:"
  17762. msgstr ""
  17763. #. type: example
  17764. #: doc/guix.texi:9547
  17765. #, no-wrap
  17766. msgid ""
  17767. "(list (locale-definition\n"
  17768. " (name \"ja_JP.eucjp\") (source \"ja_JP\")\n"
  17769. " (charset \"EUC-JP\")))\n"
  17770. msgstr ""
  17771. #. type: Plain text
  17772. #: doc/guix.texi:9556
  17773. msgid ""
  17774. "The compiled locale definitions are available at @file{/run/current-system/"
  17775. "locale/X.Y}, where @code{X.Y} is the libc version, which is the default "
  17776. "location where the GNU@tie{}libc provided by Guix looks for locale data. "
  17777. "This can be overridden using the @code{LOCPATH} environment variable "
  17778. "(@pxref{locales-and-locpath, @code{LOCPATH} and locale packages})."
  17779. msgstr ""
  17780. #. type: Plain text
  17781. #: doc/guix.texi:9559
  17782. msgid ""
  17783. "The @code{locale-definition} form is provided by the @code{(gnu system "
  17784. "locale)} module. Details are given below."
  17785. msgstr ""
  17786. #. type: deftp
  17787. #: doc/guix.texi:9560
  17788. #, no-wrap
  17789. msgid "{Data Type} locale-definition"
  17790. msgstr ""
  17791. #. type: deftp
  17792. #: doc/guix.texi:9562
  17793. msgid "This is the data type of a locale definition."
  17794. msgstr ""
  17795. #. type: table
  17796. #: doc/guix.texi:9568
  17797. msgid ""
  17798. "The name of the locale. @xref{Locale Names,,, libc, The GNU C Library "
  17799. "Reference Manual}, for more information on locale names."
  17800. msgstr ""
  17801. #. type: table
  17802. #: doc/guix.texi:9572
  17803. msgid ""
  17804. "The name of the source for that locale. This is typically the "
  17805. "@code{@var{language}_@var{territory}} part of the locale name."
  17806. msgstr ""
  17807. #. type: item
  17808. #: doc/guix.texi:9573
  17809. #, no-wrap
  17810. msgid "@code{charset} (default: @code{\"UTF-8\"})"
  17811. msgstr ""
  17812. #. type: table
  17813. #: doc/guix.texi:9577
  17814. msgid ""
  17815. "The ``character set'' or ``code set'' for that locale, @uref{http://www.iana."
  17816. "org/assignments/character-sets, as defined by IANA}."
  17817. msgstr ""
  17818. #. type: defvr
  17819. #: doc/guix.texi:9581
  17820. #, no-wrap
  17821. msgid "{Scheme Variable} %default-locale-definitions"
  17822. msgstr ""
  17823. #. type: defvr
  17824. #: doc/guix.texi:9585
  17825. msgid ""
  17826. "A list of commonly used UTF-8 locales, used as the default value of the "
  17827. "@code{locale-definitions} field of @code{operating-system} declarations."
  17828. msgstr ""
  17829. #. type: cindex
  17830. #: doc/guix.texi:9586
  17831. #, no-wrap
  17832. msgid "locale name"
  17833. msgstr ""
  17834. #. type: cindex
  17835. #: doc/guix.texi:9587
  17836. #, no-wrap
  17837. msgid "normalized codeset in locale names"
  17838. msgstr ""
  17839. #. type: defvr
  17840. #: doc/guix.texi:9593
  17841. msgid ""
  17842. "These locale definitions use the @dfn{normalized codeset} for the part that "
  17843. "follows the dot in the name (@pxref{Using gettextized software, normalized "
  17844. "codeset,, libc, The GNU C Library Reference Manual}). So for instance it "
  17845. "has @code{uk_UA.utf8} but @emph{not}, say, @code{uk_UA.UTF-8}."
  17846. msgstr ""
  17847. #. type: subsubsection
  17848. #: doc/guix.texi:9595
  17849. #, no-wrap
  17850. msgid "Locale Data Compatibility Considerations"
  17851. msgstr ""
  17852. #. type: cindex
  17853. #: doc/guix.texi:9597
  17854. #, no-wrap
  17855. msgid "incompatibility, of locale data"
  17856. msgstr ""
  17857. #. type: Plain text
  17858. #: doc/guix.texi:9604
  17859. msgid ""
  17860. "@code{operating-system} declarations provide a @code{locale-libcs} field to "
  17861. "specify the GNU@tie{}libc packages that are used to compile locale "
  17862. "declarations (@pxref{operating-system Reference}). ``Why would I care?'', "
  17863. "you may ask. Well, it turns out that the binary format of locale data is "
  17864. "occasionally incompatible from one libc version to another."
  17865. msgstr ""
  17866. #. type: Plain text
  17867. #: doc/guix.texi:9616
  17868. msgid ""
  17869. "For instance, a program linked against libc version 2.21 is unable to read "
  17870. "locale data produced with libc 2.22; worse, that program @emph{aborts} "
  17871. "instead of simply ignoring the incompatible locale data@footnote{Versions "
  17872. "2.23 and later of GNU@tie{}libc will simply skip the incompatible locale "
  17873. "data, which is already an improvement.}. Similarly, a program linked "
  17874. "against libc 2.22 can read most, but not all, of the locale data from libc "
  17875. "2.21 (specifically, @code{LC_COLLATE} data is incompatible); thus calls to "
  17876. "@code{setlocale} may fail, but programs will not abort."
  17877. msgstr ""
  17878. #. type: Plain text
  17879. #: doc/guix.texi:9621
  17880. msgid ""
  17881. "The ``problem'' in GuixSD is that users have a lot of freedom: They can "
  17882. "choose whether and when to upgrade software in their profiles, and might be "
  17883. "using a libc version different from the one the system administrator used to "
  17884. "build the system-wide locale data."
  17885. msgstr ""
  17886. #. type: Plain text
  17887. #: doc/guix.texi:9625
  17888. msgid ""
  17889. "Fortunately, unprivileged users can also install their own locale data and "
  17890. "define @var{GUIX_LOCPATH} accordingly (@pxref{locales-and-locpath, "
  17891. "@code{GUIX_LOCPATH} and locale packages})."
  17892. msgstr ""
  17893. #. type: Plain text
  17894. #: doc/guix.texi:9632
  17895. msgid ""
  17896. "Still, it is best if the system-wide locale data at @file{/run/current-"
  17897. "system/locale} is built for all the libc versions actually in use on the "
  17898. "system, so that all the programs can access it---this is especially crucial "
  17899. "on a multi-user system. To do that, the administrator can specify several "
  17900. "libc packages in the @code{locale-libcs} field of @code{operating-system}:"
  17901. msgstr ""
  17902. #. type: example
  17903. #: doc/guix.texi:9635
  17904. #, no-wrap
  17905. msgid ""
  17906. "(use-package-modules base)\n"
  17907. "\n"
  17908. msgstr ""
  17909. #. type: example
  17910. #: doc/guix.texi:9639
  17911. #, no-wrap
  17912. msgid ""
  17913. "(operating-system\n"
  17914. " ;; @dots{}\n"
  17915. " (locale-libcs (list glibc-2.21 (canonical-package glibc))))\n"
  17916. msgstr ""
  17917. #. type: Plain text
  17918. #: doc/guix.texi:9644
  17919. msgid ""
  17920. "This example would lead to a system containing locale definitions for both "
  17921. "libc 2.21 and the current version of libc in @file{/run/current-system/"
  17922. "locale}."
  17923. msgstr ""
  17924. #. type: cindex
  17925. #: doc/guix.texi:9649
  17926. #, no-wrap
  17927. msgid "system services"
  17928. msgstr ""
  17929. #. type: Plain text
  17930. #: doc/guix.texi:9655
  17931. msgid ""
  17932. "An important part of preparing an @code{operating-system} declaration is "
  17933. "listing @dfn{system services} and their configuration (@pxref{Using the "
  17934. "Configuration System}). System services are typically daemons launched when "
  17935. "the system boots, or other actions needed at that time---e.g., configuring "
  17936. "network access."
  17937. msgstr ""
  17938. #. type: Plain text
  17939. #: doc/guix.texi:9662
  17940. msgid ""
  17941. "GuixSD has a broad definition of ``service'' (@pxref{Service Composition}), "
  17942. "but many services are managed by the GNU@tie{}Shepherd (@pxref{Shepherd "
  17943. "Services}). On a running system, the @command{herd} command allows you to "
  17944. "list the available services, show their status, start and stop them, or do "
  17945. "other specific operations (@pxref{Jump Start,,, shepherd, The GNU Shepherd "
  17946. "Manual}). For example:"
  17947. msgstr ""
  17948. #. type: example
  17949. #: doc/guix.texi:9665
  17950. #, no-wrap
  17951. msgid "# herd status\n"
  17952. msgstr ""
  17953. #. type: Plain text
  17954. #: doc/guix.texi:9670
  17955. msgid ""
  17956. "The above command, run as @code{root}, lists the currently defined "
  17957. "services. The @command{herd doc} command shows a synopsis of the given "
  17958. "service:"
  17959. msgstr ""
  17960. #. type: example
  17961. #: doc/guix.texi:9674
  17962. #, no-wrap
  17963. msgid ""
  17964. "# herd doc nscd\n"
  17965. "Run libc's name service cache daemon (nscd).\n"
  17966. msgstr ""
  17967. #. type: Plain text
  17968. #: doc/guix.texi:9679
  17969. msgid ""
  17970. "The @command{start}, @command{stop}, and @command{restart} sub-commands have "
  17971. "the effect you would expect. For instance, the commands below stop the nscd "
  17972. "service and restart the Xorg display server:"
  17973. msgstr ""
  17974. #. type: example
  17975. #: doc/guix.texi:9686
  17976. #, no-wrap
  17977. msgid ""
  17978. "# herd stop nscd\n"
  17979. "Service nscd has been stopped.\n"
  17980. "# herd restart xorg-server\n"
  17981. "Service xorg-server has been stopped.\n"
  17982. "Service xorg-server has been started.\n"
  17983. msgstr ""
  17984. #. type: Plain text
  17985. #: doc/guix.texi:9691
  17986. msgid ""
  17987. "The following sections document the available services, starting with the "
  17988. "core services, that may be used in an @code{operating-system} declaration."
  17989. msgstr ""
  17990. #. type: Plain text
  17991. #: doc/guix.texi:9726
  17992. msgid ""
  17993. "The @code{(gnu services base)} module provides definitions for the basic "
  17994. "services that one expects from the system. The services exported by this "
  17995. "module are listed below."
  17996. msgstr ""
  17997. #. type: defvr
  17998. #: doc/guix.texi:9727
  17999. #, no-wrap
  18000. msgid "{Scheme Variable} %base-services"
  18001. msgstr ""
  18002. #. type: defvr
  18003. #: doc/guix.texi:9733
  18004. msgid ""
  18005. "This variable contains a list of basic services (@pxref{Service Types and "
  18006. "Services}, for more information on service objects) one would expect from "
  18007. "the system: a login service (mingetty) on each tty, syslogd, the libc name "
  18008. "service cache daemon (nscd), the udev device manager, and more."
  18009. msgstr ""
  18010. #. type: defvr
  18011. #: doc/guix.texi:9738
  18012. msgid ""
  18013. "This is the default value of the @code{services} field of @code{operating-"
  18014. "system} declarations. Usually, when customizing a system, you will want to "
  18015. "append services to @var{%base-services}, like this:"
  18016. msgstr ""
  18017. #. type: example
  18018. #: doc/guix.texi:9741
  18019. #, no-wrap
  18020. msgid "(cons* (avahi-service) (lsh-service) %base-services)\n"
  18021. msgstr ""
  18022. #. type: defvr
  18023. #: doc/guix.texi:9744
  18024. #, no-wrap
  18025. msgid "{Scheme Variable} special-files-service-type"
  18026. msgstr ""
  18027. #. type: defvr
  18028. #: doc/guix.texi:9747
  18029. msgid ""
  18030. "This is the service that sets up ``special files'' such as @file{/bin/sh}; "
  18031. "an instance of it is part of @code{%base-services}."
  18032. msgstr ""
  18033. #. type: defvr
  18034. #: doc/guix.texi:9751
  18035. msgid ""
  18036. "The value associated with @code{special-files-service-type} services must be "
  18037. "a list of tuples where the first element is the ``special file'' and the "
  18038. "second element is its target. By default it is:"
  18039. msgstr ""
  18040. #. type: file{#1}
  18041. #: doc/guix.texi:9752
  18042. #, no-wrap
  18043. msgid "/bin/sh"
  18044. msgstr ""
  18045. #. type: cindex
  18046. #: doc/guix.texi:9753
  18047. #, no-wrap
  18048. msgid "@file{sh}, in @file{/bin}"
  18049. msgstr ""
  18050. #. type: example
  18051. #: doc/guix.texi:9756
  18052. #, no-wrap
  18053. msgid "`((\"/bin/sh\" ,(file-append @var{bash} \"/bin/sh\")))\n"
  18054. msgstr ""
  18055. #. type: file{#1}
  18056. #: doc/guix.texi:9758
  18057. #, no-wrap
  18058. msgid "/usr/bin/env"
  18059. msgstr ""
  18060. #. type: cindex
  18061. #: doc/guix.texi:9759
  18062. #, no-wrap
  18063. msgid "@file{env}, in @file{/usr/bin}"
  18064. msgstr ""
  18065. #. type: defvr
  18066. #: doc/guix.texi:9762
  18067. msgid ""
  18068. "If you want to add, say, @code{/usr/bin/env} to your system, you can change "
  18069. "it to:"
  18070. msgstr ""
  18071. #. type: example
  18072. #: doc/guix.texi:9766
  18073. #, no-wrap
  18074. msgid ""
  18075. "`((\"/bin/sh\" ,(file-append @var{bash} \"/bin/sh\"))\n"
  18076. " (\"/usr/bin/env\" ,(file-append @var{coreutils} \"/bin/env\")))\n"
  18077. msgstr ""
  18078. #. type: defvr
  18079. #: doc/guix.texi:9773
  18080. msgid ""
  18081. "Since this is part of @code{%base-services}, you can use @code{modify-"
  18082. "services} to customize the set of special files (@pxref{Service Reference, "
  18083. "@code{modify-services}}). But the simple way to add a special file is "
  18084. "@i{via} the @code{extra-special-file} procedure (see below.)"
  18085. msgstr ""
  18086. #. type: deffn
  18087. #: doc/guix.texi:9775
  18088. #, no-wrap
  18089. msgid "{Scheme Procedure} extra-special-file @var{file} @var{target}"
  18090. msgstr ""
  18091. #. type: deffn
  18092. #: doc/guix.texi:9777
  18093. msgid "Use @var{target} as the ``special file'' @var{file}."
  18094. msgstr ""
  18095. #. type: deffn
  18096. #: doc/guix.texi:9781
  18097. msgid ""
  18098. "For example, adding the following lines to the @code{services} field of your "
  18099. "operating system declaration leads to a @file{/usr/bin/env} symlink:"
  18100. msgstr ""
  18101. #. type: example
  18102. #: doc/guix.texi:9785
  18103. #, no-wrap
  18104. msgid ""
  18105. "(extra-special-file \"/usr/bin/env\"\n"
  18106. " (file-append coreutils \"/bin/env\"))\n"
  18107. msgstr ""
  18108. #. type: deffn
  18109. #: doc/guix.texi:9788
  18110. #, no-wrap
  18111. msgid "{Scheme Procedure} host-name-service @var{name}"
  18112. msgstr ""
  18113. #. type: deffn
  18114. #: doc/guix.texi:9790
  18115. msgid "Return a service that sets the host name to @var{name}."
  18116. msgstr ""
  18117. #. type: deffn
  18118. #: doc/guix.texi:9792
  18119. #, no-wrap
  18120. msgid "{Scheme Procedure} login-service @var{config}"
  18121. msgstr ""
  18122. #. type: deffn
  18123. #: doc/guix.texi:9796
  18124. msgid ""
  18125. "Return a service to run login according to @var{config}, a @code{<login-"
  18126. "configuration>} object, which specifies the message of the day, among other "
  18127. "things."
  18128. msgstr ""
  18129. #. type: deftp
  18130. #: doc/guix.texi:9798
  18131. #, no-wrap
  18132. msgid "{Data Type} login-configuration"
  18133. msgstr ""
  18134. #. type: deftp
  18135. #: doc/guix.texi:9800
  18136. msgid "This is the data type representing the configuration of login."
  18137. msgstr ""
  18138. #. type: code{#1}
  18139. #: doc/guix.texi:9803
  18140. #, no-wrap
  18141. msgid "motd"
  18142. msgstr ""
  18143. #. type: cindex
  18144. #: doc/guix.texi:9804
  18145. #, no-wrap
  18146. msgid "message of the day"
  18147. msgstr ""
  18148. #. type: table
  18149. #: doc/guix.texi:9806
  18150. msgid "A file-like object containing the ``message of the day''."
  18151. msgstr ""
  18152. #. type: item
  18153. #: doc/guix.texi:9807 doc/guix.texi:11469
  18154. #, no-wrap
  18155. msgid "@code{allow-empty-passwords?} (default: @code{#t})"
  18156. msgstr ""
  18157. #. type: table
  18158. #: doc/guix.texi:9810
  18159. msgid ""
  18160. "Allow empty passwords by default so that first-time users can log in when "
  18161. "the 'root' account has just been created."
  18162. msgstr ""
  18163. #. type: deffn
  18164. #: doc/guix.texi:9814
  18165. #, no-wrap
  18166. msgid "{Scheme Procedure} mingetty-service @var{config}"
  18167. msgstr ""
  18168. #. type: deffn
  18169. #: doc/guix.texi:9818
  18170. msgid ""
  18171. "Return a service to run mingetty according to @var{config}, a "
  18172. "@code{<mingetty-configuration>} object, which specifies the tty to run, "
  18173. "among other things."
  18174. msgstr ""
  18175. #. type: deftp
  18176. #: doc/guix.texi:9820
  18177. #, no-wrap
  18178. msgid "{Data Type} mingetty-configuration"
  18179. msgstr ""
  18180. #. type: deftp
  18181. #: doc/guix.texi:9823
  18182. msgid ""
  18183. "This is the data type representing the configuration of Mingetty, which "
  18184. "provides the default implementation of virtual console log-in."
  18185. msgstr ""
  18186. #. type: code{#1}
  18187. #: doc/guix.texi:9826 doc/guix.texi:9862
  18188. #, no-wrap
  18189. msgid "tty"
  18190. msgstr ""
  18191. #. type: table
  18192. #: doc/guix.texi:9828
  18193. msgid "The name of the console this Mingetty runs on---e.g., @code{\"tty1\"}."
  18194. msgstr ""
  18195. #. type: item
  18196. #: doc/guix.texi:9829 doc/guix.texi:9891
  18197. #, no-wrap
  18198. msgid "@code{auto-login} (default: @code{#f})"
  18199. msgstr ""
  18200. #. type: table
  18201. #: doc/guix.texi:9833
  18202. msgid ""
  18203. "When true, this field must be a string denoting the user name under which "
  18204. "the system automatically logs in. When it is @code{#f}, a user name and "
  18205. "password must be entered to log in."
  18206. msgstr ""
  18207. #. type: item
  18208. #: doc/guix.texi:9834
  18209. #, no-wrap
  18210. msgid "@code{login-program} (default: @code{#f})"
  18211. msgstr ""
  18212. #. type: table
  18213. #: doc/guix.texi:9838
  18214. msgid ""
  18215. "This must be either @code{#f}, in which case the default log-in program is "
  18216. "used (@command{login} from the Shadow tool suite), or a gexp denoting the "
  18217. "name of the log-in program."
  18218. msgstr ""
  18219. #. type: item
  18220. #: doc/guix.texi:9839
  18221. #, no-wrap
  18222. msgid "@code{login-pause?} (default: @code{#f})"
  18223. msgstr ""
  18224. #. type: table
  18225. #: doc/guix.texi:9842
  18226. msgid ""
  18227. "When set to @code{#t} in conjunction with @var{auto-login}, the user will "
  18228. "have to press a key before the log-in shell is launched."
  18229. msgstr ""
  18230. #. type: item
  18231. #: doc/guix.texi:9843
  18232. #, no-wrap
  18233. msgid "@code{mingetty} (default: @var{mingetty})"
  18234. msgstr ""
  18235. #. type: table
  18236. #: doc/guix.texi:9845
  18237. msgid "The Mingetty package to use."
  18238. msgstr ""
  18239. #. type: deffn
  18240. #: doc/guix.texi:9849
  18241. #, no-wrap
  18242. msgid "{Scheme Procedure} agetty-service @var{config}"
  18243. msgstr ""
  18244. #. type: deffn
  18245. #: doc/guix.texi:9853
  18246. msgid ""
  18247. "Return a service to run agetty according to @var{config}, an @code{<agetty-"
  18248. "configuration>} object, which specifies the tty to run, among other things."
  18249. msgstr ""
  18250. #. type: deftp
  18251. #: doc/guix.texi:9855
  18252. #, no-wrap
  18253. msgid "{Data Type} agetty-configuration"
  18254. msgstr ""
  18255. #. type: deftp
  18256. #: doc/guix.texi:9859
  18257. msgid ""
  18258. "This is the data type representing the configuration of agetty, which "
  18259. "implements virtual and serial console log-in. See the @code{agetty(8)} man "
  18260. "page for more information."
  18261. msgstr ""
  18262. #. type: table
  18263. #: doc/guix.texi:9866
  18264. msgid ""
  18265. "The name of the console this agetty runs on, as a string---e.g., "
  18266. "@code{\"ttyS0\"}. This argument is optional, it will default to a reasonable "
  18267. "default serial port used by the kernel Linux."
  18268. msgstr ""
  18269. #. type: table
  18270. #: doc/guix.texi:9870
  18271. msgid ""
  18272. "For this, if there is a value for an option @code{agetty.tty} in the kernel "
  18273. "command line, agetty will extract the device name of the serial port from it "
  18274. "and use that."
  18275. msgstr ""
  18276. #. type: table
  18277. #: doc/guix.texi:9874
  18278. msgid ""
  18279. "If not and if there is a value for an option @code{console} with a tty in "
  18280. "the Linux command line, agetty will extract the device name of the serial "
  18281. "port from it and use that."
  18282. msgstr ""
  18283. #. type: table
  18284. #: doc/guix.texi:9878
  18285. msgid ""
  18286. "In both cases, agetty will leave the other serial device settings (baud rate "
  18287. "etc.) alone---in the hope that Linux pinned them to the correct values."
  18288. msgstr ""
  18289. #. type: item
  18290. #: doc/guix.texi:9879
  18291. #, no-wrap
  18292. msgid "@code{baud-rate} (default: @code{#f})"
  18293. msgstr ""
  18294. #. type: table
  18295. #: doc/guix.texi:9882
  18296. msgid ""
  18297. "A string containing a comma-separated list of one or more baud rates, in "
  18298. "descending order."
  18299. msgstr ""
  18300. #. type: item
  18301. #: doc/guix.texi:9883
  18302. #, no-wrap
  18303. msgid "@code{term} (default: @code{#f})"
  18304. msgstr ""
  18305. #. type: table
  18306. #: doc/guix.texi:9886
  18307. msgid ""
  18308. "A string containing the value used for the @code{TERM} environment variable."
  18309. msgstr ""
  18310. #. type: item
  18311. #: doc/guix.texi:9887
  18312. #, no-wrap
  18313. msgid "@code{eight-bits?} (default: @code{#f})"
  18314. msgstr ""
  18315. #. type: table
  18316. #: doc/guix.texi:9890
  18317. msgid ""
  18318. "When @code{#t}, the tty is assumed to be 8-bit clean, and parity detection "
  18319. "is disabled."
  18320. msgstr ""
  18321. #. type: table
  18322. #: doc/guix.texi:9894
  18323. msgid ""
  18324. "When passed a login name, as a string, the specified user will be logged in "
  18325. "automatically without prompting for their login name or password."
  18326. msgstr ""
  18327. #. type: item
  18328. #: doc/guix.texi:9895
  18329. #, no-wrap
  18330. msgid "@code{no-reset?} (default: @code{#f})"
  18331. msgstr ""
  18332. #. type: table
  18333. #: doc/guix.texi:9897
  18334. msgid "When @code{#t}, don't reset terminal cflags (control modes)."
  18335. msgstr ""
  18336. #. type: item
  18337. #: doc/guix.texi:9898
  18338. #, no-wrap
  18339. msgid "@code{host} (default: @code{#f})"
  18340. msgstr ""
  18341. #. type: table
  18342. #: doc/guix.texi:9901
  18343. msgid ""
  18344. "This accepts a string containing the \"login_host\", which will be written "
  18345. "into the @file{/var/run/utmpx} file."
  18346. msgstr ""
  18347. #. type: item
  18348. #: doc/guix.texi:9902
  18349. #, no-wrap
  18350. msgid "@code{remote?} (default: @code{#f})"
  18351. msgstr ""
  18352. #. type: table
  18353. #: doc/guix.texi:9906
  18354. msgid ""
  18355. "When set to @code{#t} in conjunction with @var{host}, this will add an "
  18356. "@code{-r} fakehost option to the command line of the login program specified "
  18357. "in @var{login-program}."
  18358. msgstr ""
  18359. #. type: item
  18360. #: doc/guix.texi:9907
  18361. #, no-wrap
  18362. msgid "@code{flow-control?} (default: @code{#f})"
  18363. msgstr ""
  18364. #. type: table
  18365. #: doc/guix.texi:9909
  18366. msgid "When set to @code{#t}, enable hardware (RTS/CTS) flow control."
  18367. msgstr ""
  18368. #. type: item
  18369. #: doc/guix.texi:9910
  18370. #, no-wrap
  18371. msgid "@code{no-issue?} (default: @code{#f})"
  18372. msgstr ""
  18373. #. type: table
  18374. #: doc/guix.texi:9913
  18375. msgid ""
  18376. "When set to @code{#t}, the contents of the @file{/etc/issue} file will not "
  18377. "be displayed before presenting the login prompt."
  18378. msgstr ""
  18379. #. type: item
  18380. #: doc/guix.texi:9914
  18381. #, no-wrap
  18382. msgid "@code{init-string} (default: @code{#f})"
  18383. msgstr ""
  18384. #. type: table
  18385. #: doc/guix.texi:9917
  18386. msgid ""
  18387. "This accepts a string that will be sent to the tty or modem before sending "
  18388. "anything else. It can be used to initialize a modem."
  18389. msgstr ""
  18390. #. type: item
  18391. #: doc/guix.texi:9918
  18392. #, no-wrap
  18393. msgid "@code{no-clear?} (default: @code{#f})"
  18394. msgstr ""
  18395. #. type: table
  18396. #: doc/guix.texi:9921
  18397. msgid ""
  18398. "When set to @code{#t}, agetty will not clear the screen before showing the "
  18399. "login prompt."
  18400. msgstr ""
  18401. #. type: item
  18402. #: doc/guix.texi:9922
  18403. #, no-wrap
  18404. msgid "@code{login-program} (default: (file-append shadow \"/bin/login\"))"
  18405. msgstr ""
  18406. #. type: table
  18407. #: doc/guix.texi:9926
  18408. msgid ""
  18409. "This must be either a gexp denoting the name of a log-in program, or unset, "
  18410. "in which case the default value is the @command{login} from the Shadow tool "
  18411. "suite."
  18412. msgstr ""
  18413. #. type: item
  18414. #: doc/guix.texi:9927
  18415. #, no-wrap
  18416. msgid "@code{local-line} (default: @code{#f})"
  18417. msgstr ""
  18418. #. type: table
  18419. #: doc/guix.texi:9931
  18420. msgid ""
  18421. "Control the CLOCAL line flag. This accepts one of three symbols as "
  18422. "arguments, @code{'auto}, @code{'always}, or @code{'never}. If @code{#f}, the "
  18423. "default value chosen by agetty is @code{'auto}."
  18424. msgstr ""
  18425. #. type: item
  18426. #: doc/guix.texi:9932
  18427. #, no-wrap
  18428. msgid "@code{extract-baud?} (default: @code{#f})"
  18429. msgstr ""
  18430. #. type: table
  18431. #: doc/guix.texi:9935
  18432. msgid ""
  18433. "When set to @code{#t}, instruct agetty to try to extract the baud rate from "
  18434. "the status messages produced by certain types of modems."
  18435. msgstr ""
  18436. #. type: item
  18437. #: doc/guix.texi:9936
  18438. #, no-wrap
  18439. msgid "@code{skip-login?} (default: @code{#f})"
  18440. msgstr ""
  18441. #. type: table
  18442. #: doc/guix.texi:9940
  18443. msgid ""
  18444. "When set to @code{#t}, do not prompt the user for a login name. This can be "
  18445. "used with @var{login-program} field to use non-standard login systems."
  18446. msgstr ""
  18447. #. type: item
  18448. #: doc/guix.texi:9941
  18449. #, no-wrap
  18450. msgid "@code{no-newline?} (default: @code{#f})"
  18451. msgstr ""
  18452. #. type: table
  18453. #: doc/guix.texi:9944
  18454. msgid ""
  18455. "When set to @code{#t}, do not print a newline before printing the @file{/etc/"
  18456. "issue} file."
  18457. msgstr ""
  18458. #. type: item
  18459. #: doc/guix.texi:9946
  18460. #, no-wrap
  18461. msgid "@code{login-options} (default: @code{#f})"
  18462. msgstr ""
  18463. #. type: table
  18464. #: doc/guix.texi:9951
  18465. msgid ""
  18466. "This option accepts a string containing options that are passed to the login "
  18467. "program. When used with the @var{login-program}, be aware that a malicious "
  18468. "user could try to enter a login name containing embedded options that could "
  18469. "be parsed by the login program."
  18470. msgstr ""
  18471. #. type: item
  18472. #: doc/guix.texi:9952
  18473. #, no-wrap
  18474. msgid "@code{login-pause} (default: @code{#f})"
  18475. msgstr ""
  18476. #. type: table
  18477. #: doc/guix.texi:9956
  18478. msgid ""
  18479. "When set to @code{#t}, wait for any key before showing the login prompt. "
  18480. "This can be used in conjunction with @var{auto-login} to save memory by "
  18481. "lazily spawning shells."
  18482. msgstr ""
  18483. #. type: item
  18484. #: doc/guix.texi:9957
  18485. #, no-wrap
  18486. msgid "@code{chroot} (default: @code{#f})"
  18487. msgstr ""
  18488. #. type: table
  18489. #: doc/guix.texi:9960
  18490. msgid ""
  18491. "Change root to the specified directory. This option accepts a directory "
  18492. "path as a string."
  18493. msgstr ""
  18494. #. type: item
  18495. #: doc/guix.texi:9961
  18496. #, no-wrap
  18497. msgid "@code{hangup?} (default: @code{#f})"
  18498. msgstr ""
  18499. #. type: table
  18500. #: doc/guix.texi:9964
  18501. msgid ""
  18502. "Use the Linux system call @code{vhangup} to do a virtual hangup of the "
  18503. "specified terminal."
  18504. msgstr ""
  18505. #. type: item
  18506. #: doc/guix.texi:9965
  18507. #, no-wrap
  18508. msgid "@code{keep-baud?} (default: @code{#f})"
  18509. msgstr ""
  18510. #. type: table
  18511. #: doc/guix.texi:9969
  18512. msgid ""
  18513. "When set to @code{#t}, try to keep the existing baud rate. The baud rates "
  18514. "from @var{baud-rate} are used when agetty receives a @key{BREAK} character."
  18515. msgstr ""
  18516. #. type: item
  18517. #: doc/guix.texi:9970
  18518. #, no-wrap
  18519. msgid "@code{timeout} (default: @code{#f})"
  18520. msgstr ""
  18521. #. type: table
  18522. #: doc/guix.texi:9973
  18523. msgid ""
  18524. "When set to an integer value, terminate if no user name could be read within "
  18525. "@var{timeout} seconds."
  18526. msgstr ""
  18527. #. type: item
  18528. #: doc/guix.texi:9974
  18529. #, no-wrap
  18530. msgid "@code{detect-case?} (default: @code{#f})"
  18531. msgstr ""
  18532. #. type: table
  18533. #: doc/guix.texi:9980
  18534. msgid ""
  18535. "When set to @code{#t}, turn on support for detecting an uppercase-only "
  18536. "terminal. This setting will detect a login name containing only uppercase "
  18537. "letters as indicating an uppercase-only terminal and turn on some upper-to-"
  18538. "lower case conversions. Note that this will not support Unicode characters."
  18539. msgstr ""
  18540. #. type: item
  18541. #: doc/guix.texi:9981
  18542. #, no-wrap
  18543. msgid "@code{wait-cr?} (default: @code{#f})"
  18544. msgstr ""
  18545. #. type: table
  18546. #: doc/guix.texi:9986
  18547. msgid ""
  18548. "When set to @code{#t}, wait for the user or modem to send a carriage-return "
  18549. "or linefeed character before displaying @file{/etc/issue} or login prompt. "
  18550. "This is typically used with the @var{init-string} option."
  18551. msgstr ""
  18552. #. type: item
  18553. #: doc/guix.texi:9987
  18554. #, no-wrap
  18555. msgid "@code{no-hints?} (default: @code{#f})"
  18556. msgstr ""
  18557. #. type: table
  18558. #: doc/guix.texi:9990
  18559. msgid ""
  18560. "When set to @code{#t}, do not print hints about Num, Caps, and Scroll locks."
  18561. msgstr ""
  18562. #. type: item
  18563. #: doc/guix.texi:9991
  18564. #, no-wrap
  18565. msgid "@code{no-hostname?} (default: @code{#f})"
  18566. msgstr ""
  18567. #. type: table
  18568. #: doc/guix.texi:9994
  18569. msgid ""
  18570. "By default, the hostname is printed. When this option is set to @code{#t}, "
  18571. "no hostname will be shown at all."
  18572. msgstr ""
  18573. #. type: item
  18574. #: doc/guix.texi:9995
  18575. #, no-wrap
  18576. msgid "@code{long-hostname?} (default: @code{#f})"
  18577. msgstr ""
  18578. #. type: table
  18579. #: doc/guix.texi:9999
  18580. msgid ""
  18581. "By default, the hostname is only printed until the first dot. When this "
  18582. "option is set to @code{#t}, the fully qualified hostname by "
  18583. "@code{gethostname} or @code{getaddrinfo} is shown."
  18584. msgstr ""
  18585. #. type: item
  18586. #: doc/guix.texi:10000
  18587. #, no-wrap
  18588. msgid "@code{erase-characters} (default: @code{#f})"
  18589. msgstr ""
  18590. #. type: table
  18591. #: doc/guix.texi:10003
  18592. msgid ""
  18593. "This option accepts a string of additional characters that should be "
  18594. "interpreted as backspace when the user types their login name."
  18595. msgstr ""
  18596. #. type: item
  18597. #: doc/guix.texi:10004
  18598. #, no-wrap
  18599. msgid "@code{kill-characters} (default: @code{#f})"
  18600. msgstr ""
  18601. #. type: table
  18602. #: doc/guix.texi:10008
  18603. msgid ""
  18604. "This option accepts a string that should be interpreted to mean \"ignore all "
  18605. "previous characters\" (also called a \"kill\" character) when the types "
  18606. "their login name."
  18607. msgstr ""
  18608. #. type: item
  18609. #: doc/guix.texi:10009
  18610. #, no-wrap
  18611. msgid "@code{chdir} (default: @code{#f})"
  18612. msgstr ""
  18613. #. type: table
  18614. #: doc/guix.texi:10012
  18615. msgid ""
  18616. "This option accepts, as a string, a directory path that will be changed to "
  18617. "before login."
  18618. msgstr ""
  18619. #. type: item
  18620. #: doc/guix.texi:10013
  18621. #, no-wrap
  18622. msgid "@code{delay} (default: @code{#f})"
  18623. msgstr ""
  18624. #. type: table
  18625. #: doc/guix.texi:10016
  18626. msgid ""
  18627. "This options accepts, as an integer, the number of seconds to sleep before "
  18628. "opening the tty and displaying the login prompt."
  18629. msgstr ""
  18630. #. type: item
  18631. #: doc/guix.texi:10017
  18632. #, no-wrap
  18633. msgid "@code{nice} (default: @code{#f})"
  18634. msgstr ""
  18635. #. type: table
  18636. #: doc/guix.texi:10020
  18637. msgid ""
  18638. "This option accepts, as an integer, the nice value with which to run the "
  18639. "@command{login} program."
  18640. msgstr ""
  18641. #. type: item
  18642. #: doc/guix.texi:10021 doc/guix.texi:10221
  18643. #, no-wrap
  18644. msgid "@code{extra-options} (default: @code{'()})"
  18645. msgstr ""
  18646. #. type: table
  18647. #: doc/guix.texi:10024
  18648. msgid ""
  18649. "This option provides an \"escape hatch\" for the user to provide arbitrary "
  18650. "command-line arguments to @command{agetty} as a list of strings."
  18651. msgstr ""
  18652. #. type: deffn
  18653. #: doc/guix.texi:10028
  18654. #, no-wrap
  18655. msgid "{Scheme Procedure} kmscon-service-type @var{config}"
  18656. msgstr ""
  18657. #. type: deffn
  18658. #: doc/guix.texi:10032
  18659. msgid ""
  18660. "Return a service to run @uref{https://www.freedesktop.org/wiki/Software/"
  18661. "kmscon,kmscon} according to @var{config}, a @code{<kmscon-configuration>} "
  18662. "object, which specifies the tty to run, among other things."
  18663. msgstr ""
  18664. #. type: deftp
  18665. #: doc/guix.texi:10034
  18666. #, no-wrap
  18667. msgid "{Data Type} kmscon-configuration"
  18668. msgstr ""
  18669. #. type: deftp
  18670. #: doc/guix.texi:10037
  18671. msgid ""
  18672. "This is the data type representing the configuration of Kmscon, which "
  18673. "implements virtual console log-in."
  18674. msgstr ""
  18675. #. type: code{#1}
  18676. #: doc/guix.texi:10040
  18677. #, no-wrap
  18678. msgid "virtual-terminal"
  18679. msgstr ""
  18680. #. type: table
  18681. #: doc/guix.texi:10042
  18682. msgid "The name of the console this Kmscon runs on---e.g., @code{\"tty1\"}."
  18683. msgstr ""
  18684. #. type: item
  18685. #: doc/guix.texi:10043
  18686. #, no-wrap
  18687. msgid "@code{login-program} (default: @code{#~(string-append #$shadow \"/bin/login\")})"
  18688. msgstr ""
  18689. #. type: table
  18690. #: doc/guix.texi:10046
  18691. msgid ""
  18692. "A gexp denoting the name of the log-in program. The default log-in program "
  18693. "is @command{login} from the Shadow tool suite."
  18694. msgstr ""
  18695. #. type: item
  18696. #: doc/guix.texi:10047
  18697. #, no-wrap
  18698. msgid "@code{login-arguments} (default: @code{'(\"-p\")})"
  18699. msgstr ""
  18700. #. type: table
  18701. #: doc/guix.texi:10049
  18702. msgid "A list of arguments to pass to @command{login}."
  18703. msgstr ""
  18704. #. type: item
  18705. #: doc/guix.texi:10050
  18706. #, no-wrap
  18707. msgid "@code{hardware-acceleration?} (default: #f)"
  18708. msgstr ""
  18709. #. type: table
  18710. #: doc/guix.texi:10052
  18711. msgid "Whether to use hardware acceleration."
  18712. msgstr ""
  18713. #. type: item
  18714. #: doc/guix.texi:10053
  18715. #, no-wrap
  18716. msgid "@code{kmscon} (default: @var{kmscon})"
  18717. msgstr ""
  18718. #. type: table
  18719. #: doc/guix.texi:10055
  18720. msgid "The Kmscon package to use."
  18721. msgstr ""
  18722. #. type: cindex
  18723. #: doc/guix.texi:10059
  18724. #, no-wrap
  18725. msgid "name service cache daemon"
  18726. msgstr ""
  18727. #. type: cindex
  18728. #: doc/guix.texi:10060
  18729. #, no-wrap
  18730. msgid "nscd"
  18731. msgstr ""
  18732. #. type: deffn
  18733. #: doc/guix.texi:10061
  18734. #, no-wrap
  18735. msgid "{Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @"
  18736. msgstr ""
  18737. #. type: deffn
  18738. #: doc/guix.texi:10066
  18739. msgid ""
  18740. "[#:name-services '()] Return a service that runs the libc name service cache "
  18741. "daemon (nscd) with the given @var{config}---an @code{<nscd-configuration>} "
  18742. "object. @xref{Name Service Switch}, for an example."
  18743. msgstr ""
  18744. #. type: defvr
  18745. #: doc/guix.texi:10068
  18746. #, no-wrap
  18747. msgid "{Scheme Variable} %nscd-default-configuration"
  18748. msgstr ""
  18749. #. type: defvr
  18750. #: doc/guix.texi:10072
  18751. msgid ""
  18752. "This is the default @code{<nscd-configuration>} value (see below) used by "
  18753. "@code{nscd-service}. It uses the caches defined by @var{%nscd-default-"
  18754. "caches}; see below."
  18755. msgstr ""
  18756. #. type: deftp
  18757. #: doc/guix.texi:10074
  18758. #, no-wrap
  18759. msgid "{Data Type} nscd-configuration"
  18760. msgstr ""
  18761. #. type: deftp
  18762. #: doc/guix.texi:10077
  18763. msgid ""
  18764. "This is the data type representing the name service cache daemon (nscd) "
  18765. "configuration."
  18766. msgstr ""
  18767. #. type: item
  18768. #: doc/guix.texi:10080
  18769. #, no-wrap
  18770. msgid "@code{name-services} (default: @code{'()})"
  18771. msgstr ""
  18772. #. type: table
  18773. #: doc/guix.texi:10083
  18774. msgid ""
  18775. "List of packages denoting @dfn{name services} that must be visible to the "
  18776. "nscd---e.g., @code{(list @var{nss-mdns})}."
  18777. msgstr ""
  18778. #. type: item
  18779. #: doc/guix.texi:10084
  18780. #, no-wrap
  18781. msgid "@code{glibc} (default: @var{glibc})"
  18782. msgstr ""
  18783. #. type: table
  18784. #: doc/guix.texi:10087
  18785. msgid ""
  18786. "Package object denoting the GNU C Library providing the @command{nscd} "
  18787. "command."
  18788. msgstr ""
  18789. #. type: item
  18790. #: doc/guix.texi:10088
  18791. #, no-wrap
  18792. msgid "@code{log-file} (default: @code{\"/var/log/nscd.log\"})"
  18793. msgstr ""
  18794. #. type: table
  18795. #: doc/guix.texi:10091
  18796. msgid ""
  18797. "Name of the nscd log file. This is where debugging output goes when "
  18798. "@code{debug-level} is strictly positive."
  18799. msgstr ""
  18800. #. type: item
  18801. #: doc/guix.texi:10092
  18802. #, no-wrap
  18803. msgid "@code{debug-level} (default: @code{0})"
  18804. msgstr ""
  18805. #. type: table
  18806. #: doc/guix.texi:10095
  18807. msgid ""
  18808. "Integer denoting the debugging levels. Higher numbers mean that more "
  18809. "debugging output is logged."
  18810. msgstr ""
  18811. #. type: item
  18812. #: doc/guix.texi:10096
  18813. #, no-wrap
  18814. msgid "@code{caches} (default: @var{%nscd-default-caches})"
  18815. msgstr ""
  18816. #. type: table
  18817. #: doc/guix.texi:10099
  18818. msgid ""
  18819. "List of @code{<nscd-cache>} objects denoting things to be cached; see below."
  18820. msgstr ""
  18821. #. type: deftp
  18822. #: doc/guix.texi:10103
  18823. #, no-wrap
  18824. msgid "{Data Type} nscd-cache"
  18825. msgstr ""
  18826. #. type: deftp
  18827. #: doc/guix.texi:10105
  18828. msgid "Data type representing a cache database of nscd and its parameters."
  18829. msgstr ""
  18830. #. type: cindex
  18831. #: doc/guix.texi:10108 doc/guix.texi:12810
  18832. #, no-wrap
  18833. msgid "database"
  18834. msgstr ""
  18835. #. type: table
  18836. #: doc/guix.texi:10113
  18837. msgid ""
  18838. "This is a symbol representing the name of the database to be cached. Valid "
  18839. "values are @code{passwd}, @code{group}, @code{hosts}, and @code{services}, "
  18840. "which designate the corresponding NSS database (@pxref{NSS Basics,,, libc, "
  18841. "The GNU C Library Reference Manual})."
  18842. msgstr ""
  18843. #. type: code{#1}
  18844. #: doc/guix.texi:10114
  18845. #, no-wrap
  18846. msgid "positive-time-to-live"
  18847. msgstr ""
  18848. #. type: itemx
  18849. #: doc/guix.texi:10115
  18850. #, no-wrap
  18851. msgid "@code{negative-time-to-live} (default: @code{20})"
  18852. msgstr ""
  18853. #. type: table
  18854. #: doc/guix.texi:10118
  18855. msgid ""
  18856. "A number representing the number of seconds during which a positive or "
  18857. "negative lookup result remains in cache."
  18858. msgstr ""
  18859. #. type: item
  18860. #: doc/guix.texi:10119
  18861. #, no-wrap
  18862. msgid "@code{check-files?} (default: @code{#t})"
  18863. msgstr ""
  18864. #. type: table
  18865. #: doc/guix.texi:10122
  18866. msgid ""
  18867. "Whether to check for updates of the files corresponding to @var{database}."
  18868. msgstr ""
  18869. #. type: table
  18870. #: doc/guix.texi:10126
  18871. msgid ""
  18872. "For instance, when @var{database} is @code{hosts}, setting this flag "
  18873. "instructs nscd to check for updates in @file{/etc/hosts} and to take them "
  18874. "into account."
  18875. msgstr ""
  18876. #. type: item
  18877. #: doc/guix.texi:10127
  18878. #, no-wrap
  18879. msgid "@code{persistent?} (default: @code{#t})"
  18880. msgstr ""
  18881. #. type: table
  18882. #: doc/guix.texi:10129
  18883. msgid "Whether the cache should be stored persistently on disk."
  18884. msgstr ""
  18885. #. type: item
  18886. #: doc/guix.texi:10130
  18887. #, no-wrap
  18888. msgid "@code{shared?} (default: @code{#t})"
  18889. msgstr ""
  18890. #. type: table
  18891. #: doc/guix.texi:10132
  18892. msgid "Whether the cache should be shared among users."
  18893. msgstr ""
  18894. #. type: item
  18895. #: doc/guix.texi:10133
  18896. #, no-wrap
  18897. msgid "@code{max-database-size} (default: 32@tie{}MiB)"
  18898. msgstr ""
  18899. #. type: table
  18900. #: doc/guix.texi:10135
  18901. msgid "Maximum size in bytes of the database cache."
  18902. msgstr ""
  18903. #. type: defvr
  18904. #: doc/guix.texi:10142
  18905. #, no-wrap
  18906. msgid "{Scheme Variable} %nscd-default-caches"
  18907. msgstr ""
  18908. #. type: defvr
  18909. #: doc/guix.texi:10145
  18910. msgid ""
  18911. "List of @code{<nscd-cache>} objects used by default by @code{nscd-"
  18912. "configuration} (see above)."
  18913. msgstr ""
  18914. #. type: defvr
  18915. #: doc/guix.texi:10151
  18916. msgid ""
  18917. "It enables persistent and aggressive caching of service and host name "
  18918. "lookups. The latter provides better host name lookup performance, "
  18919. "resilience in the face of unreliable name servers, and also better privacy---"
  18920. "often the result of host name lookups is in local cache, so external name "
  18921. "servers do not even need to be queried."
  18922. msgstr ""
  18923. #. type: anchor{#1}
  18924. #: doc/guix.texi:10154
  18925. msgid "syslog-configuration-type"
  18926. msgstr ""
  18927. #. type: cindex
  18928. #: doc/guix.texi:10154 doc/guix.texi:10170
  18929. #, no-wrap
  18930. msgid "syslog"
  18931. msgstr ""
  18932. #. type: cindex
  18933. #: doc/guix.texi:10155 doc/guix.texi:10588
  18934. #, no-wrap
  18935. msgid "logging"
  18936. msgstr ""
  18937. #. type: deftp
  18938. #: doc/guix.texi:10156
  18939. #, no-wrap
  18940. msgid "{Data Type} syslog-configuration"
  18941. msgstr ""
  18942. #. type: deftp
  18943. #: doc/guix.texi:10158
  18944. msgid "This data type represents the configuration of the syslog daemon."
  18945. msgstr ""
  18946. #. type: item
  18947. #: doc/guix.texi:10160
  18948. #, no-wrap
  18949. msgid "@code{syslogd} (default: @code{#~(string-append #$inetutils \"/libexec/syslogd\")})"
  18950. msgstr ""
  18951. #. type: table
  18952. #: doc/guix.texi:10162
  18953. msgid "The syslog daemon to use."
  18954. msgstr ""
  18955. #. type: item
  18956. #: doc/guix.texi:10163
  18957. #, no-wrap
  18958. msgid "@code{config-file} (default: @code{%default-syslog.conf})"
  18959. msgstr ""
  18960. #. type: table
  18961. #: doc/guix.texi:10165
  18962. msgid "The syslog configuration file to use."
  18963. msgstr ""
  18964. #. type: anchor{#1}
  18965. #: doc/guix.texi:10170
  18966. msgid "syslog-service"
  18967. msgstr ""
  18968. #. type: deffn
  18969. #: doc/guix.texi:10171
  18970. #, no-wrap
  18971. msgid "{Scheme Procedure} syslog-service @var{config}"
  18972. msgstr ""
  18973. #. type: deffn
  18974. #: doc/guix.texi:10173
  18975. msgid "Return a service that runs a syslog daemon according to @var{config}."
  18976. msgstr ""
  18977. #. type: deffn
  18978. #: doc/guix.texi:10176
  18979. msgid ""
  18980. "@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more information "
  18981. "on the configuration file syntax."
  18982. msgstr ""
  18983. #. type: anchor{#1}
  18984. #: doc/guix.texi:10179
  18985. msgid "guix-configuration-type"
  18986. msgstr ""
  18987. #. type: deftp
  18988. #: doc/guix.texi:10179
  18989. #, no-wrap
  18990. msgid "{Data Type} guix-configuration"
  18991. msgstr ""
  18992. #. type: deftp
  18993. #: doc/guix.texi:10182
  18994. msgid ""
  18995. "This data type represents the configuration of the Guix build daemon. "
  18996. "@xref{Invoking guix-daemon}, for more information."
  18997. msgstr ""
  18998. #. type: item
  18999. #: doc/guix.texi:10184
  19000. #, no-wrap
  19001. msgid "@code{guix} (default: @var{guix})"
  19002. msgstr ""
  19003. #. type: table
  19004. #: doc/guix.texi:10186 doc/guix.texi:10414
  19005. msgid "The Guix package to use."
  19006. msgstr ""
  19007. #. type: item
  19008. #: doc/guix.texi:10187
  19009. #, no-wrap
  19010. msgid "@code{build-group} (default: @code{\"guixbuild\"})"
  19011. msgstr ""
  19012. #. type: table
  19013. #: doc/guix.texi:10189
  19014. msgid "Name of the group for build user accounts."
  19015. msgstr ""
  19016. #. type: item
  19017. #: doc/guix.texi:10190
  19018. #, no-wrap
  19019. msgid "@code{build-accounts} (default: @code{10})"
  19020. msgstr ""
  19021. #. type: table
  19022. #: doc/guix.texi:10192
  19023. msgid "Number of build user accounts to create."
  19024. msgstr ""
  19025. #. type: item
  19026. #: doc/guix.texi:10193
  19027. #, no-wrap
  19028. msgid "@code{authorize-key?} (default: @code{#t})"
  19029. msgstr ""
  19030. #. type: table
  19031. #: doc/guix.texi:10198
  19032. msgid ""
  19033. "Whether to authorize the substitute keys listed in @code{authorized-keys}---"
  19034. "by default that of @code{hydra.gnu.org} (@pxref{Substitutes})."
  19035. msgstr ""
  19036. #. type: vindex
  19037. #: doc/guix.texi:10199
  19038. #, no-wrap
  19039. msgid "%default-authorized-guix-keys"
  19040. msgstr ""
  19041. #. type: item
  19042. #: doc/guix.texi:10200
  19043. #, no-wrap
  19044. msgid "@code{authorized-keys} (default: @var{%default-authorized-guix-keys})"
  19045. msgstr ""
  19046. #. type: table
  19047. #: doc/guix.texi:10204
  19048. msgid ""
  19049. "The list of authorized key files for archive imports, as a list of string-"
  19050. "valued gexps (@pxref{Invoking guix archive}). By default, it contains that "
  19051. "of @code{hydra.gnu.org} (@pxref{Substitutes})."
  19052. msgstr ""
  19053. #. type: item
  19054. #: doc/guix.texi:10205
  19055. #, no-wrap
  19056. msgid "@code{use-substitutes?} (default: @code{#t})"
  19057. msgstr ""
  19058. #. type: table
  19059. #: doc/guix.texi:10207
  19060. msgid "Whether to use substitutes."
  19061. msgstr ""
  19062. #. type: item
  19063. #: doc/guix.texi:10208
  19064. #, no-wrap
  19065. msgid "@code{substitute-urls} (default: @var{%default-substitute-urls})"
  19066. msgstr ""
  19067. #. type: table
  19068. #: doc/guix.texi:10210
  19069. msgid "The list of URLs where to look for substitutes by default."
  19070. msgstr ""
  19071. #. type: item
  19072. #: doc/guix.texi:10211
  19073. #, no-wrap
  19074. msgid "@code{max-silent-time} (default: @code{0})"
  19075. msgstr ""
  19076. #. type: itemx
  19077. #: doc/guix.texi:10212
  19078. #, no-wrap
  19079. msgid "@code{timeout} (default: @code{0})"
  19080. msgstr ""
  19081. #. type: table
  19082. #: doc/guix.texi:10216
  19083. msgid ""
  19084. "The number of seconds of silence and the number of seconds of activity, "
  19085. "respectively, after which a build process times out. A value of zero "
  19086. "disables the timeout."
  19087. msgstr ""
  19088. #. type: item
  19089. #: doc/guix.texi:10217
  19090. #, no-wrap
  19091. msgid "@code{log-compression} (default: @code{'bzip2})"
  19092. msgstr ""
  19093. #. type: table
  19094. #: doc/guix.texi:10220
  19095. msgid ""
  19096. "The type of compression used for build logs---one of @code{gzip}, "
  19097. "@code{bzip2}, or @code{none}."
  19098. msgstr ""
  19099. #. type: table
  19100. #: doc/guix.texi:10223
  19101. msgid "List of extra command-line options for @command{guix-daemon}."
  19102. msgstr ""
  19103. #. type: item
  19104. #: doc/guix.texi:10224
  19105. #, no-wrap
  19106. msgid "@code{log-file} (default: @code{\"/var/log/guix-daemon.log\"})"
  19107. msgstr ""
  19108. #. type: table
  19109. #: doc/guix.texi:10227
  19110. msgid ""
  19111. "File where @command{guix-daemon}'s standard output and standard error are "
  19112. "written."
  19113. msgstr ""
  19114. #. type: item
  19115. #: doc/guix.texi:10228
  19116. #, no-wrap
  19117. msgid "@code{http-proxy} (default: @code{#f})"
  19118. msgstr ""
  19119. #. type: table
  19120. #: doc/guix.texi:10231
  19121. msgid ""
  19122. "The HTTP proxy used for downloading fixed-output derivations and substitutes."
  19123. msgstr ""
  19124. #. type: item
  19125. #: doc/guix.texi:10232
  19126. #, no-wrap
  19127. msgid "@code{tmpdir} (default: @code{#f})"
  19128. msgstr ""
  19129. #. type: table
  19130. #: doc/guix.texi:10234
  19131. msgid "A directory path where the @command{guix-daemon} will perform builds."
  19132. msgstr ""
  19133. #. type: deffn
  19134. #: doc/guix.texi:10238
  19135. #, no-wrap
  19136. msgid "{Scheme Procedure} guix-service @var{config}"
  19137. msgstr ""
  19138. #. type: deffn
  19139. #: doc/guix.texi:10241
  19140. msgid ""
  19141. "Return a service that runs the Guix build daemon according to @var{config}."
  19142. msgstr ""
  19143. #. type: deffn
  19144. #: doc/guix.texi:10243
  19145. #, no-wrap
  19146. msgid "{Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}]"
  19147. msgstr ""
  19148. #. type: deffn
  19149. #: doc/guix.texi:10248
  19150. msgid ""
  19151. "Run @var{udev}, which populates the @file{/dev} directory dynamically. udev "
  19152. "rules can be provided as a list of files through the @var{rules} variable. "
  19153. "The procedures @var{udev-rule} and @var{file->udev-rule} from @code{(gnu "
  19154. "services base)} simplify the creation of such rule files."
  19155. msgstr ""
  19156. #. type: deffn
  19157. #: doc/guix.texi:10249
  19158. #, no-wrap
  19159. msgid "{Scheme Procedure} udev-rule [@var{file-name} @var{contents}]"
  19160. msgstr ""
  19161. #. type: deffn
  19162. #: doc/guix.texi:10252
  19163. msgid ""
  19164. "Return a udev-rule file named @var{file-name} containing the rules defined "
  19165. "by the @var{contents} literal."
  19166. msgstr ""
  19167. #. type: deffn
  19168. #: doc/guix.texi:10256
  19169. msgid ""
  19170. "In the following example, a rule for a USB device is defined to be stored in "
  19171. "the file @file{90-usb-thing.rules}. The rule runs a script upon detecting a "
  19172. "USB device with a given product identifier."
  19173. msgstr ""
  19174. #. type: example
  19175. #: doc/guix.texi:10264
  19176. #, no-wrap
  19177. msgid ""
  19178. "(define %example-udev-rule\n"
  19179. " (udev-rule\n"
  19180. " \"90-usb-thing.rules\"\n"
  19181. " (string-append \"ACTION==\\\"add\\\", SUBSYSTEM==\\\"usb\\\", \"\n"
  19182. " \"ATTR@{product@}==\\\"Example\\\", \"\n"
  19183. " \"RUN+=\\\"/path/to/script\\\"\")))\n"
  19184. msgstr ""
  19185. #. type: deffn
  19186. #: doc/guix.texi:10268
  19187. msgid ""
  19188. "Here we show how the default @var{udev-service} can be extended with it."
  19189. msgstr ""
  19190. #. type: example
  19191. #: doc/guix.texi:10278
  19192. #, no-wrap
  19193. msgid ""
  19194. "(operating-system\n"
  19195. " ;; @dots{}\n"
  19196. " (services\n"
  19197. " (modify-services %desktop-services\n"
  19198. " (udev-service-type config =>\n"
  19199. " (udev-configuration (inherit config)\n"
  19200. " (rules (append (udev-configuration-rules config)\n"
  19201. " (list %example-udev-rule))))))))\n"
  19202. msgstr ""
  19203. #. type: deffn
  19204. #: doc/guix.texi:10280
  19205. #, no-wrap
  19206. msgid "{Scheme Procedure} file->udev-rule [@var{file-name} @var{file}]"
  19207. msgstr ""
  19208. #. type: deffn
  19209. #: doc/guix.texi:10283
  19210. msgid ""
  19211. "Return a udev file named @var{file-name} containing the rules defined within "
  19212. "@var{file}, a file-like object."
  19213. msgstr ""
  19214. #. type: deffn
  19215. #: doc/guix.texi:10285
  19216. msgid "The following example showcases how we can use an existing rule file."
  19217. msgstr ""
  19218. #. type: example
  19219. #: doc/guix.texi:10290
  19220. #, no-wrap
  19221. msgid ""
  19222. "(use-modules (guix download) ;for url-fetch\n"
  19223. " (guix packages) ;for origin\n"
  19224. " ;; @dots{})\n"
  19225. "\n"
  19226. msgstr ""
  19227. #. type: example
  19228. #: doc/guix.texi:10301
  19229. #, no-wrap
  19230. msgid ""
  19231. "(define %android-udev-rules\n"
  19232. " (file->udev-rule\n"
  19233. " \"51-android-udev.rules\"\n"
  19234. " (let ((version \"20170910\"))\n"
  19235. " (origin\n"
  19236. " (method url-fetch)\n"
  19237. " (uri (string-append \"https://raw.githubusercontent.com/M0Rf30/\"\n"
  19238. " \"android-udev-rules/\" version \"/51-android.rules\"))\n"
  19239. " (sha256\n"
  19240. " (base32 \"0lmmagpyb6xsq6zcr2w1cyx9qmjqmajkvrdbhjx32gqf1d9is003\"))))))\n"
  19241. msgstr ""
  19242. #. type: deffn
  19243. #: doc/guix.texi:10310
  19244. msgid ""
  19245. "Additionally, Guix package definitions can be included in @var{rules} in "
  19246. "order to extend the udev rules with the definitions found under their "
  19247. "@file{lib/udev/rules.d} sub-directory. In lieu of the previous @var{file-"
  19248. ">udev-rule} example, we could have used the @var{android-udev-rules} package "
  19249. "which exists in Guix in the @code{(gnu packages android)} module."
  19250. msgstr ""
  19251. #. type: deffn
  19252. #: doc/guix.texi:10319
  19253. msgid ""
  19254. "The following example shows how to use the @var{android-udev-rules} package "
  19255. "so that the Android tool @command{adb} can detect devices without root "
  19256. "privileges. It also details how to create the @code{adbusers} group, which "
  19257. "is required for the proper functioning of the rules defined within the "
  19258. "@var{android-udev-rules} package. To create such a group, we must define it "
  19259. "both as part of the @var{supplementary-groups} of our @var{user-account} "
  19260. "declaration, as well as in the @var{groups} field of the @var{operating-"
  19261. "system} record."
  19262. msgstr ""
  19263. #. type: example
  19264. #: doc/guix.texi:10324
  19265. #, no-wrap
  19266. msgid ""
  19267. "(use-modules (gnu packages android) ;for android-udev-rules\n"
  19268. " (gnu system shadow) ;for user-group\n"
  19269. " ;; @dots{})\n"
  19270. "\n"
  19271. msgstr ""
  19272. #. type: example
  19273. #: doc/guix.texi:10333
  19274. #, no-wrap
  19275. msgid ""
  19276. "(operating-system\n"
  19277. " ;; @dots{}\n"
  19278. " (users (cons (user-acount\n"
  19279. " ;; @dots{}\n"
  19280. " (supplementary-groups\n"
  19281. " '(\"adbusers\" ;for adb\n"
  19282. " \"wheel\" \"netdev\" \"audio\" \"video\"))\n"
  19283. " ;; @dots{})))\n"
  19284. "\n"
  19285. msgstr ""
  19286. #. type: example
  19287. #: doc/guix.texi:10336
  19288. #, no-wrap
  19289. msgid ""
  19290. " (groups (cons (user-group (system? #t) (name \"adbusers\"))\n"
  19291. " %base-groups))\n"
  19292. "\n"
  19293. msgstr ""
  19294. #. type: example
  19295. #: doc/guix.texi:10338
  19296. #, no-wrap
  19297. msgid ""
  19298. " ;; @dots{}\n"
  19299. "\n"
  19300. msgstr ""
  19301. #. type: example
  19302. #: doc/guix.texi:10345
  19303. #, no-wrap
  19304. msgid ""
  19305. " (services\n"
  19306. " (modify-services %desktop-services\n"
  19307. " (udev-service-type config =>\n"
  19308. " (udev-configuration (inherit config)\n"
  19309. " (rules (cons* android-udev-rules\n"
  19310. " (udev-configuration-rules config))))))))\n"
  19311. msgstr ""
  19312. #. type: defvr
  19313. #: doc/guix.texi:10348
  19314. #, no-wrap
  19315. msgid "{Scheme Variable} urandom-seed-service-type"
  19316. msgstr ""
  19317. #. type: defvr
  19318. #: doc/guix.texi:10353
  19319. msgid ""
  19320. "Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom} "
  19321. "when rebooting. It also tries to seed @file{/dev/urandom} from @file{/dev/"
  19322. "hwrng} while booting, if @file{/dev/hwrng} exists and is readable."
  19323. msgstr ""
  19324. #. type: defvr
  19325. #: doc/guix.texi:10355
  19326. #, no-wrap
  19327. msgid "{Scheme Variable} %random-seed-file"
  19328. msgstr ""
  19329. #. type: defvr
  19330. #: doc/guix.texi:10359
  19331. msgid ""
  19332. "This is the name of the file where some random bytes are saved by "
  19333. "@var{urandom-seed-service} to seed @file{/dev/urandom} when rebooting. It "
  19334. "defaults to @file{/var/lib/random-seed}."
  19335. msgstr ""
  19336. #. type: cindex
  19337. #: doc/guix.texi:10361
  19338. #, no-wrap
  19339. msgid "keymap"
  19340. msgstr ""
  19341. #. type: cindex
  19342. #: doc/guix.texi:10362
  19343. #, no-wrap
  19344. msgid "keyboard"
  19345. msgstr ""
  19346. #. type: deffn
  19347. #: doc/guix.texi:10363
  19348. #, no-wrap
  19349. msgid "{Scheme Procedure} console-keymap-service @var{files} ..."
  19350. msgstr ""
  19351. #. type: deffn
  19352. #: doc/guix.texi:10368
  19353. msgid ""
  19354. "Return a service to load console keymaps from @var{files} using "
  19355. "@command{loadkeys} command. Most likely, you want to load some default "
  19356. "keymap, which can be done like this:"
  19357. msgstr ""
  19358. #. type: example
  19359. #: doc/guix.texi:10371
  19360. #, no-wrap
  19361. msgid "(console-keymap-service \"dvorak\")\n"
  19362. msgstr ""
  19363. #. type: deffn
  19364. #: doc/guix.texi:10375
  19365. msgid ""
  19366. "Or, for example, for a Swedish keyboard, you may need to combine the "
  19367. "following keymaps:"
  19368. msgstr ""
  19369. #. type: example
  19370. #: doc/guix.texi:10377
  19371. #, no-wrap
  19372. msgid "(console-keymap-service \"se-lat6\" \"se-fi-lat6\")\n"
  19373. msgstr ""
  19374. #. type: deffn
  19375. #: doc/guix.texi:10381
  19376. msgid ""
  19377. "Also you can specify a full file name (or file names) of your keymap(s). "
  19378. "See @code{man loadkeys} for details."
  19379. msgstr ""
  19380. #. type: cindex
  19381. #: doc/guix.texi:10384
  19382. #, no-wrap
  19383. msgid "mouse"
  19384. msgstr ""
  19385. #. type: cindex
  19386. #: doc/guix.texi:10385
  19387. #, no-wrap
  19388. msgid "gpm"
  19389. msgstr ""
  19390. #. type: deffn
  19391. #: doc/guix.texi:10386
  19392. #, no-wrap
  19393. msgid "{Scheme Procedure} gpm-service [#:gpm @var{gpm}] @"
  19394. msgstr ""
  19395. #. type: deffn
  19396. #: doc/guix.texi:10392
  19397. msgid ""
  19398. "[#:options] Run @var{gpm}, the general-purpose mouse daemon, with the given "
  19399. "command-line @var{options}. GPM allows users to use the mouse in the "
  19400. "console, notably to select, copy, and paste text. The default value of "
  19401. "@var{options} uses the @code{ps2} protocol, which works for both USB and "
  19402. "PS/2 mice."
  19403. msgstr ""
  19404. #. type: deffn
  19405. #: doc/guix.texi:10394
  19406. msgid "This service is not part of @var{%base-services}."
  19407. msgstr ""
  19408. #. type: anchor{#1}
  19409. #: doc/guix.texi:10397
  19410. msgid "guix-publish-service-type"
  19411. msgstr ""
  19412. #. type: deffn
  19413. #: doc/guix.texi:10397
  19414. #, no-wrap
  19415. msgid "{Scheme Variable} guix-publish-service-type"
  19416. msgstr ""
  19417. #. type: deffn
  19418. #: doc/guix.texi:10401
  19419. msgid ""
  19420. "This is the service type for @command{guix publish} (@pxref{Invoking guix "
  19421. "publish}). Its value must be a @code{guix-configuration} object, as "
  19422. "described below."
  19423. msgstr ""
  19424. #. type: deffn
  19425. #: doc/guix.texi:10405
  19426. msgid ""
  19427. "This assumes that @file{/etc/guix} already contains a signing key pair as "
  19428. "created by @command{guix archive --generate-key} (@pxref{Invoking guix "
  19429. "archive}). If that is not the case, the service will fail to start."
  19430. msgstr ""
  19431. #. type: deftp
  19432. #: doc/guix.texi:10407
  19433. #, no-wrap
  19434. msgid "{Data Type} guix-publish-configuration"
  19435. msgstr ""
  19436. #. type: deftp
  19437. #: doc/guix.texi:10410
  19438. msgid ""
  19439. "Data type representing the configuration of the @code{guix publish} service."
  19440. msgstr ""
  19441. #. type: item
  19442. #: doc/guix.texi:10412
  19443. #, no-wrap
  19444. msgid "@code{guix} (default: @code{guix})"
  19445. msgstr ""
  19446. #. type: item
  19447. #: doc/guix.texi:10415
  19448. #, no-wrap
  19449. msgid "@code{port} (default: @code{80})"
  19450. msgstr ""
  19451. #. type: table
  19452. #: doc/guix.texi:10417
  19453. msgid "The TCP port to listen for connections."
  19454. msgstr ""
  19455. #. type: item
  19456. #: doc/guix.texi:10418
  19457. #, no-wrap
  19458. msgid "@code{host} (default: @code{\"localhost\"})"
  19459. msgstr ""
  19460. #. type: table
  19461. #: doc/guix.texi:10421
  19462. msgid ""
  19463. "The host (and thus, network interface) to listen to. Use @code{\"0.0.0.0\"} "
  19464. "to listen on all the network interfaces."
  19465. msgstr ""
  19466. #. type: table
  19467. #: doc/guix.texi:10426
  19468. msgid ""
  19469. "The gzip compression level at which substitutes are compressed. Use "
  19470. "@code{0} to disable compression altogether, and @code{9} to get the best "
  19471. "compression ratio at the expense of increased CPU usage."
  19472. msgstr ""
  19473. #. type: item
  19474. #: doc/guix.texi:10427
  19475. #, no-wrap
  19476. msgid "@code{nar-path} (default: @code{\"nar\"})"
  19477. msgstr ""
  19478. #. type: table
  19479. #: doc/guix.texi:10430
  19480. msgid ""
  19481. "The URL path at which ``nars'' can be fetched. @xref{Invoking guix publish, "
  19482. "@code{--nar-path}}, for details."
  19483. msgstr ""
  19484. #. type: item
  19485. #: doc/guix.texi:10431
  19486. #, no-wrap
  19487. msgid "@code{cache} (default: @code{#f})"
  19488. msgstr ""
  19489. #. type: table
  19490. #: doc/guix.texi:10437
  19491. msgid ""
  19492. "When it is @code{#f}, disable caching and instead generate archives on "
  19493. "demand. Otherwise, this should be the name of a directory---e.g., @code{\"/"
  19494. "var/cache/guix/publish\"}---where @command{guix publish} caches archives and "
  19495. "meta-data ready to be sent. @xref{Invoking guix publish, @option{--cache}}, "
  19496. "for more information on the tradeoffs involved."
  19497. msgstr ""
  19498. #. type: item
  19499. #: doc/guix.texi:10438
  19500. #, no-wrap
  19501. msgid "@code{workers} (default: @code{#f})"
  19502. msgstr ""
  19503. #. type: table
  19504. #: doc/guix.texi:10442
  19505. msgid ""
  19506. "When it is an integer, this is the number of worker threads used for "
  19507. "caching; when @code{#f}, the number of processors is used. @xref{Invoking "
  19508. "guix publish, @option{--workers}}, for more information."
  19509. msgstr ""
  19510. #. type: item
  19511. #: doc/guix.texi:10443
  19512. #, no-wrap
  19513. msgid "@code{ttl} (default: @code{#f})"
  19514. msgstr ""
  19515. #. type: table
  19516. #: doc/guix.texi:10447
  19517. msgid ""
  19518. "When it is an integer, this denotes the @dfn{time-to-live} in seconds of the "
  19519. "published archives. @xref{Invoking guix publish, @option{--ttl}}, for more "
  19520. "information."
  19521. msgstr ""
  19522. #. type: anchor{#1}
  19523. #: doc/guix.texi:10451
  19524. msgid "rngd-service"
  19525. msgstr ""
  19526. #. type: deffn
  19527. #: doc/guix.texi:10451
  19528. #, no-wrap
  19529. msgid "{Scheme Procedure} rngd-service [#:rng-tools @var{rng-tools}] @"
  19530. msgstr ""
  19531. #. type: deffn
  19532. #: doc/guix.texi:10456
  19533. msgid ""
  19534. "[#:device \"/dev/hwrng\"] Return a service that runs the @command{rngd} "
  19535. "program from @var{rng-tools} to add @var{device} to the kernel's entropy "
  19536. "pool. The service will fail if @var{device} does not exist."
  19537. msgstr ""
  19538. #. type: anchor{#1}
  19539. #: doc/guix.texi:10459
  19540. msgid "pam-limits-service"
  19541. msgstr ""
  19542. #. type: cindex
  19543. #: doc/guix.texi:10459
  19544. #, no-wrap
  19545. msgid "session limits"
  19546. msgstr ""
  19547. #. type: cindex
  19548. #: doc/guix.texi:10460
  19549. #, no-wrap
  19550. msgid "ulimit"
  19551. msgstr ""
  19552. #. type: cindex
  19553. #: doc/guix.texi:10461
  19554. #, no-wrap
  19555. msgid "priority"
  19556. msgstr ""
  19557. #. type: cindex
  19558. #: doc/guix.texi:10462
  19559. #, no-wrap
  19560. msgid "realtime"
  19561. msgstr ""
  19562. #. type: cindex
  19563. #: doc/guix.texi:10463
  19564. #, no-wrap
  19565. msgid "jackd"
  19566. msgstr ""
  19567. #. type: deffn
  19568. #: doc/guix.texi:10464
  19569. #, no-wrap
  19570. msgid "{Scheme Procedure} pam-limits-service [#:limits @code{'()}]"
  19571. msgstr ""
  19572. #. type: deffn
  19573. #: doc/guix.texi:10471
  19574. msgid ""
  19575. "Return a service that installs a configuration file for the @uref{http://"
  19576. "linux-pam.org/Linux-PAM-html/sag-pam_limits.html, @code{pam_limits} "
  19577. "module}. The procedure optionally takes a list of @code{pam-limits-entry} "
  19578. "values, which can be used to specify @code{ulimit} limits and nice priority "
  19579. "limits to user sessions."
  19580. msgstr ""
  19581. #. type: deffn
  19582. #: doc/guix.texi:10474
  19583. msgid ""
  19584. "The following limits definition sets two hard and soft limits for all login "
  19585. "sessions of users in the @code{realtime} group:"
  19586. msgstr ""
  19587. #. type: example
  19588. #: doc/guix.texi:10480
  19589. #, no-wrap
  19590. msgid ""
  19591. "(pam-limits-service\n"
  19592. " (list\n"
  19593. " (pam-limits-entry \"@@realtime\" 'both 'rtprio 99)\n"
  19594. " (pam-limits-entry \"@@realtime\" 'both 'memlock 'unlimited)))\n"
  19595. msgstr ""
  19596. #. type: deffn
  19597. #: doc/guix.texi:10486
  19598. msgid ""
  19599. "The first entry increases the maximum realtime priority for non-privileged "
  19600. "processes; the second entry lifts any restriction of the maximum address "
  19601. "space that can be locked in memory. These settings are commonly used for "
  19602. "real-time audio systems."
  19603. msgstr ""
  19604. #. type: cindex
  19605. #: doc/guix.texi:10491
  19606. #, no-wrap
  19607. msgid "cron"
  19608. msgstr ""
  19609. #. type: cindex
  19610. #: doc/guix.texi:10492
  19611. #, no-wrap
  19612. msgid "mcron"
  19613. msgstr ""
  19614. #. type: cindex
  19615. #: doc/guix.texi:10493
  19616. #, no-wrap
  19617. msgid "scheduling jobs"
  19618. msgstr ""
  19619. #. type: Plain text
  19620. #: doc/guix.texi:10500
  19621. msgid ""
  19622. "The @code{(gnu services mcron)} module provides an interface to GNU@tie{}"
  19623. "mcron, a daemon to run jobs at scheduled times (@pxref{Top,,, mcron, "
  19624. "GNU@tie{}mcron}). GNU@tie{}mcron is similar to the traditional Unix "
  19625. "@command{cron} daemon; the main difference is that it is implemented in "
  19626. "Guile Scheme, which provides a lot of flexibility when specifying the "
  19627. "scheduling of jobs and their actions."
  19628. msgstr ""
  19629. #. type: Plain text
  19630. #: doc/guix.texi:10508
  19631. msgid ""
  19632. "The example below defines an operating system that runs the "
  19633. "@command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files}) and "
  19634. "the @command{guix gc} commands (@pxref{Invoking guix gc}) daily, as well as "
  19635. "the @command{mkid} command on behalf of an unprivileged user (@pxref{mkid "
  19636. "invocation,,, idutils, ID Database Utilities}). It uses gexps to introduce "
  19637. "job definitions that are passed to mcron (@pxref{G-Expressions})."
  19638. msgstr ""
  19639. #. type: lisp
  19640. #: doc/guix.texi:10512
  19641. #, no-wrap
  19642. msgid ""
  19643. "(use-modules (guix) (gnu) (gnu services mcron))\n"
  19644. "(use-package-modules base idutils)\n"
  19645. "\n"
  19646. msgstr ""
  19647. #. type: lisp
  19648. #: doc/guix.texi:10521
  19649. #, no-wrap
  19650. msgid ""
  19651. "(define updatedb-job\n"
  19652. " ;; Run 'updatedb' at 3AM every day. Here we write the\n"
  19653. " ;; job's action as a Scheme procedure.\n"
  19654. " #~(job '(next-hour '(3))\n"
  19655. " (lambda ()\n"
  19656. " (execl (string-append #$findutils \"/bin/updatedb\")\n"
  19657. " \"updatedb\"\n"
  19658. " \"--prunepaths=/tmp /var/tmp /gnu/store\"))))\n"
  19659. "\n"
  19660. msgstr ""
  19661. #. type: lisp
  19662. #: doc/guix.texi:10527
  19663. #, no-wrap
  19664. msgid ""
  19665. "(define garbage-collector-job\n"
  19666. " ;; Collect garbage 5 minutes after midnight every day.\n"
  19667. " ;; The job's action is a shell command.\n"
  19668. " #~(job \"5 0 * * *\" ;Vixie cron syntax\n"
  19669. " \"guix gc -F 1G\"))\n"
  19670. "\n"
  19671. msgstr ""
  19672. #. type: lisp
  19673. #: doc/guix.texi:10534
  19674. #, no-wrap
  19675. msgid ""
  19676. "(define idutils-job\n"
  19677. " ;; Update the index database as user \"charlie\" at 12:15PM\n"
  19678. " ;; and 19:15PM. This runs from the user's home directory.\n"
  19679. " #~(job '(next-minute-from (next-hour '(12 19)) '(15))\n"
  19680. " (string-append #$idutils \"/bin/mkid src\")\n"
  19681. " #:user \"charlie\"))\n"
  19682. "\n"
  19683. msgstr ""
  19684. #. type: lisp
  19685. #: doc/guix.texi:10541
  19686. #, no-wrap
  19687. msgid ""
  19688. "(operating-system\n"
  19689. " ;; @dots{}\n"
  19690. " (services (cons (mcron-service (list garbage-collector-job\n"
  19691. " updatedb-job\n"
  19692. " idutils-job))\n"
  19693. " %base-services)))\n"
  19694. msgstr ""
  19695. #. type: Plain text
  19696. #: doc/guix.texi:10546
  19697. msgid ""
  19698. "@xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron}, for "
  19699. "more information on mcron job specifications. Below is the reference of the "
  19700. "mcron service."
  19701. msgstr ""
  19702. #. type: deffn
  19703. #: doc/guix.texi:10547
  19704. #, no-wrap
  19705. msgid "{Scheme Procedure} mcron-service @var{jobs} [#:mcron @var{mcron}]"
  19706. msgstr ""
  19707. #. type: deffn
  19708. #: doc/guix.texi:10550
  19709. msgid ""
  19710. "Return an mcron service running @var{mcron} that schedules @var{jobs}, a "
  19711. "list of gexps denoting mcron job specifications."
  19712. msgstr ""
  19713. #. type: deffn
  19714. #: doc/guix.texi:10552
  19715. msgid "This is a shorthand for:"
  19716. msgstr ""
  19717. #. type: example
  19718. #: doc/guix.texi:10555
  19719. #, no-wrap
  19720. msgid ""
  19721. "(service mcron-service-type\n"
  19722. " (mcron-configuration (mcron mcron) (jobs jobs)))\n"
  19723. msgstr ""
  19724. #. type: defvr
  19725. #: doc/guix.texi:10558
  19726. #, no-wrap
  19727. msgid "{Scheme Variable} mcron-service-type"
  19728. msgstr ""
  19729. #. type: defvr
  19730. #: doc/guix.texi:10561
  19731. msgid ""
  19732. "This is the type of the @code{mcron} service, whose value is an @code{mcron-"
  19733. "configuration} object."
  19734. msgstr ""
  19735. #. type: defvr
  19736. #: doc/guix.texi:10566
  19737. msgid ""
  19738. "This service type can be the target of a service extension that provides it "
  19739. "additional job specifications (@pxref{Service Composition}). In other "
  19740. "words, it is possible to define services that provide additional mcron jobs "
  19741. "to run."
  19742. msgstr ""
  19743. #. type: deftp
  19744. #: doc/guix.texi:10568
  19745. #, no-wrap
  19746. msgid "{Data Type} mcron-configuration"
  19747. msgstr ""
  19748. #. type: deftp
  19749. #: doc/guix.texi:10570
  19750. msgid "Data type representing the configuration of mcron."
  19751. msgstr ""
  19752. #. type: item
  19753. #: doc/guix.texi:10572
  19754. #, no-wrap
  19755. msgid "@code{mcron} (default: @var{mcron})"
  19756. msgstr ""
  19757. #. type: table
  19758. #: doc/guix.texi:10574
  19759. msgid "The mcron package to use."
  19760. msgstr ""
  19761. #. type: code{#1}
  19762. #: doc/guix.texi:10575 doc/guix.texi:10634
  19763. #, no-wrap
  19764. msgid "jobs"
  19765. msgstr ""
  19766. #. type: table
  19767. #: doc/guix.texi:10579
  19768. msgid ""
  19769. "This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds "
  19770. "to an mcron job specification (@pxref{Syntax, mcron job specifications,, "
  19771. "mcron, GNU@tie{}mcron})."
  19772. msgstr ""
  19773. #. type: cindex
  19774. #: doc/guix.texi:10586
  19775. #, no-wrap
  19776. msgid "rottlog"
  19777. msgstr ""
  19778. #. type: cindex
  19779. #: doc/guix.texi:10587
  19780. #, no-wrap
  19781. msgid "log rotation"
  19782. msgstr ""
  19783. #. type: Plain text
  19784. #: doc/guix.texi:10594
  19785. msgid ""
  19786. "Log files such as those found in @file{/var/log} tend to grow endlessly, so "
  19787. "it's a good idea to @dfn{rotate} them once in a while---i.e., archive their "
  19788. "contents in separate files, possibly compressed. The @code{(gnu services "
  19789. "admin)} module provides an interface to GNU@tie{}Rot[t]log, a log rotation "
  19790. "tool (@pxref{Top,,, rottlog, GNU Rot[t]log Manual})."
  19791. msgstr ""
  19792. #. type: Plain text
  19793. #: doc/guix.texi:10597
  19794. msgid ""
  19795. "The example below defines an operating system that provides log rotation "
  19796. "with the default settings, for commonly encountered log files."
  19797. msgstr ""
  19798. #. type: lisp
  19799. #: doc/guix.texi:10602
  19800. #, no-wrap
  19801. msgid ""
  19802. "(use-modules (guix) (gnu))\n"
  19803. "(use-service-modules admin mcron)\n"
  19804. "(use-package-modules base idutils)\n"
  19805. "\n"
  19806. msgstr ""
  19807. #. type: lisp
  19808. #: doc/guix.texi:10607
  19809. #, no-wrap
  19810. msgid ""
  19811. "(operating-system\n"
  19812. " ;; @dots{}\n"
  19813. " (services (cons (service rottlog-service-type)\n"
  19814. " %base-services)))\n"
  19815. msgstr ""
  19816. #. type: defvr
  19817. #: doc/guix.texi:10609
  19818. #, no-wrap
  19819. msgid "{Scheme Variable} rottlog-service-type"
  19820. msgstr ""
  19821. #. type: defvr
  19822. #: doc/guix.texi:10612
  19823. msgid ""
  19824. "This is the type of the Rottlog service, whose value is a @code{rottlog-"
  19825. "configuration} object."
  19826. msgstr ""
  19827. #. type: defvr
  19828. #: doc/guix.texi:10615
  19829. msgid ""
  19830. "Other services can extend this one with new @code{log-rotation} objects (see "
  19831. "below), thereby augmenting the set of files to be rotated."
  19832. msgstr ""
  19833. #. type: defvr
  19834. #: doc/guix.texi:10618
  19835. msgid ""
  19836. "This service type can define mcron jobs (@pxref{Scheduled Job Execution}) to "
  19837. "run the rottlog service."
  19838. msgstr ""
  19839. #. type: deftp
  19840. #: doc/guix.texi:10620
  19841. #, no-wrap
  19842. msgid "{Data Type} rottlog-configuration"
  19843. msgstr ""
  19844. #. type: deftp
  19845. #: doc/guix.texi:10622
  19846. msgid "Data type representing the configuration of rottlog."
  19847. msgstr ""
  19848. #. type: item
  19849. #: doc/guix.texi:10624
  19850. #, no-wrap
  19851. msgid "@code{rottlog} (default: @code{rottlog})"
  19852. msgstr ""
  19853. #. type: table
  19854. #: doc/guix.texi:10626
  19855. msgid "The Rottlog package to use."
  19856. msgstr ""
  19857. #. type: item
  19858. #: doc/guix.texi:10627
  19859. #, no-wrap
  19860. msgid "@code{rc-file} (default: @code{(file-append rottlog \"/etc/rc\")})"
  19861. msgstr ""
  19862. #. type: table
  19863. #: doc/guix.texi:10630
  19864. msgid ""
  19865. "The Rottlog configuration file to use (@pxref{Mandatory RC Variables,,, "
  19866. "rottlog, GNU Rot[t]log Manual})."
  19867. msgstr ""
  19868. #. type: item
  19869. #: doc/guix.texi:10631
  19870. #, no-wrap
  19871. msgid "@code{rotations} (default: @code{%default-rotations})"
  19872. msgstr ""
  19873. #. type: table
  19874. #: doc/guix.texi:10633
  19875. msgid "A list of @code{log-rotation} objects as defined below."
  19876. msgstr ""
  19877. #. type: table
  19878. #: doc/guix.texi:10637
  19879. msgid ""
  19880. "This is a list of gexps where each gexp corresponds to an mcron job "
  19881. "specification (@pxref{Scheduled Job Execution})."
  19882. msgstr ""
  19883. #. type: deftp
  19884. #: doc/guix.texi:10640
  19885. #, no-wrap
  19886. msgid "{Data Type} log-rotation"
  19887. msgstr ""
  19888. #. type: deftp
  19889. #: doc/guix.texi:10642
  19890. msgid "Data type representing the rotation of a group of log files."
  19891. msgstr ""
  19892. #. type: deftp
  19893. #: doc/guix.texi:10646
  19894. msgid ""
  19895. "Taking an example from the Rottlog manual (@pxref{Period Related File "
  19896. "Examples,,, rottlog, GNU Rot[t]log Manual}), a log rotation might be defined "
  19897. "like this:"
  19898. msgstr ""
  19899. #. type: example
  19900. #: doc/guix.texi:10655
  19901. #, no-wrap
  19902. msgid ""
  19903. "(log-rotation\n"
  19904. " (frequency 'daily)\n"
  19905. " (files '(\"/var/log/apache/*\"))\n"
  19906. " (options '(\"storedir apache-archives\"\n"
  19907. " \"rotate 6\"\n"
  19908. " \"notifempty\"\n"
  19909. " \"nocompress\")))\n"
  19910. msgstr ""
  19911. #. type: deftp
  19912. #: doc/guix.texi:10658
  19913. msgid "The list of fields is as follows:"
  19914. msgstr ""
  19915. #. type: item
  19916. #: doc/guix.texi:10660
  19917. #, no-wrap
  19918. msgid "@code{frequency} (default: @code{'weekly})"
  19919. msgstr ""
  19920. #. type: table
  19921. #: doc/guix.texi:10662
  19922. msgid "The log rotation frequency, a symbol."
  19923. msgstr ""
  19924. #. type: code{#1}
  19925. #: doc/guix.texi:10663
  19926. #, no-wrap
  19927. msgid "files"
  19928. msgstr ""
  19929. #. type: table
  19930. #: doc/guix.texi:10665
  19931. msgid "The list of files or file glob patterns to rotate."
  19932. msgstr ""
  19933. #. type: item
  19934. #: doc/guix.texi:10666
  19935. #, no-wrap
  19936. msgid "@code{options} (default: @code{'()})"
  19937. msgstr ""
  19938. #. type: table
  19939. #: doc/guix.texi:10669
  19940. msgid ""
  19941. "The list of rottlog options for this rotation (@pxref{Configuration "
  19942. "parameters,,, rottlog, GNU Rot[t]lg Manual})."
  19943. msgstr ""
  19944. #. type: item
  19945. #: doc/guix.texi:10670
  19946. #, no-wrap
  19947. msgid "@code{post-rotate} (default: @code{#f})"
  19948. msgstr ""
  19949. #. type: table
  19950. #: doc/guix.texi:10672
  19951. msgid "Either @code{#f} or a gexp to execute once the rotation has completed."
  19952. msgstr ""
  19953. #. type: defvr
  19954. #: doc/guix.texi:10675
  19955. #, no-wrap
  19956. msgid "{Scheme Variable} %default-rotations"
  19957. msgstr ""
  19958. #. type: defvr
  19959. #: doc/guix.texi:10678
  19960. msgid ""
  19961. "Specifies weekly rotation of @var{%rotated-files} and a couple of other "
  19962. "files."
  19963. msgstr ""
  19964. #. type: defvr
  19965. #: doc/guix.texi:10680
  19966. #, no-wrap
  19967. msgid "{Scheme Variable} %rotated-files"
  19968. msgstr ""
  19969. #. type: defvr
  19970. #: doc/guix.texi:10683
  19971. msgid ""
  19972. "The list of syslog-controlled files to be rotated. By default it is: "
  19973. "@code{'(\"/var/log/messages\" \"/var/log/secure\")}."
  19974. msgstr ""
  19975. #. type: Plain text
  19976. #: doc/guix.texi:10690
  19977. msgid ""
  19978. "The @code{(gnu services networking)} module provides services to configure "
  19979. "the network interface."
  19980. msgstr ""
  19981. #. type: cindex
  19982. #: doc/guix.texi:10691
  19983. #, no-wrap
  19984. msgid "DHCP, networking service"
  19985. msgstr ""
  19986. #. type: deffn
  19987. #: doc/guix.texi:10692
  19988. #, no-wrap
  19989. msgid "{Scheme Procedure} dhcp-client-service [#:dhcp @var{isc-dhcp}]"
  19990. msgstr ""
  19991. #. type: deffn
  19992. #: doc/guix.texi:10695
  19993. msgid ""
  19994. "Return a service that runs @var{dhcp}, a Dynamic Host Configuration Protocol "
  19995. "(DHCP) client, on all the non-loopback network interfaces."
  19996. msgstr ""
  19997. #. type: deffn
  19998. #: doc/guix.texi:10697
  19999. #, no-wrap
  20000. msgid "{Scheme Procedure} dhcpd-service-type"
  20001. msgstr ""
  20002. #. type: deffn
  20003. #: doc/guix.texi:10701
  20004. msgid ""
  20005. "This type defines a service that runs a DHCP daemon. To create a service of "
  20006. "this type, you must supply a @code{<dhcpd-configuration>}. For example:"
  20007. msgstr ""
  20008. #. type: example
  20009. #: doc/guix.texi:10707
  20010. #, no-wrap
  20011. msgid ""
  20012. "(service dhcpd-service-type\n"
  20013. " (dhcpd-configuration\n"
  20014. " (config-file (local-file \"my-dhcpd.conf\"))\n"
  20015. " (interfaces '(\"enp0s25\"))))\n"
  20016. msgstr ""
  20017. #. type: deftp
  20018. #: doc/guix.texi:10710
  20019. #, no-wrap
  20020. msgid "{Data Type} dhcpd-configuration"
  20021. msgstr ""
  20022. #. type: item
  20023. #: doc/guix.texi:10712
  20024. #, no-wrap
  20025. msgid "@code{package} (default: @code{isc-dhcp})"
  20026. msgstr ""
  20027. #. type: table
  20028. #: doc/guix.texi:10717
  20029. msgid ""
  20030. "The package that provides the DHCP daemon. This package is expected to "
  20031. "provide the daemon at @file{sbin/dhcpd} relative to its output directory. "
  20032. "The default package is the @uref{http://www.isc.org/products/DHCP, ISC's "
  20033. "DHCP server}."
  20034. msgstr ""
  20035. #. type: item
  20036. #: doc/guix.texi:10717 doc/guix.texi:14345
  20037. #, no-wrap
  20038. msgid "@code{config-file} (default: @code{#f})"
  20039. msgstr ""
  20040. #. type: table
  20041. #: doc/guix.texi:10722
  20042. msgid ""
  20043. "The configuration file to use. This is required. It will be passed to "
  20044. "@code{dhcpd} via its @code{-cf} option. This may be any ``file-like'' "
  20045. "object (@pxref{G-Expressions, file-like objects}). See @code{man dhcpd."
  20046. "conf} for details on the configuration file syntax."
  20047. msgstr ""
  20048. #. type: item
  20049. #: doc/guix.texi:10722
  20050. #, no-wrap
  20051. msgid "@code{version} (default: @code{\"4\"})"
  20052. msgstr ""
  20053. #. type: table
  20054. #: doc/guix.texi:10727
  20055. msgid ""
  20056. "The DHCP version to use. The ISC DHCP server supports the values ``4'', "
  20057. "``6'', and ``4o6''. These correspond to the @code{dhcpd} program options "
  20058. "@code{-4}, @code{-6}, and @code{-4o6}. See @code{man dhcpd} for details."
  20059. msgstr ""
  20060. #. type: item
  20061. #: doc/guix.texi:10727
  20062. #, no-wrap
  20063. msgid "@code{run-directory} (default: @code{\"/run/dhcpd\"})"
  20064. msgstr ""
  20065. #. type: table
  20066. #: doc/guix.texi:10730
  20067. msgid ""
  20068. "The run directory to use. At service activation time, this directory will "
  20069. "be created if it does not exist."
  20070. msgstr ""
  20071. #. type: item
  20072. #: doc/guix.texi:10730
  20073. #, no-wrap
  20074. msgid "@code{pid-file} (default: @code{\"/run/dhcpd/dhcpd.pid\"})"
  20075. msgstr ""
  20076. #. type: table
  20077. #: doc/guix.texi:10733
  20078. msgid ""
  20079. "The PID file to use. This corresponds to the @code{-pf} option of "
  20080. "@code{dhcpd}. See @code{man dhcpd} for details."
  20081. msgstr ""
  20082. #. type: item
  20083. #: doc/guix.texi:10733
  20084. #, no-wrap
  20085. msgid "@code{interfaces} (default: @code{'()})"
  20086. msgstr ""
  20087. #. type: table
  20088. #: doc/guix.texi:10739
  20089. msgid ""
  20090. "The names of the network interfaces on which dhcpd should listen for "
  20091. "broadcasts. If this list is not empty, then its elements (which must be "
  20092. "strings) will be appended to the @code{dhcpd} invocation when starting the "
  20093. "daemon. It may not be necessary to explicitly specify any interfaces here; "
  20094. "see @code{man dhcpd} for details."
  20095. msgstr ""
  20096. #. type: defvr
  20097. #: doc/guix.texi:10742
  20098. #, no-wrap
  20099. msgid "{Scheme Variable} static-networking-service-type"
  20100. msgstr ""
  20101. #. type: defvr
  20102. #: doc/guix.texi:10745
  20103. msgid "This is the type for statically-configured network interfaces."
  20104. msgstr ""
  20105. #. type: deffn
  20106. #: doc/guix.texi:10747
  20107. #, no-wrap
  20108. msgid "{Scheme Procedure} static-networking-service @var{interface} @var{ip} @"
  20109. msgstr ""
  20110. #. type: deffn
  20111. #: doc/guix.texi:10755
  20112. msgid ""
  20113. "[#:netmask #f] [#:gateway #f] [#:name-servers @code{'()}] [#:requirement "
  20114. "@code{'(udev)}] Return a service that starts @var{interface} with address "
  20115. "@var{ip}. If @var{netmask} is true, use it as the network mask. If "
  20116. "@var{gateway} is true, it must be a string specifying the default network "
  20117. "gateway. @var{requirement} can be used to declare a dependency on another "
  20118. "service before configuring the interface."
  20119. msgstr ""
  20120. #. type: deffn
  20121. #: doc/guix.texi:10760
  20122. msgid ""
  20123. "This procedure can be called several times, one for each network interface "
  20124. "of interest. Behind the scenes what it does is extend @code{static-"
  20125. "networking-service-type} with additional network interfaces to handle."
  20126. msgstr ""
  20127. #. type: cindex
  20128. #: doc/guix.texi:10762
  20129. #, no-wrap
  20130. msgid "wicd"
  20131. msgstr ""
  20132. #. type: cindex
  20133. #: doc/guix.texi:10765
  20134. #, no-wrap
  20135. msgid "network management"
  20136. msgstr ""
  20137. #. type: deffn
  20138. #: doc/guix.texi:10766
  20139. #, no-wrap
  20140. msgid "{Scheme Procedure} wicd-service [#:wicd @var{wicd}]"
  20141. msgstr ""
  20142. #. type: deffn
  20143. #: doc/guix.texi:10769
  20144. msgid ""
  20145. "Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network "
  20146. "management daemon that aims to simplify wired and wireless networking."
  20147. msgstr ""
  20148. #. type: deffn
  20149. #: doc/guix.texi:10774
  20150. msgid ""
  20151. "This service adds the @var{wicd} package to the global profile, providing "
  20152. "several commands to interact with the daemon and configure networking: "
  20153. "@command{wicd-client}, a graphical user interface, and the @command{wicd-"
  20154. "cli} and @command{wicd-curses} user interfaces."
  20155. msgstr ""
  20156. #. type: cindex
  20157. #: doc/guix.texi:10776
  20158. #, no-wrap
  20159. msgid "NetworkManager"
  20160. msgstr ""
  20161. #. type: defvr
  20162. #: doc/guix.texi:10778
  20163. #, no-wrap
  20164. msgid "{Scheme Variable} network-manager-service-type"
  20165. msgstr ""
  20166. #. type: defvr
  20167. #: doc/guix.texi:10783
  20168. msgid ""
  20169. "This is the service type for the @uref{https://wiki.gnome.org/Projects/"
  20170. "NetworkManager, NetworkManager} service. The value for this service type is "
  20171. "a @code{network-manager-configuration} record."
  20172. msgstr ""
  20173. #. type: defvr
  20174. #: doc/guix.texi:10786
  20175. msgid ""
  20176. "This service is part of @code{%desktop-services} (@pxref{Desktop Services})."
  20177. msgstr ""
  20178. #. type: deftp
  20179. #: doc/guix.texi:10788
  20180. #, no-wrap
  20181. msgid "{Data Type} network-manager-configuration"
  20182. msgstr ""
  20183. #. type: deftp
  20184. #: doc/guix.texi:10790
  20185. msgid "Data type representing the configuration of NetworkManager."
  20186. msgstr ""
  20187. #. type: item
  20188. #: doc/guix.texi:10792
  20189. #, no-wrap
  20190. msgid "@code{network-manager} (default: @code{network-manager})"
  20191. msgstr ""
  20192. #. type: table
  20193. #: doc/guix.texi:10794
  20194. msgid "The NetworkManager package to use."
  20195. msgstr ""
  20196. #. type: item
  20197. #: doc/guix.texi:10795
  20198. #, no-wrap
  20199. msgid "@code{dns} (default: @code{\"default\"})"
  20200. msgstr ""
  20201. #. type: table
  20202. #: doc/guix.texi:10798
  20203. msgid ""
  20204. "Processing mode for DNS, which affects how NetworkManager uses the "
  20205. "@code{resolv.conf} configuration file."
  20206. msgstr ""
  20207. #. type: item
  20208. #: doc/guix.texi:10800
  20209. #, no-wrap
  20210. msgid "default"
  20211. msgstr ""
  20212. #. type: table
  20213. #: doc/guix.texi:10803
  20214. msgid ""
  20215. "NetworkManager will update @code{resolv.conf} to reflect the nameservers "
  20216. "provided by currently active connections."
  20217. msgstr ""
  20218. #. type: item
  20219. #: doc/guix.texi:10804
  20220. #, no-wrap
  20221. msgid "dnsmasq"
  20222. msgstr ""
  20223. #. type: table
  20224. #: doc/guix.texi:10808
  20225. msgid ""
  20226. "NetworkManager will run @code{dnsmasq} as a local caching nameserver, using "
  20227. "a \"split DNS\" configuration if you are connected to a VPN, and then update "
  20228. "@code{resolv.conf} to point to the local nameserver."
  20229. msgstr ""
  20230. #. type: item
  20231. #: doc/guix.texi:10809 doc/guix.texi:11795
  20232. #, no-wrap
  20233. msgid "none"
  20234. msgstr ""
  20235. #. type: table
  20236. #: doc/guix.texi:10811
  20237. msgid "NetworkManager will not modify @code{resolv.conf}."
  20238. msgstr ""
  20239. #. type: item
  20240. #: doc/guix.texi:10813
  20241. #, no-wrap
  20242. msgid "@code{vpn-plugins} (default: @code{'()})"
  20243. msgstr ""
  20244. #. type: table
  20245. #: doc/guix.texi:10817
  20246. msgid ""
  20247. "This is the list of available plugins for virtual private networks (VPNs). "
  20248. "An example of this is the @code{network-manager-openvpn} package, which "
  20249. "allows NetworkManager to manage VPNs @i{via} OpenVPN."
  20250. msgstr ""
  20251. #. type: cindex
  20252. #: doc/guix.texi:10821
  20253. #, no-wrap
  20254. msgid "Connman"
  20255. msgstr ""
  20256. #. type: deffn
  20257. #: doc/guix.texi:10822
  20258. #, no-wrap
  20259. msgid "{Scheme Variable} connman-service-type"
  20260. msgstr ""
  20261. #. type: deffn
  20262. #: doc/guix.texi:10825
  20263. msgid ""
  20264. "This is the service type to run @url{https://01.org/connman,Connman}, a "
  20265. "network connection manager."
  20266. msgstr ""
  20267. #. type: deffn
  20268. #: doc/guix.texi:10828
  20269. msgid ""
  20270. "Its value must be an @code{connman-configuration} record as in this example:"
  20271. msgstr ""
  20272. #. type: example
  20273. #: doc/guix.texi:10833
  20274. #, no-wrap
  20275. msgid ""
  20276. "(service connman-service-type\n"
  20277. " (connman-configuration\n"
  20278. " (disable-vpn? #t)))\n"
  20279. msgstr ""
  20280. #. type: deffn
  20281. #: doc/guix.texi:10836
  20282. msgid "See below for details about @code{connman-configuration}."
  20283. msgstr ""
  20284. #. type: deftp
  20285. #: doc/guix.texi:10838
  20286. #, no-wrap
  20287. msgid "{Data Type} connman-configuration"
  20288. msgstr ""
  20289. #. type: deftp
  20290. #: doc/guix.texi:10840
  20291. msgid "Data Type representing the configuration of connman."
  20292. msgstr ""
  20293. #. type: item
  20294. #: doc/guix.texi:10842
  20295. #, no-wrap
  20296. msgid "@code{connman} (default: @var{connman})"
  20297. msgstr ""
  20298. #. type: table
  20299. #: doc/guix.texi:10844
  20300. msgid "The connman package to use."
  20301. msgstr ""
  20302. #. type: item
  20303. #: doc/guix.texi:10845
  20304. #, no-wrap
  20305. msgid "@code{disable-vpn?} (default: @code{#f})"
  20306. msgstr ""
  20307. #. type: table
  20308. #: doc/guix.texi:10847
  20309. msgid "When true, enable connman's vpn plugin."
  20310. msgstr ""
  20311. #. type: cindex
  20312. #: doc/guix.texi:10850
  20313. #, no-wrap
  20314. msgid "WPA Supplicant"
  20315. msgstr ""
  20316. #. type: defvr
  20317. #: doc/guix.texi:10851
  20318. #, no-wrap
  20319. msgid "{Scheme Variable} wpa-supplicant-service-type"
  20320. msgstr ""
  20321. #. type: defvr
  20322. #: doc/guix.texi:10856
  20323. msgid ""
  20324. "This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA "
  20325. "supplicant}, an authentication daemon required to authenticate against "
  20326. "encrypted WiFi or ethernet networks. It is configured to listen for "
  20327. "requests on D-Bus."
  20328. msgstr ""
  20329. #. type: defvr
  20330. #: doc/guix.texi:10859
  20331. msgid ""
  20332. "The value of this service is the @code{wpa-supplicant} package to use. "
  20333. "Thus, it can be instantiated like this:"
  20334. msgstr ""
  20335. #. type: lisp
  20336. #: doc/guix.texi:10862
  20337. #, no-wrap
  20338. msgid ""
  20339. "(use-modules (gnu services networking))\n"
  20340. "\n"
  20341. msgstr ""
  20342. #. type: lisp
  20343. #: doc/guix.texi:10864
  20344. #, no-wrap
  20345. msgid "(service wpa-supplicant-service-type)\n"
  20346. msgstr ""
  20347. #. type: cindex
  20348. #: doc/guix.texi:10867
  20349. #, no-wrap
  20350. msgid "NTP"
  20351. msgstr ""
  20352. #. type: cindex
  20353. #: doc/guix.texi:10868
  20354. #, no-wrap
  20355. msgid "real time clock"
  20356. msgstr ""
  20357. #. type: deffn
  20358. #: doc/guix.texi:10869
  20359. #, no-wrap
  20360. msgid "{Scheme Procedure} ntp-service [#:ntp @var{ntp}] @"
  20361. msgstr ""
  20362. #. type: deffn
  20363. #: doc/guix.texi:10877
  20364. msgid ""
  20365. "[#:servers @var{%ntp-servers}] @ [#:allow-large-adjustment? #f] Return a "
  20366. "service that runs the daemon from @var{ntp}, the @uref{http://www.ntp.org, "
  20367. "Network Time Protocol package}. The daemon will keep the system clock "
  20368. "synchronized with that of @var{servers}. @var{allow-large-adjustment?} "
  20369. "determines whether @command{ntpd} is allowed to make an initial adjustment "
  20370. "of more than 1,000 seconds."
  20371. msgstr ""
  20372. #. type: defvr
  20373. #: doc/guix.texi:10879
  20374. #, no-wrap
  20375. msgid "{Scheme Variable} %ntp-servers"
  20376. msgstr ""
  20377. #. type: defvr
  20378. #: doc/guix.texi:10881
  20379. msgid "List of host names used as the default NTP servers."
  20380. msgstr ""
  20381. #. type: cindex
  20382. #: doc/guix.texi:10883
  20383. #, no-wrap
  20384. msgid "OpenNTPD"
  20385. msgstr ""
  20386. #. type: deffn
  20387. #: doc/guix.texi:10884
  20388. #, no-wrap
  20389. msgid "{Scheme Procedure} openntpd-service-type"
  20390. msgstr ""
  20391. #. type: deffn
  20392. #: doc/guix.texi:10888
  20393. msgid ""
  20394. "Run the @command{ntpd}, the Network Time Protocol (NTP) daemon, as "
  20395. "implemented by @uref{http://www.openntpd.org, OpenNTPD}. The daemon will "
  20396. "keep the system clock synchronized with that of the given servers."
  20397. msgstr ""
  20398. #. type: example
  20399. #: doc/guix.texi:10898
  20400. #, no-wrap
  20401. msgid ""
  20402. "(service\n"
  20403. " openntpd-service-type\n"
  20404. " (openntpd-configuration\n"
  20405. " (listen-on '(\"127.0.0.1\" \"::1\"))\n"
  20406. " (sensor '(\"udcf0 correction 70000\"))\n"
  20407. " (constraint-from '(\"www.gnu.org\"))\n"
  20408. " (constraints-from '(\"https://www.google.com/\"))\n"
  20409. " (allow-large-adjustment? #t)))\n"
  20410. "\n"
  20411. msgstr ""
  20412. #. type: deftp
  20413. #: doc/guix.texi:10902
  20414. #, no-wrap
  20415. msgid "{Data Type} openntpd-configuration"
  20416. msgstr ""
  20417. #. type: item
  20418. #: doc/guix.texi:10904
  20419. #, no-wrap
  20420. msgid "@code{openntpd} (default: @code{(file-append openntpd \"/sbin/ntpd\")})"
  20421. msgstr ""
  20422. #. type: table
  20423. #: doc/guix.texi:10906
  20424. msgid "The openntpd executable to use."
  20425. msgstr ""
  20426. #. type: item
  20427. #: doc/guix.texi:10906
  20428. #, no-wrap
  20429. msgid "@code{listen-on} (default: @code{'(\"127.0.0.1\" \"::1\")})"
  20430. msgstr ""
  20431. #. type: table
  20432. #: doc/guix.texi:10908
  20433. msgid ""
  20434. "A list of local IP addresses or hostnames the ntpd daemon should listen on."
  20435. msgstr ""
  20436. #. type: item
  20437. #: doc/guix.texi:10908
  20438. #, no-wrap
  20439. msgid "@code{query-from} (default: @code{'()})"
  20440. msgstr ""
  20441. #. type: table
  20442. #: doc/guix.texi:10910
  20443. msgid ""
  20444. "A list of local IP address the ntpd daemon should use for outgoing queries."
  20445. msgstr ""
  20446. #. type: item
  20447. #: doc/guix.texi:10910
  20448. #, no-wrap
  20449. msgid "@code{sensor} (default: @code{'()})"
  20450. msgstr ""
  20451. #. type: table
  20452. #: doc/guix.texi:10915
  20453. msgid ""
  20454. "Specify a list of timedelta sensor devices ntpd should use. @code{ntpd} "
  20455. "will listen to each sensor that acutally exists and ignore non-existant "
  20456. "ones. See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} "
  20457. "for more information."
  20458. msgstr ""
  20459. #. type: item
  20460. #: doc/guix.texi:10915
  20461. #, no-wrap
  20462. msgid "@code{server} (default: @var{%ntp-servers})"
  20463. msgstr ""
  20464. #. type: table
  20465. #: doc/guix.texi:10917
  20466. msgid ""
  20467. "Specify a list of IP addresses or hostnames of NTP servers to synchronize to."
  20468. msgstr ""
  20469. #. type: item
  20470. #: doc/guix.texi:10917
  20471. #, no-wrap
  20472. msgid "@code{servers} (default: @code{'()})"
  20473. msgstr ""
  20474. #. type: table
  20475. #: doc/guix.texi:10919
  20476. msgid ""
  20477. "Specify a list of IP addresses or hostnames of NTP pools to synchronize to."
  20478. msgstr ""
  20479. #. type: item
  20480. #: doc/guix.texi:10919
  20481. #, no-wrap
  20482. msgid "@code{constraint-from} (default: @code{'()})"
  20483. msgstr ""
  20484. #. type: table
  20485. #: doc/guix.texi:10926
  20486. msgid ""
  20487. "@code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers "
  20488. "via TLS. This time information is not used for precision but acts as an "
  20489. "authenticated constraint, thereby reducing the impact of unauthenticated NTP "
  20490. "man-in-the-middle attacks. Specify a list of URLs, IP addresses or "
  20491. "hostnames of HTTPS servers to provide a constraint."
  20492. msgstr ""
  20493. #. type: item
  20494. #: doc/guix.texi:10926
  20495. #, no-wrap
  20496. msgid "@code{constraints-from} (default: @code{'()})"
  20497. msgstr ""
  20498. #. type: table
  20499. #: doc/guix.texi:10930
  20500. msgid ""
  20501. "As with constraint from, specify a list of URLs, IP addresses or hostnames "
  20502. "of HTTPS servers to provide a constraint. Should the hostname resolve to "
  20503. "multiple IP addresses, @code{ntpd} will calculate a median constraint from "
  20504. "all of them."
  20505. msgstr ""
  20506. #. type: item
  20507. #: doc/guix.texi:10930
  20508. #, no-wrap
  20509. msgid "@code{allow-large-adjustment?} (default: @code{#f})"
  20510. msgstr ""
  20511. #. type: table
  20512. #: doc/guix.texi:10933
  20513. msgid ""
  20514. "Determines if @code{ntpd} is allowed to make an initial adjustment of more "
  20515. "than 180 seconds."
  20516. msgstr ""
  20517. #. type: cindex
  20518. #: doc/guix.texi:10936
  20519. #, no-wrap
  20520. msgid "inetd"
  20521. msgstr ""
  20522. #. type: deffn
  20523. #: doc/guix.texi:10937
  20524. #, no-wrap
  20525. msgid "{Scheme variable} inetd-service-type"
  20526. msgstr ""
  20527. #. type: deffn
  20528. #: doc/guix.texi:10942
  20529. msgid ""
  20530. "This service runs the @command{inetd} (@pxref{inetd invocation,,, inetutils, "
  20531. "GNU Inetutils}) daemon. @command{inetd} listens for connections on internet "
  20532. "sockets, and lazily starts the specified server program when a connection is "
  20533. "made on one of these sockets."
  20534. msgstr ""
  20535. #. type: deffn
  20536. #: doc/guix.texi:10948
  20537. msgid ""
  20538. "The value of this service is an @code{inetd-configuration} object. The "
  20539. "following example configures the @command{inetd} daemon to provide the built-"
  20540. "in @command{echo} service, as well as an smtp service which forwards smtp "
  20541. "traffic over ssh to a server @code{smtp-server} behind a gateway "
  20542. "@code{hostname}:"
  20543. msgstr ""
  20544. #. type: example
  20545. #: doc/guix.texi:10971
  20546. #, no-wrap
  20547. msgid ""
  20548. "(service\n"
  20549. " inetd-service-type\n"
  20550. " (inetd-configuration\n"
  20551. " (entries (list\n"
  20552. " (inetd-entry\n"
  20553. " (name \"echo\")\n"
  20554. " (socket-type 'stream)\n"
  20555. " (protocol \"tcp\")\n"
  20556. " (wait? #f)\n"
  20557. " (user \"root\"))\n"
  20558. " (inetd-entry\n"
  20559. " (node \"127.0.0.1\")\n"
  20560. " (name \"smtp\")\n"
  20561. " (socket-type 'stream)\n"
  20562. " (protocol \"tcp\")\n"
  20563. " (wait? #f)\n"
  20564. " (user \"root\")\n"
  20565. " (program (file-append openssh \"/bin/ssh\"))\n"
  20566. " (arguments\n"
  20567. " '(\"ssh\" \"-qT\" \"-i\" \"/path/to/ssh_key\"\n"
  20568. " \"-W\" \"smtp-server:25\" \"user@@hostname\")))))\n"
  20569. msgstr ""
  20570. #. type: deffn
  20571. #: doc/guix.texi:10974
  20572. msgid "See below for more details about @code{inetd-configuration}."
  20573. msgstr ""
  20574. #. type: deftp
  20575. #: doc/guix.texi:10976
  20576. #, no-wrap
  20577. msgid "{Data Type} inetd-configuration"
  20578. msgstr ""
  20579. #. type: deftp
  20580. #: doc/guix.texi:10978
  20581. msgid "Data type representing the configuration of @command{inetd}."
  20582. msgstr ""
  20583. #. type: item
  20584. #: doc/guix.texi:10980
  20585. #, no-wrap
  20586. msgid "@code{program} (default: @code{(file-append inetutils \"/libexec/inetd\")})"
  20587. msgstr ""
  20588. #. type: table
  20589. #: doc/guix.texi:10982
  20590. msgid "The @command{inetd} executable to use."
  20591. msgstr ""
  20592. #. type: item
  20593. #: doc/guix.texi:10983 doc/guix.texi:16240
  20594. #, no-wrap
  20595. msgid "@code{entries} (default: @code{'()})"
  20596. msgstr ""
  20597. #. type: table
  20598. #: doc/guix.texi:10986
  20599. msgid ""
  20600. "A list of @command{inetd} service entries. Each entry should be created by "
  20601. "the @code{inetd-entry} constructor."
  20602. msgstr ""
  20603. #. type: deftp
  20604. #: doc/guix.texi:10989
  20605. #, no-wrap
  20606. msgid "{Data Type} inetd-entry"
  20607. msgstr ""
  20608. #. type: deftp
  20609. #: doc/guix.texi:10993
  20610. msgid ""
  20611. "Data type representing an entry in the @command{inetd} configuration. Each "
  20612. "entry corresponds to a socket where @command{inetd} will listen for requests."
  20613. msgstr ""
  20614. #. type: item
  20615. #: doc/guix.texi:10995
  20616. #, no-wrap
  20617. msgid "@code{node} (default: @code{#f})"
  20618. msgstr ""
  20619. #. type: table
  20620. #: doc/guix.texi:11000
  20621. msgid ""
  20622. "Optional string, a comma-separated list of local addresses @command{inetd} "
  20623. "should use when listening for this service. @xref{Configuration file,,, "
  20624. "inetutils, GNU Inetutils} for a complete description of all options."
  20625. msgstr ""
  20626. #. type: table
  20627. #: doc/guix.texi:11002
  20628. msgid "A string, the name must correspond to an entry in @code{/etc/services}."
  20629. msgstr ""
  20630. #. type: code{#1}
  20631. #: doc/guix.texi:11002
  20632. #, no-wrap
  20633. msgid "socket-type"
  20634. msgstr ""
  20635. #. type: table
  20636. #: doc/guix.texi:11005
  20637. msgid ""
  20638. "One of @code{'stream}, @code{'dgram}, @code{'raw}, @code{'rdm} or "
  20639. "@code{'seqpacket}."
  20640. msgstr ""
  20641. #. type: code{#1}
  20642. #: doc/guix.texi:11005
  20643. #, no-wrap
  20644. msgid "protocol"
  20645. msgstr ""
  20646. #. type: table
  20647. #: doc/guix.texi:11007
  20648. msgid "A string, must correspond to an entry in @code{/etc/protocols}."
  20649. msgstr ""
  20650. #. type: item
  20651. #: doc/guix.texi:11007
  20652. #, no-wrap
  20653. msgid "@code{wait?} (default: @code{#t})"
  20654. msgstr ""
  20655. #. type: table
  20656. #: doc/guix.texi:11010
  20657. msgid ""
  20658. "Whether @command{inetd} should wait for the server to exit before listening "
  20659. "to new service requests."
  20660. msgstr ""
  20661. #. type: table
  20662. #: doc/guix.texi:11015
  20663. msgid ""
  20664. "A string containing the user (and, optionally, group) name of the user as "
  20665. "whom the server should run. The group name can be specified in a suffix, "
  20666. "separated by a colon or period, i.e. @code{\"user\"}, @code{\"user:group\"} "
  20667. "or @code{\"user.group\"}."
  20668. msgstr ""
  20669. #. type: item
  20670. #: doc/guix.texi:11015
  20671. #, no-wrap
  20672. msgid "@code{program} (default: @code{\"internal\"})"
  20673. msgstr ""
  20674. #. type: table
  20675. #: doc/guix.texi:11018
  20676. msgid ""
  20677. "The server program which will serve the requests, or @code{\"internal\"} if "
  20678. "@command{inetd} should use a built-in service."
  20679. msgstr ""
  20680. #. type: table
  20681. #: doc/guix.texi:11023
  20682. msgid ""
  20683. "A list strings or file-like objects, which are the server program's "
  20684. "arguments, starting with the zeroth argument, i.e. the name of the program "
  20685. "itself. For @command{inetd}'s internal services, this entry must be "
  20686. "@code{'()} or @code{'(\"internal\")}."
  20687. msgstr ""
  20688. #. type: deftp
  20689. #: doc/guix.texi:11027
  20690. msgid ""
  20691. "@xref{Configuration file,,, inetutils, GNU Inetutils} for a more detailed "
  20692. "discussion of each configuration field."
  20693. msgstr ""
  20694. #. type: cindex
  20695. #: doc/guix.texi:11029
  20696. #, no-wrap
  20697. msgid "Tor"
  20698. msgstr ""
  20699. #. type: deffn
  20700. #: doc/guix.texi:11030
  20701. #, no-wrap
  20702. msgid "{Scheme Procedure} tor-service [@var{config-file}] [#:tor @var{tor}]"
  20703. msgstr ""
  20704. #. type: deffn
  20705. #: doc/guix.texi:11033
  20706. msgid ""
  20707. "Return a service to run the @uref{https://torproject.org, Tor} anonymous "
  20708. "networking daemon."
  20709. msgstr ""
  20710. #. type: deffn
  20711. #: doc/guix.texi:11038
  20712. msgid ""
  20713. "The daemon runs as the @code{tor} unprivileged user. It is passed "
  20714. "@var{config-file}, a file-like object, with an additional @code{User tor} "
  20715. "line and lines for hidden services added via @code{tor-hidden-service}. Run "
  20716. "@command{man tor} for information about the configuration file."
  20717. msgstr ""
  20718. #. type: cindex
  20719. #: doc/guix.texi:11040
  20720. #, no-wrap
  20721. msgid "hidden service"
  20722. msgstr ""
  20723. #. type: deffn
  20724. #: doc/guix.texi:11041
  20725. #, no-wrap
  20726. msgid "{Scheme Procedure} tor-hidden-service @var{name} @var{mapping}"
  20727. msgstr ""
  20728. #. type: deffn
  20729. #: doc/guix.texi:11044
  20730. msgid ""
  20731. "Define a new Tor @dfn{hidden service} called @var{name} and implementing "
  20732. "@var{mapping}. @var{mapping} is a list of port/host tuples, such as:"
  20733. msgstr ""
  20734. #. type: example
  20735. #: doc/guix.texi:11048
  20736. #, no-wrap
  20737. msgid ""
  20738. " '((22 \"127.0.0.1:22\")\n"
  20739. " (80 \"127.0.0.1:8080\"))\n"
  20740. msgstr ""
  20741. #. type: deffn
  20742. #: doc/guix.texi:11052
  20743. msgid ""
  20744. "In this example, port 22 of the hidden service is mapped to local port 22, "
  20745. "and port 80 is mapped to local port 8080."
  20746. msgstr ""
  20747. #. type: deffn
  20748. #: doc/guix.texi:11056
  20749. msgid ""
  20750. "This creates a @file{/var/lib/tor/hidden-services/@var{name}} directory, "
  20751. "where the @file{hostname} file contains the @code{.onion} host name for the "
  20752. "hidden service."
  20753. msgstr ""
  20754. #. type: deffn
  20755. #: doc/guix.texi:11059
  20756. msgid ""
  20757. "See @uref{https://www.torproject.org/docs/tor-hidden-service.html.en, the "
  20758. "Tor project's documentation} for more information."
  20759. msgstr ""
  20760. #. type: Plain text
  20761. #: doc/guix.texi:11062
  20762. msgid "The @code{(gnu services rsync)} module provides the following services:"
  20763. msgstr ""
  20764. #. type: Plain text
  20765. #: doc/guix.texi:11066
  20766. msgid ""
  20767. "You might want an rsync daemon if you have files that you want available so "
  20768. "anyone (or just yourself) can download existing files or upload new files."
  20769. msgstr ""
  20770. #. type: deffn
  20771. #: doc/guix.texi:11067
  20772. #, no-wrap
  20773. msgid "{Scheme Variable} rsync-service-type"
  20774. msgstr ""
  20775. #. type: deffn
  20776. #: doc/guix.texi:11070
  20777. msgid ""
  20778. "This is the type for the @uref{https://rsync.samba.org, rsync} rsync daemon, "
  20779. "@command{rsync-configuration} record as in this example:"
  20780. msgstr ""
  20781. #. type: example
  20782. #: doc/guix.texi:11073
  20783. #, no-wrap
  20784. msgid "(service rsync-service-type)\n"
  20785. msgstr ""
  20786. #. type: deffn
  20787. #: doc/guix.texi:11076
  20788. msgid "See below for details about @code{rsync-configuration}."
  20789. msgstr ""
  20790. #. type: deftp
  20791. #: doc/guix.texi:11078
  20792. #, no-wrap
  20793. msgid "{Data Type} rsync-configuration"
  20794. msgstr ""
  20795. #. type: deftp
  20796. #: doc/guix.texi:11080
  20797. msgid "Data type representing the configuration for @code{rsync-service}."
  20798. msgstr ""
  20799. #. type: item
  20800. #: doc/guix.texi:11082
  20801. #, no-wrap
  20802. msgid "@code{package} (default: @var{rsync})"
  20803. msgstr ""
  20804. #. type: table
  20805. #: doc/guix.texi:11084
  20806. msgid "@code{rsync} package to use."
  20807. msgstr ""
  20808. #. type: item
  20809. #: doc/guix.texi:11085
  20810. #, no-wrap
  20811. msgid "@code{port-number} (default: @code{873})"
  20812. msgstr ""
  20813. #. type: table
  20814. #: doc/guix.texi:11089
  20815. msgid ""
  20816. "TCP port on which @command{rsync} listens for incoming connections. If port "
  20817. "is less than @code{1024} @command{rsync} needs to be started as the "
  20818. "@code{root} user and group."
  20819. msgstr ""
  20820. #. type: item
  20821. #: doc/guix.texi:11090
  20822. #, no-wrap
  20823. msgid "@code{pid-file} (default: @code{\"/var/run/rsyncd/rsyncd.pid\"})"
  20824. msgstr ""
  20825. #. type: table
  20826. #: doc/guix.texi:11092
  20827. msgid "Name of the file where @command{rsync} writes its PID."
  20828. msgstr ""
  20829. #. type: item
  20830. #: doc/guix.texi:11093
  20831. #, no-wrap
  20832. msgid "@code{lock-file} (default: @code{\"/var/run/rsyncd/rsyncd.lock\"})"
  20833. msgstr ""
  20834. #. type: table
  20835. #: doc/guix.texi:11095
  20836. msgid "Name of the file where @command{rsync} writes its lock file."
  20837. msgstr ""
  20838. #. type: item
  20839. #: doc/guix.texi:11096
  20840. #, no-wrap
  20841. msgid "@code{log-file} (default: @code{\"/var/log/rsyncd.log\"})"
  20842. msgstr ""
  20843. #. type: table
  20844. #: doc/guix.texi:11098
  20845. msgid "Name of the file where @command{rsync} writes its log file."
  20846. msgstr ""
  20847. #. type: item
  20848. #: doc/guix.texi:11099
  20849. #, no-wrap
  20850. msgid "@code{use-chroot?} (default: @var{#t})"
  20851. msgstr ""
  20852. #. type: table
  20853. #: doc/guix.texi:11101
  20854. msgid "Whether to use chroot for @command{rsync} shared directory."
  20855. msgstr ""
  20856. #. type: item
  20857. #: doc/guix.texi:11102
  20858. #, no-wrap
  20859. msgid "@code{share-path} (default: @file{/srv/rsync})"
  20860. msgstr ""
  20861. #. type: table
  20862. #: doc/guix.texi:11104
  20863. msgid "Location of the @command{rsync} shared directory."
  20864. msgstr ""
  20865. #. type: item
  20866. #: doc/guix.texi:11105
  20867. #, no-wrap
  20868. msgid "@code{share-comment} (default: @code{\"Rsync share\"})"
  20869. msgstr ""
  20870. #. type: table
  20871. #: doc/guix.texi:11107
  20872. msgid "Comment of the @command{rsync} shared directory."
  20873. msgstr ""
  20874. #. type: item
  20875. #: doc/guix.texi:11108
  20876. #, no-wrap
  20877. msgid "@code{read-only?} (default: @var{#f})"
  20878. msgstr ""
  20879. #. type: table
  20880. #: doc/guix.texi:11110
  20881. msgid "Read-write permissions to shared directory."
  20882. msgstr ""
  20883. #. type: item
  20884. #: doc/guix.texi:11111
  20885. #, no-wrap
  20886. msgid "@code{timeout} (default: @code{300})"
  20887. msgstr ""
  20888. #. type: table
  20889. #: doc/guix.texi:11113
  20890. msgid "I/O timeout in seconds."
  20891. msgstr ""
  20892. #. type: item
  20893. #: doc/guix.texi:11114
  20894. #, no-wrap
  20895. msgid "@code{user} (default: @var{\"root\"})"
  20896. msgstr ""
  20897. #. type: table
  20898. #: doc/guix.texi:11116
  20899. msgid "Owner of the @code{rsync} process."
  20900. msgstr ""
  20901. #. type: item
  20902. #: doc/guix.texi:11117
  20903. #, no-wrap
  20904. msgid "@code{group} (default: @var{\"root\"})"
  20905. msgstr ""
  20906. #. type: table
  20907. #: doc/guix.texi:11119
  20908. msgid "Group of the @code{rsync} process."
  20909. msgstr ""
  20910. #. type: item
  20911. #: doc/guix.texi:11120
  20912. #, no-wrap
  20913. msgid "@code{uid} (default: @var{\"rsyncd\"})"
  20914. msgstr ""
  20915. #. type: table
  20916. #: doc/guix.texi:11123
  20917. msgid ""
  20918. "User name or user ID that file transfers to and from that module should take "
  20919. "place as when the daemon was run as @code{root}."
  20920. msgstr ""
  20921. #. type: item
  20922. #: doc/guix.texi:11124
  20923. #, no-wrap
  20924. msgid "@code{gid} (default: @var{\"rsyncd\"})"
  20925. msgstr ""
  20926. #. type: table
  20927. #: doc/guix.texi:11126
  20928. msgid "Group name or group ID that will be used when accessing the module."
  20929. msgstr ""
  20930. #. type: Plain text
  20931. #: doc/guix.texi:11131
  20932. msgid "Furthermore, @code{(gnu services ssh)} provides the following services."
  20933. msgstr ""
  20934. #. type: cindex
  20935. #: doc/guix.texi:11131 doc/guix.texi:11170 doc/guix.texi:20791
  20936. #, no-wrap
  20937. msgid "SSH"
  20938. msgstr ""
  20939. #. type: cindex
  20940. #: doc/guix.texi:11132 doc/guix.texi:11171 doc/guix.texi:20792
  20941. #, no-wrap
  20942. msgid "SSH server"
  20943. msgstr ""
  20944. #. type: deffn
  20945. #: doc/guix.texi:11134
  20946. #, no-wrap
  20947. msgid "{Scheme Procedure} lsh-service [#:host-key \"/etc/lsh/host-key\"] @"
  20948. msgstr ""
  20949. #. type: deffn
  20950. #: doc/guix.texi:11143
  20951. msgid ""
  20952. "[#:daemonic? #t] [#:interfaces '()] [#:port-number 22] @ [#:allow-empty-"
  20953. "passwords? #f] [#:root-login? #f] @ [#:syslog-output? #t] [#:x11-forwarding? "
  20954. "#t] @ [#:tcp/ip-forwarding? #t] [#:password-authentication? #t] @ [#:public-"
  20955. "key-authentication? #t] [#:initialize? #t] Run the @command{lshd} program "
  20956. "from @var{lsh} to listen on port @var{port-number}. @var{host-key} must "
  20957. "designate a file containing the host key, and readable only by root."
  20958. msgstr ""
  20959. #. type: deffn
  20960. #: doc/guix.texi:11149
  20961. msgid ""
  20962. "When @var{daemonic?} is true, @command{lshd} will detach from the "
  20963. "controlling terminal and log its output to syslogd, unless one sets "
  20964. "@var{syslog-output?} to false. Obviously, it also makes lsh-service depend "
  20965. "on existence of syslogd service. When @var{pid-file?} is true, "
  20966. "@command{lshd} writes its PID to the file called @var{pid-file}."
  20967. msgstr ""
  20968. #. type: deffn
  20969. #: doc/guix.texi:11153
  20970. msgid ""
  20971. "When @var{initialize?} is true, automatically create the seed and host key "
  20972. "upon service activation if they do not exist yet. This may take long and "
  20973. "require interaction."
  20974. msgstr ""
  20975. #. type: deffn
  20976. #: doc/guix.texi:11158
  20977. msgid ""
  20978. "When @var{initialize?} is false, it is up to the user to initialize the "
  20979. "randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to "
  20980. "create a key pair with the private key stored in file @var{host-key} "
  20981. "(@pxref{lshd basics,,, lsh, LSH Manual})."
  20982. msgstr ""
  20983. #. type: deffn
  20984. #: doc/guix.texi:11162
  20985. msgid ""
  20986. "When @var{interfaces} is empty, lshd listens for connections on all the "
  20987. "network interfaces; otherwise, @var{interfaces} must be a list of host names "
  20988. "or addresses."
  20989. msgstr ""
  20990. #. type: deffn
  20991. #: doc/guix.texi:11166
  20992. msgid ""
  20993. "@var{allow-empty-passwords?} specifies whether to accept log-ins with empty "
  20994. "passwords, and @var{root-login?} specifies whether to accept log-ins as root."
  20995. msgstr ""
  20996. #. type: deffn
  20997. #: doc/guix.texi:11168
  20998. msgid "The other options should be self-descriptive."
  20999. msgstr ""
  21000. #. type: deffn
  21001. #: doc/guix.texi:11172
  21002. #, no-wrap
  21003. msgid "{Scheme Variable} openssh-service-type"
  21004. msgstr ""
  21005. #. type: deffn
  21006. #: doc/guix.texi:11176
  21007. msgid ""
  21008. "This is the type for the @uref{http://www.openssh.org, OpenSSH} secure shell "
  21009. "daemon, @command{sshd}. Its value must be an @code{openssh-configuration} "
  21010. "record as in this example:"
  21011. msgstr ""
  21012. #. type: example
  21013. #: doc/guix.texi:11185
  21014. #, no-wrap
  21015. msgid ""
  21016. "(service openssh-service-type\n"
  21017. " (openssh-configuration\n"
  21018. " (x11-forwarding? #t)\n"
  21019. " (permit-root-login 'without-password)\n"
  21020. " (authorized-keys\n"
  21021. " `((\"alice\" ,(local-file \"alice.pub\"))\n"
  21022. " (\"bob\" ,(local-file \"bob.pub\"))))))\n"
  21023. msgstr ""
  21024. #. type: deffn
  21025. #: doc/guix.texi:11188
  21026. msgid "See below for details about @code{openssh-configuration}."
  21027. msgstr ""
  21028. #. type: deffn
  21029. #: doc/guix.texi:11191
  21030. msgid ""
  21031. "This service can be extended with extra authorized keys, as in this example:"
  21032. msgstr ""
  21033. #. type: example
  21034. #: doc/guix.texi:11196
  21035. #, no-wrap
  21036. msgid ""
  21037. "(service-extension openssh-service-type\n"
  21038. " (const `((\"charlie\"\n"
  21039. " ,(local-file \"charlie.pub\")))))\n"
  21040. msgstr ""
  21041. #. type: deftp
  21042. #: doc/guix.texi:11199
  21043. #, no-wrap
  21044. msgid "{Data Type} openssh-configuration"
  21045. msgstr ""
  21046. #. type: deftp
  21047. #: doc/guix.texi:11201
  21048. msgid "This is the configuration record for OpenSSH's @command{sshd}."
  21049. msgstr ""
  21050. #. type: item
  21051. #: doc/guix.texi:11203
  21052. #, no-wrap
  21053. msgid "@code{pid-file} (default: @code{\"/var/run/sshd.pid\"})"
  21054. msgstr ""
  21055. #. type: table
  21056. #: doc/guix.texi:11205
  21057. msgid "Name of the file where @command{sshd} writes its PID."
  21058. msgstr ""
  21059. #. type: item
  21060. #: doc/guix.texi:11206
  21061. #, no-wrap
  21062. msgid "@code{port-number} (default: @code{22})"
  21063. msgstr ""
  21064. #. type: table
  21065. #: doc/guix.texi:11208
  21066. msgid "TCP port on which @command{sshd} listens for incoming connections."
  21067. msgstr ""
  21068. #. type: item
  21069. #: doc/guix.texi:11209
  21070. #, no-wrap
  21071. msgid "@code{permit-root-login} (default: @code{#f})"
  21072. msgstr ""
  21073. #. type: table
  21074. #: doc/guix.texi:11214
  21075. msgid ""
  21076. "This field determines whether and when to allow logins as root. If "
  21077. "@code{#f}, root logins are disallowed; if @code{#t}, they are allowed. If "
  21078. "it's the symbol @code{'without-password}, then root logins are permitted but "
  21079. "not with password-based authentication."
  21080. msgstr ""
  21081. #. type: item
  21082. #: doc/guix.texi:11215 doc/guix.texi:11348
  21083. #, no-wrap
  21084. msgid "@code{allow-empty-passwords?} (default: @code{#f})"
  21085. msgstr ""
  21086. #. type: table
  21087. #: doc/guix.texi:11218
  21088. msgid ""
  21089. "When true, users with empty passwords may log in. When false, they may not."
  21090. msgstr ""
  21091. #. type: item
  21092. #: doc/guix.texi:11219 doc/guix.texi:11351
  21093. #, no-wrap
  21094. msgid "@code{password-authentication?} (default: @code{#t})"
  21095. msgstr ""
  21096. #. type: table
  21097. #: doc/guix.texi:11222
  21098. msgid ""
  21099. "When true, users may log in with their password. When false, they have "
  21100. "other authentication methods."
  21101. msgstr ""
  21102. #. type: item
  21103. #: doc/guix.texi:11223
  21104. #, no-wrap
  21105. msgid "@code{public-key-authentication?} (default: @code{#t})"
  21106. msgstr ""
  21107. #. type: table
  21108. #: doc/guix.texi:11226
  21109. msgid ""
  21110. "When true, users may log in using public key authentication. When false, "
  21111. "users have to use other authentication method."
  21112. msgstr ""
  21113. #. type: table
  21114. #: doc/guix.texi:11229
  21115. msgid ""
  21116. "Authorized public keys are stored in @file{~/.ssh/authorized_keys}. This is "
  21117. "used only by protocol version 2."
  21118. msgstr ""
  21119. #. type: item
  21120. #: doc/guix.texi:11230
  21121. #, no-wrap
  21122. msgid "@code{x11-forwarding?} (default: @code{#f})"
  21123. msgstr ""
  21124. #. type: table
  21125. #: doc/guix.texi:11234
  21126. msgid ""
  21127. "When true, forwarding of X11 graphical client connections is enabled---in "
  21128. "other words, @command{ssh} options @option{-X} and @option{-Y} will work."
  21129. msgstr ""
  21130. #. type: item
  21131. #: doc/guix.texi:11235
  21132. #, no-wrap
  21133. msgid "@code{challenge-response-authentication?} (default: @code{#f})"
  21134. msgstr ""
  21135. #. type: table
  21136. #: doc/guix.texi:11238
  21137. msgid ""
  21138. "Specifies whether challenge response authentication is allowed (e.g. via "
  21139. "PAM)."
  21140. msgstr ""
  21141. #. type: item
  21142. #: doc/guix.texi:11239
  21143. #, no-wrap
  21144. msgid "@code{use-pam?} (default: @code{#t})"
  21145. msgstr ""
  21146. #. type: table
  21147. #: doc/guix.texi:11245
  21148. msgid ""
  21149. "Enables the Pluggable Authentication Module interface. If set to @code{#t}, "
  21150. "this will enable PAM authentication using @code{challenge-response-"
  21151. "authentication?} and @code{password-authentication?}, in addition to PAM "
  21152. "account and session module processing for all authentication types."
  21153. msgstr ""
  21154. #. type: table
  21155. #: doc/guix.texi:11250
  21156. msgid ""
  21157. "Because PAM challenge response authentication usually serves an equivalent "
  21158. "role to password authentication, you should disable either @code{challenge-"
  21159. "response-authentication?} or @code{password-authentication?}."
  21160. msgstr ""
  21161. #. type: item
  21162. #: doc/guix.texi:11251
  21163. #, no-wrap
  21164. msgid "@code{print-last-log?} (default: @code{#t})"
  21165. msgstr ""
  21166. #. type: table
  21167. #: doc/guix.texi:11254
  21168. msgid ""
  21169. "Specifies whether @command{sshd} should print the date and time of the last "
  21170. "user login when a user logs in interactively."
  21171. msgstr ""
  21172. #. type: item
  21173. #: doc/guix.texi:11255
  21174. #, no-wrap
  21175. msgid "@code{subsystems} (default: @code{'((\"sftp\" \"internal-sftp\"))})"
  21176. msgstr ""
  21177. #. type: table
  21178. #: doc/guix.texi:11257
  21179. msgid "Configures external subsystems (e.g. file transfer daemon)."
  21180. msgstr ""
  21181. #. type: table
  21182. #: doc/guix.texi:11261
  21183. msgid ""
  21184. "This is a list of two-element lists, each of which containing the subsystem "
  21185. "name and a command (with optional arguments) to execute upon subsystem "
  21186. "request."
  21187. msgstr ""
  21188. #. type: table
  21189. #: doc/guix.texi:11264
  21190. msgid ""
  21191. "The command @command{internal-sftp} implements an in-process SFTP server. "
  21192. "Alternately, one can specify the @command{sftp-server} command:"
  21193. msgstr ""
  21194. #. type: example
  21195. #: doc/guix.texi:11269
  21196. #, no-wrap
  21197. msgid ""
  21198. "(service openssh-service-type\n"
  21199. " (openssh-configuration\n"
  21200. " (subsystems\n"
  21201. " `((\"sftp\" ,(file-append openssh \"/libexec/sftp-server\"))))))\n"
  21202. msgstr ""
  21203. #. type: item
  21204. #: doc/guix.texi:11271
  21205. #, no-wrap
  21206. msgid "@code{accepted-environment} (default: @code{'()})"
  21207. msgstr ""
  21208. #. type: table
  21209. #: doc/guix.texi:11273
  21210. msgid "List of strings describing which environment variables may be exported."
  21211. msgstr ""
  21212. #. type: table
  21213. #: doc/guix.texi:11276
  21214. msgid ""
  21215. "Each string gets on its own line. See the @code{AcceptEnv} option in "
  21216. "@code{man sshd_config}."
  21217. msgstr ""
  21218. #. type: table
  21219. #: doc/guix.texi:11281
  21220. msgid ""
  21221. "This example allows ssh-clients to export the @code{COLORTERM} variable. It "
  21222. "is set by terminal emulators, which support colors. You can use it in your "
  21223. "shell's ressource file to enable colors for the prompt and commands if this "
  21224. "variable is set."
  21225. msgstr ""
  21226. #. type: example
  21227. #: doc/guix.texi:11286
  21228. #, no-wrap
  21229. msgid ""
  21230. "(service openssh-service-type\n"
  21231. " (openssh-configuration\n"
  21232. " (accepted-environment '(\"COLORTERM\"))))\n"
  21233. msgstr ""
  21234. #. type: item
  21235. #: doc/guix.texi:11288
  21236. #, no-wrap
  21237. msgid "@code{authorized-keys} (default: @code{'()})"
  21238. msgstr ""
  21239. #. type: cindex
  21240. #: doc/guix.texi:11289
  21241. #, no-wrap
  21242. msgid "authorized keys, SSH"
  21243. msgstr ""
  21244. #. type: cindex
  21245. #: doc/guix.texi:11290
  21246. #, no-wrap
  21247. msgid "SSH authorized keys"
  21248. msgstr ""
  21249. #. type: table
  21250. #: doc/guix.texi:11294
  21251. msgid ""
  21252. "This is the list of authorized keys. Each element of the list is a user "
  21253. "name followed by one or more file-like objects that represent SSH public "
  21254. "keys. For example:"
  21255. msgstr ""
  21256. #. type: example
  21257. #: doc/guix.texi:11301
  21258. #, no-wrap
  21259. msgid ""
  21260. "(openssh-configuration\n"
  21261. " (authorized-keys\n"
  21262. " `((\"rekado\" ,(local-file \"rekado.pub\"))\n"
  21263. " (\"chris\" ,(local-file \"chris.pub\"))\n"
  21264. " (\"root\" ,(local-file \"rekado.pub\") ,(local-file \"chris.pub\")))))\n"
  21265. msgstr ""
  21266. #. type: table
  21267. #: doc/guix.texi:11306
  21268. msgid ""
  21269. "registers the specified public keys for user accounts @code{rekado}, "
  21270. "@code{chris}, and @code{root}."
  21271. msgstr ""
  21272. #. type: table
  21273. #: doc/guix.texi:11309
  21274. msgid ""
  21275. "Additional authorized keys can be specified @i{via} @code{service-extension}."
  21276. msgstr ""
  21277. #. type: table
  21278. #: doc/guix.texi:11312
  21279. msgid ""
  21280. "Note that this does @emph{not} interfere with the use of @file{~/.ssh/"
  21281. "authorized_keys}."
  21282. msgstr ""
  21283. #. type: deffn
  21284. #: doc/guix.texi:11315
  21285. #, no-wrap
  21286. msgid "{Scheme Procedure} dropbear-service [@var{config}]"
  21287. msgstr ""
  21288. #. type: deffn
  21289. #: doc/guix.texi:11319
  21290. msgid ""
  21291. "Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH "
  21292. "daemon} with the given @var{config}, a @code{<dropbear-configuration>} "
  21293. "object."
  21294. msgstr ""
  21295. #. type: deffn
  21296. #: doc/guix.texi:11322
  21297. msgid ""
  21298. "For example, to specify a Dropbear service listening on port 1234, add this "
  21299. "call to the operating system's @code{services} field:"
  21300. msgstr ""
  21301. #. type: example
  21302. #: doc/guix.texi:11326
  21303. #, no-wrap
  21304. msgid ""
  21305. "(dropbear-service (dropbear-configuration\n"
  21306. " (port-number 1234)))\n"
  21307. msgstr ""
  21308. #. type: deftp
  21309. #: doc/guix.texi:11329
  21310. #, no-wrap
  21311. msgid "{Data Type} dropbear-configuration"
  21312. msgstr ""
  21313. #. type: deftp
  21314. #: doc/guix.texi:11331
  21315. msgid "This data type represents the configuration of a Dropbear SSH daemon."
  21316. msgstr ""
  21317. #. type: item
  21318. #: doc/guix.texi:11333
  21319. #, no-wrap
  21320. msgid "@code{dropbear} (default: @var{dropbear})"
  21321. msgstr ""
  21322. #. type: table
  21323. #: doc/guix.texi:11335
  21324. msgid "The Dropbear package to use."
  21325. msgstr ""
  21326. #. type: item
  21327. #: doc/guix.texi:11336
  21328. #, no-wrap
  21329. msgid "@code{port-number} (default: 22)"
  21330. msgstr ""
  21331. #. type: table
  21332. #: doc/guix.texi:11338
  21333. msgid "The TCP port where the daemon waits for incoming connections."
  21334. msgstr ""
  21335. #. type: item
  21336. #: doc/guix.texi:11339
  21337. #, no-wrap
  21338. msgid "@code{syslog-output?} (default: @code{#t})"
  21339. msgstr ""
  21340. #. type: table
  21341. #: doc/guix.texi:11341
  21342. msgid "Whether to enable syslog output."
  21343. msgstr ""
  21344. #. type: item
  21345. #: doc/guix.texi:11342
  21346. #, no-wrap
  21347. msgid "@code{pid-file} (default: @code{\"/var/run/dropbear.pid\"})"
  21348. msgstr ""
  21349. #. type: table
  21350. #: doc/guix.texi:11344
  21351. msgid "File name of the daemon's PID file."
  21352. msgstr ""
  21353. #. type: item
  21354. #: doc/guix.texi:11345
  21355. #, no-wrap
  21356. msgid "@code{root-login?} (default: @code{#f})"
  21357. msgstr ""
  21358. #. type: table
  21359. #: doc/guix.texi:11347
  21360. msgid "Whether to allow @code{root} logins."
  21361. msgstr ""
  21362. #. type: table
  21363. #: doc/guix.texi:11350
  21364. msgid "Whether to allow empty passwords."
  21365. msgstr ""
  21366. #. type: table
  21367. #: doc/guix.texi:11353
  21368. msgid "Whether to enable password-based authentication."
  21369. msgstr ""
  21370. #. type: defvr
  21371. #: doc/guix.texi:11356
  21372. #, no-wrap
  21373. msgid "{Scheme Variable} %facebook-host-aliases"
  21374. msgstr ""
  21375. #. type: defvr
  21376. #: doc/guix.texi:11362
  21377. msgid ""
  21378. "This variable contains a string for use in @file{/etc/hosts} (@pxref{Host "
  21379. "Names,,, libc, The GNU C Library Reference Manual}). Each line contains a "
  21380. "entry that maps a known server name of the Facebook on-line service---e.g., "
  21381. "@code{www.facebook.com}---to the local host---@code{127.0.0.1} or its IPv6 "
  21382. "equivalent, @code{::1}."
  21383. msgstr ""
  21384. #. type: defvr
  21385. #: doc/guix.texi:11366
  21386. msgid ""
  21387. "This variable is typically used in the @code{hosts-file} field of an "
  21388. "@code{operating-system} declaration (@pxref{operating-system Reference, "
  21389. "@file{/etc/hosts}}):"
  21390. msgstr ""
  21391. #. type: example
  21392. #: doc/guix.texi:11369
  21393. #, no-wrap
  21394. msgid ""
  21395. "(use-modules (gnu) (guix))\n"
  21396. "\n"
  21397. msgstr ""
  21398. #. type: example
  21399. #: doc/guix.texi:11379
  21400. #, no-wrap
  21401. msgid ""
  21402. "(operating-system\n"
  21403. " (host-name \"mymachine\")\n"
  21404. " ;; ...\n"
  21405. " (hosts-file\n"
  21406. " ;; Create a /etc/hosts file with aliases for \"localhost\"\n"
  21407. " ;; and \"mymachine\", as well as for Facebook servers.\n"
  21408. " (plain-file \"hosts\"\n"
  21409. " (string-append (local-host-aliases host-name)\n"
  21410. " %facebook-host-aliases))))\n"
  21411. msgstr ""
  21412. #. type: defvr
  21413. #: doc/guix.texi:11383
  21414. msgid ""
  21415. "This mechanism can prevent programs running locally, such as Web browsers, "
  21416. "from accessing Facebook."
  21417. msgstr ""
  21418. #. type: Plain text
  21419. #: doc/guix.texi:11386
  21420. msgid "The @code{(gnu services avahi)} provides the following definition."
  21421. msgstr ""
  21422. #. type: deffn
  21423. #: doc/guix.texi:11387
  21424. #, no-wrap
  21425. msgid "{Scheme Procedure} avahi-service [#:avahi @var{avahi}] @"
  21426. msgstr ""
  21427. #. type: deffn
  21428. #: doc/guix.texi:11399
  21429. msgid ""
  21430. "[#:host-name #f] [#:publish? #t] [#:ipv4? #t] @ [#:ipv6? #t] [#:wide-area? "
  21431. "#f] @ [#:domains-to-browse '()] [#:debug? #f] Return a service that runs "
  21432. "@command{avahi-daemon}, a system-wide mDNS/DNS-SD responder that allows for "
  21433. "service discovery and \"zero-configuration\" host name lookups (see "
  21434. "@uref{http://avahi.org/}), and extends the name service cache daemon (nscd) "
  21435. "so that it can resolve @code{.local} host names using @uref{http://0pointer."
  21436. "de/lennart/projects/nss-mdns/, nss-mdns}. Additionally, add the @var{avahi} "
  21437. "package to the system profile so that commands such as @command{avahi-"
  21438. "browse} are directly usable."
  21439. msgstr ""
  21440. #. type: deffn
  21441. #: doc/guix.texi:11402
  21442. msgid ""
  21443. "If @var{host-name} is different from @code{#f}, use that as the host name to "
  21444. "publish for this machine; otherwise, use the machine's actual host name."
  21445. msgstr ""
  21446. #. type: deffn
  21447. #: doc/guix.texi:11406
  21448. msgid ""
  21449. "When @var{publish?} is true, publishing of host names and services is "
  21450. "allowed; in particular, avahi-daemon will publish the machine's host name "
  21451. "and IP address via mDNS on the local network."
  21452. msgstr ""
  21453. #. type: deffn
  21454. #: doc/guix.texi:11408
  21455. msgid "When @var{wide-area?} is true, DNS-SD over unicast DNS is enabled."
  21456. msgstr ""
  21457. #. type: deffn
  21458. #: doc/guix.texi:11411
  21459. msgid ""
  21460. "Boolean values @var{ipv4?} and @var{ipv6?} determine whether to use IPv4/"
  21461. "IPv6 sockets."
  21462. msgstr ""
  21463. #. type: deffn
  21464. #: doc/guix.texi:11413
  21465. #, no-wrap
  21466. msgid "{Scheme Variable} openvswitch-service-type"
  21467. msgstr ""
  21468. #. type: deffn
  21469. #: doc/guix.texi:11417
  21470. msgid ""
  21471. "This is the type of the @uref{http://www.openvswitch.org, Open vSwitch} "
  21472. "service, whose value should be an @code{openvswitch-configuration} object."
  21473. msgstr ""
  21474. #. type: deftp
  21475. #: doc/guix.texi:11419
  21476. #, no-wrap
  21477. msgid "{Data Type} openvswitch-configuration"
  21478. msgstr ""
  21479. #. type: deftp
  21480. #: doc/guix.texi:11423
  21481. msgid ""
  21482. "Data type representing the configuration of Open vSwitch, a multilayer "
  21483. "virtual switch which is designed to enable massive network automation "
  21484. "through programmatic extension."
  21485. msgstr ""
  21486. #. type: item
  21487. #: doc/guix.texi:11425
  21488. #, no-wrap
  21489. msgid "@code{package} (default: @var{openvswitch})"
  21490. msgstr ""
  21491. #. type: table
  21492. #: doc/guix.texi:11427
  21493. msgid "Package object of the Open vSwitch."
  21494. msgstr ""
  21495. #. type: cindex
  21496. #: doc/guix.texi:11434
  21497. #, no-wrap
  21498. msgid "X11"
  21499. msgstr ""
  21500. #. type: cindex
  21501. #: doc/guix.texi:11435
  21502. #, no-wrap
  21503. msgid "X Window System"
  21504. msgstr ""
  21505. #. type: cindex
  21506. #: doc/guix.texi:11436 doc/guix.texi:11613
  21507. #, no-wrap
  21508. msgid "login manager"
  21509. msgstr ""
  21510. #. type: Plain text
  21511. #: doc/guix.texi:11441
  21512. msgid ""
  21513. "Support for the X Window graphical display system---specifically Xorg---is "
  21514. "provided by the @code{(gnu services xorg)} module. Note that there is no "
  21515. "@code{xorg-service} procedure. Instead, the X server is started by the "
  21516. "@dfn{login manager}, by default SLiM."
  21517. msgstr ""
  21518. #. type: cindex
  21519. #: doc/guix.texi:11442
  21520. #, no-wrap
  21521. msgid "window manager"
  21522. msgstr ""
  21523. #. type: Plain text
  21524. #: doc/guix.texi:11447
  21525. msgid ""
  21526. "To use X11, you must install at least one @dfn{window manager}---for example "
  21527. "the @code{windowmaker} or @code{openbox} packages---preferably by adding it "
  21528. "to the @code{packages} field of your operating system definition "
  21529. "(@pxref{operating-system Reference, system-wide packages})."
  21530. msgstr ""
  21531. #. type: defvr
  21532. #: doc/guix.texi:11448
  21533. #, no-wrap
  21534. msgid "{Scheme Variable} slim-service-type"
  21535. msgstr ""
  21536. #. type: defvr
  21537. #: doc/guix.texi:11450
  21538. msgid "This is the type for the SLiM graphical login manager for X11."
  21539. msgstr ""
  21540. #. type: cindex
  21541. #: doc/guix.texi:11451
  21542. #, no-wrap
  21543. msgid "session types (X11)"
  21544. msgstr ""
  21545. #. type: cindex
  21546. #: doc/guix.texi:11452
  21547. #, no-wrap
  21548. msgid "X11 session types"
  21549. msgstr ""
  21550. #. type: defvr
  21551. #: doc/guix.texi:11459
  21552. msgid ""
  21553. "SLiM looks for @dfn{session types} described by the @file{.desktop} files in "
  21554. "@file{/run/current-system/profile/share/xsessions} and allows users to "
  21555. "choose a session from the log-in screen using @kbd{F1}. Packages such as "
  21556. "@code{xfce}, @code{sawfish}, and @code{ratpoison} provide @file{.desktop} "
  21557. "files; adding them to the system-wide set of packages automatically makes "
  21558. "them available at the log-in screen."
  21559. msgstr ""
  21560. #. type: defvr
  21561. #: doc/guix.texi:11463
  21562. msgid ""
  21563. "In addition, @file{~/.xsession} files are honored. When available, @file{~/."
  21564. "xsession} must be an executable that starts a window manager and/or other X "
  21565. "clients."
  21566. msgstr ""
  21567. #. type: deftp
  21568. #: doc/guix.texi:11465
  21569. #, no-wrap
  21570. msgid "{Data Type} slim-configuration"
  21571. msgstr ""
  21572. #. type: deftp
  21573. #: doc/guix.texi:11467
  21574. msgid "Data type representing the configuration of @code{slim-service-type}."
  21575. msgstr ""
  21576. #. type: table
  21577. #: doc/guix.texi:11471
  21578. msgid "Whether to allow logins with empty passwords."
  21579. msgstr ""
  21580. #. type: item
  21581. #: doc/guix.texi:11472
  21582. #, no-wrap
  21583. msgid "@code{auto-login?} (default: @code{#f})"
  21584. msgstr ""
  21585. #. type: itemx
  21586. #: doc/guix.texi:11473
  21587. #, no-wrap
  21588. msgid "@code{default-user} (default: @code{\"\"})"
  21589. msgstr ""
  21590. #. type: table
  21591. #: doc/guix.texi:11475
  21592. msgid "When @code{auto-login?} is false, SLiM presents a log-in screen."
  21593. msgstr ""
  21594. #. type: table
  21595. #: doc/guix.texi:11478
  21596. msgid ""
  21597. "When @code{auto-login?} is true, SLiM logs in directly as @code{default-"
  21598. "user}."
  21599. msgstr ""
  21600. #. type: item
  21601. #: doc/guix.texi:11479
  21602. #, no-wrap
  21603. msgid "@code{theme} (default: @code{%default-slim-theme})"
  21604. msgstr ""
  21605. #. type: itemx
  21606. #: doc/guix.texi:11480
  21607. #, no-wrap
  21608. msgid "@code{theme-name} (default: @code{%default-slim-theme-name})"
  21609. msgstr ""
  21610. #. type: table
  21611. #: doc/guix.texi:11482
  21612. msgid "The graphical theme to use and its name."
  21613. msgstr ""
  21614. #. type: item
  21615. #: doc/guix.texi:11483
  21616. #, no-wrap
  21617. msgid "@code{auto-login-session} (default: @code{#f})"
  21618. msgstr ""
  21619. #. type: table
  21620. #: doc/guix.texi:11486
  21621. msgid ""
  21622. "If true, this must be the name of the executable to start as the default "
  21623. "session---e.g., @code{(file-append windowmaker \"/bin/windowmaker\")}."
  21624. msgstr ""
  21625. #. type: table
  21626. #: doc/guix.texi:11490
  21627. msgid ""
  21628. "If false, a session described by one of the available @file{.desktop} files "
  21629. "in @code{/run/current-system/profile} and @code{~/.guix-profile} will be "
  21630. "used."
  21631. msgstr ""
  21632. #. type: quotation
  21633. #: doc/guix.texi:11495
  21634. msgid ""
  21635. "You must install at least one window manager in the system profile or in "
  21636. "your user profile. Failing to do that, if @code{auto-login-session} is "
  21637. "false, you will be unable to log in."
  21638. msgstr ""
  21639. #. type: item
  21640. #: doc/guix.texi:11497
  21641. #, no-wrap
  21642. msgid "@code{startx} (default: @code{(xorg-start-command)})"
  21643. msgstr ""
  21644. #. type: table
  21645. #: doc/guix.texi:11499
  21646. msgid "The command used to start the X11 graphical server."
  21647. msgstr ""
  21648. #. type: item
  21649. #: doc/guix.texi:11500
  21650. #, no-wrap
  21651. msgid "@code{xauth} (default: @code{xauth})"
  21652. msgstr ""
  21653. #. type: table
  21654. #: doc/guix.texi:11502
  21655. msgid "The XAuth package to use."
  21656. msgstr ""
  21657. #. type: item
  21658. #: doc/guix.texi:11503
  21659. #, no-wrap
  21660. msgid "@code{shepherd} (default: @code{shepherd})"
  21661. msgstr ""
  21662. #. type: table
  21663. #: doc/guix.texi:11506
  21664. msgid ""
  21665. "The Shepherd package used when invoking @command{halt} and @command{reboot}."
  21666. msgstr ""
  21667. #. type: item
  21668. #: doc/guix.texi:11507
  21669. #, no-wrap
  21670. msgid "@code{sessreg} (default: @code{sessreg})"
  21671. msgstr ""
  21672. #. type: table
  21673. #: doc/guix.texi:11509
  21674. msgid "The sessreg package used in order to register the session."
  21675. msgstr ""
  21676. #. type: item
  21677. #: doc/guix.texi:11510
  21678. #, no-wrap
  21679. msgid "@code{slim} (default: @code{slim})"
  21680. msgstr ""
  21681. #. type: table
  21682. #: doc/guix.texi:11512
  21683. msgid "The SLiM package to use."
  21684. msgstr ""
  21685. #. type: defvr
  21686. #: doc/guix.texi:11515 doc/guix.texi:20288
  21687. #, no-wrap
  21688. msgid "{Scheme Variable} %default-theme"
  21689. msgstr ""
  21690. #. type: defvrx
  21691. #: doc/guix.texi:11516
  21692. #, no-wrap
  21693. msgid "{Scheme Variable} %default-theme-name"
  21694. msgstr ""
  21695. #. type: defvr
  21696. #: doc/guix.texi:11518
  21697. msgid "The default SLiM theme and its name."
  21698. msgstr ""
  21699. #. type: deftp
  21700. #: doc/guix.texi:11521
  21701. #, no-wrap
  21702. msgid "{Data Type} sddm-configuration"
  21703. msgstr ""
  21704. #. type: deftp
  21705. #: doc/guix.texi:11523
  21706. msgid "This is the data type representing the sddm service configuration."
  21707. msgstr ""
  21708. #. type: item
  21709. #: doc/guix.texi:11525
  21710. #, no-wrap
  21711. msgid "@code{display-server} (default: \"x11\")"
  21712. msgstr ""
  21713. #. type: table
  21714. #: doc/guix.texi:11528
  21715. msgid ""
  21716. "Select display server to use for the greeter. Valid values are \"x11\" or "
  21717. "\"wayland\"."
  21718. msgstr ""
  21719. #. type: item
  21720. #: doc/guix.texi:11529
  21721. #, no-wrap
  21722. msgid "@code{numlock} (default: \"on\")"
  21723. msgstr ""
  21724. #. type: table
  21725. #: doc/guix.texi:11531
  21726. msgid "Valid values are \"on\", \"off\" or \"none\"."
  21727. msgstr ""
  21728. #. type: item
  21729. #: doc/guix.texi:11532
  21730. #, no-wrap
  21731. msgid "@code{halt-command} (default @code{#~(string-apppend #$shepherd \"/sbin/halt\")})"
  21732. msgstr ""
  21733. #. type: table
  21734. #: doc/guix.texi:11534
  21735. msgid "Command to run when halting."
  21736. msgstr ""
  21737. #. type: item
  21738. #: doc/guix.texi:11535
  21739. #, no-wrap
  21740. msgid "@code{reboot-command} (default @code{#~(string-append #$shepherd \"/sbin/reboot\")})"
  21741. msgstr ""
  21742. #. type: table
  21743. #: doc/guix.texi:11537
  21744. msgid "Command to run when rebooting."
  21745. msgstr ""
  21746. #. type: item
  21747. #: doc/guix.texi:11538
  21748. #, no-wrap
  21749. msgid "@code{theme} (default \"maldives\")"
  21750. msgstr ""
  21751. #. type: table
  21752. #: doc/guix.texi:11540
  21753. msgid ""
  21754. "Theme to use. Default themes provided by SDDM are \"elarun\" or \"maldives\"."
  21755. msgstr ""
  21756. #. type: item
  21757. #: doc/guix.texi:11541
  21758. #, no-wrap
  21759. msgid "@code{themes-directory} (default \"/run/current-system/profile/share/sddm/themes\")"
  21760. msgstr ""
  21761. #. type: table
  21762. #: doc/guix.texi:11543
  21763. msgid "Directory to look for themes."
  21764. msgstr ""
  21765. #. type: item
  21766. #: doc/guix.texi:11544
  21767. #, no-wrap
  21768. msgid "@code{faces-directory} (default \"/run/current-system/profile/share/sddm/faces\")"
  21769. msgstr ""
  21770. #. type: table
  21771. #: doc/guix.texi:11546
  21772. msgid "Directory to look for faces."
  21773. msgstr ""
  21774. #. type: item
  21775. #: doc/guix.texi:11547
  21776. #, no-wrap
  21777. msgid "@code{default-path} (default \"/run/current-system/profile/bin\")"
  21778. msgstr ""
  21779. #. type: table
  21780. #: doc/guix.texi:11549
  21781. msgid "Default PATH to use."
  21782. msgstr ""
  21783. #. type: item
  21784. #: doc/guix.texi:11550
  21785. #, no-wrap
  21786. msgid "@code{minimum-uid} (default 1000)"
  21787. msgstr ""
  21788. #. type: table
  21789. #: doc/guix.texi:11552
  21790. msgid "Minimum UID to display in SDDM."
  21791. msgstr ""
  21792. #. type: item
  21793. #: doc/guix.texi:11553
  21794. #, no-wrap
  21795. msgid "@code{maximum-uid} (default 2000)"
  21796. msgstr ""
  21797. #. type: table
  21798. #: doc/guix.texi:11555
  21799. msgid "Maximum UID to display in SDDM"
  21800. msgstr ""
  21801. #. type: item
  21802. #: doc/guix.texi:11556
  21803. #, no-wrap
  21804. msgid "@code{remember-last-user?} (default #t)"
  21805. msgstr ""
  21806. #. type: table
  21807. #: doc/guix.texi:11558
  21808. msgid "Remember last user."
  21809. msgstr ""
  21810. #. type: item
  21811. #: doc/guix.texi:11559
  21812. #, no-wrap
  21813. msgid "@code{remember-last-session?} (default #t)"
  21814. msgstr ""
  21815. #. type: table
  21816. #: doc/guix.texi:11561
  21817. msgid "Remember last session."
  21818. msgstr ""
  21819. #. type: item
  21820. #: doc/guix.texi:11562
  21821. #, no-wrap
  21822. msgid "@code{hide-users} (default \"\")"
  21823. msgstr ""
  21824. #. type: table
  21825. #: doc/guix.texi:11564
  21826. msgid "Usernames to hide from SDDM greeter."
  21827. msgstr ""
  21828. #. type: item
  21829. #: doc/guix.texi:11565
  21830. #, no-wrap
  21831. msgid "@code{hide-shells} (default @code{#~(string-append #$shadow \"/sbin/nologin\")})"
  21832. msgstr ""
  21833. #. type: table
  21834. #: doc/guix.texi:11567
  21835. msgid "Users with shells listed will be hidden from the SDDM greeter."
  21836. msgstr ""
  21837. #. type: item
  21838. #: doc/guix.texi:11568
  21839. #, no-wrap
  21840. msgid "@code{session-command} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/wayland-session\")})"
  21841. msgstr ""
  21842. #. type: table
  21843. #: doc/guix.texi:11570
  21844. msgid "Script to run before starting a wayland session."
  21845. msgstr ""
  21846. #. type: item
  21847. #: doc/guix.texi:11571
  21848. #, no-wrap
  21849. msgid "@code{sessions-directory} (default \"/run/current-system/profile/share/wayland-sessions\")"
  21850. msgstr ""
  21851. #. type: table
  21852. #: doc/guix.texi:11573
  21853. msgid "Directory to look for desktop files starting wayland sessions."
  21854. msgstr ""
  21855. #. type: item
  21856. #: doc/guix.texi:11574
  21857. #, no-wrap
  21858. msgid "@code{xorg-server-path} (default @code{xorg-start-command})"
  21859. msgstr ""
  21860. #. type: table
  21861. #: doc/guix.texi:11576
  21862. msgid "Path to xorg-server."
  21863. msgstr ""
  21864. #. type: item
  21865. #: doc/guix.texi:11577
  21866. #, no-wrap
  21867. msgid "@code{xauth-path} (default @code{#~(string-append #$xauth \"/bin/xauth\")})"
  21868. msgstr ""
  21869. #. type: table
  21870. #: doc/guix.texi:11579
  21871. msgid "Path to xauth."
  21872. msgstr ""
  21873. #. type: item
  21874. #: doc/guix.texi:11580
  21875. #, no-wrap
  21876. msgid "@code{xephyr-path} (default @code{#~(string-append #$xorg-server \"/bin/Xephyr\")})"
  21877. msgstr ""
  21878. #. type: table
  21879. #: doc/guix.texi:11582
  21880. msgid "Path to Xephyr."
  21881. msgstr ""
  21882. #. type: item
  21883. #: doc/guix.texi:11583
  21884. #, no-wrap
  21885. msgid "@code{xdisplay-start} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/Xsetup\")})"
  21886. msgstr ""
  21887. #. type: table
  21888. #: doc/guix.texi:11585
  21889. msgid "Script to run after starting xorg-server."
  21890. msgstr ""
  21891. #. type: item
  21892. #: doc/guix.texi:11586
  21893. #, no-wrap
  21894. msgid "@code{xdisplay-stop} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/Xstop\")})"
  21895. msgstr ""
  21896. #. type: table
  21897. #: doc/guix.texi:11588
  21898. msgid "Script to run before stopping xorg-server."
  21899. msgstr ""
  21900. #. type: item
  21901. #: doc/guix.texi:11589
  21902. #, no-wrap
  21903. msgid "@code{xsession-command} (default: @code{xinitr })"
  21904. msgstr ""
  21905. #. type: table
  21906. #: doc/guix.texi:11591
  21907. msgid "Script to run before starting a X session."
  21908. msgstr ""
  21909. #. type: item
  21910. #: doc/guix.texi:11592
  21911. #, no-wrap
  21912. msgid "@code{xsessions-directory} (default: \"/run/current-system/profile/share/xsessions\")"
  21913. msgstr ""
  21914. #. type: table
  21915. #: doc/guix.texi:11594
  21916. msgid "Directory to look for desktop files starting X sessions."
  21917. msgstr ""
  21918. #. type: item
  21919. #: doc/guix.texi:11595
  21920. #, no-wrap
  21921. msgid "@code{minimum-vt} (default: 7)"
  21922. msgstr ""
  21923. #. type: table
  21924. #: doc/guix.texi:11597
  21925. msgid "Minimum VT to use."
  21926. msgstr ""
  21927. #. type: item
  21928. #: doc/guix.texi:11598
  21929. #, no-wrap
  21930. msgid "@code{xserver-arguments} (default \"-nolisten tcp\")"
  21931. msgstr ""
  21932. #. type: table
  21933. #: doc/guix.texi:11600
  21934. msgid "Arguments to pass to xorg-server."
  21935. msgstr ""
  21936. #. type: item
  21937. #: doc/guix.texi:11601
  21938. #, no-wrap
  21939. msgid "@code{auto-login-user} (default \"\")"
  21940. msgstr ""
  21941. #. type: table
  21942. #: doc/guix.texi:11603
  21943. msgid "User to use for auto-login."
  21944. msgstr ""
  21945. #. type: item
  21946. #: doc/guix.texi:11604
  21947. #, no-wrap
  21948. msgid "@code{auto-login-session} (default \"\")"
  21949. msgstr ""
  21950. #. type: table
  21951. #: doc/guix.texi:11606
  21952. msgid "Desktop file to use for auto-login."
  21953. msgstr ""
  21954. #. type: item
  21955. #: doc/guix.texi:11607
  21956. #, no-wrap
  21957. msgid "@code{relogin?} (default #f)"
  21958. msgstr ""
  21959. #. type: table
  21960. #: doc/guix.texi:11609
  21961. msgid "Relogin after logout."
  21962. msgstr ""
  21963. #. type: cindex
  21964. #: doc/guix.texi:11614
  21965. #, no-wrap
  21966. msgid "X11 login"
  21967. msgstr ""
  21968. #. type: deffn
  21969. #: doc/guix.texi:11615
  21970. #, no-wrap
  21971. msgid "{Scheme Procedure} sddm-service config"
  21972. msgstr ""
  21973. #. type: deffn
  21974. #: doc/guix.texi:11618
  21975. msgid ""
  21976. "Return a service that spawns the SDDM graphical login manager for config of "
  21977. "type @code{<sddm-configuration>}."
  21978. msgstr ""
  21979. #. type: example
  21980. #: doc/guix.texi:11623
  21981. #, no-wrap
  21982. msgid ""
  21983. " (sddm-service (sddm-configuration\n"
  21984. " (auto-login-user \"Alice\")\n"
  21985. " (auto-login-session \"xfce.desktop\")))\n"
  21986. msgstr ""
  21987. #. type: deffn
  21988. #: doc/guix.texi:11626
  21989. #, no-wrap
  21990. msgid "{Scheme Procedure} xorg-start-command [#:guile] @"
  21991. msgstr ""
  21992. #. type: deffn
  21993. #: doc/guix.texi:11635
  21994. msgid ""
  21995. "[#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ [#:"
  21996. "configuration-file (xorg-configuration-file @dots{})] @ [#:xorg-server "
  21997. "@var{xorg-server}] Return a @code{startx} script in which @var{modules}, a "
  21998. "list of X module packages, and @var{fonts}, a list of X font directories, "
  21999. "are available. See @code{xorg-wrapper} for more details on the arguments. "
  22000. "The result should be used in place of @code{startx}."
  22001. msgstr ""
  22002. #. type: deffn
  22003. #: doc/guix.texi:11637
  22004. msgid "Usually the X server is started by a login manager."
  22005. msgstr ""
  22006. #. type: deffn
  22007. #: doc/guix.texi:11639
  22008. #, no-wrap
  22009. msgid "{Scheme Procedure} xorg-configuration-file @"
  22010. msgstr ""
  22011. #. type: deffn
  22012. #: doc/guix.texi:11645
  22013. msgid ""
  22014. "[#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ [#:"
  22015. "drivers '()] [#:resolutions '()] [#:extra-config '()] Return a configuration "
  22016. "file for the Xorg server containing search paths for all the common drivers."
  22017. msgstr ""
  22018. #. type: deffn
  22019. #: doc/guix.texi:11650
  22020. msgid ""
  22021. "@var{modules} must be a list of @dfn{module packages} loaded by the Xorg "
  22022. "server---e.g., @code{xf86-video-vesa}, @code{xf86-input-keyboard}, and so "
  22023. "on. @var{fonts} must be a list of font directories to add to the server's "
  22024. "@dfn{font path}."
  22025. msgstr ""
  22026. #. type: deffn
  22027. #: doc/guix.texi:11654
  22028. msgid ""
  22029. "@var{drivers} must be either the empty list, in which case Xorg chooses a "
  22030. "graphics driver automatically, or a list of driver names that will be tried "
  22031. "in this order---e.g., @code{(\"modesetting\" \"vesa\")}."
  22032. msgstr ""
  22033. #. type: deffn
  22034. #: doc/guix.texi:11658
  22035. msgid ""
  22036. "Likewise, when @var{resolutions} is the empty list, Xorg chooses an "
  22037. "appropriate screen resolution; otherwise, it must be a list of resolutions---"
  22038. "e.g., @code{((1024 768) (640 480))}."
  22039. msgstr ""
  22040. #. type: deffn
  22041. #: doc/guix.texi:11662
  22042. msgid ""
  22043. "Last, @var{extra-config} is a list of strings or objects appended to the "
  22044. "configuration file. It is used to pass extra text to be added verbatim to "
  22045. "the configuration file."
  22046. msgstr ""
  22047. #. type: deffn
  22048. #: doc/guix.texi:11664
  22049. #, no-wrap
  22050. msgid "{Scheme Procedure} screen-locker-service @var{package} [@var{program}]"
  22051. msgstr ""
  22052. #. type: deffn
  22053. #: doc/guix.texi:11668
  22054. msgid ""
  22055. "Add @var{package}, a package for a screen locker or screen saver whose "
  22056. "command is @var{program}, to the set of setuid programs and add a PAM entry "
  22057. "for it. For example:"
  22058. msgstr ""
  22059. #. type: lisp
  22060. #: doc/guix.texi:11671
  22061. #, no-wrap
  22062. msgid "(screen-locker-service xlockmore \"xlock\")\n"
  22063. msgstr ""
  22064. #. type: deffn
  22065. #: doc/guix.texi:11674
  22066. msgid "makes the good ol' XlockMore usable."
  22067. msgstr ""
  22068. #. type: cindex
  22069. #: doc/guix.texi:11680
  22070. #, no-wrap
  22071. msgid "printer support with CUPS"
  22072. msgstr ""
  22073. #. type: Plain text
  22074. #: doc/guix.texi:11684
  22075. msgid ""
  22076. "The @code{(gnu services cups)} module provides a Guix service definition for "
  22077. "the CUPS printing service. To add printer support to a GuixSD system, add a "
  22078. "@code{cups-service} to the operating system definition:"
  22079. msgstr ""
  22080. #. type: deffn
  22081. #: doc/guix.texi:11685
  22082. #, no-wrap
  22083. msgid "{Scheme Variable} cups-service-type"
  22084. msgstr ""
  22085. #. type: deffn
  22086. #: doc/guix.texi:11689
  22087. msgid ""
  22088. "The service type for the CUPS print server. Its value should be a valid "
  22089. "CUPS configuration (see below). To use the default settings, simply write:"
  22090. msgstr ""
  22091. #. type: example
  22092. #: doc/guix.texi:11691
  22093. #, no-wrap
  22094. msgid "(service cups-service-type)\n"
  22095. msgstr ""
  22096. #. type: Plain text
  22097. #: doc/guix.texi:11701
  22098. msgid ""
  22099. "The CUPS configuration controls the basic things about your CUPS "
  22100. "installation: what interfaces it listens on, what to do if a print job "
  22101. "fails, how much logging to do, and so on. To actually add a printer, you "
  22102. "have to visit the @url{http://localhost:631} URL, or use a tool such as "
  22103. "GNOME's printer configuration services. By default, configuring a CUPS "
  22104. "service will generate a self-signed certificate if needed, for secure "
  22105. "connections to the print server."
  22106. msgstr ""
  22107. #. type: Plain text
  22108. #: doc/guix.texi:11706
  22109. msgid ""
  22110. "Suppose you want to enable the Web interface of CUPS and also add support "
  22111. "for Epson printers @i{via} the @code{escpr} package and for HP printers "
  22112. "@i{via} the @code{hplip} package. You can do that directly, like this (you "
  22113. "need to use the @code{(gnu packages cups)} module):"
  22114. msgstr ""
  22115. #. type: example
  22116. #: doc/guix.texi:11713
  22117. #, no-wrap
  22118. msgid ""
  22119. "(service cups-service-type\n"
  22120. " (cups-configuration\n"
  22121. " (web-interface? #t)\n"
  22122. " (extensions\n"
  22123. " (list cups-filters escpr hplip))))\n"
  22124. msgstr ""
  22125. #. type: Plain text
  22126. #: doc/guix.texi:11721
  22127. msgid ""
  22128. "The available configuration parameters follow. Each parameter definition is "
  22129. "preceded by its type; for example, @samp{string-list foo} indicates that the "
  22130. "@code{foo} parameter should be specified as a list of strings. There is "
  22131. "also a way to specify the configuration as a string, if you have an old "
  22132. "@code{cupsd.conf} file that you want to port over from some other system; "
  22133. "see the end for more details."
  22134. msgstr ""
  22135. #. type: Plain text
  22136. #: doc/guix.texi:11732
  22137. msgid "Available @code{cups-configuration} fields are:"
  22138. msgstr ""
  22139. #. type: deftypevr
  22140. #: doc/guix.texi:11733
  22141. #, no-wrap
  22142. msgid "{@code{cups-configuration} parameter} package cups"
  22143. msgstr ""
  22144. #. type: deftypevr
  22145. #: doc/guix.texi:11735 doc/guix.texi:12492
  22146. msgid "The CUPS package."
  22147. msgstr ""
  22148. #. type: deftypevr
  22149. #: doc/guix.texi:11737
  22150. #, no-wrap
  22151. msgid "{@code{cups-configuration} parameter} package-list extensions"
  22152. msgstr ""
  22153. #. type: deftypevr
  22154. #: doc/guix.texi:11739
  22155. msgid "Drivers and other extensions to the CUPS package."
  22156. msgstr ""
  22157. #. type: deftypevr
  22158. #: doc/guix.texi:11741
  22159. #, no-wrap
  22160. msgid "{@code{cups-configuration} parameter} files-configuration files-configuration"
  22161. msgstr ""
  22162. #. type: deftypevr
  22163. #: doc/guix.texi:11744
  22164. msgid ""
  22165. "Configuration of where to write logs, what directories to use for print "
  22166. "spools, and related privileged configuration parameters."
  22167. msgstr ""
  22168. #. type: deftypevr
  22169. #: doc/guix.texi:11746
  22170. msgid "Available @code{files-configuration} fields are:"
  22171. msgstr ""
  22172. #. type: deftypevr
  22173. #: doc/guix.texi:11747
  22174. #, no-wrap
  22175. msgid "{@code{files-configuration} parameter} log-location access-log"
  22176. msgstr ""
  22177. #. type: deftypevr
  22178. #: doc/guix.texi:11755
  22179. msgid ""
  22180. "Defines the access log filename. Specifying a blank filename disables "
  22181. "access log generation. The value @code{stderr} causes log entries to be "
  22182. "sent to the standard error file when the scheduler is running in the "
  22183. "foreground, or to the system log daemon when run in the background. The "
  22184. "value @code{syslog} causes log entries to be sent to the system log daemon. "
  22185. "The server name may be included in filenames using the string @code{%s}, as "
  22186. "in @code{/var/log/cups/%s-access_log}."
  22187. msgstr ""
  22188. #. type: deftypevr
  22189. #: doc/guix.texi:11757
  22190. msgid "Defaults to @samp{\"/var/log/cups/access_log\"}."
  22191. msgstr ""
  22192. #. type: deftypevr
  22193. #: doc/guix.texi:11759
  22194. #, no-wrap
  22195. msgid "{@code{files-configuration} parameter} file-name cache-dir"
  22196. msgstr ""
  22197. #. type: deftypevr
  22198. #: doc/guix.texi:11761
  22199. msgid "Where CUPS should cache data."
  22200. msgstr ""
  22201. #. type: deftypevr
  22202. #: doc/guix.texi:11763
  22203. msgid "Defaults to @samp{\"/var/cache/cups\"}."
  22204. msgstr ""
  22205. #. type: deftypevr
  22206. #: doc/guix.texi:11765
  22207. #, no-wrap
  22208. msgid "{@code{files-configuration} parameter} string config-file-perm"
  22209. msgstr ""
  22210. #. type: deftypevr
  22211. #: doc/guix.texi:11768
  22212. msgid ""
  22213. "Specifies the permissions for all configuration files that the scheduler "
  22214. "writes."
  22215. msgstr ""
  22216. #. type: deftypevr
  22217. #: doc/guix.texi:11774
  22218. msgid ""
  22219. "Note that the permissions for the printers.conf file are currently masked to "
  22220. "only allow access from the scheduler user (typically root). This is done "
  22221. "because printer device URIs sometimes contain sensitive authentication "
  22222. "information that should not be generally known on the system. There is no "
  22223. "way to disable this security feature."
  22224. msgstr ""
  22225. #. type: deftypevr
  22226. #: doc/guix.texi:11776
  22227. msgid "Defaults to @samp{\"0640\"}."
  22228. msgstr ""
  22229. #. type: deftypevr
  22230. #: doc/guix.texi:11778
  22231. #, no-wrap
  22232. msgid "{@code{files-configuration} parameter} log-location error-log"
  22233. msgstr ""
  22234. #. type: deftypevr
  22235. #: doc/guix.texi:11786
  22236. msgid ""
  22237. "Defines the error log filename. Specifying a blank filename disables access "
  22238. "log generation. The value @code{stderr} causes log entries to be sent to "
  22239. "the standard error file when the scheduler is running in the foreground, or "
  22240. "to the system log daemon when run in the background. The value "
  22241. "@code{syslog} causes log entries to be sent to the system log daemon. The "
  22242. "server name may be included in filenames using the string @code{%s}, as in "
  22243. "@code{/var/log/cups/%s-error_log}."
  22244. msgstr ""
  22245. #. type: deftypevr
  22246. #: doc/guix.texi:11788
  22247. msgid "Defaults to @samp{\"/var/log/cups/error_log\"}."
  22248. msgstr ""
  22249. #. type: deftypevr
  22250. #: doc/guix.texi:11790
  22251. #, no-wrap
  22252. msgid "{@code{files-configuration} parameter} string fatal-errors"
  22253. msgstr ""
  22254. #. type: deftypevr
  22255. #: doc/guix.texi:11793
  22256. msgid ""
  22257. "Specifies which errors are fatal, causing the scheduler to exit. The kind "
  22258. "strings are:"
  22259. msgstr ""
  22260. #. type: table
  22261. #: doc/guix.texi:11797
  22262. msgid "No errors are fatal."
  22263. msgstr ""
  22264. #. type: table
  22265. #: doc/guix.texi:11800
  22266. msgid "All of the errors below are fatal."
  22267. msgstr ""
  22268. #. type: item
  22269. #: doc/guix.texi:11801
  22270. #, no-wrap
  22271. msgid "browse"
  22272. msgstr ""
  22273. #. type: table
  22274. #: doc/guix.texi:11804
  22275. msgid ""
  22276. "Browsing initialization errors are fatal, for example failed connections to "
  22277. "the DNS-SD daemon."
  22278. msgstr ""
  22279. #. type: item
  22280. #: doc/guix.texi:11805
  22281. #, no-wrap
  22282. msgid "config"
  22283. msgstr ""
  22284. #. type: table
  22285. #: doc/guix.texi:11807
  22286. msgid "Configuration file syntax errors are fatal."
  22287. msgstr ""
  22288. #. type: item
  22289. #: doc/guix.texi:11808
  22290. #, no-wrap
  22291. msgid "listen"
  22292. msgstr ""
  22293. #. type: table
  22294. #: doc/guix.texi:11811
  22295. msgid ""
  22296. "Listen or Port errors are fatal, except for IPv6 failures on the loopback or "
  22297. "@code{any} addresses."
  22298. msgstr ""
  22299. #. type: item
  22300. #: doc/guix.texi:11812
  22301. #, no-wrap
  22302. msgid "log"
  22303. msgstr ""
  22304. #. type: table
  22305. #: doc/guix.texi:11814
  22306. msgid "Log file creation or write errors are fatal."
  22307. msgstr ""
  22308. #. type: item
  22309. #: doc/guix.texi:11815
  22310. #, no-wrap
  22311. msgid "permissions"
  22312. msgstr ""
  22313. #. type: table
  22314. #: doc/guix.texi:11818
  22315. msgid ""
  22316. "Bad startup file permissions are fatal, for example shared TLS certificate "
  22317. "and key files with world-read permissions."
  22318. msgstr ""
  22319. #. type: deftypevr
  22320. #: doc/guix.texi:11821
  22321. msgid "Defaults to @samp{\"all -browse\"}."
  22322. msgstr ""
  22323. #. type: deftypevr
  22324. #: doc/guix.texi:11823
  22325. #, no-wrap
  22326. msgid "{@code{files-configuration} parameter} boolean file-device?"
  22327. msgstr ""
  22328. #. type: deftypevr
  22329. #: doc/guix.texi:11826
  22330. msgid ""
  22331. "Specifies whether the file pseudo-device can be used for new printer "
  22332. "queues. The URI @uref{file:///dev/null} is always allowed."
  22333. msgstr ""
  22334. #. type: deftypevr
  22335. #: doc/guix.texi:11828 doc/guix.texi:11898 doc/guix.texi:11934
  22336. #: doc/guix.texi:11946 doc/guix.texi:11952 doc/guix.texi:11968
  22337. #: doc/guix.texi:12056 doc/guix.texi:12150 doc/guix.texi:12466
  22338. #: doc/guix.texi:12479 doc/guix.texi:16606 doc/guix.texi:16620
  22339. #: doc/guix.texi:16742 doc/guix.texi:16763 doc/guix.texi:16784
  22340. #: doc/guix.texi:16791 doc/guix.texi:16836 doc/guix.texi:16843
  22341. #: doc/guix.texi:17246 doc/guix.texi:17260 doc/guix.texi:17432
  22342. #: doc/guix.texi:17477 doc/guix.texi:17564 doc/guix.texi:17693
  22343. #: doc/guix.texi:17726 doc/guix.texi:17866 doc/guix.texi:17877
  22344. #: doc/guix.texi:18127 doc/guix.texi:18769 doc/guix.texi:18778
  22345. #: doc/guix.texi:18786 doc/guix.texi:18794 doc/guix.texi:18810
  22346. #: doc/guix.texi:18826 doc/guix.texi:18834 doc/guix.texi:18842
  22347. #: doc/guix.texi:18851 doc/guix.texi:18860 doc/guix.texi:18876
  22348. #: doc/guix.texi:18940 doc/guix.texi:19046 doc/guix.texi:19054
  22349. #: doc/guix.texi:19062 doc/guix.texi:19087 doc/guix.texi:19141
  22350. #: doc/guix.texi:19189 doc/guix.texi:19342 doc/guix.texi:19350
  22351. #: doc/guix.texi:19358 doc/guix.texi:19366 doc/guix.texi:19374
  22352. #: doc/guix.texi:19382 doc/guix.texi:19390 doc/guix.texi:19397
  22353. msgid "Defaults to @samp{#f}."
  22354. msgstr ""
  22355. #. type: deftypevr
  22356. #: doc/guix.texi:11830
  22357. #, no-wrap
  22358. msgid "{@code{files-configuration} parameter} string group"
  22359. msgstr ""
  22360. #. type: deftypevr
  22361. #: doc/guix.texi:11833
  22362. msgid ""
  22363. "Specifies the group name or ID that will be used when executing external "
  22364. "programs."
  22365. msgstr ""
  22366. #. type: deftypevr
  22367. #: doc/guix.texi:11835 doc/guix.texi:11915
  22368. msgid "Defaults to @samp{\"lp\"}."
  22369. msgstr ""
  22370. #. type: deftypevr
  22371. #: doc/guix.texi:11837
  22372. #, no-wrap
  22373. msgid "{@code{files-configuration} parameter} string log-file-perm"
  22374. msgstr ""
  22375. #. type: deftypevr
  22376. #: doc/guix.texi:11839
  22377. msgid "Specifies the permissions for all log files that the scheduler writes."
  22378. msgstr ""
  22379. #. type: deftypevr
  22380. #: doc/guix.texi:11841
  22381. msgid "Defaults to @samp{\"0644\"}."
  22382. msgstr ""
  22383. #. type: deftypevr
  22384. #: doc/guix.texi:11843
  22385. #, no-wrap
  22386. msgid "{@code{files-configuration} parameter} log-location page-log"
  22387. msgstr ""
  22388. #. type: deftypevr
  22389. #: doc/guix.texi:11851
  22390. msgid ""
  22391. "Defines the page log filename. Specifying a blank filename disables access "
  22392. "log generation. The value @code{stderr} causes log entries to be sent to "
  22393. "the standard error file when the scheduler is running in the foreground, or "
  22394. "to the system log daemon when run in the background. The value "
  22395. "@code{syslog} causes log entries to be sent to the system log daemon. The "
  22396. "server name may be included in filenames using the string @code{%s}, as in "
  22397. "@code{/var/log/cups/%s-page_log}."
  22398. msgstr ""
  22399. #. type: deftypevr
  22400. #: doc/guix.texi:11853
  22401. msgid "Defaults to @samp{\"/var/log/cups/page_log\"}."
  22402. msgstr ""
  22403. #. type: deftypevr
  22404. #: doc/guix.texi:11855
  22405. #, no-wrap
  22406. msgid "{@code{files-configuration} parameter} string remote-root"
  22407. msgstr ""
  22408. #. type: deftypevr
  22409. #: doc/guix.texi:11858
  22410. msgid ""
  22411. "Specifies the username that is associated with unauthenticated accesses by "
  22412. "clients claiming to be the root user. The default is @code{remroot}."
  22413. msgstr ""
  22414. #. type: deftypevr
  22415. #: doc/guix.texi:11860
  22416. msgid "Defaults to @samp{\"remroot\"}."
  22417. msgstr ""
  22418. #. type: deftypevr
  22419. #: doc/guix.texi:11862
  22420. #, no-wrap
  22421. msgid "{@code{files-configuration} parameter} file-name request-root"
  22422. msgstr ""
  22423. #. type: deftypevr
  22424. #: doc/guix.texi:11865
  22425. msgid ""
  22426. "Specifies the directory that contains print jobs and other HTTP request data."
  22427. msgstr ""
  22428. #. type: deftypevr
  22429. #: doc/guix.texi:11867
  22430. msgid "Defaults to @samp{\"/var/spool/cups\"}."
  22431. msgstr ""
  22432. #. type: deftypevr
  22433. #: doc/guix.texi:11869
  22434. #, no-wrap
  22435. msgid "{@code{files-configuration} parameter} sandboxing sandboxing"
  22436. msgstr ""
  22437. #. type: deftypevr
  22438. #: doc/guix.texi:11874
  22439. msgid ""
  22440. "Specifies the level of security sandboxing that is applied to print filters, "
  22441. "backends, and other child processes of the scheduler; either @code{relaxed} "
  22442. "or @code{strict}. This directive is currently only used/supported on macOS."
  22443. msgstr ""
  22444. #. type: deftypevr
  22445. #: doc/guix.texi:11876
  22446. msgid "Defaults to @samp{strict}."
  22447. msgstr ""
  22448. #. type: deftypevr
  22449. #: doc/guix.texi:11878
  22450. #, no-wrap
  22451. msgid "{@code{files-configuration} parameter} file-name server-keychain"
  22452. msgstr ""
  22453. #. type: deftypevr
  22454. #: doc/guix.texi:11883
  22455. msgid ""
  22456. "Specifies the location of TLS certificates and private keys. CUPS will look "
  22457. "for public and private keys in this directory: a @code{.crt} files for PEM-"
  22458. "encoded certificates and corresponding @code{.key} files for PEM-encoded "
  22459. "private keys."
  22460. msgstr ""
  22461. #. type: deftypevr
  22462. #: doc/guix.texi:11885
  22463. msgid "Defaults to @samp{\"/etc/cups/ssl\"}."
  22464. msgstr ""
  22465. #. type: deftypevr
  22466. #: doc/guix.texi:11887
  22467. #, no-wrap
  22468. msgid "{@code{files-configuration} parameter} file-name server-root"
  22469. msgstr ""
  22470. #. type: deftypevr
  22471. #: doc/guix.texi:11889
  22472. msgid "Specifies the directory containing the server configuration files."
  22473. msgstr ""
  22474. #. type: deftypevr
  22475. #: doc/guix.texi:11891
  22476. msgid "Defaults to @samp{\"/etc/cups\"}."
  22477. msgstr ""
  22478. #. type: deftypevr
  22479. #: doc/guix.texi:11893
  22480. #, no-wrap
  22481. msgid "{@code{files-configuration} parameter} boolean sync-on-close?"
  22482. msgstr ""
  22483. #. type: deftypevr
  22484. #: doc/guix.texi:11896
  22485. msgid ""
  22486. "Specifies whether the scheduler calls fsync(2) after writing configuration "
  22487. "or state files."
  22488. msgstr ""
  22489. #. type: deftypevr
  22490. #: doc/guix.texi:11900
  22491. #, no-wrap
  22492. msgid "{@code{files-configuration} parameter} space-separated-string-list system-group"
  22493. msgstr ""
  22494. #. type: deftypevr
  22495. #: doc/guix.texi:11902
  22496. msgid "Specifies the group(s) to use for @code{@@SYSTEM} group authentication."
  22497. msgstr ""
  22498. #. type: deftypevr
  22499. #: doc/guix.texi:11904
  22500. #, no-wrap
  22501. msgid "{@code{files-configuration} parameter} file-name temp-dir"
  22502. msgstr ""
  22503. #. type: deftypevr
  22504. #: doc/guix.texi:11906
  22505. msgid "Specifies the directory where temporary files are stored."
  22506. msgstr ""
  22507. #. type: deftypevr
  22508. #: doc/guix.texi:11908
  22509. msgid "Defaults to @samp{\"/var/spool/cups/tmp\"}."
  22510. msgstr ""
  22511. #. type: deftypevr
  22512. #: doc/guix.texi:11910
  22513. #, no-wrap
  22514. msgid "{@code{files-configuration} parameter} string user"
  22515. msgstr ""
  22516. #. type: deftypevr
  22517. #: doc/guix.texi:11913
  22518. msgid ""
  22519. "Specifies the user name or ID that is used when running external programs."
  22520. msgstr ""
  22521. #. type: deftypevr
  22522. #: doc/guix.texi:11918
  22523. #, no-wrap
  22524. msgid "{@code{cups-configuration} parameter} access-log-level access-log-level"
  22525. msgstr ""
  22526. #. type: deftypevr
  22527. #: doc/guix.texi:11925
  22528. msgid ""
  22529. "Specifies the logging level for the AccessLog file. The @code{config} level "
  22530. "logs when printers and classes are added, deleted, or modified and when "
  22531. "configuration files are accessed or updated. The @code{actions} level logs "
  22532. "when print jobs are submitted, held, released, modified, or canceled, and "
  22533. "any of the conditions for @code{config}. The @code{all} level logs all "
  22534. "requests."
  22535. msgstr ""
  22536. #. type: deftypevr
  22537. #: doc/guix.texi:11927
  22538. msgid "Defaults to @samp{actions}."
  22539. msgstr ""
  22540. #. type: deftypevr
  22541. #: doc/guix.texi:11929
  22542. #, no-wrap
  22543. msgid "{@code{cups-configuration} parameter} boolean auto-purge-jobs?"
  22544. msgstr ""
  22545. #. type: deftypevr
  22546. #: doc/guix.texi:11932
  22547. msgid ""
  22548. "Specifies whether to purge job history data automatically when it is no "
  22549. "longer required for quotas."
  22550. msgstr ""
  22551. #. type: deftypevr
  22552. #: doc/guix.texi:11936
  22553. #, no-wrap
  22554. msgid "{@code{cups-configuration} parameter} browse-local-protocols browse-local-protocols"
  22555. msgstr ""
  22556. #. type: deftypevr
  22557. #: doc/guix.texi:11938
  22558. msgid "Specifies which protocols to use for local printer sharing."
  22559. msgstr ""
  22560. #. type: deftypevr
  22561. #: doc/guix.texi:11940
  22562. msgid "Defaults to @samp{dnssd}."
  22563. msgstr ""
  22564. #. type: deftypevr
  22565. #: doc/guix.texi:11942
  22566. #, no-wrap
  22567. msgid "{@code{cups-configuration} parameter} boolean browse-web-if?"
  22568. msgstr ""
  22569. #. type: deftypevr
  22570. #: doc/guix.texi:11944
  22571. msgid "Specifies whether the CUPS web interface is advertised."
  22572. msgstr ""
  22573. #. type: deftypevr
  22574. #: doc/guix.texi:11948
  22575. #, no-wrap
  22576. msgid "{@code{cups-configuration} parameter} boolean browsing?"
  22577. msgstr ""
  22578. #. type: deftypevr
  22579. #: doc/guix.texi:11950
  22580. msgid "Specifies whether shared printers are advertised."
  22581. msgstr ""
  22582. #. type: deftypevr
  22583. #: doc/guix.texi:11954
  22584. #, no-wrap
  22585. msgid "{@code{cups-configuration} parameter} string classification"
  22586. msgstr ""
  22587. #. type: deftypevr
  22588. #: doc/guix.texi:11959
  22589. msgid ""
  22590. "Specifies the security classification of the server. Any valid banner name "
  22591. "can be used, including \"classified\", \"confidential\", \"secret\", "
  22592. "\"topsecret\", and \"unclassified\", or the banner can be omitted to disable "
  22593. "secure printing functions."
  22594. msgstr ""
  22595. #. type: deftypevr
  22596. #: doc/guix.texi:11961 doc/guix.texi:12298 doc/guix.texi:13657
  22597. #: doc/guix.texi:13669 doc/guix.texi:17832 doc/guix.texi:17840
  22598. #: doc/guix.texi:17848 doc/guix.texi:17856 doc/guix.texi:18134
  22599. #: doc/guix.texi:18612 doc/guix.texi:18620 doc/guix.texi:18628
  22600. #: doc/guix.texi:18736 doc/guix.texi:18761 doc/guix.texi:18892
  22601. #: doc/guix.texi:18900 doc/guix.texi:18908 doc/guix.texi:18916
  22602. #: doc/guix.texi:18924 doc/guix.texi:18932 doc/guix.texi:18955
  22603. #: doc/guix.texi:18963 doc/guix.texi:19015 doc/guix.texi:19031
  22604. #: doc/guix.texi:19039 doc/guix.texi:19078 doc/guix.texi:19101
  22605. #: doc/guix.texi:19123 doc/guix.texi:19130 doc/guix.texi:19165
  22606. #: doc/guix.texi:19173 doc/guix.texi:19197 doc/guix.texi:19229
  22607. #: doc/guix.texi:19258 doc/guix.texi:19265 doc/guix.texi:19272
  22608. #: doc/guix.texi:19280 doc/guix.texi:19294 doc/guix.texi:19303
  22609. #: doc/guix.texi:19313 doc/guix.texi:19320 doc/guix.texi:19327
  22610. #: doc/guix.texi:19334 doc/guix.texi:19405 doc/guix.texi:19412
  22611. #: doc/guix.texi:19419 doc/guix.texi:19428 doc/guix.texi:19444
  22612. #: doc/guix.texi:19451 doc/guix.texi:19458 doc/guix.texi:19465
  22613. #: doc/guix.texi:19473 doc/guix.texi:19481
  22614. msgid "Defaults to @samp{\"\"}."
  22615. msgstr ""
  22616. #. type: deftypevr
  22617. #: doc/guix.texi:11963
  22618. #, no-wrap
  22619. msgid "{@code{cups-configuration} parameter} boolean classify-override?"
  22620. msgstr ""
  22621. #. type: deftypevr
  22622. #: doc/guix.texi:11966
  22623. msgid ""
  22624. "Specifies whether users may override the classification (cover page) of "
  22625. "individual print jobs using the @code{job-sheets} option."
  22626. msgstr ""
  22627. #. type: deftypevr
  22628. #: doc/guix.texi:11970
  22629. #, no-wrap
  22630. msgid "{@code{cups-configuration} parameter} default-auth-type default-auth-type"
  22631. msgstr ""
  22632. #. type: deftypevr
  22633. #: doc/guix.texi:11972
  22634. msgid "Specifies the default type of authentication to use."
  22635. msgstr ""
  22636. #. type: deftypevr
  22637. #: doc/guix.texi:11974
  22638. msgid "Defaults to @samp{Basic}."
  22639. msgstr ""
  22640. #. type: deftypevr
  22641. #: doc/guix.texi:11976
  22642. #, no-wrap
  22643. msgid "{@code{cups-configuration} parameter} default-encryption default-encryption"
  22644. msgstr ""
  22645. #. type: deftypevr
  22646. #: doc/guix.texi:11978
  22647. msgid "Specifies whether encryption will be used for authenticated requests."
  22648. msgstr ""
  22649. #. type: deftypevr
  22650. #: doc/guix.texi:11980
  22651. msgid "Defaults to @samp{Required}."
  22652. msgstr ""
  22653. #. type: deftypevr
  22654. #: doc/guix.texi:11982
  22655. #, no-wrap
  22656. msgid "{@code{cups-configuration} parameter} string default-language"
  22657. msgstr ""
  22658. #. type: deftypevr
  22659. #: doc/guix.texi:11984
  22660. msgid "Specifies the default language to use for text and web content."
  22661. msgstr ""
  22662. #. type: deftypevr
  22663. #: doc/guix.texi:11986
  22664. msgid "Defaults to @samp{\"en\"}."
  22665. msgstr ""
  22666. #. type: deftypevr
  22667. #: doc/guix.texi:11988
  22668. #, no-wrap
  22669. msgid "{@code{cups-configuration} parameter} string default-paper-size"
  22670. msgstr ""
  22671. #. type: deftypevr
  22672. #: doc/guix.texi:11993
  22673. msgid ""
  22674. "Specifies the default paper size for new print queues. @samp{\"Auto\"} uses "
  22675. "a locale-specific default, while @samp{\"None\"} specifies there is no "
  22676. "default paper size. Specific size names are typically @samp{\"Letter\"} or "
  22677. "@samp{\"A4\"}."
  22678. msgstr ""
  22679. #. type: deftypevr
  22680. #: doc/guix.texi:11995
  22681. msgid "Defaults to @samp{\"Auto\"}."
  22682. msgstr ""
  22683. #. type: deftypevr
  22684. #: doc/guix.texi:11997
  22685. #, no-wrap
  22686. msgid "{@code{cups-configuration} parameter} string default-policy"
  22687. msgstr ""
  22688. #. type: deftypevr
  22689. #: doc/guix.texi:11999
  22690. msgid "Specifies the default access policy to use."
  22691. msgstr ""
  22692. #. type: deftypevr
  22693. #: doc/guix.texi:12001
  22694. msgid "Defaults to @samp{\"default\"}."
  22695. msgstr ""
  22696. #. type: deftypevr
  22697. #: doc/guix.texi:12003
  22698. #, no-wrap
  22699. msgid "{@code{cups-configuration} parameter} boolean default-shared?"
  22700. msgstr ""
  22701. #. type: deftypevr
  22702. #: doc/guix.texi:12005
  22703. msgid "Specifies whether local printers are shared by default."
  22704. msgstr ""
  22705. #. type: deftypevr
  22706. #: doc/guix.texi:12007 doc/guix.texi:12087 doc/guix.texi:12383
  22707. #: doc/guix.texi:16576 doc/guix.texi:16583 doc/guix.texi:16591
  22708. #: doc/guix.texi:16613 doc/guix.texi:16627 doc/guix.texi:16712
  22709. #: doc/guix.texi:16719 doc/guix.texi:16727 doc/guix.texi:17113
  22710. #: doc/guix.texi:17253 doc/guix.texi:17439 doc/guix.texi:17446
  22711. #: doc/guix.texi:17468 doc/guix.texi:17507 doc/guix.texi:17527
  22712. #: doc/guix.texi:17541 doc/guix.texi:17681 doc/guix.texi:18714
  22713. #: doc/guix.texi:18802 doc/guix.texi:18818 doc/guix.texi:18868
  22714. msgid "Defaults to @samp{#t}."
  22715. msgstr ""
  22716. #. type: deftypevr
  22717. #: doc/guix.texi:12009
  22718. #, no-wrap
  22719. msgid "{@code{cups-configuration} parameter} non-negative-integer dirty-clean-interval"
  22720. msgstr ""
  22721. #. type: deftypevr
  22722. #: doc/guix.texi:12013
  22723. msgid ""
  22724. "Specifies the delay for updating of configuration and state files, in "
  22725. "seconds. A value of 0 causes the update to happen as soon as possible, "
  22726. "typically within a few milliseconds."
  22727. msgstr ""
  22728. #. type: deftypevr
  22729. #: doc/guix.texi:12015 doc/guix.texi:12063 doc/guix.texi:12072
  22730. #: doc/guix.texi:12093 doc/guix.texi:12390
  22731. msgid "Defaults to @samp{30}."
  22732. msgstr ""
  22733. #. type: deftypevr
  22734. #: doc/guix.texi:12017
  22735. #, no-wrap
  22736. msgid "{@code{cups-configuration} parameter} error-policy error-policy"
  22737. msgstr ""
  22738. #. type: deftypevr
  22739. #: doc/guix.texi:12023
  22740. msgid ""
  22741. "Specifies what to do when an error occurs. Possible values are @code{abort-"
  22742. "job}, which will discard the failed print job; @code{retry-job}, which will "
  22743. "retry the job at a later time; @code{retry-this-job}, which retries the "
  22744. "failed job immediately; and @code{stop-printer}, which stops the printer."
  22745. msgstr ""
  22746. #. type: deftypevr
  22747. #: doc/guix.texi:12025
  22748. msgid "Defaults to @samp{stop-printer}."
  22749. msgstr ""
  22750. #. type: deftypevr
  22751. #: doc/guix.texi:12027
  22752. #, no-wrap
  22753. msgid "{@code{cups-configuration} parameter} non-negative-integer filter-limit"
  22754. msgstr ""
  22755. #. type: deftypevr
  22756. #: doc/guix.texi:12035
  22757. msgid ""
  22758. "Specifies the maximum cost of filters that are run concurrently, which can "
  22759. "be used to minimize disk, memory, and CPU resource problems. A limit of 0 "
  22760. "disables filter limiting. An average print to a non-PostScript printer "
  22761. "needs a filter limit of about 200. A PostScript printer needs about half "
  22762. "that (100). Setting the limit below these thresholds will effectively limit "
  22763. "the scheduler to printing a single job at any time."
  22764. msgstr ""
  22765. #. type: deftypevr
  22766. #: doc/guix.texi:12037 doc/guix.texi:12045 doc/guix.texi:12100
  22767. #: doc/guix.texi:12216 doc/guix.texi:12230 doc/guix.texi:12237
  22768. #: doc/guix.texi:13761 doc/guix.texi:13773 doc/guix.texi:17129
  22769. #: doc/guix.texi:17454 doc/guix.texi:18707 doc/guix.texi:19007
  22770. #: doc/guix.texi:19181
  22771. msgid "Defaults to @samp{0}."
  22772. msgstr ""
  22773. #. type: deftypevr
  22774. #: doc/guix.texi:12039
  22775. #, no-wrap
  22776. msgid "{@code{cups-configuration} parameter} non-negative-integer filter-nice"
  22777. msgstr ""
  22778. #. type: deftypevr
  22779. #: doc/guix.texi:12043
  22780. msgid ""
  22781. "Specifies the scheduling priority of filters that are run to print a job. "
  22782. "The nice value ranges from 0, the highest priority, to 19, the lowest "
  22783. "priority."
  22784. msgstr ""
  22785. #. type: deftypevr
  22786. #: doc/guix.texi:12047
  22787. #, no-wrap
  22788. msgid "{@code{cups-configuration} parameter} host-name-lookups host-name-lookups"
  22789. msgstr ""
  22790. #. type: deftypevr
  22791. #: doc/guix.texi:12054
  22792. msgid ""
  22793. "Specifies whether to do reverse lookups on connecting clients. The "
  22794. "@code{double} setting causes @code{cupsd} to verify that the hostname "
  22795. "resolved from the address matches one of the addresses returned for that "
  22796. "hostname. Double lookups also prevent clients with unregistered addresses "
  22797. "from connecting to your server. Only set this option to @code{#t} or "
  22798. "@code{double} if absolutely required."
  22799. msgstr ""
  22800. #. type: deftypevr
  22801. #: doc/guix.texi:12058
  22802. #, no-wrap
  22803. msgid "{@code{cups-configuration} parameter} non-negative-integer job-kill-delay"
  22804. msgstr ""
  22805. #. type: deftypevr
  22806. #: doc/guix.texi:12061
  22807. msgid ""
  22808. "Specifies the number of seconds to wait before killing the filters and "
  22809. "backend associated with a canceled or held job."
  22810. msgstr ""
  22811. #. type: deftypevr
  22812. #: doc/guix.texi:12065
  22813. #, no-wrap
  22814. msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-interval"
  22815. msgstr ""
  22816. #. type: deftypevr
  22817. #: doc/guix.texi:12070
  22818. msgid ""
  22819. "Specifies the interval between retries of jobs in seconds. This is "
  22820. "typically used for fax queues but can also be used with normal print queues "
  22821. "whose error policy is @code{retry-job} or @code{retry-current-job}."
  22822. msgstr ""
  22823. #. type: deftypevr
  22824. #: doc/guix.texi:12074
  22825. #, no-wrap
  22826. msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-limit"
  22827. msgstr ""
  22828. #. type: deftypevr
  22829. #: doc/guix.texi:12079
  22830. msgid ""
  22831. "Specifies the number of retries that are done for jobs. This is typically "
  22832. "used for fax queues but can also be used with normal print queues whose "
  22833. "error policy is @code{retry-job} or @code{retry-current-job}."
  22834. msgstr ""
  22835. #. type: deftypevr
  22836. #: doc/guix.texi:12081 doc/guix.texi:17933 doc/guix.texi:17953
  22837. #: doc/guix.texi:17969 doc/guix.texi:17983 doc/guix.texi:17990
  22838. #: doc/guix.texi:17997 doc/guix.texi:18004 doc/guix.texi:18163
  22839. #: doc/guix.texi:18179 doc/guix.texi:18186 doc/guix.texi:18193
  22840. #: doc/guix.texi:18204 doc/guix.texi:18659 doc/guix.texi:18667
  22841. #: doc/guix.texi:18675 doc/guix.texi:18699
  22842. msgid "Defaults to @samp{5}."
  22843. msgstr ""
  22844. #. type: deftypevr
  22845. #: doc/guix.texi:12083
  22846. #, no-wrap
  22847. msgid "{@code{cups-configuration} parameter} boolean keep-alive?"
  22848. msgstr ""
  22849. #. type: deftypevr
  22850. #: doc/guix.texi:12085
  22851. msgid "Specifies whether to support HTTP keep-alive connections."
  22852. msgstr ""
  22853. #. type: deftypevr
  22854. #: doc/guix.texi:12089
  22855. #, no-wrap
  22856. msgid "{@code{cups-configuration} parameter} non-negative-integer keep-alive-timeout"
  22857. msgstr ""
  22858. #. type: deftypevr
  22859. #: doc/guix.texi:12091
  22860. msgid "Specifies how long an idle client connection remains open, in seconds."
  22861. msgstr ""
  22862. #. type: deftypevr
  22863. #: doc/guix.texi:12095
  22864. #, no-wrap
  22865. msgid "{@code{cups-configuration} parameter} non-negative-integer limit-request-body"
  22866. msgstr ""
  22867. #. type: deftypevr
  22868. #: doc/guix.texi:12098
  22869. msgid ""
  22870. "Specifies the maximum size of print files, IPP requests, and HTML form "
  22871. "data. A limit of 0 disables the limit check."
  22872. msgstr ""
  22873. #. type: deftypevr
  22874. #: doc/guix.texi:12102
  22875. #, no-wrap
  22876. msgid "{@code{cups-configuration} parameter} multiline-string-list listen"
  22877. msgstr ""
  22878. #. type: deftypevr
  22879. #: doc/guix.texi:12109
  22880. msgid ""
  22881. "Listens on the specified interfaces for connections. Valid values are of "
  22882. "the form @var{address}:@var{port}, where @var{address} is either an IPv6 "
  22883. "address enclosed in brackets, an IPv4 address, or @code{*} to indicate all "
  22884. "addresses. Values can also be file names of local UNIX domain sockets. The "
  22885. "Listen directive is similar to the Port directive but allows you to restrict "
  22886. "access to specific interfaces or networks."
  22887. msgstr ""
  22888. #. type: deftypevr
  22889. #: doc/guix.texi:12111
  22890. #, no-wrap
  22891. msgid "{@code{cups-configuration} parameter} non-negative-integer listen-back-log"
  22892. msgstr ""
  22893. #. type: deftypevr
  22894. #: doc/guix.texi:12118
  22895. msgid ""
  22896. "Specifies the number of pending connections that will be allowed. This "
  22897. "normally only affects very busy servers that have reached the MaxClients "
  22898. "limit, but can also be triggered by large numbers of simultaneous "
  22899. "connections. When the limit is reached, the operating system will refuse "
  22900. "additional connections until the scheduler can accept the pending ones."
  22901. msgstr ""
  22902. #. type: deftypevr
  22903. #: doc/guix.texi:12120
  22904. msgid "Defaults to @samp{128}."
  22905. msgstr ""
  22906. #. type: deftypevr
  22907. #: doc/guix.texi:12122
  22908. #, no-wrap
  22909. msgid "{@code{cups-configuration} parameter} location-access-control-list location-access-controls"
  22910. msgstr ""
  22911. #. type: deftypevr
  22912. #: doc/guix.texi:12124
  22913. msgid "Specifies a set of additional access controls."
  22914. msgstr ""
  22915. #. type: deftypevr
  22916. #: doc/guix.texi:12126
  22917. msgid "Available @code{location-access-controls} fields are:"
  22918. msgstr ""
  22919. #. type: deftypevr
  22920. #: doc/guix.texi:12127
  22921. #, no-wrap
  22922. msgid "{@code{location-access-controls} parameter} file-name path"
  22923. msgstr ""
  22924. #. type: deftypevr
  22925. #: doc/guix.texi:12129
  22926. msgid "Specifies the URI path to which the access control applies."
  22927. msgstr ""
  22928. #. type: deftypevr
  22929. #: doc/guix.texi:12131
  22930. #, no-wrap
  22931. msgid "{@code{location-access-controls} parameter} access-control-list access-controls"
  22932. msgstr ""
  22933. #. type: deftypevr
  22934. #: doc/guix.texi:12134
  22935. msgid ""
  22936. "Access controls for all access to this path, in the same format as the "
  22937. "@code{access-controls} of @code{operation-access-control}."
  22938. msgstr ""
  22939. #. type: deftypevr
  22940. #: doc/guix.texi:12136 doc/guix.texi:12142 doc/guix.texi:12156
  22941. #: doc/guix.texi:12163 doc/guix.texi:12305 doc/guix.texi:12364
  22942. #: doc/guix.texi:12448 doc/guix.texi:12459 doc/guix.texi:14247
  22943. #: doc/guix.texi:16634 doc/guix.texi:16822 doc/guix.texi:17824
  22944. #: doc/guix.texi:17884 doc/guix.texi:17892 doc/guix.texi:18722
  22945. #: doc/guix.texi:18729 doc/guix.texi:19071 doc/guix.texi:19149
  22946. #: doc/guix.texi:19243 doc/guix.texi:19251 doc/guix.texi:19287
  22947. #: doc/guix.texi:19437 doc/guix.texi:19488 doc/guix.texi:19497
  22948. msgid "Defaults to @samp{()}."
  22949. msgstr ""
  22950. #. type: deftypevr
  22951. #: doc/guix.texi:12138
  22952. #, no-wrap
  22953. msgid "{@code{location-access-controls} parameter} method-access-control-list method-access-controls"
  22954. msgstr ""
  22955. #. type: deftypevr
  22956. #: doc/guix.texi:12140
  22957. msgid "Access controls for method-specific access to this path."
  22958. msgstr ""
  22959. #. type: deftypevr
  22960. #: doc/guix.texi:12144
  22961. msgid "Available @code{method-access-controls} fields are:"
  22962. msgstr ""
  22963. #. type: deftypevr
  22964. #: doc/guix.texi:12145
  22965. #, no-wrap
  22966. msgid "{@code{method-access-controls} parameter} boolean reverse?"
  22967. msgstr ""
  22968. #. type: deftypevr
  22969. #: doc/guix.texi:12148
  22970. msgid ""
  22971. "If @code{#t}, apply access controls to all methods except the listed "
  22972. "methods. Otherwise apply to only the listed methods."
  22973. msgstr ""
  22974. #. type: deftypevr
  22975. #: doc/guix.texi:12152
  22976. #, no-wrap
  22977. msgid "{@code{method-access-controls} parameter} method-list methods"
  22978. msgstr ""
  22979. #. type: deftypevr
  22980. #: doc/guix.texi:12154
  22981. msgid "Methods to which this access control applies."
  22982. msgstr ""
  22983. #. type: deftypevr
  22984. #: doc/guix.texi:12158
  22985. #, no-wrap
  22986. msgid "{@code{method-access-controls} parameter} access-control-list access-controls"
  22987. msgstr ""
  22988. #. type: deftypevr
  22989. #: doc/guix.texi:12161
  22990. msgid ""
  22991. "Access control directives, as a list of strings. Each string should be one "
  22992. "directive, such as \"Order allow,deny\"."
  22993. msgstr ""
  22994. #. type: deftypevr
  22995. #: doc/guix.texi:12167
  22996. #, no-wrap
  22997. msgid "{@code{cups-configuration} parameter} non-negative-integer log-debug-history"
  22998. msgstr ""
  22999. #. type: deftypevr
  23000. #: doc/guix.texi:12171
  23001. msgid ""
  23002. "Specifies the number of debugging messages that are retained for logging if "
  23003. "an error occurs in a print job. Debug messages are logged regardless of the "
  23004. "LogLevel setting."
  23005. msgstr ""
  23006. #. type: deftypevr
  23007. #: doc/guix.texi:12173 doc/guix.texi:12194 doc/guix.texi:12201
  23008. #: doc/guix.texi:14007 doc/guix.texi:16807
  23009. msgid "Defaults to @samp{100}."
  23010. msgstr ""
  23011. #. type: deftypevr
  23012. #: doc/guix.texi:12175
  23013. #, no-wrap
  23014. msgid "{@code{cups-configuration} parameter} log-level log-level"
  23015. msgstr ""
  23016. #. type: deftypevr
  23017. #: doc/guix.texi:12178
  23018. msgid ""
  23019. "Specifies the level of logging for the ErrorLog file. The value @code{none} "
  23020. "stops all logging while @code{debug2} logs everything."
  23021. msgstr ""
  23022. #. type: deftypevr
  23023. #: doc/guix.texi:12180
  23024. msgid "Defaults to @samp{info}."
  23025. msgstr ""
  23026. #. type: deftypevr
  23027. #: doc/guix.texi:12182
  23028. #, no-wrap
  23029. msgid "{@code{cups-configuration} parameter} log-time-format log-time-format"
  23030. msgstr ""
  23031. #. type: deftypevr
  23032. #: doc/guix.texi:12185
  23033. msgid ""
  23034. "Specifies the format of the date and time in the log files. The value "
  23035. "@code{standard} logs whole seconds while @code{usecs} logs microseconds."
  23036. msgstr ""
  23037. #. type: deftypevr
  23038. #: doc/guix.texi:12187
  23039. msgid "Defaults to @samp{standard}."
  23040. msgstr ""
  23041. #. type: deftypevr
  23042. #: doc/guix.texi:12189
  23043. #, no-wrap
  23044. msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients"
  23045. msgstr ""
  23046. #. type: deftypevr
  23047. #: doc/guix.texi:12192
  23048. msgid ""
  23049. "Specifies the maximum number of simultaneous clients that are allowed by the "
  23050. "scheduler."
  23051. msgstr ""
  23052. #. type: deftypevr
  23053. #: doc/guix.texi:12196
  23054. #, no-wrap
  23055. msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients-per-host"
  23056. msgstr ""
  23057. #. type: deftypevr
  23058. #: doc/guix.texi:12199
  23059. msgid ""
  23060. "Specifies the maximum number of simultaneous clients that are allowed from a "
  23061. "single address."
  23062. msgstr ""
  23063. #. type: deftypevr
  23064. #: doc/guix.texi:12203
  23065. #, no-wrap
  23066. msgid "{@code{cups-configuration} parameter} non-negative-integer max-copies"
  23067. msgstr ""
  23068. #. type: deftypevr
  23069. #: doc/guix.texi:12206
  23070. msgid ""
  23071. "Specifies the maximum number of copies that a user can print of each job."
  23072. msgstr ""
  23073. #. type: deftypevr
  23074. #: doc/guix.texi:12208
  23075. msgid "Defaults to @samp{9999}."
  23076. msgstr ""
  23077. #. type: deftypevr
  23078. #: doc/guix.texi:12210
  23079. #, no-wrap
  23080. msgid "{@code{cups-configuration} parameter} non-negative-integer max-hold-time"
  23081. msgstr ""
  23082. #. type: deftypevr
  23083. #: doc/guix.texi:12214
  23084. msgid ""
  23085. "Specifies the maximum time a job may remain in the @code{indefinite} hold "
  23086. "state before it is canceled. A value of 0 disables cancellation of held "
  23087. "jobs."
  23088. msgstr ""
  23089. #. type: deftypevr
  23090. #: doc/guix.texi:12218
  23091. #, no-wrap
  23092. msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs"
  23093. msgstr ""
  23094. #. type: deftypevr
  23095. #: doc/guix.texi:12221
  23096. msgid ""
  23097. "Specifies the maximum number of simultaneous jobs that are allowed. Set to "
  23098. "0 to allow an unlimited number of jobs."
  23099. msgstr ""
  23100. #. type: deftypevr
  23101. #: doc/guix.texi:12223
  23102. msgid "Defaults to @samp{500}."
  23103. msgstr ""
  23104. #. type: deftypevr
  23105. #: doc/guix.texi:12225
  23106. #, no-wrap
  23107. msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-printer"
  23108. msgstr ""
  23109. #. type: deftypevr
  23110. #: doc/guix.texi:12228
  23111. msgid ""
  23112. "Specifies the maximum number of simultaneous jobs that are allowed per "
  23113. "printer. A value of 0 allows up to MaxJobs jobs per printer."
  23114. msgstr ""
  23115. #. type: deftypevr
  23116. #: doc/guix.texi:12232
  23117. #, no-wrap
  23118. msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-user"
  23119. msgstr ""
  23120. #. type: deftypevr
  23121. #: doc/guix.texi:12235
  23122. msgid ""
  23123. "Specifies the maximum number of simultaneous jobs that are allowed per "
  23124. "user. A value of 0 allows up to MaxJobs jobs per user."
  23125. msgstr ""
  23126. #. type: deftypevr
  23127. #: doc/guix.texi:12239
  23128. #, no-wrap
  23129. msgid "{@code{cups-configuration} parameter} non-negative-integer max-job-time"
  23130. msgstr ""
  23131. #. type: deftypevr
  23132. #: doc/guix.texi:12242
  23133. msgid ""
  23134. "Specifies the maximum time a job may take to print before it is canceled, in "
  23135. "seconds. Set to 0 to disable cancellation of \"stuck\" jobs."
  23136. msgstr ""
  23137. #. type: deftypevr
  23138. #: doc/guix.texi:12244
  23139. msgid "Defaults to @samp{10800}."
  23140. msgstr ""
  23141. #. type: deftypevr
  23142. #: doc/guix.texi:12246
  23143. #, no-wrap
  23144. msgid "{@code{cups-configuration} parameter} non-negative-integer max-log-size"
  23145. msgstr ""
  23146. #. type: deftypevr
  23147. #: doc/guix.texi:12249
  23148. msgid ""
  23149. "Specifies the maximum size of the log files before they are rotated, in "
  23150. "bytes. The value 0 disables log rotation."
  23151. msgstr ""
  23152. #. type: deftypevr
  23153. #: doc/guix.texi:12251
  23154. msgid "Defaults to @samp{1048576}."
  23155. msgstr ""
  23156. #. type: deftypevr
  23157. #: doc/guix.texi:12253
  23158. #, no-wrap
  23159. msgid "{@code{cups-configuration} parameter} non-negative-integer multiple-operation-timeout"
  23160. msgstr ""
  23161. #. type: deftypevr
  23162. #: doc/guix.texi:12256
  23163. msgid ""
  23164. "Specifies the maximum amount of time to allow between files in a multiple "
  23165. "file print job, in seconds."
  23166. msgstr ""
  23167. #. type: deftypevr
  23168. #: doc/guix.texi:12258 doc/guix.texi:12472
  23169. msgid "Defaults to @samp{300}."
  23170. msgstr ""
  23171. #. type: deftypevr
  23172. #: doc/guix.texi:12260
  23173. #, no-wrap
  23174. msgid "{@code{cups-configuration} parameter} string page-log-format"
  23175. msgstr ""
  23176. #. type: deftypevr
  23177. #: doc/guix.texi:12265
  23178. msgid ""
  23179. "Specifies the format of PageLog lines. Sequences beginning with percent "
  23180. "(@samp{%}) characters are replaced with the corresponding information, while "
  23181. "all other characters are copied literally. The following percent sequences "
  23182. "are recognized:"
  23183. msgstr ""
  23184. #. type: item
  23185. #: doc/guix.texi:12267
  23186. #, no-wrap
  23187. msgid "%%"
  23188. msgstr ""
  23189. #. type: table
  23190. #: doc/guix.texi:12269
  23191. msgid "insert a single percent character"
  23192. msgstr ""
  23193. #. type: item
  23194. #: doc/guix.texi:12270
  23195. #, no-wrap
  23196. msgid "%@{name@}"
  23197. msgstr ""
  23198. #. type: table
  23199. #: doc/guix.texi:12272
  23200. msgid "insert the value of the specified IPP attribute"
  23201. msgstr ""
  23202. #. type: item
  23203. #: doc/guix.texi:12273
  23204. #, no-wrap
  23205. msgid "%C"
  23206. msgstr ""
  23207. #. type: table
  23208. #: doc/guix.texi:12275
  23209. msgid "insert the number of copies for the current page"
  23210. msgstr ""
  23211. #. type: item
  23212. #: doc/guix.texi:12276
  23213. #, no-wrap
  23214. msgid "%P"
  23215. msgstr ""
  23216. #. type: table
  23217. #: doc/guix.texi:12278
  23218. msgid "insert the current page number"
  23219. msgstr ""
  23220. #. type: item
  23221. #: doc/guix.texi:12279
  23222. #, no-wrap
  23223. msgid "%T"
  23224. msgstr ""
  23225. #. type: table
  23226. #: doc/guix.texi:12281
  23227. msgid "insert the current date and time in common log format"
  23228. msgstr ""
  23229. #. type: item
  23230. #: doc/guix.texi:12282
  23231. #, no-wrap
  23232. msgid "%j"
  23233. msgstr ""
  23234. #. type: table
  23235. #: doc/guix.texi:12284
  23236. msgid "insert the job ID"
  23237. msgstr ""
  23238. #. type: item
  23239. #: doc/guix.texi:12285 doc/guix.texi:13617
  23240. #, no-wrap
  23241. msgid "%p"
  23242. msgstr ""
  23243. #. type: table
  23244. #: doc/guix.texi:12287
  23245. msgid "insert the printer name"
  23246. msgstr ""
  23247. #. type: item
  23248. #: doc/guix.texi:12288 doc/guix.texi:13640
  23249. #, no-wrap
  23250. msgid "%u"
  23251. msgstr ""
  23252. #. type: table
  23253. #: doc/guix.texi:12290
  23254. msgid "insert the username"
  23255. msgstr ""
  23256. #. type: deftypevr
  23257. #: doc/guix.texi:12296
  23258. msgid ""
  23259. "A value of the empty string disables page logging. The string @code{%p %u "
  23260. "%j %T %P %C %@{job-billing@} %@{job-originating-host-name@} %@{job-name@} "
  23261. "%@{media@} %@{sides@}} creates a page log with the standard items."
  23262. msgstr ""
  23263. #. type: deftypevr
  23264. #: doc/guix.texi:12300
  23265. #, no-wrap
  23266. msgid "{@code{cups-configuration} parameter} environment-variables environment-variables"
  23267. msgstr ""
  23268. #. type: deftypevr
  23269. #: doc/guix.texi:12303
  23270. msgid ""
  23271. "Passes the specified environment variable(s) to child processes; a list of "
  23272. "strings."
  23273. msgstr ""
  23274. #. type: deftypevr
  23275. #: doc/guix.texi:12307
  23276. #, no-wrap
  23277. msgid "{@code{cups-configuration} parameter} policy-configuration-list policies"
  23278. msgstr ""
  23279. #. type: deftypevr
  23280. #: doc/guix.texi:12309
  23281. msgid "Specifies named access control policies."
  23282. msgstr ""
  23283. #. type: deftypevr
  23284. #: doc/guix.texi:12311
  23285. msgid "Available @code{policy-configuration} fields are:"
  23286. msgstr ""
  23287. #. type: deftypevr
  23288. #: doc/guix.texi:12312
  23289. #, no-wrap
  23290. msgid "{@code{policy-configuration} parameter} string name"
  23291. msgstr ""
  23292. #. type: deftypevr
  23293. #: doc/guix.texi:12314
  23294. msgid "Name of the policy."
  23295. msgstr ""
  23296. #. type: deftypevr
  23297. #: doc/guix.texi:12316
  23298. #, no-wrap
  23299. msgid "{@code{policy-configuration} parameter} string job-private-access"
  23300. msgstr ""
  23301. #. type: deftypevr
  23302. #: doc/guix.texi:12326
  23303. msgid ""
  23304. "Specifies an access list for a job's private values. @code{@@ACL} maps to "
  23305. "the printer's requesting-user-name-allowed or requesting-user-name-denied "
  23306. "values. @code{@@OWNER} maps to the job's owner. @code{@@SYSTEM} maps to "
  23307. "the groups listed for the @code{system-group} field of the @code{files-"
  23308. "config} configuration, which is reified into the @code{cups-files.conf(5)} "
  23309. "file. Other possible elements of the access list include specific user "
  23310. "names, and @code{@@@var{group}} to indicate members of a specific group. "
  23311. "The access list may also be simply @code{all} or @code{default}."
  23312. msgstr ""
  23313. #. type: deftypevr
  23314. #: doc/guix.texi:12328 doc/guix.texi:12350
  23315. msgid "Defaults to @samp{\"@@OWNER @@SYSTEM\"}."
  23316. msgstr ""
  23317. #. type: deftypevr
  23318. #: doc/guix.texi:12330
  23319. #, no-wrap
  23320. msgid "{@code{policy-configuration} parameter} string job-private-values"
  23321. msgstr ""
  23322. #. type: deftypevr
  23323. #: doc/guix.texi:12333 doc/guix.texi:12355
  23324. msgid ""
  23325. "Specifies the list of job values to make private, or @code{all}, "
  23326. "@code{default}, or @code{none}."
  23327. msgstr ""
  23328. #. type: deftypevr
  23329. #: doc/guix.texi:12336
  23330. msgid ""
  23331. "Defaults to @samp{\"job-name job-originating-host-name job-originating-user-"
  23332. "name phone\"}."
  23333. msgstr ""
  23334. #. type: deftypevr
  23335. #: doc/guix.texi:12338
  23336. #, no-wrap
  23337. msgid "{@code{policy-configuration} parameter} string subscription-private-access"
  23338. msgstr ""
  23339. #. type: deftypevr
  23340. #: doc/guix.texi:12348
  23341. msgid ""
  23342. "Specifies an access list for a subscription's private values. @code{@@ACL} "
  23343. "maps to the printer's requesting-user-name-allowed or requesting-user-name-"
  23344. "denied values. @code{@@OWNER} maps to the job's owner. @code{@@SYSTEM} "
  23345. "maps to the groups listed for the @code{system-group} field of the "
  23346. "@code{files-config} configuration, which is reified into the @code{cups-"
  23347. "files.conf(5)} file. Other possible elements of the access list include "
  23348. "specific user names, and @code{@@@var{group}} to indicate members of a "
  23349. "specific group. The access list may also be simply @code{all} or "
  23350. "@code{default}."
  23351. msgstr ""
  23352. #. type: deftypevr
  23353. #: doc/guix.texi:12352
  23354. #, no-wrap
  23355. msgid "{@code{policy-configuration} parameter} string subscription-private-values"
  23356. msgstr ""
  23357. #. type: deftypevr
  23358. #: doc/guix.texi:12358
  23359. msgid ""
  23360. "Defaults to @samp{\"notify-events notify-pull-method notify-recipient-uri "
  23361. "notify-subscriber-user-name notify-user-data\"}."
  23362. msgstr ""
  23363. #. type: deftypevr
  23364. #: doc/guix.texi:12360
  23365. #, no-wrap
  23366. msgid "{@code{policy-configuration} parameter} operation-access-control-list access-controls"
  23367. msgstr ""
  23368. #. type: deftypevr
  23369. #: doc/guix.texi:12362
  23370. msgid "Access control by IPP operation."
  23371. msgstr ""
  23372. #. type: deftypevr
  23373. #: doc/guix.texi:12367
  23374. #, no-wrap
  23375. msgid "{@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-files"
  23376. msgstr ""
  23377. #. type: deftypevr
  23378. #: doc/guix.texi:12372
  23379. msgid ""
  23380. "Specifies whether job files (documents) are preserved after a job is "
  23381. "printed. If a numeric value is specified, job files are preserved for the "
  23382. "indicated number of seconds after printing. Otherwise a boolean value "
  23383. "applies indefinitely."
  23384. msgstr ""
  23385. #. type: deftypevr
  23386. #: doc/guix.texi:12374
  23387. msgid "Defaults to @samp{86400}."
  23388. msgstr ""
  23389. #. type: deftypevr
  23390. #: doc/guix.texi:12376
  23391. #, no-wrap
  23392. msgid "{@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-history"
  23393. msgstr ""
  23394. #. type: deftypevr
  23395. #: doc/guix.texi:12381
  23396. msgid ""
  23397. "Specifies whether the job history is preserved after a job is printed. If a "
  23398. "numeric value is specified, the job history is preserved for the indicated "
  23399. "number of seconds after printing. If @code{#t}, the job history is "
  23400. "preserved until the MaxJobs limit is reached."
  23401. msgstr ""
  23402. #. type: deftypevr
  23403. #: doc/guix.texi:12385
  23404. #, no-wrap
  23405. msgid "{@code{cups-configuration} parameter} non-negative-integer reload-timeout"
  23406. msgstr ""
  23407. #. type: deftypevr
  23408. #: doc/guix.texi:12388
  23409. msgid ""
  23410. "Specifies the amount of time to wait for job completion before restarting "
  23411. "the scheduler."
  23412. msgstr ""
  23413. #. type: deftypevr
  23414. #: doc/guix.texi:12392
  23415. #, no-wrap
  23416. msgid "{@code{cups-configuration} parameter} string rip-cache"
  23417. msgstr ""
  23418. #. type: deftypevr
  23419. #: doc/guix.texi:12395
  23420. msgid ""
  23421. "Specifies the maximum amount of memory to use when converting documents into "
  23422. "bitmaps for a printer."
  23423. msgstr ""
  23424. #. type: deftypevr
  23425. #: doc/guix.texi:12397
  23426. msgid "Defaults to @samp{\"128m\"}."
  23427. msgstr ""
  23428. #. type: deftypevr
  23429. #: doc/guix.texi:12399
  23430. #, no-wrap
  23431. msgid "{@code{cups-configuration} parameter} string server-admin"
  23432. msgstr ""
  23433. #. type: deftypevr
  23434. #: doc/guix.texi:12401
  23435. msgid "Specifies the email address of the server administrator."
  23436. msgstr ""
  23437. #. type: deftypevr
  23438. #: doc/guix.texi:12403
  23439. msgid "Defaults to @samp{\"root@@localhost.localdomain\"}."
  23440. msgstr ""
  23441. #. type: deftypevr
  23442. #: doc/guix.texi:12405
  23443. #, no-wrap
  23444. msgid "{@code{cups-configuration} parameter} host-name-list-or-* server-alias"
  23445. msgstr ""
  23446. #. type: deftypevr
  23447. #: doc/guix.texi:12413
  23448. msgid ""
  23449. "The ServerAlias directive is used for HTTP Host header validation when "
  23450. "clients connect to the scheduler from external interfaces. Using the "
  23451. "special name @code{*} can expose your system to known browser-based DNS "
  23452. "rebinding attacks, even when accessing sites through a firewall. If the "
  23453. "auto-discovery of alternate names does not work, we recommend listing each "
  23454. "alternate name with a ServerAlias directive instead of using @code{*}."
  23455. msgstr ""
  23456. #. type: deftypevr
  23457. #: doc/guix.texi:12415
  23458. msgid "Defaults to @samp{*}."
  23459. msgstr ""
  23460. #. type: deftypevr
  23461. #: doc/guix.texi:12417
  23462. #, no-wrap
  23463. msgid "{@code{cups-configuration} parameter} string server-name"
  23464. msgstr ""
  23465. #. type: deftypevr
  23466. #: doc/guix.texi:12419
  23467. msgid "Specifies the fully-qualified host name of the server."
  23468. msgstr ""
  23469. #. type: deftypevr
  23470. #: doc/guix.texi:12421
  23471. msgid "Defaults to @samp{\"localhost\"}."
  23472. msgstr ""
  23473. #. type: deftypevr
  23474. #: doc/guix.texi:12423
  23475. #, no-wrap
  23476. msgid "{@code{cups-configuration} parameter} server-tokens server-tokens"
  23477. msgstr ""
  23478. #. type: deftypevr
  23479. #: doc/guix.texi:12431
  23480. msgid ""
  23481. "Specifies what information is included in the Server header of HTTP "
  23482. "responses. @code{None} disables the Server header. @code{ProductOnly} "
  23483. "reports @code{CUPS}. @code{Major} reports @code{CUPS 2}. @code{Minor} "
  23484. "reports @code{CUPS 2.0}. @code{Minimal} reports @code{CUPS 2.0.0}. "
  23485. "@code{OS} reports @code{CUPS 2.0.0 (@var{uname})} where @var{uname} is the "
  23486. "output of the @code{uname} command. @code{Full} reports @code{CUPS 2.0.0 "
  23487. "(@var{uname}) IPP/2.0}."
  23488. msgstr ""
  23489. #. type: deftypevr
  23490. #: doc/guix.texi:12433
  23491. msgid "Defaults to @samp{Minimal}."
  23492. msgstr ""
  23493. #. type: deftypevr
  23494. #: doc/guix.texi:12435
  23495. #, no-wrap
  23496. msgid "{@code{cups-configuration} parameter} string set-env"
  23497. msgstr ""
  23498. #. type: deftypevr
  23499. #: doc/guix.texi:12437
  23500. msgid "Set the specified environment variable to be passed to child processes."
  23501. msgstr ""
  23502. #. type: deftypevr
  23503. #: doc/guix.texi:12439
  23504. msgid "Defaults to @samp{\"variable value\"}."
  23505. msgstr ""
  23506. #. type: deftypevr
  23507. #: doc/guix.texi:12441
  23508. #, no-wrap
  23509. msgid "{@code{cups-configuration} parameter} multiline-string-list ssl-listen"
  23510. msgstr ""
  23511. #. type: deftypevr
  23512. #: doc/guix.texi:12446
  23513. msgid ""
  23514. "Listens on the specified interfaces for encrypted connections. Valid values "
  23515. "are of the form @var{address}:@var{port}, where @var{address} is either an "
  23516. "IPv6 address enclosed in brackets, an IPv4 address, or @code{*} to indicate "
  23517. "all addresses."
  23518. msgstr ""
  23519. #. type: deftypevr
  23520. #: doc/guix.texi:12450
  23521. #, no-wrap
  23522. msgid "{@code{cups-configuration} parameter} ssl-options ssl-options"
  23523. msgstr ""
  23524. #. type: deftypevr
  23525. #: doc/guix.texi:12457
  23526. msgid ""
  23527. "Sets encryption options. By default, CUPS only supports encryption using "
  23528. "TLS v1.0 or higher using known secure cipher suites. The @code{AllowRC4} "
  23529. "option enables the 128-bit RC4 cipher suites, which are required for some "
  23530. "older clients that do not implement newer ones. The @code{AllowSSL3} option "
  23531. "enables SSL v3.0, which is required for some older clients that do not "
  23532. "support TLS v1.0."
  23533. msgstr ""
  23534. #. type: deftypevr
  23535. #: doc/guix.texi:12461
  23536. #, no-wrap
  23537. msgid "{@code{cups-configuration} parameter} boolean strict-conformance?"
  23538. msgstr ""
  23539. #. type: deftypevr
  23540. #: doc/guix.texi:12464
  23541. msgid ""
  23542. "Specifies whether the scheduler requires clients to strictly adhere to the "
  23543. "IPP specifications."
  23544. msgstr ""
  23545. #. type: deftypevr
  23546. #: doc/guix.texi:12468
  23547. #, no-wrap
  23548. msgid "{@code{cups-configuration} parameter} non-negative-integer timeout"
  23549. msgstr ""
  23550. #. type: deftypevr
  23551. #: doc/guix.texi:12470
  23552. msgid "Specifies the HTTP request timeout, in seconds."
  23553. msgstr ""
  23554. #. type: deftypevr
  23555. #: doc/guix.texi:12475
  23556. #, no-wrap
  23557. msgid "{@code{cups-configuration} parameter} boolean web-interface?"
  23558. msgstr ""
  23559. #. type: deftypevr
  23560. #: doc/guix.texi:12477
  23561. msgid "Specifies whether the web interface is enabled."
  23562. msgstr ""
  23563. #. type: Plain text
  23564. #: doc/guix.texi:12487
  23565. msgid ""
  23566. "At this point you're probably thinking ``oh dear, Guix manual, I like you "
  23567. "but you can stop already with the configuration options''. Indeed. "
  23568. "However, one more point: it could be that you have an existing @code{cupsd."
  23569. "conf} that you want to use. In that case, you can pass an @code{opaque-cups-"
  23570. "configuration} as the configuration of a @code{cups-service-type}."
  23571. msgstr ""
  23572. #. type: Plain text
  23573. #: doc/guix.texi:12489
  23574. msgid "Available @code{opaque-cups-configuration} fields are:"
  23575. msgstr ""
  23576. #. type: deftypevr
  23577. #: doc/guix.texi:12490
  23578. #, no-wrap
  23579. msgid "{@code{opaque-cups-configuration} parameter} package cups"
  23580. msgstr ""
  23581. #. type: deftypevr
  23582. #: doc/guix.texi:12494
  23583. #, no-wrap
  23584. msgid "{@code{opaque-cups-configuration} parameter} string cupsd.conf"
  23585. msgstr ""
  23586. #. type: deftypevr
  23587. #: doc/guix.texi:12496
  23588. msgid "The contents of the @code{cupsd.conf}, as a string."
  23589. msgstr ""
  23590. #. type: deftypevr
  23591. #: doc/guix.texi:12498
  23592. #, no-wrap
  23593. msgid "{@code{opaque-cups-configuration} parameter} string cups-files.conf"
  23594. msgstr ""
  23595. #. type: deftypevr
  23596. #: doc/guix.texi:12500
  23597. msgid "The contents of the @code{cups-files.conf} file, as a string."
  23598. msgstr ""
  23599. #. type: Plain text
  23600. #: doc/guix.texi:12505
  23601. msgid ""
  23602. "For example, if your @code{cupsd.conf} and @code{cups-files.conf} are in "
  23603. "strings of the same name, you could instantiate a CUPS service like this:"
  23604. msgstr ""
  23605. #. type: example
  23606. #: doc/guix.texi:12511
  23607. #, no-wrap
  23608. msgid ""
  23609. "(service cups-service-type\n"
  23610. " (opaque-cups-configuration\n"
  23611. " (cupsd.conf cupsd.conf)\n"
  23612. " (cups-files.conf cups-files.conf)))\n"
  23613. msgstr ""
  23614. #. type: Plain text
  23615. #: doc/guix.texi:12522
  23616. msgid ""
  23617. "The @code{(gnu services desktop)} module provides services that are usually "
  23618. "useful in the context of a ``desktop'' setup---that is, on a machine running "
  23619. "a graphical display server, possibly with graphical user interfaces, etc. "
  23620. "It also defines services that provide specific desktop environments like "
  23621. "GNOME, XFCE or MATE."
  23622. msgstr ""
  23623. #. type: Plain text
  23624. #: doc/guix.texi:12526
  23625. msgid ""
  23626. "To simplify things, the module defines a variable containing the set of "
  23627. "services that users typically expect on a machine with a graphical "
  23628. "environment and networking:"
  23629. msgstr ""
  23630. #. type: defvr
  23631. #: doc/guix.texi:12527
  23632. #, no-wrap
  23633. msgid "{Scheme Variable} %desktop-services"
  23634. msgstr ""
  23635. #. type: defvr
  23636. #: doc/guix.texi:12530
  23637. msgid ""
  23638. "This is a list of services that builds upon @var{%base-services} and adds or "
  23639. "adjusts services for a typical ``desktop'' setup."
  23640. msgstr ""
  23641. #. type: defvr
  23642. #: doc/guix.texi:12540
  23643. msgid ""
  23644. "In particular, it adds a graphical login manager (@pxref{X Window, "
  23645. "@code{slim-service}}), screen lockers, a network management tool "
  23646. "(@pxref{Networking Services, @code{network-manager-service-type}}), energy "
  23647. "and color management services, the @code{elogind} login and seat manager, "
  23648. "the Polkit privilege service, the GeoClue location service, the "
  23649. "AccountsService daemon that allows authorized users change system passwords, "
  23650. "an NTP client (@pxref{Networking Services}), the Avahi daemon, and has the "
  23651. "name service switch service configured to be able to use @code{nss-mdns} "
  23652. "(@pxref{Name Service Switch, mDNS})."
  23653. msgstr ""
  23654. #. type: Plain text
  23655. #: doc/guix.texi:12545
  23656. msgid ""
  23657. "The @var{%desktop-services} variable can be used as the @code{services} "
  23658. "field of an @code{operating-system} declaration (@pxref{operating-system "
  23659. "Reference, @code{services}})."
  23660. msgstr ""
  23661. #. type: Plain text
  23662. #: doc/guix.texi:12565
  23663. msgid ""
  23664. "Additionally, the @code{gnome-desktop-service}, @code{xfce-desktop-service} "
  23665. "and @code{mate-desktop-service} procedures can add GNOME, XFCE and/or MATE "
  23666. "to a system. To ``add GNOME'' means that system-level services like the "
  23667. "backlight adjustment helpers and the power management utilities are added to "
  23668. "the system, extending @code{polkit} and @code{dbus} appropriately, allowing "
  23669. "GNOME to operate with elevated privileges on a limited number of special-"
  23670. "purpose system interfaces. Additionally, adding a service made by "
  23671. "@code{gnome-desktop-service} adds the GNOME metapackage to the system "
  23672. "profile. Likewise, adding the XFCE service not only adds the @code{xfce} "
  23673. "metapackage to the system profile, but it also gives the Thunar file manager "
  23674. "the ability to open a ``root-mode'' file management window, if the user "
  23675. "authenticates using the administrator's password via the standard polkit "
  23676. "graphical interface. To ``add MATE'' means that @code{polkit} and "
  23677. "@code{dbus} are extended appropriately, allowing MATE to operate with "
  23678. "elevated privileges on a limited number of special-purpose system "
  23679. "interfaces. Additionally, adding a service made by @code{mate-desktop-"
  23680. "service} adds the MATE metapackage to the system profile."
  23681. msgstr ""
  23682. #. type: Plain text
  23683. #: doc/guix.texi:12574
  23684. msgid ""
  23685. "The desktop environments in Guix use the Xorg display server by default. If "
  23686. "you'd like to use the newer display server protocol called Wayland, you need "
  23687. "to use the @code{sddm-service} instead of the @code{slim-service} for the "
  23688. "graphical login manager. You should then select the ``GNOME (Wayland)'' "
  23689. "session in SDDM. Alternatively you can also try starting GNOME on Wayland "
  23690. "manually from a TTY with the command ``XDG_SESSION_TYPE=wayland exec dbus-"
  23691. "run-session gnome-session``. Currently only GNOME has support for Wayland."
  23692. msgstr ""
  23693. #. type: deffn
  23694. #: doc/guix.texi:12575
  23695. #, no-wrap
  23696. msgid "{Scheme Procedure} gnome-desktop-service"
  23697. msgstr ""
  23698. #. type: deffn
  23699. #: doc/guix.texi:12579
  23700. msgid ""
  23701. "Return a service that adds the @code{gnome} package to the system profile, "
  23702. "and extends polkit with the actions from @code{gnome-settings-daemon}."
  23703. msgstr ""
  23704. #. type: deffn
  23705. #: doc/guix.texi:12581
  23706. #, no-wrap
  23707. msgid "{Scheme Procedure} xfce-desktop-service"
  23708. msgstr ""
  23709. #. type: deffn
  23710. #: doc/guix.texi:12586
  23711. msgid ""
  23712. "Return a service that adds the @code{xfce} package to the system profile, "
  23713. "and extends polkit with the ability for @code{thunar} to manipulate the file "
  23714. "system as root from within a user session, after the user has authenticated "
  23715. "with the administrator's password."
  23716. msgstr ""
  23717. #. type: deffn
  23718. #: doc/guix.texi:12588
  23719. #, no-wrap
  23720. msgid "{Scheme Procedure} mate-desktop-service"
  23721. msgstr ""
  23722. #. type: deffn
  23723. #: doc/guix.texi:12592
  23724. msgid ""
  23725. "Return a service that adds the @code{mate} package to the system profile, "
  23726. "and extends polkit with the actions from @code{mate-settings-daemon}."
  23727. msgstr ""
  23728. #. type: Plain text
  23729. #: doc/guix.texi:12599
  23730. msgid ""
  23731. "Because the GNOME, XFCE and MATE desktop services pull in so many packages, "
  23732. "the default @code{%desktop-services} variable doesn't include either of them "
  23733. "by default. To add GNOME, XFCE or MATE, just @code{cons} them onto "
  23734. "@code{%desktop-services} in the @code{services} field of your "
  23735. "@code{operating-system}:"
  23736. msgstr ""
  23737. #. type: example
  23738. #: doc/guix.texi:12610
  23739. #, no-wrap
  23740. msgid ""
  23741. "(use-modules (gnu))\n"
  23742. "(use-service-modules desktop)\n"
  23743. "(operating-system\n"
  23744. " ...\n"
  23745. " ;; cons* adds items to the list given as its last argument.\n"
  23746. " (services (cons* (gnome-desktop-service)\n"
  23747. " (xfce-desktop-service)\n"
  23748. " %desktop-services))\n"
  23749. " ...)\n"
  23750. msgstr ""
  23751. #. type: Plain text
  23752. #: doc/guix.texi:12614
  23753. msgid ""
  23754. "These desktop environments will then be available as options in the "
  23755. "graphical login window."
  23756. msgstr ""
  23757. #. type: Plain text
  23758. #: doc/guix.texi:12618
  23759. msgid ""
  23760. "The actual service definitions included in @code{%desktop-services} and "
  23761. "provided by @code{(gnu services dbus)} and @code{(gnu services desktop)} are "
  23762. "described below."
  23763. msgstr ""
  23764. #. type: deffn
  23765. #: doc/guix.texi:12619
  23766. #, no-wrap
  23767. msgid "{Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()]"
  23768. msgstr ""
  23769. #. type: deffn
  23770. #: doc/guix.texi:12622
  23771. msgid ""
  23772. "Return a service that runs the ``system bus'', using @var{dbus}, with "
  23773. "support for @var{services}."
  23774. msgstr ""
  23775. #. type: deffn
  23776. #: doc/guix.texi:12626
  23777. msgid ""
  23778. "@uref{http://dbus.freedesktop.org/, D-Bus} is an inter-process communication "
  23779. "facility. Its system bus is used to allow system services to communicate "
  23780. "and to be notified of system-wide events."
  23781. msgstr ""
  23782. #. type: deffn
  23783. #: doc/guix.texi:12631
  23784. msgid ""
  23785. "@var{services} must be a list of packages that provide an @file{etc/dbus-1/"
  23786. "system.d} directory containing additional D-Bus configuration and policy "
  23787. "files. For example, to allow avahi-daemon to use the system bus, "
  23788. "@var{services} must be equal to @code{(list avahi)}."
  23789. msgstr ""
  23790. #. type: deffn
  23791. #: doc/guix.texi:12633
  23792. #, no-wrap
  23793. msgid "{Scheme Procedure} elogind-service [#:config @var{config}]"
  23794. msgstr ""
  23795. #. type: deffn
  23796. #: doc/guix.texi:12639
  23797. msgid ""
  23798. "Return a service that runs the @code{elogind} login and seat management "
  23799. "daemon. @uref{https://github.com/elogind/elogind, Elogind} exposes a D-Bus "
  23800. "interface that can be used to know which users are logged in, know what kind "
  23801. "of sessions they have open, suspend the system, inhibit system suspend, "
  23802. "reboot the system, and other tasks."
  23803. msgstr ""
  23804. #. type: deffn
  23805. #: doc/guix.texi:12643
  23806. msgid ""
  23807. "Elogind handles most system-level power events for a computer, for example "
  23808. "suspending the system when a lid is closed, or shutting it down when the "
  23809. "power button is pressed."
  23810. msgstr ""
  23811. #. type: deffn
  23812. #: doc/guix.texi:12648
  23813. msgid ""
  23814. "The @var{config} keyword argument specifies the configuration for elogind, "
  23815. "and should be the result of an @code{(elogind-configuration (@var{parameter} "
  23816. "@var{value})...)} invocation. Available parameters and their default values "
  23817. "are:"
  23818. msgstr ""
  23819. #. type: item
  23820. #: doc/guix.texi:12650
  23821. #, no-wrap
  23822. msgid "kill-user-processes?"
  23823. msgstr ""
  23824. #. type: code{#1}
  23825. #: doc/guix.texi:12652 doc/guix.texi:12670 doc/guix.texi:12672
  23826. #: doc/guix.texi:12674 doc/guix.texi:12686
  23827. msgid "#f"
  23828. msgstr ""
  23829. #. type: item
  23830. #: doc/guix.texi:12652
  23831. #, no-wrap
  23832. msgid "kill-only-users"
  23833. msgstr ""
  23834. #. type: code{#1}
  23835. #: doc/guix.texi:12654 doc/guix.texi:12692
  23836. msgid "()"
  23837. msgstr ""
  23838. #. type: item
  23839. #: doc/guix.texi:12654
  23840. #, no-wrap
  23841. msgid "kill-exclude-users"
  23842. msgstr ""
  23843. #. type: code{#1}
  23844. #: doc/guix.texi:12656
  23845. msgid "(\"root\")"
  23846. msgstr ""
  23847. #. type: item
  23848. #: doc/guix.texi:12656
  23849. #, no-wrap
  23850. msgid "inhibit-delay-max-seconds"
  23851. msgstr ""
  23852. #. type: code{#1}
  23853. #: doc/guix.texi:12658
  23854. msgid "5"
  23855. msgstr ""
  23856. #. type: item
  23857. #: doc/guix.texi:12658
  23858. #, no-wrap
  23859. msgid "handle-power-key"
  23860. msgstr ""
  23861. #. type: code{#1}
  23862. #: doc/guix.texi:12660
  23863. msgid "poweroff"
  23864. msgstr ""
  23865. #. type: item
  23866. #: doc/guix.texi:12660
  23867. #, no-wrap
  23868. msgid "handle-suspend-key"
  23869. msgstr ""
  23870. #. type: code{#1}
  23871. #: doc/guix.texi:12662 doc/guix.texi:12666
  23872. msgid "suspend"
  23873. msgstr ""
  23874. #. type: item
  23875. #: doc/guix.texi:12662
  23876. #, no-wrap
  23877. msgid "handle-hibernate-key"
  23878. msgstr ""
  23879. #. type: code{#1}
  23880. #: doc/guix.texi:12664
  23881. msgid "hibernate"
  23882. msgstr ""
  23883. #. type: item
  23884. #: doc/guix.texi:12664
  23885. #, no-wrap
  23886. msgid "handle-lid-switch"
  23887. msgstr ""
  23888. #. type: item
  23889. #: doc/guix.texi:12666
  23890. #, no-wrap
  23891. msgid "handle-lid-switch-docked"
  23892. msgstr ""
  23893. #. type: code{#1}
  23894. #: doc/guix.texi:12668 doc/guix.texi:12680
  23895. msgid "ignore"
  23896. msgstr ""
  23897. #. type: item
  23898. #: doc/guix.texi:12668
  23899. #, no-wrap
  23900. msgid "power-key-ignore-inhibited?"
  23901. msgstr ""
  23902. #. type: item
  23903. #: doc/guix.texi:12670
  23904. #, no-wrap
  23905. msgid "suspend-key-ignore-inhibited?"
  23906. msgstr ""
  23907. #. type: item
  23908. #: doc/guix.texi:12672
  23909. #, no-wrap
  23910. msgid "hibernate-key-ignore-inhibited?"
  23911. msgstr ""
  23912. #. type: item
  23913. #: doc/guix.texi:12674
  23914. #, no-wrap
  23915. msgid "lid-switch-ignore-inhibited?"
  23916. msgstr ""
  23917. #. type: code{#1}
  23918. #: doc/guix.texi:12676 doc/guix.texi:12688
  23919. msgid "#t"
  23920. msgstr ""
  23921. #. type: item
  23922. #: doc/guix.texi:12676
  23923. #, no-wrap
  23924. msgid "holdoff-timeout-seconds"
  23925. msgstr ""
  23926. #. type: code{#1}
  23927. #: doc/guix.texi:12678
  23928. msgid "30"
  23929. msgstr ""
  23930. #. type: item
  23931. #: doc/guix.texi:12678
  23932. #, no-wrap
  23933. msgid "idle-action"
  23934. msgstr ""
  23935. #. type: item
  23936. #: doc/guix.texi:12680
  23937. #, no-wrap
  23938. msgid "idle-action-seconds"
  23939. msgstr ""
  23940. #. type: code{#1}
  23941. #: doc/guix.texi:12682
  23942. msgid "(* 30 60)"
  23943. msgstr ""
  23944. #. type: item
  23945. #: doc/guix.texi:12682
  23946. #, no-wrap
  23947. msgid "runtime-directory-size-percent"
  23948. msgstr ""
  23949. #. type: code{#1}
  23950. #: doc/guix.texi:12684
  23951. msgid "10"
  23952. msgstr ""
  23953. #. type: item
  23954. #: doc/guix.texi:12684
  23955. #, no-wrap
  23956. msgid "runtime-directory-size"
  23957. msgstr ""
  23958. #. type: item
  23959. #: doc/guix.texi:12686
  23960. #, no-wrap
  23961. msgid "remove-ipc?"
  23962. msgstr ""
  23963. #. type: item
  23964. #: doc/guix.texi:12688
  23965. #, no-wrap
  23966. msgid "suspend-state"
  23967. msgstr ""
  23968. #. type: code{#1}
  23969. #: doc/guix.texi:12690
  23970. msgid "(\"mem\" \"standby\" \"freeze\")"
  23971. msgstr ""
  23972. #. type: item
  23973. #: doc/guix.texi:12690
  23974. #, no-wrap
  23975. msgid "suspend-mode"
  23976. msgstr ""
  23977. #. type: item
  23978. #: doc/guix.texi:12692
  23979. #, no-wrap
  23980. msgid "hibernate-state"
  23981. msgstr ""
  23982. #. type: code{#1}
  23983. #: doc/guix.texi:12694 doc/guix.texi:12698
  23984. msgid "(\"disk\")"
  23985. msgstr ""
  23986. #. type: item
  23987. #: doc/guix.texi:12694
  23988. #, no-wrap
  23989. msgid "hibernate-mode"
  23990. msgstr ""
  23991. #. type: code{#1}
  23992. #: doc/guix.texi:12696
  23993. msgid "(\"platform\" \"shutdown\")"
  23994. msgstr ""
  23995. #. type: item
  23996. #: doc/guix.texi:12696
  23997. #, no-wrap
  23998. msgid "hybrid-sleep-state"
  23999. msgstr ""
  24000. #. type: item
  24001. #: doc/guix.texi:12698
  24002. #, no-wrap
  24003. msgid "hybrid-sleep-mode"
  24004. msgstr ""
  24005. #. type: code{#1}
  24006. #: doc/guix.texi:12700
  24007. msgid "(\"suspend\" \"platform\" \"shutdown\")"
  24008. msgstr ""
  24009. #. type: deffn
  24010. #: doc/guix.texi:12703
  24011. #, no-wrap
  24012. msgid "{Scheme Procedure} accountsservice-service @"
  24013. msgstr ""
  24014. #. type: deffn
  24015. #: doc/guix.texi:12711
  24016. msgid ""
  24017. "[#:accountsservice @var{accountsservice}] Return a service that runs "
  24018. "AccountsService, a system service that can list available accounts, change "
  24019. "their passwords, and so on. AccountsService integrates with PolicyKit to "
  24020. "enable unprivileged users to acquire the capability to modify their system "
  24021. "configuration. @uref{https://www.freedesktop.org/wiki/Software/"
  24022. "AccountsService/, the accountsservice web site} for more information."
  24023. msgstr ""
  24024. #. type: deffn
  24025. #: doc/guix.texi:12714
  24026. msgid ""
  24027. "The @var{accountsservice} keyword argument is the @code{accountsservice} "
  24028. "package to expose as a service."
  24029. msgstr ""
  24030. #. type: deffn
  24031. #: doc/guix.texi:12716
  24032. #, no-wrap
  24033. msgid "{Scheme Procedure} polkit-service @"
  24034. msgstr ""
  24035. #. type: deffn
  24036. #: doc/guix.texi:12725
  24037. msgid ""
  24038. "[#:polkit @var{polkit}] Return a service that runs the @uref{http://www."
  24039. "freedesktop.org/wiki/Software/polkit/, Polkit privilege management service}, "
  24040. "which allows system administrators to grant access to privileged operations "
  24041. "in a structured way. By querying the Polkit service, a privileged system "
  24042. "component can know when it should grant additional capabilities to ordinary "
  24043. "users. For example, an ordinary user can be granted the capability to "
  24044. "suspend the system if the user is logged in locally."
  24045. msgstr ""
  24046. #. type: deffn
  24047. #: doc/guix.texi:12727
  24048. #, no-wrap
  24049. msgid "{Scheme Procedure} upower-service [#:upower @var{upower}] @"
  24050. msgstr ""
  24051. #. type: deffn
  24052. #: doc/guix.texi:12744
  24053. msgid ""
  24054. "[#:watts-up-pro? #f] @ [#:poll-batteries? #t] @ [#:ignore-lid? #f] @ [#:use-"
  24055. "percentage-for-policy? #f] @ [#:percentage-low 10] @ [#:percentage-critical "
  24056. "3] @ [#:percentage-action 2] @ [#:time-low 1200] @ [#:time-critical 300] @ "
  24057. "[#:time-action 120] @ [#:critical-power-action 'hybrid-sleep] Return a "
  24058. "service that runs @uref{http://upower.freedesktop.org/, @command{upowerd}}, "
  24059. "a system-wide monitor for power consumption and battery levels, with the "
  24060. "given configuration settings. It implements the @code{org.freedesktop."
  24061. "UPower} D-Bus interface, and is notably used by GNOME."
  24062. msgstr ""
  24063. #. type: deffn
  24064. #: doc/guix.texi:12746
  24065. #, no-wrap
  24066. msgid "{Scheme Procedure} udisks-service [#:udisks @var{udisks}]"
  24067. msgstr ""
  24068. #. type: deffn
  24069. #: doc/guix.texi:12751
  24070. msgid ""
  24071. "Return a service for @uref{http://udisks.freedesktop.org/docs/latest/, "
  24072. "UDisks}, a @dfn{disk management} daemon that provides user interfaces with "
  24073. "notifications and ways to mount/unmount disks. Programs that talk to UDisks "
  24074. "include the @command{udisksctl} command, part of UDisks, and GNOME Disks."
  24075. msgstr ""
  24076. #. type: deffn
  24077. #: doc/guix.texi:12753
  24078. #, no-wrap
  24079. msgid "{Scheme Procedure} colord-service [#:colord @var{colord}]"
  24080. msgstr ""
  24081. #. type: deffn
  24082. #: doc/guix.texi:12759
  24083. msgid ""
  24084. "Return a service that runs @command{colord}, a system service with a D-Bus "
  24085. "interface to manage the color profiles of input and output devices such as "
  24086. "screens and scanners. It is notably used by the GNOME Color Manager "
  24087. "graphical tool. See @uref{http://www.freedesktop.org/software/colord/, the "
  24088. "colord web site} for more information."
  24089. msgstr ""
  24090. #. type: deffn
  24091. #: doc/guix.texi:12761
  24092. #, no-wrap
  24093. msgid "{Scheme Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]"
  24094. msgstr ""
  24095. #. type: deffn
  24096. #: doc/guix.texi:12770
  24097. msgid ""
  24098. "Return a configuration allowing an application to access GeoClue location "
  24099. "data. @var{name} is the Desktop ID of the application, without the @code{."
  24100. "desktop} part. If @var{allowed?} is true, the application will have access "
  24101. "to location information by default. The boolean @var{system?} value "
  24102. "indicates whether an application is a system component or not. Finally "
  24103. "@var{users} is a list of UIDs of all users for which this application is "
  24104. "allowed location info access. An empty users list means that all users are "
  24105. "allowed."
  24106. msgstr ""
  24107. #. type: defvr
  24108. #: doc/guix.texi:12772
  24109. #, no-wrap
  24110. msgid "{Scheme Variable} %standard-geoclue-applications"
  24111. msgstr ""
  24112. #. type: defvr
  24113. #: doc/guix.texi:12779
  24114. msgid ""
  24115. "The standard list of well-known GeoClue application configurations, granting "
  24116. "authority to the GNOME date-and-time utility to ask for the current location "
  24117. "in order to set the time zone, and allowing the IceCat and Epiphany web "
  24118. "browsers to request location information. IceCat and Epiphany both query "
  24119. "the user before allowing a web page to know the user's location."
  24120. msgstr ""
  24121. #. type: deffn
  24122. #: doc/guix.texi:12781
  24123. #, no-wrap
  24124. msgid "{Scheme Procedure} geoclue-service [#:colord @var{colord}] @"
  24125. msgstr ""
  24126. #. type: deffn
  24127. #: doc/guix.texi:12794
  24128. msgid ""
  24129. "[#:whitelist '()] @ [#:wifi-geolocation-url \"https://location.services."
  24130. "mozilla.com/v1/geolocate?key=geoclue\"] @ [#:submit-data? #f] [#:wifi-"
  24131. "submission-url \"https://location.services.mozilla.com/v1/submit?key=geoclue"
  24132. "\"] @ [#:submission-nick \"geoclue\"] @ [#:applications %standard-geoclue-"
  24133. "applications] Return a service that runs the GeoClue location service. This "
  24134. "service provides a D-Bus interface to allow applications to request access "
  24135. "to a user's physical location, and optionally to add information to online "
  24136. "location databases. See @uref{https://wiki.freedesktop.org/www/Software/"
  24137. "GeoClue/, the GeoClue web site} for more information."
  24138. msgstr ""
  24139. #. type: deffn
  24140. #: doc/guix.texi:12796
  24141. #, no-wrap
  24142. msgid "{Scheme Procedure} bluetooth-service [#:bluez @var{bluez}] @"
  24143. msgstr ""
  24144. #. type: deffn
  24145. #: doc/guix.texi:12803
  24146. msgid ""
  24147. "[@w{#:auto-enable? #f}] Return a service that runs the @command{bluetoothd} "
  24148. "daemon, which manages all the Bluetooth devices and provides a number of D-"
  24149. "Bus interfaces. When AUTO-ENABLE? is true, the bluetooth controller is "
  24150. "powered automatically at boot, which can be useful when using a bluetooth "
  24151. "keyboard or mouse."
  24152. msgstr ""
  24153. #. type: deffn
  24154. #: doc/guix.texi:12805
  24155. msgid "Users need to be in the @code{lp} group to access the D-Bus service."
  24156. msgstr ""
  24157. #. type: cindex
  24158. #: doc/guix.texi:12811
  24159. #, no-wrap
  24160. msgid "SQL"
  24161. msgstr ""
  24162. #. type: Plain text
  24163. #: doc/guix.texi:12813
  24164. msgid ""
  24165. "The @code{(gnu services databases)} module provides the following services."
  24166. msgstr ""
  24167. #. type: deffn
  24168. #: doc/guix.texi:12814
  24169. #, no-wrap
  24170. msgid "{Scheme Procedure} postgresql-service [#:postgresql postgresql] @"
  24171. msgstr ""
  24172. #. type: deffn
  24173. #: doc/guix.texi:12819
  24174. msgid ""
  24175. "[#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @ [#:port "
  24176. "5432] [#:locale ``en_US.utf8''] Return a service that runs @var{postgresql}, "
  24177. "the PostgreSQL database server."
  24178. msgstr ""
  24179. #. type: deffn
  24180. #: doc/guix.texi:12823
  24181. msgid ""
  24182. "The PostgreSQL daemon loads its runtime configuration from @var{config-"
  24183. "file}, creates a database cluster with @var{locale} as the default locale, "
  24184. "stored in @var{data-directory}. It then listens on @var{port}."
  24185. msgstr ""
  24186. #. type: deffn
  24187. #: doc/guix.texi:12825
  24188. #, no-wrap
  24189. msgid "{Scheme Procedure} mysql-service [#:config (mysql-configuration)]"
  24190. msgstr ""
  24191. #. type: deffn
  24192. #: doc/guix.texi:12828
  24193. msgid ""
  24194. "Return a service that runs @command{mysqld}, the MySQL or MariaDB database "
  24195. "server."
  24196. msgstr ""
  24197. #. type: deffn
  24198. #: doc/guix.texi:12831
  24199. msgid ""
  24200. "The optional @var{config} argument specifies the configuration for "
  24201. "@command{mysqld}, which should be a @code{<mysql-configuration>} object."
  24202. msgstr ""
  24203. #. type: deftp
  24204. #: doc/guix.texi:12833
  24205. #, no-wrap
  24206. msgid "{Data Type} mysql-configuration"
  24207. msgstr ""
  24208. #. type: deftp
  24209. #: doc/guix.texi:12835
  24210. msgid "Data type representing the configuration of @var{mysql-service}."
  24211. msgstr ""
  24212. #. type: item
  24213. #: doc/guix.texi:12837
  24214. #, no-wrap
  24215. msgid "@code{mysql} (default: @var{mariadb})"
  24216. msgstr ""
  24217. #. type: table
  24218. #: doc/guix.texi:12840
  24219. msgid ""
  24220. "Package object of the MySQL database server, can be either @var{mariadb} or "
  24221. "@var{mysql}."
  24222. msgstr ""
  24223. #. type: table
  24224. #: doc/guix.texi:12843
  24225. msgid ""
  24226. "For MySQL, a temporary root password will be displayed at activation time. "
  24227. "For MariaDB, the root password is empty."
  24228. msgstr ""
  24229. #. type: item
  24230. #: doc/guix.texi:12844
  24231. #, no-wrap
  24232. msgid "@code{port} (default: @code{3306})"
  24233. msgstr ""
  24234. #. type: table
  24235. #: doc/guix.texi:12846
  24236. msgid "TCP port on which the database server listens for incoming connections."
  24237. msgstr ""
  24238. #. type: defvr
  24239. #: doc/guix.texi:12849
  24240. #, no-wrap
  24241. msgid "{Scheme Variable} memcached-service-type"
  24242. msgstr ""
  24243. #. type: defvr
  24244. #: doc/guix.texi:12853
  24245. msgid ""
  24246. "This is the service type for the @uref{https://memcached.org/, Memcached} "
  24247. "service, which provides a distributed in memory cache. The value for the "
  24248. "service type is a @code{memcached-configuration} object."
  24249. msgstr ""
  24250. #. type: example
  24251. #: doc/guix.texi:12857
  24252. #, no-wrap
  24253. msgid "(service memcached-service-type)\n"
  24254. msgstr ""
  24255. #. type: deftp
  24256. #: doc/guix.texi:12859
  24257. #, no-wrap
  24258. msgid "{Data Type} memcached-configuration"
  24259. msgstr ""
  24260. #. type: deftp
  24261. #: doc/guix.texi:12861
  24262. msgid "Data type representing the configuration of memcached."
  24263. msgstr ""
  24264. #. type: item
  24265. #: doc/guix.texi:12863
  24266. #, no-wrap
  24267. msgid "@code{memcached} (default: @code{memcached})"
  24268. msgstr ""
  24269. #. type: table
  24270. #: doc/guix.texi:12865
  24271. msgid "The Memcached package to use."
  24272. msgstr ""
  24273. #. type: item
  24274. #: doc/guix.texi:12866
  24275. #, no-wrap
  24276. msgid "@code{interfaces} (default: @code{'(\"0.0.0.0\")})"
  24277. msgstr ""
  24278. #. type: table
  24279. #: doc/guix.texi:12868
  24280. msgid "Network interfaces on which to listen."
  24281. msgstr ""
  24282. #. type: item
  24283. #: doc/guix.texi:12869
  24284. #, no-wrap
  24285. msgid "@code{tcp-port} (default: @code{11211})"
  24286. msgstr ""
  24287. #. type: table
  24288. #: doc/guix.texi:12871
  24289. msgid "Port on which to accept connections on,"
  24290. msgstr ""
  24291. #. type: item
  24292. #: doc/guix.texi:12872
  24293. #, no-wrap
  24294. msgid "@code{udp-port} (default: @code{11211})"
  24295. msgstr ""
  24296. #. type: table
  24297. #: doc/guix.texi:12875
  24298. msgid ""
  24299. "Port on which to accept UDP connections on, a value of 0 will disable "
  24300. "listening on a UDP socket."
  24301. msgstr ""
  24302. #. type: item
  24303. #: doc/guix.texi:12876
  24304. #, no-wrap
  24305. msgid "@code{additional-options} (default: @code{'()})"
  24306. msgstr ""
  24307. #. type: table
  24308. #: doc/guix.texi:12878
  24309. msgid "Additional command line options to pass to @code{memcached}."
  24310. msgstr ""
  24311. #. type: defvr
  24312. #: doc/guix.texi:12881
  24313. #, no-wrap
  24314. msgid "{Scheme Variable} mongodb-service-type"
  24315. msgstr ""
  24316. #. type: defvr
  24317. #: doc/guix.texi:12884
  24318. msgid ""
  24319. "This is the service type for @uref{https://www.mongodb.com/, MongoDB}. The "
  24320. "value for the service type is a @code{mongodb-configuration} object."
  24321. msgstr ""
  24322. #. type: example
  24323. #: doc/guix.texi:12888
  24324. #, no-wrap
  24325. msgid "(service mongodb-service-type)\n"
  24326. msgstr ""
  24327. #. type: deftp
  24328. #: doc/guix.texi:12890
  24329. #, no-wrap
  24330. msgid "{Data Type} mongodb-configuration"
  24331. msgstr ""
  24332. #. type: deftp
  24333. #: doc/guix.texi:12892
  24334. msgid "Data type representing the configuration of mongodb."
  24335. msgstr ""
  24336. #. type: item
  24337. #: doc/guix.texi:12894
  24338. #, no-wrap
  24339. msgid "@code{mongodb} (default: @code{mongodb})"
  24340. msgstr ""
  24341. #. type: table
  24342. #: doc/guix.texi:12896
  24343. msgid "The MongoDB package to use."
  24344. msgstr ""
  24345. #. type: item
  24346. #: doc/guix.texi:12897
  24347. #, no-wrap
  24348. msgid "@code{config-file} (default: @code{%default-mongodb-configuration-file})"
  24349. msgstr ""
  24350. #. type: table
  24351. #: doc/guix.texi:12899
  24352. msgid "The configuration file for MongoDB."
  24353. msgstr ""
  24354. #. type: item
  24355. #: doc/guix.texi:12900
  24356. #, no-wrap
  24357. msgid "@code{data-directory} (default: @code{\"/var/lib/mongodb\"})"
  24358. msgstr ""
  24359. #. type: table
  24360. #: doc/guix.texi:12904
  24361. msgid ""
  24362. "This value is used to create the directory, so that it exists and is owned "
  24363. "by the mongodb user. It should match the data-directory which MongoDB is "
  24364. "configured to use through the configuration file."
  24365. msgstr ""
  24366. #. type: defvr
  24367. #: doc/guix.texi:12907
  24368. #, no-wrap
  24369. msgid "{Scheme Variable} redis-service-type"
  24370. msgstr ""
  24371. #. type: defvr
  24372. #: doc/guix.texi:12910
  24373. msgid ""
  24374. "This is the service type for the @uref{https://redis.io/, Redis} key/value "
  24375. "store, whose value is a @code{redis-configuration} object."
  24376. msgstr ""
  24377. #. type: deftp
  24378. #: doc/guix.texi:12912
  24379. #, no-wrap
  24380. msgid "{Data Type} redis-configuration"
  24381. msgstr ""
  24382. #. type: deftp
  24383. #: doc/guix.texi:12914
  24384. msgid "Data type representing the configuration of redis."
  24385. msgstr ""
  24386. #. type: item
  24387. #: doc/guix.texi:12916
  24388. #, no-wrap
  24389. msgid "@code{redis} (default: @code{redis})"
  24390. msgstr ""
  24391. #. type: table
  24392. #: doc/guix.texi:12918
  24393. msgid "The Redis package to use."
  24394. msgstr ""
  24395. #. type: item
  24396. #: doc/guix.texi:12919
  24397. #, no-wrap
  24398. msgid "@code{bind} (default: @code{\"127.0.0.1\"})"
  24399. msgstr ""
  24400. #. type: table
  24401. #: doc/guix.texi:12921
  24402. msgid "Network interface on which to listen."
  24403. msgstr ""
  24404. #. type: item
  24405. #: doc/guix.texi:12922
  24406. #, no-wrap
  24407. msgid "@code{port} (default: @code{6379})"
  24408. msgstr ""
  24409. #. type: table
  24410. #: doc/guix.texi:12925
  24411. msgid ""
  24412. "Port on which to accept connections on, a value of 0 will disable listening "
  24413. "on a TCP socket."
  24414. msgstr ""
  24415. #. type: item
  24416. #: doc/guix.texi:12926
  24417. #, no-wrap
  24418. msgid "@code{working-directory} (default: @code{\"/var/lib/redis\"})"
  24419. msgstr ""
  24420. #. type: table
  24421. #: doc/guix.texi:12928
  24422. msgid "Directory in which to store the database and related files."
  24423. msgstr ""
  24424. #. type: cindex
  24425. #: doc/guix.texi:12934
  24426. #, no-wrap
  24427. msgid "mail"
  24428. msgstr ""
  24429. #. type: code{#1}
  24430. #: doc/guix.texi:12935 doc/guix.texi:16030
  24431. #, no-wrap
  24432. msgid "email"
  24433. msgstr ""
  24434. #. type: Plain text
  24435. #: doc/guix.texi:12940
  24436. msgid ""
  24437. "The @code{(gnu services mail)} module provides Guix service definitions for "
  24438. "email services: IMAP, POP3, and LMTP servers, as well as mail transport "
  24439. "agents (MTAs). Lots of acronyms! These services are detailed in the "
  24440. "subsections below."
  24441. msgstr ""
  24442. #. type: subsubheading
  24443. #: doc/guix.texi:12941
  24444. #, no-wrap
  24445. msgid "Dovecot Service"
  24446. msgstr ""
  24447. #. type: deffn
  24448. #: doc/guix.texi:12943
  24449. #, no-wrap
  24450. msgid "{Scheme Procedure} dovecot-service [#:config (dovecot-configuration)]"
  24451. msgstr ""
  24452. #. type: deffn
  24453. #: doc/guix.texi:12945
  24454. msgid "Return a service that runs the Dovecot IMAP/POP3/LMTP mail server."
  24455. msgstr ""
  24456. #. type: Plain text
  24457. #: doc/guix.texi:12955
  24458. msgid ""
  24459. "By default, Dovecot does not need much configuration; the default "
  24460. "configuration object created by @code{(dovecot-configuration)} will suffice "
  24461. "if your mail is delivered to @code{~/Maildir}. A self-signed certificate "
  24462. "will be generated for TLS-protected connections, though Dovecot will also "
  24463. "listen on cleartext ports by default. There are a number of options, "
  24464. "though, which mail administrators might need to change, and as is the case "
  24465. "with other services, Guix allows the system administrator to specify these "
  24466. "parameters via a uniform Scheme interface."
  24467. msgstr ""
  24468. #. type: Plain text
  24469. #: doc/guix.texi:12958
  24470. msgid ""
  24471. "For example, to specify that mail is located at @code{maildir~/.mail}, one "
  24472. "would instantiate the Dovecot service like this:"
  24473. msgstr ""
  24474. #. type: example
  24475. #: doc/guix.texi:12963
  24476. #, no-wrap
  24477. msgid ""
  24478. "(dovecot-service #:config\n"
  24479. " (dovecot-configuration\n"
  24480. " (mail-location \"maildir:~/.mail\")))\n"
  24481. msgstr ""
  24482. #. type: Plain text
  24483. #: doc/guix.texi:12971
  24484. msgid ""
  24485. "The available configuration parameters follow. Each parameter definition is "
  24486. "preceded by its type; for example, @samp{string-list foo} indicates that the "
  24487. "@code{foo} parameter should be specified as a list of strings. There is "
  24488. "also a way to specify the configuration as a string, if you have an old "
  24489. "@code{dovecot.conf} file that you want to port over from some other system; "
  24490. "see the end for more details."
  24491. msgstr ""
  24492. #. type: Plain text
  24493. #: doc/guix.texi:12981
  24494. msgid "Available @code{dovecot-configuration} fields are:"
  24495. msgstr ""
  24496. #. type: deftypevr
  24497. #: doc/guix.texi:12982
  24498. #, no-wrap
  24499. msgid "{@code{dovecot-configuration} parameter} package dovecot"
  24500. msgstr ""
  24501. #. type: deftypevr
  24502. #: doc/guix.texi:12984 doc/guix.texi:14271
  24503. msgid "The dovecot package."
  24504. msgstr ""
  24505. #. type: deftypevr
  24506. #: doc/guix.texi:12986
  24507. #, no-wrap
  24508. msgid "{@code{dovecot-configuration} parameter} comma-separated-string-list listen"
  24509. msgstr ""
  24510. #. type: deftypevr
  24511. #: doc/guix.texi:12992
  24512. msgid ""
  24513. "A list of IPs or hosts where to listen for connections. @samp{*} listens on "
  24514. "all IPv4 interfaces, @samp{::} listens on all IPv6 interfaces. If you want "
  24515. "to specify non-default ports or anything more complex, customize the address "
  24516. "and port fields of the @samp{inet-listener} of the specific services you are "
  24517. "interested in."
  24518. msgstr ""
  24519. #. type: deftypevr
  24520. #: doc/guix.texi:12994
  24521. #, no-wrap
  24522. msgid "{@code{dovecot-configuration} parameter} protocol-configuration-list protocols"
  24523. msgstr ""
  24524. #. type: deftypevr
  24525. #: doc/guix.texi:12997
  24526. msgid ""
  24527. "List of protocols we want to serve. Available protocols include "
  24528. "@samp{imap}, @samp{pop3}, and @samp{lmtp}."
  24529. msgstr ""
  24530. #. type: deftypevr
  24531. #: doc/guix.texi:12999
  24532. msgid "Available @code{protocol-configuration} fields are:"
  24533. msgstr ""
  24534. #. type: deftypevr
  24535. #: doc/guix.texi:13000
  24536. #, no-wrap
  24537. msgid "{@code{protocol-configuration} parameter} string name"
  24538. msgstr ""
  24539. #. type: deftypevr
  24540. #: doc/guix.texi:13002
  24541. msgid "The name of the protocol."
  24542. msgstr ""
  24543. #. type: deftypevr
  24544. #: doc/guix.texi:13004
  24545. #, no-wrap
  24546. msgid "{@code{protocol-configuration} parameter} string auth-socket-path"
  24547. msgstr ""
  24548. #. type: deftypevr
  24549. #: doc/guix.texi:13008
  24550. msgid ""
  24551. "UNIX socket path to the master authentication server to find users. This is "
  24552. "used by imap (for shared users) and lda. It defaults to @samp{\"/var/run/"
  24553. "dovecot/auth-userdb\"}."
  24554. msgstr ""
  24555. #. type: deftypevr
  24556. #: doc/guix.texi:13010
  24557. #, no-wrap
  24558. msgid "{@code{protocol-configuration} parameter} space-separated-string-list mail-plugins"
  24559. msgstr ""
  24560. #. type: deftypevr
  24561. #: doc/guix.texi:13012
  24562. msgid "Space separated list of plugins to load."
  24563. msgstr ""
  24564. #. type: deftypevr
  24565. #: doc/guix.texi:13014
  24566. #, no-wrap
  24567. msgid "{@code{protocol-configuration} parameter} non-negative-integer mail-max-userip-connections"
  24568. msgstr ""
  24569. #. type: deftypevr
  24570. #: doc/guix.texi:13018
  24571. msgid ""
  24572. "Maximum number of IMAP connections allowed for a user from each IP address. "
  24573. "NOTE: The username is compared case-sensitively. Defaults to @samp{10}."
  24574. msgstr ""
  24575. #. type: deftypevr
  24576. #: doc/guix.texi:13022
  24577. #, no-wrap
  24578. msgid "{@code{dovecot-configuration} parameter} service-configuration-list services"
  24579. msgstr ""
  24580. #. type: deftypevr
  24581. #: doc/guix.texi:13026
  24582. msgid ""
  24583. "List of services to enable. Available services include @samp{imap}, "
  24584. "@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and "
  24585. "@samp{lmtp}."
  24586. msgstr ""
  24587. #. type: deftypevr
  24588. #: doc/guix.texi:13028
  24589. msgid "Available @code{service-configuration} fields are:"
  24590. msgstr ""
  24591. #. type: deftypevr
  24592. #: doc/guix.texi:13029
  24593. #, no-wrap
  24594. msgid "{@code{service-configuration} parameter} string kind"
  24595. msgstr ""
  24596. #. type: deftypevr
  24597. #: doc/guix.texi:13034
  24598. msgid ""
  24599. "The service kind. Valid values include @code{director}, @code{imap-login}, "
  24600. "@code{pop3-login}, @code{lmtp}, @code{imap}, @code{pop3}, @code{auth}, "
  24601. "@code{auth-worker}, @code{dict}, @code{tcpwrap}, @code{quota-warning}, or "
  24602. "anything else."
  24603. msgstr ""
  24604. #. type: deftypevr
  24605. #: doc/guix.texi:13036
  24606. #, no-wrap
  24607. msgid "{@code{service-configuration} parameter} listener-configuration-list listeners"
  24608. msgstr ""
  24609. #. type: deftypevr
  24610. #: doc/guix.texi:13041
  24611. msgid ""
  24612. "Listeners for the service. A listener is either a @code{unix-listener-"
  24613. "configuration}, a @code{fifo-listener-configuration}, or an @code{inet-"
  24614. "listener-configuration}. Defaults to @samp{()}."
  24615. msgstr ""
  24616. #. type: deftypevr
  24617. #: doc/guix.texi:13043
  24618. msgid "Available @code{unix-listener-configuration} fields are:"
  24619. msgstr ""
  24620. #. type: deftypevr
  24621. #: doc/guix.texi:13044
  24622. #, no-wrap
  24623. msgid "{@code{unix-listener-configuration} parameter} string path"
  24624. msgstr ""
  24625. #. type: deftypevr
  24626. #: doc/guix.texi:13047 doc/guix.texi:13070
  24627. msgid ""
  24628. "Path to the file, relative to @code{base-dir} field. This is also used as "
  24629. "the section name."
  24630. msgstr ""
  24631. #. type: deftypevr
  24632. #: doc/guix.texi:13049
  24633. #, no-wrap
  24634. msgid "{@code{unix-listener-configuration} parameter} string mode"
  24635. msgstr ""
  24636. #. type: deftypevr
  24637. #: doc/guix.texi:13052 doc/guix.texi:13075
  24638. msgid "The access mode for the socket. Defaults to @samp{\"0600\"}."
  24639. msgstr ""
  24640. #. type: deftypevr
  24641. #: doc/guix.texi:13054
  24642. #, no-wrap
  24643. msgid "{@code{unix-listener-configuration} parameter} string user"
  24644. msgstr ""
  24645. #. type: deftypevr
  24646. #: doc/guix.texi:13057 doc/guix.texi:13080
  24647. msgid "The user to own the socket. Defaults to @samp{\"\"}."
  24648. msgstr ""
  24649. #. type: deftypevr
  24650. #: doc/guix.texi:13059
  24651. #, no-wrap
  24652. msgid "{@code{unix-listener-configuration} parameter} string group"
  24653. msgstr ""
  24654. #. type: deftypevr
  24655. #: doc/guix.texi:13062 doc/guix.texi:13085
  24656. msgid "The group to own the socket. Defaults to @samp{\"\"}."
  24657. msgstr ""
  24658. #. type: deftypevr
  24659. #: doc/guix.texi:13066
  24660. msgid "Available @code{fifo-listener-configuration} fields are:"
  24661. msgstr ""
  24662. #. type: deftypevr
  24663. #: doc/guix.texi:13067
  24664. #, no-wrap
  24665. msgid "{@code{fifo-listener-configuration} parameter} string path"
  24666. msgstr ""
  24667. #. type: deftypevr
  24668. #: doc/guix.texi:13072
  24669. #, no-wrap
  24670. msgid "{@code{fifo-listener-configuration} parameter} string mode"
  24671. msgstr ""
  24672. #. type: deftypevr
  24673. #: doc/guix.texi:13077
  24674. #, no-wrap
  24675. msgid "{@code{fifo-listener-configuration} parameter} string user"
  24676. msgstr ""
  24677. #. type: deftypevr
  24678. #: doc/guix.texi:13082
  24679. #, no-wrap
  24680. msgid "{@code{fifo-listener-configuration} parameter} string group"
  24681. msgstr ""
  24682. #. type: deftypevr
  24683. #: doc/guix.texi:13089
  24684. msgid "Available @code{inet-listener-configuration} fields are:"
  24685. msgstr ""
  24686. #. type: deftypevr
  24687. #: doc/guix.texi:13090
  24688. #, no-wrap
  24689. msgid "{@code{inet-listener-configuration} parameter} string protocol"
  24690. msgstr ""
  24691. #. type: deftypevr
  24692. #: doc/guix.texi:13092
  24693. msgid "The protocol to listen for."
  24694. msgstr ""
  24695. #. type: deftypevr
  24696. #: doc/guix.texi:13094
  24697. #, no-wrap
  24698. msgid "{@code{inet-listener-configuration} parameter} string address"
  24699. msgstr ""
  24700. #. type: deftypevr
  24701. #: doc/guix.texi:13097
  24702. msgid ""
  24703. "The address on which to listen, or empty for all addresses. Defaults to "
  24704. "@samp{\"\"}."
  24705. msgstr ""
  24706. #. type: deftypevr
  24707. #: doc/guix.texi:13099
  24708. #, no-wrap
  24709. msgid "{@code{inet-listener-configuration} parameter} non-negative-integer port"
  24710. msgstr ""
  24711. #. type: deftypevr
  24712. #: doc/guix.texi:13101
  24713. msgid "The port on which to listen."
  24714. msgstr ""
  24715. #. type: deftypevr
  24716. #: doc/guix.texi:13103
  24717. #, no-wrap
  24718. msgid "{@code{inet-listener-configuration} parameter} boolean ssl?"
  24719. msgstr ""
  24720. #. type: deftypevr
  24721. #: doc/guix.texi:13107
  24722. msgid ""
  24723. "Whether to use SSL for this service; @samp{yes}, @samp{no}, or "
  24724. "@samp{required}. Defaults to @samp{#t}."
  24725. msgstr ""
  24726. #. type: deftypevr
  24727. #: doc/guix.texi:13111
  24728. #, no-wrap
  24729. msgid "{@code{service-configuration} parameter} non-negative-integer service-count"
  24730. msgstr ""
  24731. #. type: deftypevr
  24732. #: doc/guix.texi:13116
  24733. msgid ""
  24734. "Number of connections to handle before starting a new process. Typically "
  24735. "the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0 is "
  24736. "faster. <doc/wiki/LoginProcess.txt>. Defaults to @samp{1}."
  24737. msgstr ""
  24738. #. type: deftypevr
  24739. #: doc/guix.texi:13118
  24740. #, no-wrap
  24741. msgid "{@code{service-configuration} parameter} non-negative-integer process-min-avail"
  24742. msgstr ""
  24743. #. type: deftypevr
  24744. #: doc/guix.texi:13121
  24745. msgid ""
  24746. "Number of processes to always keep waiting for more connections. Defaults "
  24747. "to @samp{0}."
  24748. msgstr ""
  24749. #. type: deftypevr
  24750. #: doc/guix.texi:13123
  24751. #, no-wrap
  24752. msgid "{@code{service-configuration} parameter} non-negative-integer vsz-limit"
  24753. msgstr ""
  24754. #. type: deftypevr
  24755. #: doc/guix.texi:13127
  24756. msgid ""
  24757. "If you set @samp{service-count 0}, you probably need to grow this. Defaults "
  24758. "to @samp{256000000}."
  24759. msgstr ""
  24760. #. type: deftypevr
  24761. #: doc/guix.texi:13131
  24762. #, no-wrap
  24763. msgid "{@code{dovecot-configuration} parameter} dict-configuration dict"
  24764. msgstr ""
  24765. #. type: deftypevr
  24766. #: doc/guix.texi:13134
  24767. msgid ""
  24768. "Dict configuration, as created by the @code{dict-configuration} constructor."
  24769. msgstr ""
  24770. #. type: deftypevr
  24771. #: doc/guix.texi:13136
  24772. msgid "Available @code{dict-configuration} fields are:"
  24773. msgstr ""
  24774. #. type: deftypevr
  24775. #: doc/guix.texi:13137
  24776. #, no-wrap
  24777. msgid "{@code{dict-configuration} parameter} free-form-fields entries"
  24778. msgstr ""
  24779. #. type: deftypevr
  24780. #: doc/guix.texi:13140
  24781. msgid ""
  24782. "A list of key-value pairs that this dict should hold. Defaults to @samp{()}."
  24783. msgstr ""
  24784. #. type: deftypevr
  24785. #: doc/guix.texi:13144
  24786. #, no-wrap
  24787. msgid "{@code{dovecot-configuration} parameter} passdb-configuration-list passdbs"
  24788. msgstr ""
  24789. #. type: deftypevr
  24790. #: doc/guix.texi:13147
  24791. msgid ""
  24792. "A list of passdb configurations, each one created by the @code{passdb-"
  24793. "configuration} constructor."
  24794. msgstr ""
  24795. #. type: deftypevr
  24796. #: doc/guix.texi:13149
  24797. msgid "Available @code{passdb-configuration} fields are:"
  24798. msgstr ""
  24799. #. type: deftypevr
  24800. #: doc/guix.texi:13150
  24801. #, no-wrap
  24802. msgid "{@code{passdb-configuration} parameter} string driver"
  24803. msgstr ""
  24804. #. type: deftypevr
  24805. #: doc/guix.texi:13155
  24806. msgid ""
  24807. "The driver that the passdb should use. Valid values include @samp{pam}, "
  24808. "@samp{passwd}, @samp{shadow}, @samp{bsdauth}, and @samp{static}. Defaults "
  24809. "to @samp{\"pam\"}."
  24810. msgstr ""
  24811. #. type: deftypevr
  24812. #: doc/guix.texi:13157
  24813. #, no-wrap
  24814. msgid "{@code{passdb-configuration} parameter} space-separated-string-list args"
  24815. msgstr ""
  24816. #. type: deftypevr
  24817. #: doc/guix.texi:13160
  24818. msgid ""
  24819. "Space separated list of arguments to the passdb driver. Defaults to "
  24820. "@samp{\"\"}."
  24821. msgstr ""
  24822. #. type: deftypevr
  24823. #: doc/guix.texi:13164
  24824. #, no-wrap
  24825. msgid "{@code{dovecot-configuration} parameter} userdb-configuration-list userdbs"
  24826. msgstr ""
  24827. #. type: deftypevr
  24828. #: doc/guix.texi:13167
  24829. msgid ""
  24830. "List of userdb configurations, each one created by the @code{userdb-"
  24831. "configuration} constructor."
  24832. msgstr ""
  24833. #. type: deftypevr
  24834. #: doc/guix.texi:13169
  24835. msgid "Available @code{userdb-configuration} fields are:"
  24836. msgstr ""
  24837. #. type: deftypevr
  24838. #: doc/guix.texi:13170
  24839. #, no-wrap
  24840. msgid "{@code{userdb-configuration} parameter} string driver"
  24841. msgstr ""
  24842. #. type: deftypevr
  24843. #: doc/guix.texi:13174
  24844. msgid ""
  24845. "The driver that the userdb should use. Valid values include @samp{passwd} "
  24846. "and @samp{static}. Defaults to @samp{\"passwd\"}."
  24847. msgstr ""
  24848. #. type: deftypevr
  24849. #: doc/guix.texi:13176
  24850. #, no-wrap
  24851. msgid "{@code{userdb-configuration} parameter} space-separated-string-list args"
  24852. msgstr ""
  24853. #. type: deftypevr
  24854. #: doc/guix.texi:13179
  24855. msgid ""
  24856. "Space separated list of arguments to the userdb driver. Defaults to "
  24857. "@samp{\"\"}."
  24858. msgstr ""
  24859. #. type: deftypevr
  24860. #: doc/guix.texi:13181
  24861. #, no-wrap
  24862. msgid "{@code{userdb-configuration} parameter} free-form-args override-fields"
  24863. msgstr ""
  24864. #. type: deftypevr
  24865. #: doc/guix.texi:13184
  24866. msgid "Override fields from passwd. Defaults to @samp{()}."
  24867. msgstr ""
  24868. #. type: deftypevr
  24869. #: doc/guix.texi:13188
  24870. #, no-wrap
  24871. msgid "{@code{dovecot-configuration} parameter} plugin-configuration plugin-configuration"
  24872. msgstr ""
  24873. #. type: deftypevr
  24874. #: doc/guix.texi:13191
  24875. msgid ""
  24876. "Plug-in configuration, created by the @code{plugin-configuration} "
  24877. "constructor."
  24878. msgstr ""
  24879. #. type: deftypevr
  24880. #: doc/guix.texi:13193
  24881. #, no-wrap
  24882. msgid "{@code{dovecot-configuration} parameter} list-of-namespace-configuration namespaces"
  24883. msgstr ""
  24884. #. type: deftypevr
  24885. #: doc/guix.texi:13196
  24886. msgid ""
  24887. "List of namespaces. Each item in the list is created by the @code{namespace-"
  24888. "configuration} constructor."
  24889. msgstr ""
  24890. #. type: deftypevr
  24891. #: doc/guix.texi:13198
  24892. msgid "Available @code{namespace-configuration} fields are:"
  24893. msgstr ""
  24894. #. type: deftypevr
  24895. #: doc/guix.texi:13199
  24896. #, no-wrap
  24897. msgid "{@code{namespace-configuration} parameter} string name"
  24898. msgstr ""
  24899. #. type: deftypevr
  24900. #: doc/guix.texi:13201
  24901. msgid "Name for this namespace."
  24902. msgstr ""
  24903. #. type: deftypevr
  24904. #: doc/guix.texi:13203
  24905. #, no-wrap
  24906. msgid "{@code{namespace-configuration} parameter} string type"
  24907. msgstr ""
  24908. #. type: deftypevr
  24909. #: doc/guix.texi:13206
  24910. msgid ""
  24911. "Namespace type: @samp{private}, @samp{shared} or @samp{public}. Defaults to "
  24912. "@samp{\"private\"}."
  24913. msgstr ""
  24914. #. type: deftypevr
  24915. #: doc/guix.texi:13208
  24916. #, no-wrap
  24917. msgid "{@code{namespace-configuration} parameter} string separator"
  24918. msgstr ""
  24919. #. type: deftypevr
  24920. #: doc/guix.texi:13214
  24921. msgid ""
  24922. "Hierarchy separator to use. You should use the same separator for all "
  24923. "namespaces or some clients get confused. @samp{/} is usually a good one. "
  24924. "The default however depends on the underlying mail storage format. Defaults "
  24925. "to @samp{\"\"}."
  24926. msgstr ""
  24927. #. type: deftypevr
  24928. #: doc/guix.texi:13216
  24929. #, no-wrap
  24930. msgid "{@code{namespace-configuration} parameter} string prefix"
  24931. msgstr ""
  24932. #. type: deftypevr
  24933. #: doc/guix.texi:13220
  24934. msgid ""
  24935. "Prefix required to access this namespace. This needs to be different for "
  24936. "all namespaces. For example @samp{Public/}. Defaults to @samp{\"\"}."
  24937. msgstr ""
  24938. #. type: deftypevr
  24939. #: doc/guix.texi:13222
  24940. #, no-wrap
  24941. msgid "{@code{namespace-configuration} parameter} string location"
  24942. msgstr ""
  24943. #. type: deftypevr
  24944. #: doc/guix.texi:13226
  24945. msgid ""
  24946. "Physical location of the mailbox. This is in the same format as "
  24947. "mail_location, which is also the default for it. Defaults to @samp{\"\"}."
  24948. msgstr ""
  24949. #. type: deftypevr
  24950. #: doc/guix.texi:13228
  24951. #, no-wrap
  24952. msgid "{@code{namespace-configuration} parameter} boolean inbox?"
  24953. msgstr ""
  24954. #. type: deftypevr
  24955. #: doc/guix.texi:13232
  24956. msgid ""
  24957. "There can be only one INBOX, and this setting defines which namespace has "
  24958. "it. Defaults to @samp{#f}."
  24959. msgstr ""
  24960. #. type: deftypevr
  24961. #: doc/guix.texi:13234
  24962. #, no-wrap
  24963. msgid "{@code{namespace-configuration} parameter} boolean hidden?"
  24964. msgstr ""
  24965. #. type: deftypevr
  24966. #: doc/guix.texi:13242
  24967. msgid ""
  24968. "If namespace is hidden, it's not advertised to clients via NAMESPACE "
  24969. "extension. You'll most likely also want to set @samp{list? #f}. This is "
  24970. "mostly useful when converting from another server with different namespaces "
  24971. "which you want to deprecate but still keep working. For example you can "
  24972. "create hidden namespaces with prefixes @samp{~/mail/}, @samp{~%u/mail/} and "
  24973. "@samp{mail/}. Defaults to @samp{#f}."
  24974. msgstr ""
  24975. #. type: deftypevr
  24976. #: doc/guix.texi:13244
  24977. #, no-wrap
  24978. msgid "{@code{namespace-configuration} parameter} boolean list?"
  24979. msgstr ""
  24980. #. type: deftypevr
  24981. #: doc/guix.texi:13250
  24982. msgid ""
  24983. "Show the mailboxes under this namespace with the LIST command. This makes "
  24984. "the namespace visible for clients that do not support the NAMESPACE "
  24985. "extension. The special @code{children} value lists child mailboxes, but "
  24986. "hides the namespace prefix. Defaults to @samp{#t}."
  24987. msgstr ""
  24988. #. type: deftypevr
  24989. #: doc/guix.texi:13252
  24990. #, no-wrap
  24991. msgid "{@code{namespace-configuration} parameter} boolean subscriptions?"
  24992. msgstr ""
  24993. #. type: deftypevr
  24994. #: doc/guix.texi:13257
  24995. msgid ""
  24996. "Namespace handles its own subscriptions. If set to @code{#f}, the parent "
  24997. "namespace handles them. The empty prefix should always have this as "
  24998. "@code{#t}). Defaults to @samp{#t}."
  24999. msgstr ""
  25000. #. type: deftypevr
  25001. #: doc/guix.texi:13259
  25002. #, no-wrap
  25003. msgid "{@code{namespace-configuration} parameter} mailbox-configuration-list mailboxes"
  25004. msgstr ""
  25005. #. type: deftypevr
  25006. #: doc/guix.texi:13262
  25007. msgid "List of predefined mailboxes in this namespace. Defaults to @samp{()}."
  25008. msgstr ""
  25009. #. type: deftypevr
  25010. #: doc/guix.texi:13264
  25011. msgid "Available @code{mailbox-configuration} fields are:"
  25012. msgstr ""
  25013. #. type: deftypevr
  25014. #: doc/guix.texi:13265
  25015. #, no-wrap
  25016. msgid "{@code{mailbox-configuration} parameter} string name"
  25017. msgstr ""
  25018. #. type: deftypevr
  25019. #: doc/guix.texi:13267
  25020. msgid "Name for this mailbox."
  25021. msgstr ""
  25022. #. type: deftypevr
  25023. #: doc/guix.texi:13269
  25024. #, no-wrap
  25025. msgid "{@code{mailbox-configuration} parameter} string auto"
  25026. msgstr ""
  25027. #. type: deftypevr
  25028. #: doc/guix.texi:13273
  25029. msgid ""
  25030. "@samp{create} will automatically create this mailbox. @samp{subscribe} will "
  25031. "both create and subscribe to the mailbox. Defaults to @samp{\"no\"}."
  25032. msgstr ""
  25033. #. type: deftypevr
  25034. #: doc/guix.texi:13275
  25035. #, no-wrap
  25036. msgid "{@code{mailbox-configuration} parameter} space-separated-string-list special-use"
  25037. msgstr ""
  25038. #. type: deftypevr
  25039. #: doc/guix.texi:13280
  25040. msgid ""
  25041. "List of IMAP @code{SPECIAL-USE} attributes as specified by RFC 6154. Valid "
  25042. "values are @code{\\All}, @code{\\Archive}, @code{\\Drafts}, "
  25043. "@code{\\Flagged}, @code{\\Junk}, @code{\\Sent}, and @code{\\Trash}. "
  25044. "Defaults to @samp{()}."
  25045. msgstr ""
  25046. #. type: deftypevr
  25047. #: doc/guix.texi:13286
  25048. #, no-wrap
  25049. msgid "{@code{dovecot-configuration} parameter} file-name base-dir"
  25050. msgstr ""
  25051. #. type: deftypevr
  25052. #: doc/guix.texi:13289
  25053. msgid ""
  25054. "Base directory where to store runtime data. Defaults to @samp{\"/var/run/"
  25055. "dovecot/\"}."
  25056. msgstr ""
  25057. #. type: deftypevr
  25058. #: doc/guix.texi:13291
  25059. #, no-wrap
  25060. msgid "{@code{dovecot-configuration} parameter} string login-greeting"
  25061. msgstr ""
  25062. #. type: deftypevr
  25063. #: doc/guix.texi:13294
  25064. msgid "Greeting message for clients. Defaults to @samp{\"Dovecot ready.\"}."
  25065. msgstr ""
  25066. #. type: deftypevr
  25067. #: doc/guix.texi:13296
  25068. #, no-wrap
  25069. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-trusted-networks"
  25070. msgstr ""
  25071. #. type: deftypevr
  25072. #: doc/guix.texi:13303
  25073. msgid ""
  25074. "List of trusted network ranges. Connections from these IPs are allowed to "
  25075. "override their IP addresses and ports (for logging and for authentication "
  25076. "checks). @samp{disable-plaintext-auth} is also ignored for these networks. "
  25077. "Typically you would specify your IMAP proxy servers here. Defaults to "
  25078. "@samp{()}."
  25079. msgstr ""
  25080. #. type: deftypevr
  25081. #: doc/guix.texi:13305
  25082. #, no-wrap
  25083. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-access-sockets"
  25084. msgstr ""
  25085. #. type: deftypevr
  25086. #: doc/guix.texi:13308
  25087. msgid ""
  25088. "List of login access check sockets (e.g. tcpwrap). Defaults to @samp{()}."
  25089. msgstr ""
  25090. #. type: deftypevr
  25091. #: doc/guix.texi:13310
  25092. #, no-wrap
  25093. msgid "{@code{dovecot-configuration} parameter} boolean verbose-proctitle?"
  25094. msgstr ""
  25095. #. type: deftypevr
  25096. #: doc/guix.texi:13316
  25097. msgid ""
  25098. "Show more verbose process titles (in ps). Currently shows user name and IP "
  25099. "address. Useful for seeing who is actually using the IMAP processes (e.g. "
  25100. "shared mailboxes or if the same uid is used for multiple accounts). "
  25101. "Defaults to @samp{#f}."
  25102. msgstr ""
  25103. #. type: deftypevr
  25104. #: doc/guix.texi:13318
  25105. #, no-wrap
  25106. msgid "{@code{dovecot-configuration} parameter} boolean shutdown-clients?"
  25107. msgstr ""
  25108. #. type: deftypevr
  25109. #: doc/guix.texi:13324
  25110. msgid ""
  25111. "Should all processes be killed when Dovecot master process shuts down. "
  25112. "Setting this to @code{#f} means that Dovecot can be upgraded without forcing "
  25113. "existing client connections to close (although that could also be a problem "
  25114. "if the upgrade is e.g. due to a security fix). Defaults to @samp{#t}."
  25115. msgstr ""
  25116. #. type: deftypevr
  25117. #: doc/guix.texi:13326
  25118. #, no-wrap
  25119. msgid "{@code{dovecot-configuration} parameter} non-negative-integer doveadm-worker-count"
  25120. msgstr ""
  25121. #. type: deftypevr
  25122. #: doc/guix.texi:13330
  25123. msgid ""
  25124. "If non-zero, run mail commands via this many connections to doveadm server, "
  25125. "instead of running them directly in the same process. Defaults to @samp{0}."
  25126. msgstr ""
  25127. #. type: deftypevr
  25128. #: doc/guix.texi:13332
  25129. #, no-wrap
  25130. msgid "{@code{dovecot-configuration} parameter} string doveadm-socket-path"
  25131. msgstr ""
  25132. #. type: deftypevr
  25133. #: doc/guix.texi:13335
  25134. msgid ""
  25135. "UNIX socket or host:port used for connecting to doveadm server. Defaults to "
  25136. "@samp{\"doveadm-server\"}."
  25137. msgstr ""
  25138. #. type: deftypevr
  25139. #: doc/guix.texi:13337
  25140. #, no-wrap
  25141. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list import-environment"
  25142. msgstr ""
  25143. #. type: deftypevr
  25144. #: doc/guix.texi:13341
  25145. msgid ""
  25146. "List of environment variables that are preserved on Dovecot startup and "
  25147. "passed down to all of its child processes. You can also give key=value "
  25148. "pairs to always set specific settings."
  25149. msgstr ""
  25150. #. type: deftypevr
  25151. #: doc/guix.texi:13343
  25152. #, no-wrap
  25153. msgid "{@code{dovecot-configuration} parameter} boolean disable-plaintext-auth?"
  25154. msgstr ""
  25155. #. type: deftypevr
  25156. #: doc/guix.texi:13350
  25157. msgid ""
  25158. "Disable LOGIN command and all other plaintext authentications unless SSL/TLS "
  25159. "is used (LOGINDISABLED capability). Note that if the remote IP matches the "
  25160. "local IP (i.e. you're connecting from the same computer), the connection is "
  25161. "considered secure and plaintext authentication is allowed. See also "
  25162. "ssl=required setting. Defaults to @samp{#t}."
  25163. msgstr ""
  25164. #. type: deftypevr
  25165. #: doc/guix.texi:13352
  25166. #, no-wrap
  25167. msgid "{@code{dovecot-configuration} parameter} non-negative-integer auth-cache-size"
  25168. msgstr ""
  25169. #. type: deftypevr
  25170. #: doc/guix.texi:13357
  25171. msgid ""
  25172. "Authentication cache size (e.g. @samp{#e10e6}). 0 means it's disabled. "
  25173. "Note that bsdauth, PAM and vpopmail require @samp{cache-key} to be set for "
  25174. "caching to be used. Defaults to @samp{0}."
  25175. msgstr ""
  25176. #. type: deftypevr
  25177. #: doc/guix.texi:13359
  25178. #, no-wrap
  25179. msgid "{@code{dovecot-configuration} parameter} string auth-cache-ttl"
  25180. msgstr ""
  25181. #. type: deftypevr
  25182. #: doc/guix.texi:13367
  25183. msgid ""
  25184. "Time to live for cached data. After TTL expires the cached record is no "
  25185. "longer used, *except* if the main database lookup returns internal failure. "
  25186. "We also try to handle password changes automatically: If user's previous "
  25187. "authentication was successful, but this one wasn't, the cache isn't used. "
  25188. "For now this works only with plaintext authentication. Defaults to "
  25189. "@samp{\"1 hour\"}."
  25190. msgstr ""
  25191. #. type: deftypevr
  25192. #: doc/guix.texi:13369
  25193. #, no-wrap
  25194. msgid "{@code{dovecot-configuration} parameter} string auth-cache-negative-ttl"
  25195. msgstr ""
  25196. #. type: deftypevr
  25197. #: doc/guix.texi:13373
  25198. msgid ""
  25199. "TTL for negative hits (user not found, password mismatch). 0 disables "
  25200. "caching them completely. Defaults to @samp{\"1 hour\"}."
  25201. msgstr ""
  25202. #. type: deftypevr
  25203. #: doc/guix.texi:13375
  25204. #, no-wrap
  25205. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list auth-realms"
  25206. msgstr ""
  25207. #. type: deftypevr
  25208. #: doc/guix.texi:13381
  25209. msgid ""
  25210. "List of realms for SASL authentication mechanisms that need them. You can "
  25211. "leave it empty if you don't want to support multiple realms. Many clients "
  25212. "simply use the first one listed here, so keep the default realm first. "
  25213. "Defaults to @samp{()}."
  25214. msgstr ""
  25215. #. type: deftypevr
  25216. #: doc/guix.texi:13383
  25217. #, no-wrap
  25218. msgid "{@code{dovecot-configuration} parameter} string auth-default-realm"
  25219. msgstr ""
  25220. #. type: deftypevr
  25221. #: doc/guix.texi:13388
  25222. msgid ""
  25223. "Default realm/domain to use if none was specified. This is used for both "
  25224. "SASL realms and appending @@domain to username in plaintext logins. "
  25225. "Defaults to @samp{\"\"}."
  25226. msgstr ""
  25227. #. type: deftypevr
  25228. #: doc/guix.texi:13390
  25229. #, no-wrap
  25230. msgid "{@code{dovecot-configuration} parameter} string auth-username-chars"
  25231. msgstr ""
  25232. #. type: deftypevr
  25233. #: doc/guix.texi:13397
  25234. msgid ""
  25235. "List of allowed characters in username. If the user-given username contains "
  25236. "a character not listed in here, the login automatically fails. This is just "
  25237. "an extra check to make sure user can't exploit any potential quote escaping "
  25238. "vulnerabilities with SQL/LDAP databases. If you want to allow all "
  25239. "characters, set this value to empty. Defaults to "
  25240. "@samp{\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@@"
  25241. "\"}."
  25242. msgstr ""
  25243. #. type: deftypevr
  25244. #: doc/guix.texi:13399
  25245. #, no-wrap
  25246. msgid "{@code{dovecot-configuration} parameter} string auth-username-translation"
  25247. msgstr ""
  25248. #. type: deftypevr
  25249. #: doc/guix.texi:13405
  25250. msgid ""
  25251. "Username character translations before it's looked up from databases. The "
  25252. "value contains series of from -> to characters. For example @samp{#@@/@@} "
  25253. "means that @samp{#} and @samp{/} characters are translated to @samp{@@}. "
  25254. "Defaults to @samp{\"\"}."
  25255. msgstr ""
  25256. #. type: deftypevr
  25257. #: doc/guix.texi:13407
  25258. #, no-wrap
  25259. msgid "{@code{dovecot-configuration} parameter} string auth-username-format"
  25260. msgstr ""
  25261. #. type: deftypevr
  25262. #: doc/guix.texi:13414
  25263. msgid ""
  25264. "Username formatting before it's looked up from databases. You can use the "
  25265. "standard variables here, e.g. %Lu would lowercase the username, %n would "
  25266. "drop away the domain if it was given, or @samp{%n-AT-%d} would change the "
  25267. "@samp{@@} into @samp{-AT-}. This translation is done after @samp{auth-"
  25268. "username-translation} changes. Defaults to @samp{\"%Lu\"}."
  25269. msgstr ""
  25270. #. type: deftypevr
  25271. #: doc/guix.texi:13416
  25272. #, no-wrap
  25273. msgid "{@code{dovecot-configuration} parameter} string auth-master-user-separator"
  25274. msgstr ""
  25275. #. type: deftypevr
  25276. #: doc/guix.texi:13424
  25277. msgid ""
  25278. "If you want to allow master users to log in by specifying the master "
  25279. "username within the normal username string (i.e. not using SASL mechanism's "
  25280. "support for it), you can specify the separator character here. The format "
  25281. "is then <username><separator><master username>. UW-IMAP uses @samp{*} as "
  25282. "the separator, so that could be a good choice. Defaults to @samp{\"\"}."
  25283. msgstr ""
  25284. #. type: deftypevr
  25285. #: doc/guix.texi:13426
  25286. #, no-wrap
  25287. msgid "{@code{dovecot-configuration} parameter} string auth-anonymous-username"
  25288. msgstr ""
  25289. #. type: deftypevr
  25290. #: doc/guix.texi:13430
  25291. msgid ""
  25292. "Username to use for users logging in with ANONYMOUS SASL mechanism. "
  25293. "Defaults to @samp{\"anonymous\"}."
  25294. msgstr ""
  25295. #. type: deftypevr
  25296. #: doc/guix.texi:13432
  25297. #, no-wrap
  25298. msgid "{@code{dovecot-configuration} parameter} non-negative-integer auth-worker-max-count"
  25299. msgstr ""
  25300. #. type: deftypevr
  25301. #: doc/guix.texi:13437
  25302. msgid ""
  25303. "Maximum number of dovecot-auth worker processes. They're used to execute "
  25304. "blocking passdb and userdb queries (e.g. MySQL and PAM). They're "
  25305. "automatically created and destroyed as needed. Defaults to @samp{30}."
  25306. msgstr ""
  25307. #. type: deftypevr
  25308. #: doc/guix.texi:13439
  25309. #, no-wrap
  25310. msgid "{@code{dovecot-configuration} parameter} string auth-gssapi-hostname"
  25311. msgstr ""
  25312. #. type: deftypevr
  25313. #: doc/guix.texi:13444
  25314. msgid ""
  25315. "Host name to use in GSSAPI principal names. The default is to use the name "
  25316. "returned by gethostname(). Use @samp{$ALL} (with quotes) to allow all "
  25317. "keytab entries. Defaults to @samp{\"\"}."
  25318. msgstr ""
  25319. #. type: deftypevr
  25320. #: doc/guix.texi:13446
  25321. #, no-wrap
  25322. msgid "{@code{dovecot-configuration} parameter} string auth-krb5-keytab"
  25323. msgstr ""
  25324. #. type: deftypevr
  25325. #: doc/guix.texi:13452
  25326. msgid ""
  25327. "Kerberos keytab to use for the GSSAPI mechanism. Will use the system "
  25328. "default (usually @file{/etc/krb5.keytab}) if not specified. You may need to "
  25329. "change the auth service to run as root to be able to read this file. "
  25330. "Defaults to @samp{\"\"}."
  25331. msgstr ""
  25332. #. type: deftypevr
  25333. #: doc/guix.texi:13454
  25334. #, no-wrap
  25335. msgid "{@code{dovecot-configuration} parameter} boolean auth-use-winbind?"
  25336. msgstr ""
  25337. #. type: deftypevr
  25338. #: doc/guix.texi:13459
  25339. msgid ""
  25340. "Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and "
  25341. "@samp{ntlm-auth} helper. <doc/wiki/Authentication/Mechanisms/Winbind.txt>. "
  25342. "Defaults to @samp{#f}."
  25343. msgstr ""
  25344. #. type: deftypevr
  25345. #: doc/guix.texi:13461
  25346. #, no-wrap
  25347. msgid "{@code{dovecot-configuration} parameter} file-name auth-winbind-helper-path"
  25348. msgstr ""
  25349. #. type: deftypevr
  25350. #: doc/guix.texi:13464
  25351. msgid ""
  25352. "Path for Samba's @samp{ntlm-auth} helper binary. Defaults to @samp{\"/usr/"
  25353. "bin/ntlm_auth\"}."
  25354. msgstr ""
  25355. #. type: deftypevr
  25356. #: doc/guix.texi:13466
  25357. #, no-wrap
  25358. msgid "{@code{dovecot-configuration} parameter} string auth-failure-delay"
  25359. msgstr ""
  25360. #. type: deftypevr
  25361. #: doc/guix.texi:13469
  25362. msgid ""
  25363. "Time to delay before replying to failed authentications. Defaults to "
  25364. "@samp{\"2 secs\"}."
  25365. msgstr ""
  25366. #. type: deftypevr
  25367. #: doc/guix.texi:13471
  25368. #, no-wrap
  25369. msgid "{@code{dovecot-configuration} parameter} boolean auth-ssl-require-client-cert?"
  25370. msgstr ""
  25371. #. type: deftypevr
  25372. #: doc/guix.texi:13475
  25373. msgid ""
  25374. "Require a valid SSL client certificate or the authentication fails. "
  25375. "Defaults to @samp{#f}."
  25376. msgstr ""
  25377. #. type: deftypevr
  25378. #: doc/guix.texi:13477
  25379. #, no-wrap
  25380. msgid "{@code{dovecot-configuration} parameter} boolean auth-ssl-username-from-cert?"
  25381. msgstr ""
  25382. #. type: deftypevr
  25383. #: doc/guix.texi:13482
  25384. msgid ""
  25385. "Take the username from client's SSL certificate, using "
  25386. "@code{X509_NAME_get_text_by_NID()} which returns the subject's DN's "
  25387. "CommonName. Defaults to @samp{#f}."
  25388. msgstr ""
  25389. #. type: deftypevr
  25390. #: doc/guix.texi:13484
  25391. #, no-wrap
  25392. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list auth-mechanisms"
  25393. msgstr ""
  25394. #. type: deftypevr
  25395. #: doc/guix.texi:13490
  25396. msgid ""
  25397. "List of wanted authentication mechanisms. Supported mechanisms are: "
  25398. "@samp{plain}, @samp{login}, @samp{digest-md5}, @samp{cram-md5}, @samp{ntlm}, "
  25399. "@samp{rpa}, @samp{apop}, @samp{anonymous}, @samp{gssapi}, @samp{otp}, "
  25400. "@samp{skey}, and @samp{gss-spnego}. NOTE: See also @samp{disable-plaintext-"
  25401. "auth} setting."
  25402. msgstr ""
  25403. #. type: deftypevr
  25404. #: doc/guix.texi:13492
  25405. #, no-wrap
  25406. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list director-servers"
  25407. msgstr ""
  25408. #. type: deftypevr
  25409. #: doc/guix.texi:13497
  25410. msgid ""
  25411. "List of IPs or hostnames to all director servers, including ourself. Ports "
  25412. "can be specified as ip:port. The default port is the same as what director "
  25413. "service's @samp{inet-listener} is using. Defaults to @samp{()}."
  25414. msgstr ""
  25415. #. type: deftypevr
  25416. #: doc/guix.texi:13499
  25417. #, no-wrap
  25418. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list director-mail-servers"
  25419. msgstr ""
  25420. #. type: deftypevr
  25421. #: doc/guix.texi:13503
  25422. msgid ""
  25423. "List of IPs or hostnames to all backend mail servers. Ranges are allowed "
  25424. "too, like 10.0.0.10-10.0.0.30. Defaults to @samp{()}."
  25425. msgstr ""
  25426. #. type: deftypevr
  25427. #: doc/guix.texi:13505
  25428. #, no-wrap
  25429. msgid "{@code{dovecot-configuration} parameter} string director-user-expire"
  25430. msgstr ""
  25431. #. type: deftypevr
  25432. #: doc/guix.texi:13509
  25433. msgid ""
  25434. "How long to redirect users to a specific server after it no longer has any "
  25435. "connections. Defaults to @samp{\"15 min\"}."
  25436. msgstr ""
  25437. #. type: deftypevr
  25438. #: doc/guix.texi:13511
  25439. #, no-wrap
  25440. msgid "{@code{dovecot-configuration} parameter} string director-username-hash"
  25441. msgstr ""
  25442. #. type: deftypevr
  25443. #: doc/guix.texi:13516
  25444. msgid ""
  25445. "How the username is translated before being hashed. Useful values include "
  25446. "%Ln if user can log in with or without @@domain, %Ld if mailboxes are shared "
  25447. "within domain. Defaults to @samp{\"%Lu\"}."
  25448. msgstr ""
  25449. #. type: deftypevr
  25450. #: doc/guix.texi:13518
  25451. #, no-wrap
  25452. msgid "{@code{dovecot-configuration} parameter} string log-path"
  25453. msgstr ""
  25454. #. type: deftypevr
  25455. #: doc/guix.texi:13522
  25456. msgid ""
  25457. "Log file to use for error messages. @samp{syslog} logs to syslog, @samp{/"
  25458. "dev/stderr} logs to stderr. Defaults to @samp{\"syslog\"}."
  25459. msgstr ""
  25460. #. type: deftypevr
  25461. #: doc/guix.texi:13524
  25462. #, no-wrap
  25463. msgid "{@code{dovecot-configuration} parameter} string info-log-path"
  25464. msgstr ""
  25465. #. type: deftypevr
  25466. #: doc/guix.texi:13528
  25467. msgid ""
  25468. "Log file to use for informational messages. Defaults to @samp{log-path}. "
  25469. "Defaults to @samp{\"\"}."
  25470. msgstr ""
  25471. #. type: deftypevr
  25472. #: doc/guix.texi:13530
  25473. #, no-wrap
  25474. msgid "{@code{dovecot-configuration} parameter} string debug-log-path"
  25475. msgstr ""
  25476. #. type: deftypevr
  25477. #: doc/guix.texi:13534
  25478. msgid ""
  25479. "Log file to use for debug messages. Defaults to @samp{info-log-path}. "
  25480. "Defaults to @samp{\"\"}."
  25481. msgstr ""
  25482. #. type: deftypevr
  25483. #: doc/guix.texi:13536
  25484. #, no-wrap
  25485. msgid "{@code{dovecot-configuration} parameter} string syslog-facility"
  25486. msgstr ""
  25487. #. type: deftypevr
  25488. #: doc/guix.texi:13541
  25489. msgid ""
  25490. "Syslog facility to use if you're logging to syslog. Usually if you don't "
  25491. "want to use @samp{mail}, you'll use local0..local7. Also other standard "
  25492. "facilities are supported. Defaults to @samp{\"mail\"}."
  25493. msgstr ""
  25494. #. type: deftypevr
  25495. #: doc/guix.texi:13543
  25496. #, no-wrap
  25497. msgid "{@code{dovecot-configuration} parameter} boolean auth-verbose?"
  25498. msgstr ""
  25499. #. type: deftypevr
  25500. #: doc/guix.texi:13547
  25501. msgid ""
  25502. "Log unsuccessful authentication attempts and the reasons why they failed. "
  25503. "Defaults to @samp{#f}."
  25504. msgstr ""
  25505. #. type: deftypevr
  25506. #: doc/guix.texi:13549
  25507. #, no-wrap
  25508. msgid "{@code{dovecot-configuration} parameter} boolean auth-verbose-passwords?"
  25509. msgstr ""
  25510. #. type: deftypevr
  25511. #: doc/guix.texi:13556
  25512. msgid ""
  25513. "In case of password mismatches, log the attempted password. Valid values "
  25514. "are no, plain and sha1. sha1 can be useful for detecting brute force "
  25515. "password attempts vs. user simply trying the same password over and over "
  25516. "again. You can also truncate the value to n chars by appending \":n\" (e.g. "
  25517. "sha1:6). Defaults to @samp{#f}."
  25518. msgstr ""
  25519. #. type: deftypevr
  25520. #: doc/guix.texi:13558
  25521. #, no-wrap
  25522. msgid "{@code{dovecot-configuration} parameter} boolean auth-debug?"
  25523. msgstr ""
  25524. #. type: deftypevr
  25525. #: doc/guix.texi:13562
  25526. msgid ""
  25527. "Even more verbose logging for debugging purposes. Shows for example SQL "
  25528. "queries. Defaults to @samp{#f}."
  25529. msgstr ""
  25530. #. type: deftypevr
  25531. #: doc/guix.texi:13564
  25532. #, no-wrap
  25533. msgid "{@code{dovecot-configuration} parameter} boolean auth-debug-passwords?"
  25534. msgstr ""
  25535. #. type: deftypevr
  25536. #: doc/guix.texi:13569
  25537. msgid ""
  25538. "In case of password mismatches, log the passwords and used scheme so the "
  25539. "problem can be debugged. Enabling this also enables @samp{auth-debug}. "
  25540. "Defaults to @samp{#f}."
  25541. msgstr ""
  25542. #. type: deftypevr
  25543. #: doc/guix.texi:13571
  25544. #, no-wrap
  25545. msgid "{@code{dovecot-configuration} parameter} boolean mail-debug?"
  25546. msgstr ""
  25547. #. type: deftypevr
  25548. #: doc/guix.texi:13575
  25549. msgid ""
  25550. "Enable mail process debugging. This can help you figure out why Dovecot "
  25551. "isn't finding your mails. Defaults to @samp{#f}."
  25552. msgstr ""
  25553. #. type: deftypevr
  25554. #: doc/guix.texi:13577
  25555. #, no-wrap
  25556. msgid "{@code{dovecot-configuration} parameter} boolean verbose-ssl?"
  25557. msgstr ""
  25558. #. type: deftypevr
  25559. #: doc/guix.texi:13580
  25560. msgid "Show protocol level SSL errors. Defaults to @samp{#f}."
  25561. msgstr ""
  25562. #. type: deftypevr
  25563. #: doc/guix.texi:13582
  25564. #, no-wrap
  25565. msgid "{@code{dovecot-configuration} parameter} string log-timestamp"
  25566. msgstr ""
  25567. #. type: deftypevr
  25568. #: doc/guix.texi:13586
  25569. msgid ""
  25570. "Prefix for each line written to log file. % codes are in strftime(3) "
  25571. "format. Defaults to @samp{\"\\\"%b %d %H:%M:%S \\\"\"}."
  25572. msgstr ""
  25573. #. type: deftypevr
  25574. #: doc/guix.texi:13588
  25575. #, no-wrap
  25576. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-log-format-elements"
  25577. msgstr ""
  25578. #. type: deftypevr
  25579. #: doc/guix.texi:13592
  25580. msgid ""
  25581. "List of elements we want to log. The elements which have a non-empty "
  25582. "variable value are joined together to form a comma-separated string."
  25583. msgstr ""
  25584. #. type: deftypevr
  25585. #: doc/guix.texi:13594
  25586. #, no-wrap
  25587. msgid "{@code{dovecot-configuration} parameter} string login-log-format"
  25588. msgstr ""
  25589. #. type: deftypevr
  25590. #: doc/guix.texi:13598
  25591. msgid ""
  25592. "Login log format. %s contains @samp{login-log-format-elements} string, %$ "
  25593. "contains the data we want to log. Defaults to @samp{\"%$: %s\"}."
  25594. msgstr ""
  25595. #. type: deftypevr
  25596. #: doc/guix.texi:13600
  25597. #, no-wrap
  25598. msgid "{@code{dovecot-configuration} parameter} string mail-log-prefix"
  25599. msgstr ""
  25600. #. type: deftypevr
  25601. #: doc/guix.texi:13604
  25602. msgid ""
  25603. "Log prefix for mail processes. See doc/wiki/Variables.txt for list of "
  25604. "possible variables you can use. Defaults to @samp{\"\\\"%s(%u)<%@{pid@}><"
  25605. "%@{session@}>: \\\"\"}."
  25606. msgstr ""
  25607. #. type: deftypevr
  25608. #: doc/guix.texi:13606
  25609. #, no-wrap
  25610. msgid "{@code{dovecot-configuration} parameter} string deliver-log-format"
  25611. msgstr ""
  25612. #. type: deftypevr
  25613. #: doc/guix.texi:13608
  25614. msgid "Format to use for logging mail deliveries. You can use variables:"
  25615. msgstr ""
  25616. #. type: item
  25617. #: doc/guix.texi:13609
  25618. #, no-wrap
  25619. msgid "%$"
  25620. msgstr ""
  25621. #. type: table
  25622. #: doc/guix.texi:13611
  25623. msgid "Delivery status message (e.g. @samp{saved to INBOX})"
  25624. msgstr ""
  25625. #. type: item
  25626. #: doc/guix.texi:13611
  25627. #, no-wrap
  25628. msgid "%m"
  25629. msgstr ""
  25630. #. type: table
  25631. #: doc/guix.texi:13613
  25632. msgid "Message-ID"
  25633. msgstr ""
  25634. #. type: item
  25635. #: doc/guix.texi:13613 doc/guix.texi:14145
  25636. #, no-wrap
  25637. msgid "%s"
  25638. msgstr ""
  25639. #. type: table
  25640. #: doc/guix.texi:13615
  25641. msgid "Subject"
  25642. msgstr ""
  25643. #. type: item
  25644. #: doc/guix.texi:13615
  25645. #, no-wrap
  25646. msgid "%f"
  25647. msgstr ""
  25648. #. type: table
  25649. #: doc/guix.texi:13617
  25650. msgid "From address"
  25651. msgstr ""
  25652. #. type: table
  25653. #: doc/guix.texi:13619
  25654. msgid "Physical size"
  25655. msgstr ""
  25656. #. type: item
  25657. #: doc/guix.texi:13619
  25658. #, no-wrap
  25659. msgid "%w"
  25660. msgstr ""
  25661. #. type: table
  25662. #: doc/guix.texi:13621
  25663. msgid "Virtual size."
  25664. msgstr ""
  25665. #. type: deftypevr
  25666. #: doc/guix.texi:13623
  25667. msgid "Defaults to @samp{\"msgid=%m: %$\"}."
  25668. msgstr ""
  25669. #. type: deftypevr
  25670. #: doc/guix.texi:13625
  25671. #, no-wrap
  25672. msgid "{@code{dovecot-configuration} parameter} string mail-location"
  25673. msgstr ""
  25674. #. type: deftypevr
  25675. #: doc/guix.texi:13630
  25676. msgid ""
  25677. "Location for users' mailboxes. The default is empty, which means that "
  25678. "Dovecot tries to find the mailboxes automatically. This won't work if the "
  25679. "user doesn't yet have any mail, so you should explicitly tell Dovecot the "
  25680. "full location."
  25681. msgstr ""
  25682. #. type: deftypevr
  25683. #: doc/guix.texi:13636
  25684. msgid ""
  25685. "If you're using mbox, giving a path to the INBOX file (e.g. /var/mail/%u) "
  25686. "isn't enough. You'll also need to tell Dovecot where the other mailboxes "
  25687. "are kept. This is called the \"root mail directory\", and it must be the "
  25688. "first path given in the @samp{mail-location} setting."
  25689. msgstr ""
  25690. #. type: deftypevr
  25691. #: doc/guix.texi:13638
  25692. msgid "There are a few special variables you can use, eg.:"
  25693. msgstr ""
  25694. #. type: table
  25695. #: doc/guix.texi:13642
  25696. msgid "username"
  25697. msgstr ""
  25698. #. type: item
  25699. #: doc/guix.texi:13642 doc/guix.texi:14141
  25700. #, no-wrap
  25701. msgid "%n"
  25702. msgstr ""
  25703. #. type: table
  25704. #: doc/guix.texi:13644
  25705. msgid "user part in user@@domain, same as %u if there's no domain"
  25706. msgstr ""
  25707. #. type: item
  25708. #: doc/guix.texi:13644
  25709. #, no-wrap
  25710. msgid "%d"
  25711. msgstr ""
  25712. #. type: table
  25713. #: doc/guix.texi:13646
  25714. msgid "domain part in user@@domain, empty if there's no domain"
  25715. msgstr ""
  25716. #. type: item
  25717. #: doc/guix.texi:13646
  25718. #, no-wrap
  25719. msgid "%h"
  25720. msgstr ""
  25721. #. type: table
  25722. #: doc/guix.texi:13648
  25723. msgid "home director"
  25724. msgstr ""
  25725. #. type: deftypevr
  25726. #: doc/guix.texi:13651
  25727. msgid "See doc/wiki/Variables.txt for full list. Some examples:"
  25728. msgstr ""
  25729. #. type: item
  25730. #: doc/guix.texi:13652
  25731. #, no-wrap
  25732. msgid "maildir:~/Maildir"
  25733. msgstr ""
  25734. #. type: item
  25735. #: doc/guix.texi:13653
  25736. #, no-wrap
  25737. msgid "mbox:~/mail:INBOX=/var/mail/%u"
  25738. msgstr ""
  25739. #. type: item
  25740. #: doc/guix.texi:13654
  25741. #, no-wrap
  25742. msgid "mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%"
  25743. msgstr ""
  25744. #. type: deftypevr
  25745. #: doc/guix.texi:13659
  25746. #, no-wrap
  25747. msgid "{@code{dovecot-configuration} parameter} string mail-uid"
  25748. msgstr ""
  25749. #. type: deftypevr
  25750. #: doc/guix.texi:13664
  25751. msgid ""
  25752. "System user and group used to access mails. If you use multiple, userdb can "
  25753. "override these by returning uid or gid fields. You can use either numbers "
  25754. "or names. <doc/wiki/UserIds.txt>. Defaults to @samp{\"\"}."
  25755. msgstr ""
  25756. #. type: deftypevr
  25757. #: doc/guix.texi:13666
  25758. #, no-wrap
  25759. msgid "{@code{dovecot-configuration} parameter} string mail-gid"
  25760. msgstr ""
  25761. #. type: deftypevr
  25762. #: doc/guix.texi:13671
  25763. #, no-wrap
  25764. msgid "{@code{dovecot-configuration} parameter} string mail-privileged-group"
  25765. msgstr ""
  25766. #. type: deftypevr
  25767. #: doc/guix.texi:13677
  25768. msgid ""
  25769. "Group to enable temporarily for privileged operations. Currently this is "
  25770. "used only with INBOX when either its initial creation or dotlocking fails. "
  25771. "Typically this is set to \"mail\" to give access to /var/mail. Defaults to "
  25772. "@samp{\"\"}."
  25773. msgstr ""
  25774. #. type: deftypevr
  25775. #: doc/guix.texi:13679
  25776. #, no-wrap
  25777. msgid "{@code{dovecot-configuration} parameter} string mail-access-groups"
  25778. msgstr ""
  25779. #. type: deftypevr
  25780. #: doc/guix.texi:13687
  25781. msgid ""
  25782. "Grant access to these supplementary groups for mail processes. Typically "
  25783. "these are used to set up access to shared mailboxes. Note that it may be "
  25784. "dangerous to set these if users can create symlinks (e.g. if \"mail\" group "
  25785. "is set here, ln -s /var/mail ~/mail/var could allow a user to delete others' "
  25786. "mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading "
  25787. "it). Defaults to @samp{\"\"}."
  25788. msgstr ""
  25789. #. type: deftypevr
  25790. #: doc/guix.texi:13689
  25791. #, no-wrap
  25792. msgid "{@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?"
  25793. msgstr ""
  25794. #. type: deftypevr
  25795. #: doc/guix.texi:13695
  25796. msgid ""
  25797. "Allow full file system access to clients. There's no access checks other "
  25798. "than what the operating system does for the active UID/GID. It works with "
  25799. "both maildir and mboxes, allowing you to prefix mailboxes names with e.g. /"
  25800. "path/ or ~user/. Defaults to @samp{#f}."
  25801. msgstr ""
  25802. #. type: deftypevr
  25803. #: doc/guix.texi:13697
  25804. #, no-wrap
  25805. msgid "{@code{dovecot-configuration} parameter} boolean mmap-disable?"
  25806. msgstr ""
  25807. #. type: deftypevr
  25808. #: doc/guix.texi:13701
  25809. msgid ""
  25810. "Don't use mmap() at all. This is required if you store indexes to shared "
  25811. "file systems (NFS or clustered file system). Defaults to @samp{#f}."
  25812. msgstr ""
  25813. #. type: deftypevr
  25814. #: doc/guix.texi:13703
  25815. #, no-wrap
  25816. msgid "{@code{dovecot-configuration} parameter} boolean dotlock-use-excl?"
  25817. msgstr ""
  25818. #. type: deftypevr
  25819. #: doc/guix.texi:13708
  25820. msgid ""
  25821. "Rely on @samp{O_EXCL} to work when creating dotlock files. NFS supports "
  25822. "@samp{O_EXCL} since version 3, so this should be safe to use nowadays by "
  25823. "default. Defaults to @samp{#t}."
  25824. msgstr ""
  25825. #. type: deftypevr
  25826. #: doc/guix.texi:13710
  25827. #, no-wrap
  25828. msgid "{@code{dovecot-configuration} parameter} string mail-fsync"
  25829. msgstr ""
  25830. #. type: deftypevr
  25831. #: doc/guix.texi:13712
  25832. msgid "When to use fsync() or fdatasync() calls:"
  25833. msgstr ""
  25834. #. type: item
  25835. #: doc/guix.texi:13713
  25836. #, no-wrap
  25837. msgid "optimized"
  25838. msgstr ""
  25839. #. type: table
  25840. #: doc/guix.texi:13715
  25841. msgid "Whenever necessary to avoid losing important data"
  25842. msgstr ""
  25843. #. type: table
  25844. #: doc/guix.texi:13717
  25845. msgid "Useful with e.g. NFS when write()s are delayed"
  25846. msgstr ""
  25847. #. type: table
  25848. #: doc/guix.texi:13719
  25849. msgid "Never use it (best performance, but crashes can lose data)."
  25850. msgstr ""
  25851. #. type: deftypevr
  25852. #: doc/guix.texi:13721
  25853. msgid "Defaults to @samp{\"optimized\"}."
  25854. msgstr ""
  25855. #. type: deftypevr
  25856. #: doc/guix.texi:13723
  25857. #, no-wrap
  25858. msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-storage?"
  25859. msgstr ""
  25860. #. type: deftypevr
  25861. #: doc/guix.texi:13728
  25862. msgid ""
  25863. "Mail storage exists in NFS. Set this to yes to make Dovecot flush NFS "
  25864. "caches whenever needed. If you're using only a single mail server this "
  25865. "isn't needed. Defaults to @samp{#f}."
  25866. msgstr ""
  25867. #. type: deftypevr
  25868. #: doc/guix.texi:13730
  25869. #, no-wrap
  25870. msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-index?"
  25871. msgstr ""
  25872. #. type: deftypevr
  25873. #: doc/guix.texi:13734
  25874. msgid ""
  25875. "Mail index files also exist in NFS. Setting this to yes requires @samp{mmap-"
  25876. "disable? #t} and @samp{fsync-disable? #f}. Defaults to @samp{#f}."
  25877. msgstr ""
  25878. #. type: deftypevr
  25879. #: doc/guix.texi:13736
  25880. #, no-wrap
  25881. msgid "{@code{dovecot-configuration} parameter} string lock-method"
  25882. msgstr ""
  25883. #. type: deftypevr
  25884. #: doc/guix.texi:13742
  25885. msgid ""
  25886. "Locking method for index files. Alternatives are fcntl, flock and dotlock. "
  25887. "Dotlocking uses some tricks which may create more disk I/O than other "
  25888. "locking methods. NFS users: flock doesn't work, remember to change "
  25889. "@samp{mmap-disable}. Defaults to @samp{\"fcntl\"}."
  25890. msgstr ""
  25891. #. type: deftypevr
  25892. #: doc/guix.texi:13744
  25893. #, no-wrap
  25894. msgid "{@code{dovecot-configuration} parameter} file-name mail-temp-dir"
  25895. msgstr ""
  25896. #. type: deftypevr
  25897. #: doc/guix.texi:13748
  25898. msgid ""
  25899. "Directory in which LDA/LMTP temporarily stores incoming mails >128 kB. "
  25900. "Defaults to @samp{\"/tmp\"}."
  25901. msgstr ""
  25902. #. type: deftypevr
  25903. #: doc/guix.texi:13750
  25904. #, no-wrap
  25905. msgid "{@code{dovecot-configuration} parameter} non-negative-integer first-valid-uid"
  25906. msgstr ""
  25907. #. type: deftypevr
  25908. #: doc/guix.texi:13756
  25909. msgid ""
  25910. "Valid UID range for users. This is mostly to make sure that users can't log "
  25911. "in as daemons or other system users. Note that denying root logins is "
  25912. "hardcoded to dovecot binary and can't be done even if @samp{first-valid-uid} "
  25913. "is set to 0. Defaults to @samp{500}."
  25914. msgstr ""
  25915. #. type: deftypevr
  25916. #: doc/guix.texi:13758
  25917. #, no-wrap
  25918. msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-uid"
  25919. msgstr ""
  25920. #. type: deftypevr
  25921. #: doc/guix.texi:13763
  25922. #, no-wrap
  25923. msgid "{@code{dovecot-configuration} parameter} non-negative-integer first-valid-gid"
  25924. msgstr ""
  25925. #. type: deftypevr
  25926. #: doc/guix.texi:13768
  25927. msgid ""
  25928. "Valid GID range for users. Users having non-valid GID as primary group ID "
  25929. "aren't allowed to log in. If user belongs to supplementary groups with non-"
  25930. "valid GIDs, those groups are not set. Defaults to @samp{1}."
  25931. msgstr ""
  25932. #. type: deftypevr
  25933. #: doc/guix.texi:13770
  25934. #, no-wrap
  25935. msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-gid"
  25936. msgstr ""
  25937. #. type: deftypevr
  25938. #: doc/guix.texi:13775
  25939. #, no-wrap
  25940. msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-max-keyword-length"
  25941. msgstr ""
  25942. #. type: deftypevr
  25943. #: doc/guix.texi:13779
  25944. msgid ""
  25945. "Maximum allowed length for mail keyword name. It's only forced when trying "
  25946. "to create new keywords. Defaults to @samp{50}."
  25947. msgstr ""
  25948. #. type: deftypevr
  25949. #: doc/guix.texi:13781
  25950. #, no-wrap
  25951. msgid "{@code{dovecot-configuration} parameter} colon-separated-file-name-list valid-chroot-dirs"
  25952. msgstr ""
  25953. #. type: deftypevr
  25954. #: doc/guix.texi:13791
  25955. msgid ""
  25956. "List of directories under which chrooting is allowed for mail processes (i."
  25957. "e. /var/mail will allow chrooting to /var/mail/foo/bar too). This setting "
  25958. "doesn't affect @samp{login-chroot} @samp{mail-chroot} or auth chroot "
  25959. "settings. If this setting is empty, \"/./\" in home dirs are ignored. "
  25960. "WARNING: Never add directories here which local users can modify, that may "
  25961. "lead to root exploit. Usually this should be done only if you don't allow "
  25962. "shell access for users. <doc/wiki/Chrooting.txt>. Defaults to @samp{()}."
  25963. msgstr ""
  25964. #. type: deftypevr
  25965. #: doc/guix.texi:13793
  25966. #, no-wrap
  25967. msgid "{@code{dovecot-configuration} parameter} string mail-chroot"
  25968. msgstr ""
  25969. #. type: deftypevr
  25970. #: doc/guix.texi:13802
  25971. msgid ""
  25972. "Default chroot directory for mail processes. This can be overridden for "
  25973. "specific users in user database by giving /./ in user's home directory (e."
  25974. "g. /home/./user chroots into /home). Note that usually there is no real "
  25975. "need to do chrooting, Dovecot doesn't allow users to access files outside "
  25976. "their mail directory anyway. If your home directories are prefixed with the "
  25977. "chroot directory, append \"/.\" to @samp{mail-chroot}. <doc/wiki/Chrooting."
  25978. "txt>. Defaults to @samp{\"\"}."
  25979. msgstr ""
  25980. #. type: deftypevr
  25981. #: doc/guix.texi:13804
  25982. #, no-wrap
  25983. msgid "{@code{dovecot-configuration} parameter} file-name auth-socket-path"
  25984. msgstr ""
  25985. #. type: deftypevr
  25986. #: doc/guix.texi:13808
  25987. msgid ""
  25988. "UNIX socket path to master authentication server to find users. This is "
  25989. "used by imap (for shared users) and lda. Defaults to @samp{\"/var/run/"
  25990. "dovecot/auth-userdb\"}."
  25991. msgstr ""
  25992. #. type: deftypevr
  25993. #: doc/guix.texi:13810
  25994. #, no-wrap
  25995. msgid "{@code{dovecot-configuration} parameter} file-name mail-plugin-dir"
  25996. msgstr ""
  25997. #. type: deftypevr
  25998. #: doc/guix.texi:13813
  25999. msgid ""
  26000. "Directory where to look up mail plugins. Defaults to @samp{\"/usr/lib/"
  26001. "dovecot\"}."
  26002. msgstr ""
  26003. #. type: deftypevr
  26004. #: doc/guix.texi:13815
  26005. #, no-wrap
  26006. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins"
  26007. msgstr ""
  26008. #. type: deftypevr
  26009. #: doc/guix.texi:13819
  26010. msgid ""
  26011. "List of plugins to load for all services. Plugins specific to IMAP, LDA, "
  26012. "etc. are added to this list in their own .conf files. Defaults to @samp{()}."
  26013. msgstr ""
  26014. #. type: deftypevr
  26015. #: doc/guix.texi:13821
  26016. #, no-wrap
  26017. msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-cache-min-mail-count"
  26018. msgstr ""
  26019. #. type: deftypevr
  26020. #: doc/guix.texi:13826
  26021. msgid ""
  26022. "The minimum number of mails in a mailbox before updates are done to cache "
  26023. "file. This allows optimizing Dovecot's behavior to do less disk writes at "
  26024. "the cost of more disk reads. Defaults to @samp{0}."
  26025. msgstr ""
  26026. #. type: deftypevr
  26027. #: doc/guix.texi:13828
  26028. #, no-wrap
  26029. msgid "{@code{dovecot-configuration} parameter} string mailbox-idle-check-interval"
  26030. msgstr ""
  26031. #. type: deftypevr
  26032. #: doc/guix.texi:13835
  26033. msgid ""
  26034. "When IDLE command is running, mailbox is checked once in a while to see if "
  26035. "there are any new mails or other changes. This setting defines the minimum "
  26036. "time to wait between those checks. Dovecot can also use dnotify, inotify "
  26037. "and kqueue to find out immediately when changes occur. Defaults to "
  26038. "@samp{\"30 secs\"}."
  26039. msgstr ""
  26040. #. type: deftypevr
  26041. #: doc/guix.texi:13837
  26042. #, no-wrap
  26043. msgid "{@code{dovecot-configuration} parameter} boolean mail-save-crlf?"
  26044. msgstr ""
  26045. #. type: deftypevr
  26046. #: doc/guix.texi:13844
  26047. msgid ""
  26048. "Save mails with CR+LF instead of plain LF. This makes sending those mails "
  26049. "take less CPU, especially with sendfile() syscall with Linux and FreeBSD. "
  26050. "But it also creates a bit more disk I/O which may just make it slower. Also "
  26051. "note that if other software reads the mboxes/maildirs, they may handle the "
  26052. "extra CRs wrong and cause problems. Defaults to @samp{#f}."
  26053. msgstr ""
  26054. #. type: deftypevr
  26055. #: doc/guix.texi:13846
  26056. #, no-wrap
  26057. msgid "{@code{dovecot-configuration} parameter} boolean maildir-stat-dirs?"
  26058. msgstr ""
  26059. #. type: deftypevr
  26060. #: doc/guix.texi:13854
  26061. msgid ""
  26062. "By default LIST command returns all entries in maildir beginning with a "
  26063. "dot. Enabling this option makes Dovecot return only entries which are "
  26064. "directories. This is done by stat()ing each entry, so it causes more disk I/"
  26065. "O. (For systems setting struct @samp{dirent->d_type} this check is free and "
  26066. "it's done always regardless of this setting). Defaults to @samp{#f}."
  26067. msgstr ""
  26068. #. type: deftypevr
  26069. #: doc/guix.texi:13856
  26070. #, no-wrap
  26071. msgid "{@code{dovecot-configuration} parameter} boolean maildir-copy-with-hardlinks?"
  26072. msgstr ""
  26073. #. type: deftypevr
  26074. #: doc/guix.texi:13861
  26075. msgid ""
  26076. "When copying a message, do it with hard links whenever possible. This makes "
  26077. "the performance much better, and it's unlikely to have any side effects. "
  26078. "Defaults to @samp{#t}."
  26079. msgstr ""
  26080. #. type: deftypevr
  26081. #: doc/guix.texi:13863
  26082. #, no-wrap
  26083. msgid "{@code{dovecot-configuration} parameter} boolean maildir-very-dirty-syncs?"
  26084. msgstr ""
  26085. #. type: deftypevr
  26086. #: doc/guix.texi:13868
  26087. msgid ""
  26088. "Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only "
  26089. "when its mtime changes unexpectedly or when we can't find the mail "
  26090. "otherwise. Defaults to @samp{#f}."
  26091. msgstr ""
  26092. #. type: deftypevr
  26093. #: doc/guix.texi:13870
  26094. #, no-wrap
  26095. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mbox-read-locks"
  26096. msgstr ""
  26097. #. type: deftypevr
  26098. #: doc/guix.texi:13873
  26099. msgid ""
  26100. "Which locking methods to use for locking mbox. There are four available:"
  26101. msgstr ""
  26102. #. type: item
  26103. #: doc/guix.texi:13875
  26104. #, no-wrap
  26105. msgid "dotlock"
  26106. msgstr ""
  26107. #. type: table
  26108. #: doc/guix.texi:13879
  26109. msgid ""
  26110. "Create <mailbox>.lock file. This is the oldest and most NFS-safe solution. "
  26111. "If you want to use /var/mail/ like directory, the users will need write "
  26112. "access to that directory."
  26113. msgstr ""
  26114. #. type: item
  26115. #: doc/guix.texi:13879
  26116. #, no-wrap
  26117. msgid "dotlock-try"
  26118. msgstr ""
  26119. #. type: table
  26120. #: doc/guix.texi:13882
  26121. msgid ""
  26122. "Same as dotlock, but if it fails because of permissions or because there "
  26123. "isn't enough disk space, just skip it."
  26124. msgstr ""
  26125. #. type: item
  26126. #: doc/guix.texi:13882
  26127. #, no-wrap
  26128. msgid "fcntl"
  26129. msgstr ""
  26130. #. type: table
  26131. #: doc/guix.texi:13884
  26132. msgid "Use this if possible. Works with NFS too if lockd is used."
  26133. msgstr ""
  26134. #. type: item
  26135. #: doc/guix.texi:13884
  26136. #, no-wrap
  26137. msgid "flock"
  26138. msgstr ""
  26139. #. type: table
  26140. #: doc/guix.texi:13886 doc/guix.texi:13888
  26141. msgid "May not exist in all systems. Doesn't work with NFS."
  26142. msgstr ""
  26143. #. type: item
  26144. #: doc/guix.texi:13886
  26145. #, no-wrap
  26146. msgid "lockf"
  26147. msgstr ""
  26148. #. type: deftypevr
  26149. #: doc/guix.texi:13894
  26150. msgid ""
  26151. "You can use multiple locking methods; if you do the order they're declared "
  26152. "in is important to avoid deadlocks if other MTAs/MUAs are using multiple "
  26153. "locking methods as well. Some operating systems don't allow using some of "
  26154. "them simultaneously."
  26155. msgstr ""
  26156. #. type: deftypevr
  26157. #: doc/guix.texi:13896
  26158. #, no-wrap
  26159. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mbox-write-locks"
  26160. msgstr ""
  26161. #. type: deftypevr
  26162. #: doc/guix.texi:13900
  26163. #, no-wrap
  26164. msgid "{@code{dovecot-configuration} parameter} string mbox-lock-timeout"
  26165. msgstr ""
  26166. #. type: deftypevr
  26167. #: doc/guix.texi:13903
  26168. msgid ""
  26169. "Maximum time to wait for lock (all of them) before aborting. Defaults to "
  26170. "@samp{\"5 mins\"}."
  26171. msgstr ""
  26172. #. type: deftypevr
  26173. #: doc/guix.texi:13905
  26174. #, no-wrap
  26175. msgid "{@code{dovecot-configuration} parameter} string mbox-dotlock-change-timeout"
  26176. msgstr ""
  26177. #. type: deftypevr
  26178. #: doc/guix.texi:13909
  26179. msgid ""
  26180. "If dotlock exists but the mailbox isn't modified in any way, override the "
  26181. "lock file after this much time. Defaults to @samp{\"2 mins\"}."
  26182. msgstr ""
  26183. #. type: deftypevr
  26184. #: doc/guix.texi:13911
  26185. #, no-wrap
  26186. msgid "{@code{dovecot-configuration} parameter} boolean mbox-dirty-syncs?"
  26187. msgstr ""
  26188. #. type: deftypevr
  26189. #: doc/guix.texi:13922
  26190. msgid ""
  26191. "When mbox changes unexpectedly we have to fully read it to find out what "
  26192. "changed. If the mbox is large this can take a long time. Since the change "
  26193. "is usually just a newly appended mail, it'd be faster to simply read the new "
  26194. "mails. If this setting is enabled, Dovecot does this but still safely "
  26195. "fallbacks to re-reading the whole mbox file whenever something in mbox isn't "
  26196. "how it's expected to be. The only real downside to this setting is that if "
  26197. "some other MUA changes message flags, Dovecot doesn't notice it "
  26198. "immediately. Note that a full sync is done with SELECT, EXAMINE, EXPUNGE "
  26199. "and CHECK commands. Defaults to @samp{#t}."
  26200. msgstr ""
  26201. #. type: deftypevr
  26202. #: doc/guix.texi:13924
  26203. #, no-wrap
  26204. msgid "{@code{dovecot-configuration} parameter} boolean mbox-very-dirty-syncs?"
  26205. msgstr ""
  26206. #. type: deftypevr
  26207. #: doc/guix.texi:13929
  26208. msgid ""
  26209. "Like @samp{mbox-dirty-syncs}, but don't do full syncs even with SELECT, "
  26210. "EXAMINE, EXPUNGE or CHECK commands. If this is set, @samp{mbox-dirty-syncs} "
  26211. "is ignored. Defaults to @samp{#f}."
  26212. msgstr ""
  26213. #. type: deftypevr
  26214. #: doc/guix.texi:13931
  26215. #, no-wrap
  26216. msgid "{@code{dovecot-configuration} parameter} boolean mbox-lazy-writes?"
  26217. msgstr ""
  26218. #. type: deftypevr
  26219. #: doc/guix.texi:13937
  26220. msgid ""
  26221. "Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK "
  26222. "commands and when closing the mailbox). This is especially useful for POP3 "
  26223. "where clients often delete all mails. The downside is that our changes "
  26224. "aren't immediately visible to other MUAs. Defaults to @samp{#t}."
  26225. msgstr ""
  26226. #. type: deftypevr
  26227. #: doc/guix.texi:13939
  26228. #, no-wrap
  26229. msgid "{@code{dovecot-configuration} parameter} non-negative-integer mbox-min-index-size"
  26230. msgstr ""
  26231. #. type: deftypevr
  26232. #: doc/guix.texi:13944
  26233. msgid ""
  26234. "If mbox size is smaller than this (e.g. 100k), don't write index files. If "
  26235. "an index file already exists it's still read, just not updated. Defaults to "
  26236. "@samp{0}."
  26237. msgstr ""
  26238. #. type: deftypevr
  26239. #: doc/guix.texi:13946
  26240. #, no-wrap
  26241. msgid "{@code{dovecot-configuration} parameter} non-negative-integer mdbox-rotate-size"
  26242. msgstr ""
  26243. #. type: deftypevr
  26244. #: doc/guix.texi:13949
  26245. msgid ""
  26246. "Maximum dbox file size until it's rotated. Defaults to @samp{10000000}."
  26247. msgstr ""
  26248. #. type: deftypevr
  26249. #: doc/guix.texi:13951
  26250. #, no-wrap
  26251. msgid "{@code{dovecot-configuration} parameter} string mdbox-rotate-interval"
  26252. msgstr ""
  26253. #. type: deftypevr
  26254. #: doc/guix.texi:13956
  26255. msgid ""
  26256. "Maximum dbox file age until it's rotated. Typically in days. Day begins "
  26257. "from midnight, so 1d = today, 2d = yesterday, etc. 0 = check disabled. "
  26258. "Defaults to @samp{\"1d\"}."
  26259. msgstr ""
  26260. #. type: deftypevr
  26261. #: doc/guix.texi:13958
  26262. #, no-wrap
  26263. msgid "{@code{dovecot-configuration} parameter} boolean mdbox-preallocate-space?"
  26264. msgstr ""
  26265. #. type: deftypevr
  26266. #: doc/guix.texi:13963
  26267. msgid ""
  26268. "When creating new mdbox files, immediately preallocate their size to "
  26269. "@samp{mdbox-rotate-size}. This setting currently works only in Linux with "
  26270. "some file systems (ext4, xfs). Defaults to @samp{#f}."
  26271. msgstr ""
  26272. #. type: deftypevr
  26273. #: doc/guix.texi:13965
  26274. #, no-wrap
  26275. msgid "{@code{dovecot-configuration} parameter} string mail-attachment-dir"
  26276. msgstr ""
  26277. #. type: deftypevr
  26278. #: doc/guix.texi:13969
  26279. msgid ""
  26280. "sdbox and mdbox support saving mail attachments to external files, which "
  26281. "also allows single instance storage for them. Other backends don't support "
  26282. "this for now."
  26283. msgstr ""
  26284. #. type: deftypevr
  26285. #: doc/guix.texi:13971
  26286. msgid ""
  26287. "WARNING: This feature hasn't been tested much yet. Use at your own risk."
  26288. msgstr ""
  26289. #. type: deftypevr
  26290. #: doc/guix.texi:13974
  26291. msgid ""
  26292. "Directory root where to store mail attachments. Disabled, if empty. "
  26293. "Defaults to @samp{\"\"}."
  26294. msgstr ""
  26295. #. type: deftypevr
  26296. #: doc/guix.texi:13976
  26297. #, no-wrap
  26298. msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-attachment-min-size"
  26299. msgstr ""
  26300. #. type: deftypevr
  26301. #: doc/guix.texi:13981
  26302. msgid ""
  26303. "Attachments smaller than this aren't saved externally. It's also possible "
  26304. "to write a plugin to disable saving specific attachments externally. "
  26305. "Defaults to @samp{128000}."
  26306. msgstr ""
  26307. #. type: deftypevr
  26308. #: doc/guix.texi:13983
  26309. #, no-wrap
  26310. msgid "{@code{dovecot-configuration} parameter} string mail-attachment-fs"
  26311. msgstr ""
  26312. #. type: deftypevr
  26313. #: doc/guix.texi:13985
  26314. msgid "File system backend to use for saving attachments:"
  26315. msgstr ""
  26316. #. type: item
  26317. #: doc/guix.texi:13986
  26318. #, no-wrap
  26319. msgid "posix"
  26320. msgstr ""
  26321. #. type: table
  26322. #: doc/guix.texi:13988
  26323. msgid "No SiS done by Dovecot (but this might help FS's own deduplication)"
  26324. msgstr ""
  26325. #. type: item
  26326. #: doc/guix.texi:13988
  26327. #, no-wrap
  26328. msgid "sis posix"
  26329. msgstr ""
  26330. #. type: table
  26331. #: doc/guix.texi:13990
  26332. msgid "SiS with immediate byte-by-byte comparison during saving"
  26333. msgstr ""
  26334. #. type: item
  26335. #: doc/guix.texi:13990
  26336. #, no-wrap
  26337. msgid "sis-queue posix"
  26338. msgstr ""
  26339. #. type: table
  26340. #: doc/guix.texi:13992
  26341. msgid "SiS with delayed comparison and deduplication."
  26342. msgstr ""
  26343. #. type: deftypevr
  26344. #: doc/guix.texi:13994
  26345. msgid "Defaults to @samp{\"sis posix\"}."
  26346. msgstr ""
  26347. #. type: deftypevr
  26348. #: doc/guix.texi:13996
  26349. #, no-wrap
  26350. msgid "{@code{dovecot-configuration} parameter} string mail-attachment-hash"
  26351. msgstr ""
  26352. #. type: deftypevr
  26353. #: doc/guix.texi:14002
  26354. msgid ""
  26355. "Hash format to use in attachment filenames. You can add any text and "
  26356. "variables: @code{%@{md4@}}, @code{%@{md5@}}, @code{%@{sha1@}}, "
  26357. "@code{%@{sha256@}}, @code{%@{sha512@}}, @code{%@{size@}}. Variables can be "
  26358. "truncated, e.g. @code{%@{sha256:80@}} returns only first 80 bits. Defaults "
  26359. "to @samp{\"%@{sha1@}\"}."
  26360. msgstr ""
  26361. #. type: deftypevr
  26362. #: doc/guix.texi:14004
  26363. #, no-wrap
  26364. msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-process-limit"
  26365. msgstr ""
  26366. #. type: deftypevr
  26367. #: doc/guix.texi:14009
  26368. #, no-wrap
  26369. msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-client-limit"
  26370. msgstr ""
  26371. #. type: deftypevr
  26372. #: doc/guix.texi:14012 doc/guix.texi:17918
  26373. msgid "Defaults to @samp{1000}."
  26374. msgstr ""
  26375. #. type: deftypevr
  26376. #: doc/guix.texi:14014
  26377. #, no-wrap
  26378. msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-vsz-limit"
  26379. msgstr ""
  26380. #. type: deftypevr
  26381. #: doc/guix.texi:14019
  26382. msgid ""
  26383. "Default VSZ (virtual memory size) limit for service processes. This is "
  26384. "mainly intended to catch and kill processes that leak memory before they eat "
  26385. "up everything. Defaults to @samp{256000000}."
  26386. msgstr ""
  26387. #. type: deftypevr
  26388. #: doc/guix.texi:14021
  26389. #, no-wrap
  26390. msgid "{@code{dovecot-configuration} parameter} string default-login-user"
  26391. msgstr ""
  26392. #. type: deftypevr
  26393. #: doc/guix.texi:14026
  26394. msgid ""
  26395. "Login user is internally used by login processes. This is the most "
  26396. "untrusted user in Dovecot system. It shouldn't have access to anything at "
  26397. "all. Defaults to @samp{\"dovenull\"}."
  26398. msgstr ""
  26399. #. type: deftypevr
  26400. #: doc/guix.texi:14028
  26401. #, no-wrap
  26402. msgid "{@code{dovecot-configuration} parameter} string default-internal-user"
  26403. msgstr ""
  26404. #. type: deftypevr
  26405. #: doc/guix.texi:14033
  26406. msgid ""
  26407. "Internal user is used by unprivileged processes. It should be separate from "
  26408. "login user, so that login processes can't disturb other processes. Defaults "
  26409. "to @samp{\"dovecot\"}."
  26410. msgstr ""
  26411. #. type: deftypevr
  26412. #: doc/guix.texi:14035
  26413. #, no-wrap
  26414. msgid "{@code{dovecot-configuration} parameter} string ssl?"
  26415. msgstr ""
  26416. #. type: deftypevr
  26417. #: doc/guix.texi:14038
  26418. msgid ""
  26419. "SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>. Defaults to "
  26420. "@samp{\"required\"}."
  26421. msgstr ""
  26422. #. type: deftypevr
  26423. #: doc/guix.texi:14040
  26424. #, no-wrap
  26425. msgid "{@code{dovecot-configuration} parameter} string ssl-cert"
  26426. msgstr ""
  26427. #. type: deftypevr
  26428. #: doc/guix.texi:14043
  26429. msgid ""
  26430. "PEM encoded X.509 SSL/TLS certificate (public key). Defaults to @samp{\"</"
  26431. "etc/dovecot/default.pem\"}."
  26432. msgstr ""
  26433. #. type: deftypevr
  26434. #: doc/guix.texi:14045
  26435. #, no-wrap
  26436. msgid "{@code{dovecot-configuration} parameter} string ssl-key"
  26437. msgstr ""
  26438. #. type: deftypevr
  26439. #: doc/guix.texi:14050
  26440. msgid ""
  26441. "PEM encoded SSL/TLS private key. The key is opened before dropping root "
  26442. "privileges, so keep the key file unreadable by anyone but root. Defaults to "
  26443. "@samp{\"</etc/dovecot/private/default.pem\"}."
  26444. msgstr ""
  26445. #. type: deftypevr
  26446. #: doc/guix.texi:14052
  26447. #, no-wrap
  26448. msgid "{@code{dovecot-configuration} parameter} string ssl-key-password"
  26449. msgstr ""
  26450. #. type: deftypevr
  26451. #: doc/guix.texi:14058
  26452. msgid ""
  26453. "If key file is password protected, give the password here. Alternatively "
  26454. "give it when starting dovecot with -p parameter. Since this file is often "
  26455. "world-readable, you may want to place this setting instead to a different. "
  26456. "Defaults to @samp{\"\"}."
  26457. msgstr ""
  26458. #. type: deftypevr
  26459. #: doc/guix.texi:14060
  26460. #, no-wrap
  26461. msgid "{@code{dovecot-configuration} parameter} string ssl-ca"
  26462. msgstr ""
  26463. #. type: deftypevr
  26464. #: doc/guix.texi:14066
  26465. msgid ""
  26466. "PEM encoded trusted certificate authority. Set this only if you intend to "
  26467. "use @samp{ssl-verify-client-cert? #t}. The file should contain the CA "
  26468. "certificate(s) followed by the matching CRL(s). (e.g. @samp{ssl-ca </etc/"
  26469. "ssl/certs/ca.pem}). Defaults to @samp{\"\"}."
  26470. msgstr ""
  26471. #. type: deftypevr
  26472. #: doc/guix.texi:14068
  26473. #, no-wrap
  26474. msgid "{@code{dovecot-configuration} parameter} boolean ssl-require-crl?"
  26475. msgstr ""
  26476. #. type: deftypevr
  26477. #: doc/guix.texi:14071
  26478. msgid ""
  26479. "Require that CRL check succeeds for client certificates. Defaults to "
  26480. "@samp{#t}."
  26481. msgstr ""
  26482. #. type: deftypevr
  26483. #: doc/guix.texi:14073
  26484. #, no-wrap
  26485. msgid "{@code{dovecot-configuration} parameter} boolean ssl-verify-client-cert?"
  26486. msgstr ""
  26487. #. type: deftypevr
  26488. #: doc/guix.texi:14077
  26489. msgid ""
  26490. "Request client to send a certificate. If you also want to require it, set "
  26491. "@samp{auth-ssl-require-client-cert? #t} in auth section. Defaults to "
  26492. "@samp{#f}."
  26493. msgstr ""
  26494. #. type: deftypevr
  26495. #: doc/guix.texi:14079
  26496. #, no-wrap
  26497. msgid "{@code{dovecot-configuration} parameter} string ssl-cert-username-field"
  26498. msgstr ""
  26499. #. type: deftypevr
  26500. #: doc/guix.texi:14084
  26501. msgid ""
  26502. "Which field from certificate to use for username. commonName and "
  26503. "x500UniqueIdentifier are the usual choices. You'll also need to set "
  26504. "@samp{auth-ssl-username-from-cert? #t}. Defaults to @samp{\"commonName\"}."
  26505. msgstr ""
  26506. #. type: deftypevr
  26507. #: doc/guix.texi:14086
  26508. #, no-wrap
  26509. msgid "{@code{dovecot-configuration} parameter} string ssl-min-protocol"
  26510. msgstr ""
  26511. #. type: deftypevr
  26512. #: doc/guix.texi:14089
  26513. msgid "Minimum SSL protocol version to accept. Defaults to @samp{\"TLSv1\"}."
  26514. msgstr ""
  26515. #. type: deftypevr
  26516. #: doc/guix.texi:14091
  26517. #, no-wrap
  26518. msgid "{@code{dovecot-configuration} parameter} string ssl-cipher-list"
  26519. msgstr ""
  26520. #. type: deftypevr
  26521. #: doc/guix.texi:14094
  26522. msgid ""
  26523. "SSL ciphers to use. Defaults to @samp{\"ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!"
  26524. "eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@@STRENGTH\"}."
  26525. msgstr ""
  26526. #. type: deftypevr
  26527. #: doc/guix.texi:14096
  26528. #, no-wrap
  26529. msgid "{@code{dovecot-configuration} parameter} string ssl-crypto-device"
  26530. msgstr ""
  26531. #. type: deftypevr
  26532. #: doc/guix.texi:14099
  26533. msgid ""
  26534. "SSL crypto device to use, for valid values run \"openssl engine\". Defaults "
  26535. "to @samp{\"\"}."
  26536. msgstr ""
  26537. #. type: deftypevr
  26538. #: doc/guix.texi:14101
  26539. #, no-wrap
  26540. msgid "{@code{dovecot-configuration} parameter} string postmaster-address"
  26541. msgstr ""
  26542. #. type: deftypevr
  26543. #: doc/guix.texi:14105
  26544. msgid ""
  26545. "Address to use when sending rejection mails. %d expands to recipient "
  26546. "domain. Defaults to @samp{\"postmaster@@%d\"}."
  26547. msgstr ""
  26548. #. type: deftypevr
  26549. #: doc/guix.texi:14107
  26550. #, no-wrap
  26551. msgid "{@code{dovecot-configuration} parameter} string hostname"
  26552. msgstr ""
  26553. #. type: deftypevr
  26554. #: doc/guix.texi:14111
  26555. msgid ""
  26556. "Hostname to use in various parts of sent mails (e.g. in Message-Id) and in "
  26557. "LMTP replies. Default is the system's real hostname@@domain. Defaults to "
  26558. "@samp{\"\"}."
  26559. msgstr ""
  26560. #. type: deftypevr
  26561. #: doc/guix.texi:14113
  26562. #, no-wrap
  26563. msgid "{@code{dovecot-configuration} parameter} boolean quota-full-tempfail?"
  26564. msgstr ""
  26565. #. type: deftypevr
  26566. #: doc/guix.texi:14117
  26567. msgid ""
  26568. "If user is over quota, return with temporary failure instead of bouncing the "
  26569. "mail. Defaults to @samp{#f}."
  26570. msgstr ""
  26571. #. type: deftypevr
  26572. #: doc/guix.texi:14119
  26573. #, no-wrap
  26574. msgid "{@code{dovecot-configuration} parameter} file-name sendmail-path"
  26575. msgstr ""
  26576. #. type: deftypevr
  26577. #: doc/guix.texi:14122
  26578. msgid ""
  26579. "Binary to use for sending mails. Defaults to @samp{\"/usr/sbin/sendmail\"}."
  26580. msgstr ""
  26581. #. type: deftypevr
  26582. #: doc/guix.texi:14124
  26583. #, no-wrap
  26584. msgid "{@code{dovecot-configuration} parameter} string submission-host"
  26585. msgstr ""
  26586. #. type: deftypevr
  26587. #: doc/guix.texi:14128
  26588. msgid ""
  26589. "If non-empty, send mails via this SMTP host[:port] instead of sendmail. "
  26590. "Defaults to @samp{\"\"}."
  26591. msgstr ""
  26592. #. type: deftypevr
  26593. #: doc/guix.texi:14130
  26594. #, no-wrap
  26595. msgid "{@code{dovecot-configuration} parameter} string rejection-subject"
  26596. msgstr ""
  26597. #. type: deftypevr
  26598. #: doc/guix.texi:14134
  26599. msgid ""
  26600. "Subject: header to use for rejection mails. You can use the same variables "
  26601. "as for @samp{rejection-reason} below. Defaults to @samp{\"Rejected: %s\"}."
  26602. msgstr ""
  26603. #. type: deftypevr
  26604. #: doc/guix.texi:14136
  26605. #, no-wrap
  26606. msgid "{@code{dovecot-configuration} parameter} string rejection-reason"
  26607. msgstr ""
  26608. #. type: deftypevr
  26609. #: doc/guix.texi:14139
  26610. msgid ""
  26611. "Human readable error message for rejection mails. You can use variables:"
  26612. msgstr ""
  26613. #. type: table
  26614. #: doc/guix.texi:14143
  26615. msgid "CRLF"
  26616. msgstr ""
  26617. #. type: item
  26618. #: doc/guix.texi:14143
  26619. #, no-wrap
  26620. msgid "%r"
  26621. msgstr ""
  26622. #. type: table
  26623. #: doc/guix.texi:14145
  26624. msgid "reason"
  26625. msgstr ""
  26626. #. type: table
  26627. #: doc/guix.texi:14147
  26628. msgid "original subject"
  26629. msgstr ""
  26630. #. type: item
  26631. #: doc/guix.texi:14147
  26632. #, no-wrap
  26633. msgid "%t"
  26634. msgstr ""
  26635. #. type: table
  26636. #: doc/guix.texi:14149
  26637. msgid "recipient"
  26638. msgstr ""
  26639. #. type: deftypevr
  26640. #: doc/guix.texi:14151
  26641. msgid ""
  26642. "Defaults to @samp{\"Your message to <%t> was automatically rejected:%n%r\"}."
  26643. msgstr ""
  26644. #. type: deftypevr
  26645. #: doc/guix.texi:14153
  26646. #, no-wrap
  26647. msgid "{@code{dovecot-configuration} parameter} string recipient-delimiter"
  26648. msgstr ""
  26649. #. type: deftypevr
  26650. #: doc/guix.texi:14157
  26651. msgid ""
  26652. "Delimiter character between local-part and detail in email address. "
  26653. "Defaults to @samp{\"+\"}."
  26654. msgstr ""
  26655. #. type: deftypevr
  26656. #: doc/guix.texi:14159
  26657. #, no-wrap
  26658. msgid "{@code{dovecot-configuration} parameter} string lda-original-recipient-header"
  26659. msgstr ""
  26660. #. type: deftypevr
  26661. #: doc/guix.texi:14165
  26662. msgid ""
  26663. "Header where the original recipient address (SMTP's RCPT TO: address) is "
  26664. "taken from if not available elsewhere. With dovecot-lda -a parameter "
  26665. "overrides this. A commonly used header for this is X-Original-To. Defaults "
  26666. "to @samp{\"\"}."
  26667. msgstr ""
  26668. #. type: deftypevr
  26669. #: doc/guix.texi:14167
  26670. #, no-wrap
  26671. msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autocreate?"
  26672. msgstr ""
  26673. #. type: deftypevr
  26674. #: doc/guix.texi:14171
  26675. msgid ""
  26676. "Should saving a mail to a nonexistent mailbox automatically create it?. "
  26677. "Defaults to @samp{#f}."
  26678. msgstr ""
  26679. #. type: deftypevr
  26680. #: doc/guix.texi:14173
  26681. #, no-wrap
  26682. msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autosubscribe?"
  26683. msgstr ""
  26684. #. type: deftypevr
  26685. #: doc/guix.texi:14177
  26686. msgid ""
  26687. "Should automatically created mailboxes be also automatically subscribed?. "
  26688. "Defaults to @samp{#f}."
  26689. msgstr ""
  26690. #. type: deftypevr
  26691. #: doc/guix.texi:14179
  26692. #, no-wrap
  26693. msgid "{@code{dovecot-configuration} parameter} non-negative-integer imap-max-line-length"
  26694. msgstr ""
  26695. #. type: deftypevr
  26696. #: doc/guix.texi:14185
  26697. msgid ""
  26698. "Maximum IMAP command line length. Some clients generate very long command "
  26699. "lines with huge mailboxes, so you may need to raise this if you get \"Too "
  26700. "long argument\" or \"IMAP command line too large\" errors often. Defaults "
  26701. "to @samp{64000}."
  26702. msgstr ""
  26703. #. type: deftypevr
  26704. #: doc/guix.texi:14187
  26705. #, no-wrap
  26706. msgid "{@code{dovecot-configuration} parameter} string imap-logout-format"
  26707. msgstr ""
  26708. #. type: deftypevr
  26709. #: doc/guix.texi:14189
  26710. msgid "IMAP logout format string:"
  26711. msgstr ""
  26712. #. type: item
  26713. #: doc/guix.texi:14190
  26714. #, no-wrap
  26715. msgid "%i"
  26716. msgstr ""
  26717. #. type: table
  26718. #: doc/guix.texi:14192
  26719. msgid "total number of bytes read from client"
  26720. msgstr ""
  26721. #. type: item
  26722. #: doc/guix.texi:14192
  26723. #, no-wrap
  26724. msgid "%o"
  26725. msgstr ""
  26726. #. type: table
  26727. #: doc/guix.texi:14194
  26728. msgid "total number of bytes sent to client."
  26729. msgstr ""
  26730. #. type: deftypevr
  26731. #: doc/guix.texi:14197
  26732. msgid ""
  26733. "See @file{doc/wiki/Variables.txt} for a list of all the variables you can "
  26734. "use. Defaults to @samp{\"in=%i out=%o deleted=%@{deleted@} expunged="
  26735. "%@{expunged@} trashed=%@{trashed@} hdr_count=%@{fetch_hdr_count@} hdr_bytes="
  26736. "%@{fetch_hdr_bytes@} body_count=%@{fetch_body_count@} body_bytes="
  26737. "%@{fetch_body_bytes@}\"}."
  26738. msgstr ""
  26739. #. type: deftypevr
  26740. #: doc/guix.texi:14199
  26741. #, no-wrap
  26742. msgid "{@code{dovecot-configuration} parameter} string imap-capability"
  26743. msgstr ""
  26744. #. type: deftypevr
  26745. #: doc/guix.texi:14203
  26746. msgid ""
  26747. "Override the IMAP CAPABILITY response. If the value begins with '+', add "
  26748. "the given capabilities on top of the defaults (e.g. +XFOO XBAR). Defaults "
  26749. "to @samp{\"\"}."
  26750. msgstr ""
  26751. #. type: deftypevr
  26752. #: doc/guix.texi:14205
  26753. #, no-wrap
  26754. msgid "{@code{dovecot-configuration} parameter} string imap-idle-notify-interval"
  26755. msgstr ""
  26756. #. type: deftypevr
  26757. #: doc/guix.texi:14209
  26758. msgid ""
  26759. "How long to wait between \"OK Still here\" notifications when client is "
  26760. "IDLEing. Defaults to @samp{\"2 mins\"}."
  26761. msgstr ""
  26762. #. type: deftypevr
  26763. #: doc/guix.texi:14211
  26764. #, no-wrap
  26765. msgid "{@code{dovecot-configuration} parameter} string imap-id-send"
  26766. msgstr ""
  26767. #. type: deftypevr
  26768. #: doc/guix.texi:14217
  26769. msgid ""
  26770. "ID field names and values to send to clients. Using * as the value makes "
  26771. "Dovecot use the default value. The following fields have default values "
  26772. "currently: name, version, os, os-version, support-url, support-email. "
  26773. "Defaults to @samp{\"\"}."
  26774. msgstr ""
  26775. #. type: deftypevr
  26776. #: doc/guix.texi:14219
  26777. #, no-wrap
  26778. msgid "{@code{dovecot-configuration} parameter} string imap-id-log"
  26779. msgstr ""
  26780. #. type: deftypevr
  26781. #: doc/guix.texi:14222
  26782. msgid ""
  26783. "ID fields sent by client to log. * means everything. Defaults to "
  26784. "@samp{\"\"}."
  26785. msgstr ""
  26786. #. type: deftypevr
  26787. #: doc/guix.texi:14224
  26788. #, no-wrap
  26789. msgid "{@code{dovecot-configuration} parameter} space-separated-string-list imap-client-workarounds"
  26790. msgstr ""
  26791. #. type: deftypevr
  26792. #: doc/guix.texi:14226
  26793. msgid "Workarounds for various client bugs:"
  26794. msgstr ""
  26795. #. type: item
  26796. #: doc/guix.texi:14228
  26797. #, no-wrap
  26798. msgid "delay-newmail"
  26799. msgstr ""
  26800. #. type: table
  26801. #: doc/guix.texi:14235
  26802. msgid ""
  26803. "Send EXISTS/RECENT new mail notifications only when replying to NOOP and "
  26804. "CHECK commands. Some clients ignore them otherwise, for example OSX Mail "
  26805. "(<v2.1). Outlook Express breaks more badly though, without this it may show "
  26806. "user \"Message no longer in server\" errors. Note that OE6 still breaks "
  26807. "even with this workaround if synchronization is set to \"Headers Only\"."
  26808. msgstr ""
  26809. #. type: item
  26810. #: doc/guix.texi:14236
  26811. #, no-wrap
  26812. msgid "tb-extra-mailbox-sep"
  26813. msgstr ""
  26814. #. type: table
  26815. #: doc/guix.texi:14240
  26816. msgid ""
  26817. "Thunderbird gets somehow confused with LAYOUT=fs (mbox and dbox) and adds "
  26818. "extra @samp{/} suffixes to mailbox names. This option causes Dovecot to "
  26819. "ignore the extra @samp{/} instead of treating it as invalid mailbox name."
  26820. msgstr ""
  26821. #. type: item
  26822. #: doc/guix.texi:14241
  26823. #, no-wrap
  26824. msgid "tb-lsub-flags"
  26825. msgstr ""
  26826. #. type: table
  26827. #: doc/guix.texi:14245
  26828. msgid ""
  26829. "Show \\Noselect flags for LSUB replies with LAYOUT=fs (e.g. mbox). This "
  26830. "makes Thunderbird realize they aren't selectable and show them greyed out, "
  26831. "instead of only later giving \"not selectable\" popup error."
  26832. msgstr ""
  26833. #. type: deftypevr
  26834. #: doc/guix.texi:14249
  26835. #, no-wrap
  26836. msgid "{@code{dovecot-configuration} parameter} string imap-urlauth-host"
  26837. msgstr ""
  26838. #. type: deftypevr
  26839. #: doc/guix.texi:14252
  26840. msgid ""
  26841. "Host allowed in URLAUTH URLs sent by client. \"*\" allows all. Defaults to "
  26842. "@samp{\"\"}."
  26843. msgstr ""
  26844. #. type: Plain text
  26845. #: doc/guix.texi:14260
  26846. msgid ""
  26847. "Whew! Lots of configuration options. The nice thing about it though is that "
  26848. "GuixSD has a complete interface to Dovecot's configuration language. This "
  26849. "allows not only a nice way to declare configurations, but also offers "
  26850. "reflective capabilities as well: users can write code to inspect and "
  26851. "transform configurations from within Scheme."
  26852. msgstr ""
  26853. #. type: Plain text
  26854. #: doc/guix.texi:14266
  26855. msgid ""
  26856. "However, it could be that you just want to get a @code{dovecot.conf} up and "
  26857. "running. In that case, you can pass an @code{opaque-dovecot-configuration} "
  26858. "as the @code{#:config} parameter to @code{dovecot-service}. As its name "
  26859. "indicates, an opaque configuration does not have easy reflective "
  26860. "capabilities."
  26861. msgstr ""
  26862. #. type: Plain text
  26863. #: doc/guix.texi:14268
  26864. msgid "Available @code{opaque-dovecot-configuration} fields are:"
  26865. msgstr ""
  26866. #. type: deftypevr
  26867. #: doc/guix.texi:14269
  26868. #, no-wrap
  26869. msgid "{@code{opaque-dovecot-configuration} parameter} package dovecot"
  26870. msgstr ""
  26871. #. type: deftypevr
  26872. #: doc/guix.texi:14273
  26873. #, no-wrap
  26874. msgid "{@code{opaque-dovecot-configuration} parameter} string string"
  26875. msgstr ""
  26876. #. type: deftypevr
  26877. #: doc/guix.texi:14275
  26878. msgid "The contents of the @code{dovecot.conf}, as a string."
  26879. msgstr ""
  26880. #. type: Plain text
  26881. #: doc/guix.texi:14279
  26882. msgid ""
  26883. "For example, if your @code{dovecot.conf} is just the empty string, you could "
  26884. "instantiate a dovecot service like this:"
  26885. msgstr ""
  26886. #. type: example
  26887. #: doc/guix.texi:14284
  26888. #, no-wrap
  26889. msgid ""
  26890. "(dovecot-service #:config\n"
  26891. " (opaque-dovecot-configuration\n"
  26892. " (string \"\")))\n"
  26893. msgstr ""
  26894. #. type: subsubheading
  26895. #: doc/guix.texi:14286
  26896. #, no-wrap
  26897. msgid "OpenSMTPD Service"
  26898. msgstr ""
  26899. #. type: deffn
  26900. #: doc/guix.texi:14288
  26901. #, no-wrap
  26902. msgid "{Scheme Variable} opensmtpd-service-type"
  26903. msgstr ""
  26904. #. type: deffn
  26905. #: doc/guix.texi:14292
  26906. msgid ""
  26907. "This is the type of the @uref{https://www.opensmtpd.org, OpenSMTPD} service, "
  26908. "whose value should be an @code{opensmtpd-configuration} object as in this "
  26909. "example:"
  26910. msgstr ""
  26911. #. type: example
  26912. #: doc/guix.texi:14297
  26913. #, no-wrap
  26914. msgid ""
  26915. "(service opensmtpd-service-type\n"
  26916. " (opensmtpd-configuration\n"
  26917. " (config-file (local-file \"./my-smtpd.conf\"))))\n"
  26918. msgstr ""
  26919. #. type: deftp
  26920. #: doc/guix.texi:14300
  26921. #, no-wrap
  26922. msgid "{Data Type} opensmtpd-configuration"
  26923. msgstr ""
  26924. #. type: deftp
  26925. #: doc/guix.texi:14302
  26926. msgid "Data type representing the configuration of opensmtpd."
  26927. msgstr ""
  26928. #. type: item
  26929. #: doc/guix.texi:14304
  26930. #, no-wrap
  26931. msgid "@code{package} (default: @var{opensmtpd})"
  26932. msgstr ""
  26933. #. type: table
  26934. #: doc/guix.texi:14306
  26935. msgid "Package object of the OpenSMTPD SMTP server."
  26936. msgstr ""
  26937. #. type: item
  26938. #: doc/guix.texi:14307
  26939. #, no-wrap
  26940. msgid "@code{config-file} (default: @var{%default-opensmtpd-file})"
  26941. msgstr ""
  26942. #. type: table
  26943. #: doc/guix.texi:14312
  26944. msgid ""
  26945. "File-like object of the OpenSMTPD configuration file to use. By default it "
  26946. "listens on the loopback network interface, and allows for mail from users "
  26947. "and daemons on the local machine, as well as permitting email to remote "
  26948. "servers. Run @command{man smtpd.conf} for more information."
  26949. msgstr ""
  26950. #. type: subsubheading
  26951. #: doc/guix.texi:14316
  26952. #, no-wrap
  26953. msgid "Exim Service"
  26954. msgstr ""
  26955. #. type: cindex
  26956. #: doc/guix.texi:14318
  26957. #, no-wrap
  26958. msgid "mail transfer agent (MTA)"
  26959. msgstr ""
  26960. #. type: cindex
  26961. #: doc/guix.texi:14319
  26962. #, no-wrap
  26963. msgid "MTA (mail transfer agent)"
  26964. msgstr ""
  26965. #. type: cindex
  26966. #: doc/guix.texi:14320
  26967. #, no-wrap
  26968. msgid "SMTP"
  26969. msgstr ""
  26970. #. type: deffn
  26971. #: doc/guix.texi:14322
  26972. #, no-wrap
  26973. msgid "{Scheme Variable} exim-service-type"
  26974. msgstr ""
  26975. #. type: deffn
  26976. #: doc/guix.texi:14326
  26977. msgid ""
  26978. "This is the type of the @uref{https://exim.org, Exim} mail transfer agent "
  26979. "(MTA), whose value should be an @code{exim-configuration} object as in this "
  26980. "example:"
  26981. msgstr ""
  26982. #. type: example
  26983. #: doc/guix.texi:14331
  26984. #, no-wrap
  26985. msgid ""
  26986. "(service exim-service-type\n"
  26987. " (exim-configuration\n"
  26988. " (config-file (local-file \"./my-exim.conf\"))))\n"
  26989. msgstr ""
  26990. #. type: Plain text
  26991. #: doc/guix.texi:14337
  26992. msgid ""
  26993. "In order to use an @code{exim-service-type} service you must also have a "
  26994. "@code{mail-aliases-service-type} service present in your @code{operating-"
  26995. "system} (even if it has no aliases)."
  26996. msgstr ""
  26997. #. type: deftp
  26998. #: doc/guix.texi:14338
  26999. #, no-wrap
  27000. msgid "{Data Type} exim-configuration"
  27001. msgstr ""
  27002. #. type: deftp
  27003. #: doc/guix.texi:14340
  27004. msgid "Data type representing the configuration of exim."
  27005. msgstr ""
  27006. #. type: item
  27007. #: doc/guix.texi:14342
  27008. #, no-wrap
  27009. msgid "@code{package} (default: @var{exim})"
  27010. msgstr ""
  27011. #. type: table
  27012. #: doc/guix.texi:14344
  27013. msgid "Package object of the Exim server."
  27014. msgstr ""
  27015. #. type: table
  27016. #: doc/guix.texi:14351
  27017. msgid ""
  27018. "File-like object of the Exim configuration file to use. If its value is "
  27019. "@code{#f} then use the default configuration file from the package provided "
  27020. "in @code{package}. The resulting configuration file is loaded after setting "
  27021. "the @code{exim_user} and @code{exim_group} configuration variables."
  27022. msgstr ""
  27023. #. type: subsubheading
  27024. #: doc/guix.texi:14355
  27025. #, no-wrap
  27026. msgid "Mail Aliases Service"
  27027. msgstr ""
  27028. #. type: cindex
  27029. #: doc/guix.texi:14357
  27030. #, no-wrap
  27031. msgid "email aliases"
  27032. msgstr ""
  27033. #. type: cindex
  27034. #: doc/guix.texi:14358
  27035. #, no-wrap
  27036. msgid "aliases, for email addresses"
  27037. msgstr ""
  27038. #. type: deffn
  27039. #: doc/guix.texi:14360
  27040. #, no-wrap
  27041. msgid "{Scheme Variable} mail-aliases-service-type"
  27042. msgstr ""
  27043. #. type: deffn
  27044. #: doc/guix.texi:14363
  27045. msgid ""
  27046. "This is the type of the service which provides @code{/etc/aliases}, "
  27047. "specifying how to deliver mail to users on this system."
  27048. msgstr ""
  27049. #. type: example
  27050. #: doc/guix.texi:14368
  27051. #, no-wrap
  27052. msgid ""
  27053. "(service mail-aliases-service-type\n"
  27054. " '((\"postmaster\" \"bob\")\n"
  27055. " (\"bob\" \"bob@@example.com\" \"bob@@example2.com\")))\n"
  27056. msgstr ""
  27057. #. type: Plain text
  27058. #: doc/guix.texi:14376
  27059. msgid ""
  27060. "The configuration for a @code{mail-aliases-service-type} service is an "
  27061. "association list denoting how to deliver mail that comes to this system. "
  27062. "Each entry is of the form @code{(alias addresses ...)}, with @code{alias} "
  27063. "specifying the local alias and @code{addresses} specifying where to deliver "
  27064. "this user's mail."
  27065. msgstr ""
  27066. #. type: Plain text
  27067. #: doc/guix.texi:14382
  27068. msgid ""
  27069. "The aliases aren't required to exist as users on the local system. In the "
  27070. "above example, there doesn't need to be a @code{postmaster} entry in the "
  27071. "@code{operating-system}'s @code{user-accounts} in order to deliver the "
  27072. "@code{postmaster} mail to @code{bob} (which subsequently would deliver mail "
  27073. "to @code{bob@@example.com} and @code{bob@@example2.com})."
  27074. msgstr ""
  27075. #. type: cindex
  27076. #: doc/guix.texi:14386
  27077. #, no-wrap
  27078. msgid "messaging"
  27079. msgstr ""
  27080. #. type: cindex
  27081. #: doc/guix.texi:14387
  27082. #, no-wrap
  27083. msgid "jabber"
  27084. msgstr ""
  27085. #. type: cindex
  27086. #: doc/guix.texi:14388
  27087. #, no-wrap
  27088. msgid "XMPP"
  27089. msgstr ""
  27090. #. type: Plain text
  27091. #: doc/guix.texi:14391
  27092. msgid ""
  27093. "The @code{(gnu services messaging)} module provides Guix service definitions "
  27094. "for messaging services: currently only Prosody is supported."
  27095. msgstr ""
  27096. #. type: subsubheading
  27097. #: doc/guix.texi:14392
  27098. #, no-wrap
  27099. msgid "Prosody Service"
  27100. msgstr ""
  27101. #. type: deffn
  27102. #: doc/guix.texi:14394
  27103. #, no-wrap
  27104. msgid "{Scheme Variable} prosody-service-type"
  27105. msgstr ""
  27106. #. type: deffn
  27107. #: doc/guix.texi:14398
  27108. msgid ""
  27109. "This is the type for the @uref{https://prosody.im, Prosody XMPP "
  27110. "communication server}. Its value must be a @code{prosody-configuration} "
  27111. "record as in this example:"
  27112. msgstr ""
  27113. #. type: example
  27114. #: doc/guix.texi:14413
  27115. #, no-wrap
  27116. msgid ""
  27117. "(service prosody-service-type\n"
  27118. " (prosody-configuration\n"
  27119. " (modules-enabled (cons \"groups\" \"mam\" %default-modules-enabled))\n"
  27120. " (int-components\n"
  27121. " (list\n"
  27122. " (int-component-configuration\n"
  27123. " (hostname \"conference.example.net\")\n"
  27124. " (plugin \"muc\")\n"
  27125. " (mod-muc (mod-muc-configuration)))))\n"
  27126. " (virtualhosts\n"
  27127. " (list\n"
  27128. " (virtualhost-configuration\n"
  27129. " (domain \"example.net\"))))))\n"
  27130. msgstr ""
  27131. #. type: deffn
  27132. #: doc/guix.texi:14416
  27133. msgid "See below for details about @code{prosody-configuration}."
  27134. msgstr ""
  27135. #. type: Plain text
  27136. #: doc/guix.texi:14422
  27137. msgid ""
  27138. "By default, Prosody does not need much configuration. Only one "
  27139. "@code{virtualhosts} field is needed: it specifies the domain you wish "
  27140. "Prosody to serve."
  27141. msgstr ""
  27142. #. type: Plain text
  27143. #: doc/guix.texi:14425
  27144. msgid ""
  27145. "You can perform various sanity checks on the generated configuration with "
  27146. "the @code{prosodyctl check} command."
  27147. msgstr ""
  27148. #. type: Plain text
  27149. #: doc/guix.texi:14429
  27150. msgid ""
  27151. "Prosodyctl will also help you to import certificates from the "
  27152. "@code{letsencrypt} directory so that the @code{prosody} user can access "
  27153. "them. See @url{https://prosody.im/doc/letsencrypt}."
  27154. msgstr ""
  27155. #. type: example
  27156. #: doc/guix.texi:14432
  27157. #, no-wrap
  27158. msgid "prosodyctl --root cert import /etc/letsencrypt/live\n"
  27159. msgstr ""
  27160. #. type: Plain text
  27161. #: doc/guix.texi:14439
  27162. msgid ""
  27163. "The available configuration parameters follow. Each parameter definition is "
  27164. "preceded by its type; for example, @samp{string-list foo} indicates that the "
  27165. "@code{foo} parameter should be specified as a list of strings. Types "
  27166. "starting with @code{maybe-} denote parameters that won't show up in "
  27167. "@code{prosody.cfg.lua} when their value is @code{'disabled}."
  27168. msgstr ""
  27169. #. type: Plain text
  27170. #: doc/guix.texi:14443
  27171. msgid ""
  27172. "There is also a way to specify the configuration as a string, if you have an "
  27173. "old @code{prosody.cfg.lua} file that you want to port over from some other "
  27174. "system; see the end for more details."
  27175. msgstr ""
  27176. #. type: Plain text
  27177. #: doc/guix.texi:14446
  27178. msgid ""
  27179. "The @code{file-object} type designates either a file-like object (@pxref{G-"
  27180. "Expressions, file-like objects}) or a file name."
  27181. msgstr ""
  27182. #. type: Plain text
  27183. #: doc/guix.texi:14456
  27184. msgid "Available @code{prosody-configuration} fields are:"
  27185. msgstr ""
  27186. #. type: deftypevr
  27187. #: doc/guix.texi:14457
  27188. #, no-wrap
  27189. msgid "{@code{prosody-configuration} parameter} package prosody"
  27190. msgstr ""
  27191. #. type: deftypevr
  27192. #: doc/guix.texi:14459
  27193. msgid "The Prosody package."
  27194. msgstr ""
  27195. #. type: deftypevr
  27196. #: doc/guix.texi:14461
  27197. #, no-wrap
  27198. msgid "{@code{prosody-configuration} parameter} file-name data-path"
  27199. msgstr ""
  27200. #. type: deftypevr
  27201. #: doc/guix.texi:14465
  27202. msgid ""
  27203. "Location of the Prosody data storage directory. See @url{https://prosody.im/"
  27204. "doc/configure}. Defaults to @samp{\"/var/lib/prosody\"}."
  27205. msgstr ""
  27206. #. type: deftypevr
  27207. #: doc/guix.texi:14467
  27208. #, no-wrap
  27209. msgid "{@code{prosody-configuration} parameter} file-object-list plugin-paths"
  27210. msgstr ""
  27211. #. type: deftypevr
  27212. #: doc/guix.texi:14471
  27213. msgid ""
  27214. "Additional plugin directories. They are searched in all the specified paths "
  27215. "in order. See @url{https://prosody.im/doc/plugins_directory}. Defaults to "
  27216. "@samp{()}."
  27217. msgstr ""
  27218. #. type: deftypevr
  27219. #: doc/guix.texi:14473
  27220. #, no-wrap
  27221. msgid "{@code{prosody-configuration} parameter} file-name certificates"
  27222. msgstr ""
  27223. #. type: deftypevr
  27224. #: doc/guix.texi:14478
  27225. msgid ""
  27226. "Every virtual host and component needs a certificate so that clients and "
  27227. "servers can securely verify its identity. Prosody will automatically load "
  27228. "certificates/keys from the directory specified here. Defaults to @samp{\"/"
  27229. "etc/prosody/certs\"}."
  27230. msgstr ""
  27231. #. type: deftypevr
  27232. #: doc/guix.texi:14480
  27233. #, no-wrap
  27234. msgid "{@code{prosody-configuration} parameter} string-list admins"
  27235. msgstr ""
  27236. #. type: deftypevr
  27237. #: doc/guix.texi:14486
  27238. msgid ""
  27239. "This is a list of accounts that are admins for the server. Note that you "
  27240. "must create the accounts separately. See @url{https://prosody.im/doc/"
  27241. "admins} and @url{https://prosody.im/doc/creating_accounts}. Example: "
  27242. "@code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))} Defaults to "
  27243. "@samp{()}."
  27244. msgstr ""
  27245. #. type: deftypevr
  27246. #: doc/guix.texi:14488
  27247. #, no-wrap
  27248. msgid "{@code{prosody-configuration} parameter} boolean use-libevent?"
  27249. msgstr ""
  27250. #. type: deftypevr
  27251. #: doc/guix.texi:14492
  27252. msgid ""
  27253. "Enable use of libevent for better performance under high load. See "
  27254. "@url{https://prosody.im/doc/libevent}. Defaults to @samp{#f}."
  27255. msgstr ""
  27256. #. type: deftypevr
  27257. #: doc/guix.texi:14494
  27258. #, no-wrap
  27259. msgid "{@code{prosody-configuration} parameter} module-list modules-enabled"
  27260. msgstr ""
  27261. #. type: deftypevr
  27262. #: doc/guix.texi:14500
  27263. msgid ""
  27264. "This is the list of modules Prosody will load on startup. It looks for "
  27265. "@code{mod_modulename.lua} in the plugins folder, so make sure that exists "
  27266. "too. Documentation on modules can be found at: @url{https://prosody.im/doc/"
  27267. "modules}. Defaults to @samp{(\"roster\" \"saslauth\" \"tls\" \"dialback\" "
  27268. "\"disco\" \"carbons\" \"private\" \"blocklist\" \"vcard\" \"version\" "
  27269. "\"uptime\" \"time\" \"ping\" \"pep\" \"register\" \"admin_adhoc\")}."
  27270. msgstr ""
  27271. #. type: deftypevr
  27272. #: doc/guix.texi:14502
  27273. #, no-wrap
  27274. msgid "{@code{prosody-configuration} parameter} string-list modules-disabled"
  27275. msgstr ""
  27276. #. type: deftypevr
  27277. #: doc/guix.texi:14506
  27278. msgid ""
  27279. "@samp{\"offline\"}, @samp{\"c2s\"} and @samp{\"s2s\"} are auto-loaded, but "
  27280. "should you want to disable them then add them to this list. Defaults to "
  27281. "@samp{()}."
  27282. msgstr ""
  27283. #. type: deftypevr
  27284. #: doc/guix.texi:14508
  27285. #, no-wrap
  27286. msgid "{@code{prosody-configuration} parameter} file-object groups-file"
  27287. msgstr ""
  27288. #. type: deftypevr
  27289. #: doc/guix.texi:14513
  27290. msgid ""
  27291. "Path to a text file where the shared groups are defined. If this path is "
  27292. "empty then @samp{mod_groups} does nothing. See @url{https://prosody.im/doc/"
  27293. "modules/mod_groups}. Defaults to @samp{\"/var/lib/prosody/sharedgroups.txt"
  27294. "\"}."
  27295. msgstr ""
  27296. #. type: deftypevr
  27297. #: doc/guix.texi:14515
  27298. #, no-wrap
  27299. msgid "{@code{prosody-configuration} parameter} boolean allow-registration?"
  27300. msgstr ""
  27301. #. type: deftypevr
  27302. #: doc/guix.texi:14519
  27303. msgid ""
  27304. "Disable account creation by default, for security. See @url{https://prosody."
  27305. "im/doc/creating_accounts}. Defaults to @samp{#f}."
  27306. msgstr ""
  27307. #. type: deftypevr
  27308. #: doc/guix.texi:14521
  27309. #, no-wrap
  27310. msgid "{@code{prosody-configuration} parameter} maybe-ssl-configuration ssl"
  27311. msgstr ""
  27312. #. type: deftypevr
  27313. #: doc/guix.texi:14526
  27314. msgid ""
  27315. "These are the SSL/TLS-related settings. Most of them are disabled so to use "
  27316. "Prosody's defaults. If you do not completely understand these options, do "
  27317. "not add them to your config, it is easy to lower the security of your server "
  27318. "using them. See @url{https://prosody.im/doc/advanced_ssl_config}."
  27319. msgstr ""
  27320. #. type: deftypevr
  27321. #: doc/guix.texi:14528
  27322. msgid "Available @code{ssl-configuration} fields are:"
  27323. msgstr ""
  27324. #. type: deftypevr
  27325. #: doc/guix.texi:14529
  27326. #, no-wrap
  27327. msgid "{@code{ssl-configuration} parameter} maybe-string protocol"
  27328. msgstr ""
  27329. #. type: deftypevr
  27330. #: doc/guix.texi:14531
  27331. msgid "This determines what handshake to use."
  27332. msgstr ""
  27333. #. type: deftypevr
  27334. #: doc/guix.texi:14533
  27335. #, no-wrap
  27336. msgid "{@code{ssl-configuration} parameter} maybe-file-name key"
  27337. msgstr ""
  27338. #. type: deftypevr
  27339. #: doc/guix.texi:14535
  27340. msgid "Path to your private key file."
  27341. msgstr ""
  27342. #. type: deftypevr
  27343. #: doc/guix.texi:14537
  27344. #, no-wrap
  27345. msgid "{@code{ssl-configuration} parameter} maybe-file-name certificate"
  27346. msgstr ""
  27347. #. type: deftypevr
  27348. #: doc/guix.texi:14539
  27349. msgid "Path to your certificate file."
  27350. msgstr ""
  27351. #. type: deftypevr
  27352. #: doc/guix.texi:14541
  27353. #, no-wrap
  27354. msgid "{@code{ssl-configuration} parameter} file-object capath"
  27355. msgstr ""
  27356. #. type: deftypevr
  27357. #: doc/guix.texi:14545
  27358. msgid ""
  27359. "Path to directory containing root certificates that you wish Prosody to "
  27360. "trust when verifying the certificates of remote servers. Defaults to "
  27361. "@samp{\"/etc/ssl/certs\"}."
  27362. msgstr ""
  27363. #. type: deftypevr
  27364. #: doc/guix.texi:14547
  27365. #, no-wrap
  27366. msgid "{@code{ssl-configuration} parameter} maybe-file-object cafile"
  27367. msgstr ""
  27368. #. type: deftypevr
  27369. #: doc/guix.texi:14550
  27370. msgid ""
  27371. "Path to a file containing root certificates that you wish Prosody to trust. "
  27372. "Similar to @code{capath} but with all certificates concatenated together."
  27373. msgstr ""
  27374. #. type: deftypevr
  27375. #: doc/guix.texi:14552
  27376. #, no-wrap
  27377. msgid "{@code{ssl-configuration} parameter} maybe-string-list verify"
  27378. msgstr ""
  27379. #. type: deftypevr
  27380. #: doc/guix.texi:14555
  27381. msgid ""
  27382. "A list of verification options (these mostly map to OpenSSL's "
  27383. "@code{set_verify()} flags)."
  27384. msgstr ""
  27385. #. type: deftypevr
  27386. #: doc/guix.texi:14557
  27387. #, no-wrap
  27388. msgid "{@code{ssl-configuration} parameter} maybe-string-list options"
  27389. msgstr ""
  27390. #. type: deftypevr
  27391. #: doc/guix.texi:14561
  27392. msgid ""
  27393. "A list of general options relating to SSL/TLS. These map to OpenSSL's "
  27394. "@code{set_options()}. For a full list of options available in LuaSec, see "
  27395. "the LuaSec source."
  27396. msgstr ""
  27397. #. type: deftypevr
  27398. #: doc/guix.texi:14563
  27399. #, no-wrap
  27400. msgid "{@code{ssl-configuration} parameter} maybe-non-negative-integer depth"
  27401. msgstr ""
  27402. #. type: deftypevr
  27403. #: doc/guix.texi:14566
  27404. msgid ""
  27405. "How long a chain of certificate authorities to check when looking for a "
  27406. "trusted root certificate."
  27407. msgstr ""
  27408. #. type: deftypevr
  27409. #: doc/guix.texi:14568
  27410. #, no-wrap
  27411. msgid "{@code{ssl-configuration} parameter} maybe-string ciphers"
  27412. msgstr ""
  27413. #. type: deftypevr
  27414. #: doc/guix.texi:14571
  27415. msgid ""
  27416. "An OpenSSL cipher string. This selects what ciphers Prosody will offer to "
  27417. "clients, and in what order."
  27418. msgstr ""
  27419. #. type: deftypevr
  27420. #: doc/guix.texi:14573
  27421. #, no-wrap
  27422. msgid "{@code{ssl-configuration} parameter} maybe-file-name dhparam"
  27423. msgstr ""
  27424. #. type: deftypevr
  27425. #: doc/guix.texi:14577
  27426. msgid ""
  27427. "A path to a file containing parameters for Diffie-Hellman key exchange. You "
  27428. "can create such a file with: @code{openssl dhparam -out /etc/prosody/certs/"
  27429. "dh-2048.pem 2048}"
  27430. msgstr ""
  27431. #. type: deftypevr
  27432. #: doc/guix.texi:14579
  27433. #, no-wrap
  27434. msgid "{@code{ssl-configuration} parameter} maybe-string curve"
  27435. msgstr ""
  27436. #. type: deftypevr
  27437. #: doc/guix.texi:14582
  27438. msgid ""
  27439. "Curve for Elliptic curve Diffie-Hellman. Prosody's default is "
  27440. "@samp{\"secp384r1\"}."
  27441. msgstr ""
  27442. #. type: deftypevr
  27443. #: doc/guix.texi:14584
  27444. #, no-wrap
  27445. msgid "{@code{ssl-configuration} parameter} maybe-string-list verifyext"
  27446. msgstr ""
  27447. #. type: deftypevr
  27448. #: doc/guix.texi:14586
  27449. msgid "A list of \"extra\" verification options."
  27450. msgstr ""
  27451. #. type: deftypevr
  27452. #: doc/guix.texi:14588
  27453. #, no-wrap
  27454. msgid "{@code{ssl-configuration} parameter} maybe-string password"
  27455. msgstr ""
  27456. #. type: deftypevr
  27457. #: doc/guix.texi:14590
  27458. msgid "Password for encrypted private keys."
  27459. msgstr ""
  27460. #. type: deftypevr
  27461. #: doc/guix.texi:14594
  27462. #, no-wrap
  27463. msgid "{@code{prosody-configuration} parameter} boolean c2s-require-encryption?"
  27464. msgstr ""
  27465. #. type: deftypevr
  27466. #: doc/guix.texi:14598
  27467. msgid ""
  27468. "Whether to force all client-to-server connections to be encrypted or not. "
  27469. "See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}."
  27470. msgstr ""
  27471. #. type: deftypevr
  27472. #: doc/guix.texi:14600
  27473. #, no-wrap
  27474. msgid "{@code{prosody-configuration} parameter} string-list disable-sasl-mechanisms"
  27475. msgstr ""
  27476. #. type: deftypevr
  27477. #: doc/guix.texi:14604
  27478. msgid ""
  27479. "Set of mechanisms that will never be offered. See @url{https://prosody.im/"
  27480. "doc/modules/mod_saslauth}. Defaults to @samp{(\"DIGEST-MD5\")}."
  27481. msgstr ""
  27482. #. type: deftypevr
  27483. #: doc/guix.texi:14606
  27484. #, no-wrap
  27485. msgid "{@code{prosody-configuration} parameter} boolean s2s-require-encryption?"
  27486. msgstr ""
  27487. #. type: deftypevr
  27488. #: doc/guix.texi:14610
  27489. msgid ""
  27490. "Whether to force all server-to-server connections to be encrypted or not. "
  27491. "See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}."
  27492. msgstr ""
  27493. #. type: deftypevr
  27494. #: doc/guix.texi:14612
  27495. #, no-wrap
  27496. msgid "{@code{prosody-configuration} parameter} boolean s2s-secure-auth?"
  27497. msgstr ""
  27498. #. type: deftypevr
  27499. #: doc/guix.texi:14618
  27500. msgid ""
  27501. "Whether to require encryption and certificate authentication. This provides "
  27502. "ideal security, but requires servers you communicate with to support "
  27503. "encryption AND present valid, trusted certificates. See @url{https://"
  27504. "prosody.im/doc/s2s#security}. Defaults to @samp{#f}."
  27505. msgstr ""
  27506. #. type: deftypevr
  27507. #: doc/guix.texi:14620
  27508. #, no-wrap
  27509. msgid "{@code{prosody-configuration} parameter} string-list s2s-insecure-domains"
  27510. msgstr ""
  27511. #. type: deftypevr
  27512. #: doc/guix.texi:14626
  27513. msgid ""
  27514. "Many servers don't support encryption or have invalid or self-signed "
  27515. "certificates. You can list domains here that will not be required to "
  27516. "authenticate using certificates. They will be authenticated using DNS. See "
  27517. "@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}."
  27518. msgstr ""
  27519. #. type: deftypevr
  27520. #: doc/guix.texi:14628
  27521. #, no-wrap
  27522. msgid "{@code{prosody-configuration} parameter} string-list s2s-secure-domains"
  27523. msgstr ""
  27524. #. type: deftypevr
  27525. #: doc/guix.texi:14633
  27526. msgid ""
  27527. "Even if you leave @code{s2s-secure-auth?} disabled, you can still require "
  27528. "valid certificates for some domains by specifying a list here. See "
  27529. "@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}."
  27530. msgstr ""
  27531. #. type: deftypevr
  27532. #: doc/guix.texi:14635
  27533. #, no-wrap
  27534. msgid "{@code{prosody-configuration} parameter} string authentication"
  27535. msgstr ""
  27536. #. type: deftypevr
  27537. #: doc/guix.texi:14643
  27538. msgid ""
  27539. "Select the authentication backend to use. The default provider stores "
  27540. "passwords in plaintext and uses Prosody's configured data storage to store "
  27541. "the authentication data. If you do not trust your server please see "
  27542. "@url{https://prosody.im/doc/modules/mod_auth_internal_hashed} for "
  27543. "information about using the hashed backend. See also @url{https://prosody."
  27544. "im/doc/authentication} Defaults to @samp{\"internal_plain\"}."
  27545. msgstr ""
  27546. #. type: deftypevr
  27547. #: doc/guix.texi:14645
  27548. #, no-wrap
  27549. msgid "{@code{prosody-configuration} parameter} maybe-string log"
  27550. msgstr ""
  27551. #. type: deftypevr
  27552. #: doc/guix.texi:14649
  27553. msgid ""
  27554. "Set logging options. Advanced logging configuration is not yet supported by "
  27555. "the GuixSD Prosody Service. See @url{https://prosody.im/doc/logging}. "
  27556. "Defaults to @samp{\"*syslog\"}."
  27557. msgstr ""
  27558. #. type: deftypevr
  27559. #: doc/guix.texi:14651
  27560. #, no-wrap
  27561. msgid "{@code{prosody-configuration} parameter} file-name pidfile"
  27562. msgstr ""
  27563. #. type: deftypevr
  27564. #: doc/guix.texi:14654
  27565. msgid ""
  27566. "File to write pid in. See @url{https://prosody.im/doc/modules/mod_posix}. "
  27567. "Defaults to @samp{\"/var/run/prosody/prosody.pid\"}."
  27568. msgstr ""
  27569. #. type: deftypevr
  27570. #: doc/guix.texi:14656
  27571. #, no-wrap
  27572. msgid "{@code{prosody-configuration} parameter} maybe-non-negative-integer http-max-content-size"
  27573. msgstr ""
  27574. #. type: deftypevr
  27575. #: doc/guix.texi:14658
  27576. msgid "Maximum allowed size of the HTTP body (in bytes)."
  27577. msgstr ""
  27578. #. type: deftypevr
  27579. #: doc/guix.texi:14660
  27580. #, no-wrap
  27581. msgid "{@code{prosody-configuration} parameter} maybe-string http-external-url"
  27582. msgstr ""
  27583. #. type: deftypevr
  27584. #: doc/guix.texi:14665
  27585. msgid ""
  27586. "Some modules expose their own URL in various ways. This URL is built from "
  27587. "the protocol, host and port used. If Prosody sits behind a proxy, the "
  27588. "public URL will be @code{http-external-url} instead. See @url{https://"
  27589. "prosody.im/doc/http#external_url}."
  27590. msgstr ""
  27591. #. type: deftypevr
  27592. #: doc/guix.texi:14667
  27593. #, no-wrap
  27594. msgid "{@code{prosody-configuration} parameter} virtualhost-configuration-list virtualhosts"
  27595. msgstr ""
  27596. #. type: deftypevr
  27597. #: doc/guix.texi:14672
  27598. msgid ""
  27599. "A host in Prosody is a domain on which user accounts can be created. For "
  27600. "example if you want your users to have addresses like @samp{\"john."
  27601. "smith@@example.com\"} then you need to add a host @samp{\"example.com\"}. "
  27602. "All options in this list will apply only to this host."
  27603. msgstr ""
  27604. #. type: deftypevr
  27605. #: doc/guix.texi:14678
  27606. msgid ""
  27607. "Note: the name \"virtual\" host is used in configuration to avoid confusion "
  27608. "with the actual physical host that Prosody is installed on. A single "
  27609. "Prosody instance can serve many domains, each one defined as a VirtualHost "
  27610. "entry in Prosody's configuration. Conversely a server that hosts a single "
  27611. "domain would have just one VirtualHost entry."
  27612. msgstr ""
  27613. #. type: deftypevr
  27614. #: doc/guix.texi:14680
  27615. msgid "See @url{https://prosody.im/doc/configure#virtual_host_settings}."
  27616. msgstr ""
  27617. #. type: deftypevr
  27618. #: doc/guix.texi:14682
  27619. msgid "Available @code{virtualhost-configuration} fields are:"
  27620. msgstr ""
  27621. #. type: deftypevr
  27622. #: doc/guix.texi:14684 doc/guix.texi:14706 doc/guix.texi:14759
  27623. msgid ""
  27624. "all these @code{prosody-configuration} fields: @code{admins}, @code{use-"
  27625. "libevent?}, @code{modules-enabled}, @code{modules-disabled}, @code{groups-"
  27626. "file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-"
  27627. "encryption?}, @code{disable-sasl-mechanisms}, @code{s2s-require-"
  27628. "encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, "
  27629. "@code{s2s-secure-domains}, @code{authentication}, @code{log}, @code{http-max-"
  27630. "content-size}, @code{http-external-url}, @code{raw-content}, plus:"
  27631. msgstr ""
  27632. #. type: deftypevr
  27633. #: doc/guix.texi:14684
  27634. #, no-wrap
  27635. msgid "{@code{virtualhost-configuration} parameter} string domain"
  27636. msgstr ""
  27637. #. type: deftypevr
  27638. #: doc/guix.texi:14686
  27639. msgid "Domain you wish Prosody to serve."
  27640. msgstr ""
  27641. #. type: deftypevr
  27642. #: doc/guix.texi:14690
  27643. #, no-wrap
  27644. msgid "{@code{prosody-configuration} parameter} int-component-configuration-list int-components"
  27645. msgstr ""
  27646. #. type: deftypevr
  27647. #: doc/guix.texi:14695
  27648. msgid ""
  27649. "Components are extra services on a server which are available to clients, "
  27650. "usually on a subdomain of the main server (such as @samp{\"mycomponent."
  27651. "example.com\"}). Example components might be chatroom servers, user "
  27652. "directories, or gateways to other protocols."
  27653. msgstr ""
  27654. #. type: deftypevr
  27655. #: doc/guix.texi:14699
  27656. msgid ""
  27657. "Internal components are implemented with Prosody-specific plugins. To add "
  27658. "an internal component, you simply fill the hostname field, and the plugin "
  27659. "you wish to use for the component."
  27660. msgstr ""
  27661. #. type: deftypevr
  27662. #: doc/guix.texi:14702
  27663. msgid "See @url{https://prosody.im/doc/components}. Defaults to @samp{()}."
  27664. msgstr ""
  27665. #. type: deftypevr
  27666. #: doc/guix.texi:14704
  27667. msgid "Available @code{int-component-configuration} fields are:"
  27668. msgstr ""
  27669. #. type: deftypevr
  27670. #: doc/guix.texi:14706
  27671. #, no-wrap
  27672. msgid "{@code{int-component-configuration} parameter} string hostname"
  27673. msgstr ""
  27674. #. type: deftypevr
  27675. #: doc/guix.texi:14708 doc/guix.texi:14765
  27676. msgid "Hostname of the component."
  27677. msgstr ""
  27678. #. type: deftypevr
  27679. #: doc/guix.texi:14710
  27680. #, no-wrap
  27681. msgid "{@code{int-component-configuration} parameter} string plugin"
  27682. msgstr ""
  27683. #. type: deftypevr
  27684. #: doc/guix.texi:14712
  27685. msgid "Plugin you wish to use for the component."
  27686. msgstr ""
  27687. #. type: deftypevr
  27688. #: doc/guix.texi:14714
  27689. #, no-wrap
  27690. msgid "{@code{int-component-configuration} parameter} maybe-mod-muc-configuration mod-muc"
  27691. msgstr ""
  27692. #. type: deftypevr
  27693. #: doc/guix.texi:14717
  27694. msgid ""
  27695. "Multi-user chat (MUC) is Prosody's module for allowing you to create hosted "
  27696. "chatrooms/conferences for XMPP users."
  27697. msgstr ""
  27698. #. type: deftypevr
  27699. #: doc/guix.texi:14721
  27700. msgid ""
  27701. "General information on setting up and using multi-user chatrooms can be "
  27702. "found in the \"Chatrooms\" documentation (@url{https://prosody.im/doc/"
  27703. "chatrooms}), which you should read if you are new to XMPP chatrooms."
  27704. msgstr ""
  27705. #. type: deftypevr
  27706. #: doc/guix.texi:14723
  27707. msgid "See also @url{https://prosody.im/doc/modules/mod_muc}."
  27708. msgstr ""
  27709. #. type: deftypevr
  27710. #: doc/guix.texi:14725
  27711. msgid "Available @code{mod-muc-configuration} fields are:"
  27712. msgstr ""
  27713. #. type: deftypevr
  27714. #: doc/guix.texi:14726
  27715. #, no-wrap
  27716. msgid "{@code{mod-muc-configuration} parameter} string name"
  27717. msgstr ""
  27718. #. type: deftypevr
  27719. #: doc/guix.texi:14729
  27720. msgid ""
  27721. "The name to return in service discovery responses. Defaults to "
  27722. "@samp{\"Prosody Chatrooms\"}."
  27723. msgstr ""
  27724. #. type: deftypevr
  27725. #: doc/guix.texi:14731
  27726. #, no-wrap
  27727. msgid "{@code{mod-muc-configuration} parameter} string-or-boolean restrict-room-creation"
  27728. msgstr ""
  27729. #. type: deftypevr
  27730. #: doc/guix.texi:14738
  27731. msgid ""
  27732. "If @samp{#t}, this will only allow admins to create new chatrooms. "
  27733. "Otherwise anyone can create a room. The value @samp{\"local\"} restricts "
  27734. "room creation to users on the service's parent domain. E.g. "
  27735. "@samp{user@@example.com} can create rooms on @samp{rooms.example.com}. The "
  27736. "value @samp{\"admin\"} restricts to service administrators only. Defaults "
  27737. "to @samp{#f}."
  27738. msgstr ""
  27739. #. type: deftypevr
  27740. #: doc/guix.texi:14740
  27741. #, no-wrap
  27742. msgid "{@code{mod-muc-configuration} parameter} non-negative-integer max-history-messages"
  27743. msgstr ""
  27744. #. type: deftypevr
  27745. #: doc/guix.texi:14744
  27746. msgid ""
  27747. "Maximum number of history messages that will be sent to the member that has "
  27748. "just joined the room. Defaults to @samp{20}."
  27749. msgstr ""
  27750. #. type: deftypevr
  27751. #: doc/guix.texi:14750
  27752. #, no-wrap
  27753. msgid "{@code{prosody-configuration} parameter} ext-component-configuration-list ext-components"
  27754. msgstr ""
  27755. #. type: deftypevr
  27756. #: doc/guix.texi:14755
  27757. msgid ""
  27758. "External components use XEP-0114, which most standalone components support. "
  27759. "To add an external component, you simply fill the hostname field. See "
  27760. "@url{https://prosody.im/doc/components}. Defaults to @samp{()}."
  27761. msgstr ""
  27762. #. type: deftypevr
  27763. #: doc/guix.texi:14757
  27764. msgid "Available @code{ext-component-configuration} fields are:"
  27765. msgstr ""
  27766. #. type: deftypevr
  27767. #: doc/guix.texi:14759
  27768. #, no-wrap
  27769. msgid "{@code{ext-component-configuration} parameter} string component-secret"
  27770. msgstr ""
  27771. #. type: deftypevr
  27772. #: doc/guix.texi:14761
  27773. msgid "Password which the component will use to log in."
  27774. msgstr ""
  27775. #. type: deftypevr
  27776. #: doc/guix.texi:14763
  27777. #, no-wrap
  27778. msgid "{@code{ext-component-configuration} parameter} string hostname"
  27779. msgstr ""
  27780. #. type: deftypevr
  27781. #: doc/guix.texi:14769
  27782. #, no-wrap
  27783. msgid "{@code{prosody-configuration} parameter} non-negative-integer-list component-ports"
  27784. msgstr ""
  27785. #. type: deftypevr
  27786. #: doc/guix.texi:14772
  27787. msgid ""
  27788. "Port(s) Prosody listens on for component connections. Defaults to "
  27789. "@samp{(5347)}."
  27790. msgstr ""
  27791. #. type: deftypevr
  27792. #: doc/guix.texi:14774
  27793. #, no-wrap
  27794. msgid "{@code{prosody-configuration} parameter} string component-interface"
  27795. msgstr ""
  27796. #. type: deftypevr
  27797. #: doc/guix.texi:14777
  27798. msgid ""
  27799. "Interface Prosody listens on for component connections. Defaults to "
  27800. "@samp{\"127.0.0.1\"}."
  27801. msgstr ""
  27802. #. type: deftypevr
  27803. #: doc/guix.texi:14779
  27804. #, no-wrap
  27805. msgid "{@code{prosody-configuration} parameter} maybe-raw-content raw-content"
  27806. msgstr ""
  27807. #. type: deftypevr
  27808. #: doc/guix.texi:14781
  27809. msgid "Raw content that will be added to the configuration file."
  27810. msgstr ""
  27811. #. type: Plain text
  27812. #: doc/guix.texi:14789
  27813. msgid ""
  27814. "It could be that you just want to get a @code{prosody.cfg.lua} up and "
  27815. "running. In that case, you can pass an @code{opaque-prosody-configuration} "
  27816. "record as the value of @code{prosody-service-type}. As its name indicates, "
  27817. "an opaque configuration does not have easy reflective capabilities. "
  27818. "Available @code{opaque-prosody-configuration} fields are:"
  27819. msgstr ""
  27820. #. type: deftypevr
  27821. #: doc/guix.texi:14790
  27822. #, no-wrap
  27823. msgid "{@code{opaque-prosody-configuration} parameter} package prosody"
  27824. msgstr ""
  27825. #. type: deftypevr
  27826. #: doc/guix.texi:14792
  27827. msgid "The prosody package."
  27828. msgstr ""
  27829. #. type: deftypevr
  27830. #: doc/guix.texi:14794
  27831. #, no-wrap
  27832. msgid "{@code{opaque-prosody-configuration} parameter} string prosody.cfg.lua"
  27833. msgstr ""
  27834. #. type: deftypevr
  27835. #: doc/guix.texi:14796
  27836. msgid "The contents of the @code{prosody.cfg.lua} to use."
  27837. msgstr ""
  27838. #. type: Plain text
  27839. #: doc/guix.texi:14800
  27840. msgid ""
  27841. "For example, if your @code{prosody.cfg.lua} is just the empty string, you "
  27842. "could instantiate a prosody service like this:"
  27843. msgstr ""
  27844. #. type: example
  27845. #: doc/guix.texi:14805
  27846. #, no-wrap
  27847. msgid ""
  27848. "(service prosody-service-type\n"
  27849. " (opaque-prosody-configuration\n"
  27850. " (prosody.cfg.lua \"\")))\n"
  27851. msgstr ""
  27852. #. type: subsubheading
  27853. #: doc/guix.texi:14809
  27854. #, no-wrap
  27855. msgid "BitlBee Service"
  27856. msgstr ""
  27857. #. type: cindex
  27858. #: doc/guix.texi:14811
  27859. #, no-wrap
  27860. msgid "IRC (Internet Relay Chat)"
  27861. msgstr ""
  27862. #. type: cindex
  27863. #: doc/guix.texi:14812
  27864. #, no-wrap
  27865. msgid "IRC gateway"
  27866. msgstr ""
  27867. #. type: Plain text
  27868. #: doc/guix.texi:14815
  27869. msgid ""
  27870. "@url{http://bitlbee.org,BitlBee} is a gateway that provides an IRC interface "
  27871. "to a variety of messaging protocols such as XMPP."
  27872. msgstr ""
  27873. #. type: defvr
  27874. #: doc/guix.texi:14816
  27875. #, no-wrap
  27876. msgid "{Scheme Variable} bitlbee-service-type"
  27877. msgstr ""
  27878. #. type: defvr
  27879. #: doc/guix.texi:14820
  27880. msgid ""
  27881. "This is the service type for the @url{http://bitlbee.org,BitlBee} IRC "
  27882. "gateway daemon. Its value is a @code{bitlbee-configuration} (see below)."
  27883. msgstr ""
  27884. #. type: defvr
  27885. #: doc/guix.texi:14823
  27886. msgid ""
  27887. "To have BitlBee listen on port 6667 on localhost, add this line to your "
  27888. "services:"
  27889. msgstr ""
  27890. #. type: example
  27891. #: doc/guix.texi:14826
  27892. #, no-wrap
  27893. msgid "(service bitlbee-service-type)\n"
  27894. msgstr ""
  27895. #. type: deftp
  27896. #: doc/guix.texi:14829
  27897. #, no-wrap
  27898. msgid "{Data Type} bitlbee-configuration"
  27899. msgstr ""
  27900. #. type: deftp
  27901. #: doc/guix.texi:14831
  27902. msgid "This is the configuration for BitlBee, with the following fields:"
  27903. msgstr ""
  27904. #. type: item
  27905. #: doc/guix.texi:14833
  27906. #, no-wrap
  27907. msgid "@code{interface} (default: @code{\"127.0.0.1\"})"
  27908. msgstr ""
  27909. #. type: itemx
  27910. #: doc/guix.texi:14834
  27911. #, no-wrap
  27912. msgid "@code{port} (default: @code{6667})"
  27913. msgstr ""
  27914. #. type: table
  27915. #: doc/guix.texi:14837
  27916. msgid ""
  27917. "Listen on the network interface corresponding to the IP address specified in "
  27918. "@var{interface}, on @var{port}."
  27919. msgstr ""
  27920. #. type: table
  27921. #: doc/guix.texi:14841
  27922. msgid ""
  27923. "When @var{interface} is @code{127.0.0.1}, only local clients can connect; "
  27924. "when it is @code{0.0.0.0}, connections can come from any networking "
  27925. "interface."
  27926. msgstr ""
  27927. #. type: item
  27928. #: doc/guix.texi:14842
  27929. #, no-wrap
  27930. msgid "@code{package} (default: @code{bitlbee})"
  27931. msgstr ""
  27932. #. type: table
  27933. #: doc/guix.texi:14844
  27934. msgid "The BitlBee package to use."
  27935. msgstr ""
  27936. #. type: item
  27937. #: doc/guix.texi:14845
  27938. #, no-wrap
  27939. msgid "@code{extra-settings} (default: @code{\"\"})"
  27940. msgstr ""
  27941. #. type: table
  27942. #: doc/guix.texi:14847
  27943. msgid "Configuration snippet added as-is to the BitlBee configuration file."
  27944. msgstr ""
  27945. #. type: cindex
  27946. #: doc/guix.texi:14854
  27947. #, no-wrap
  27948. msgid "Murmur (VoIP server)"
  27949. msgstr ""
  27950. #. type: cindex
  27951. #: doc/guix.texi:14855
  27952. #, no-wrap
  27953. msgid "VoIP server"
  27954. msgstr ""
  27955. #. type: Plain text
  27956. #: doc/guix.texi:14859
  27957. msgid ""
  27958. "This section describes how to set up and run a Murmur server. Murmur is the "
  27959. "server of the @uref{https://mumble.info, Mumble} voice-over-IP (VoIP) suite."
  27960. msgstr ""
  27961. #. type: deftp
  27962. #: doc/guix.texi:14860
  27963. #, no-wrap
  27964. msgid "{Data Type} murmur-configuration"
  27965. msgstr ""
  27966. #. type: deftp
  27967. #: doc/guix.texi:14863
  27968. msgid ""
  27969. "The service type for the Murmur server. An example configuration can look "
  27970. "like this:"
  27971. msgstr ""
  27972. #. type: example
  27973. #: doc/guix.texi:14872
  27974. #, no-wrap
  27975. msgid ""
  27976. "(service murmur-service-type\n"
  27977. " (murmur-configuration\n"
  27978. " (welcome-text\n"
  27979. " \"Welcome to this Mumble server running on GuixSD!\")\n"
  27980. " (cert-required? #t) ;disallow text password logins\n"
  27981. " (ssl-cert \"/etc/letsencrypt/live/mumble.example.com/fullchain.pem\")\n"
  27982. " (ssl-key \"/etc/letsencrypt/live/mumble.example.com/privkey.pem\")))\n"
  27983. msgstr ""
  27984. #. type: deftp
  27985. #: doc/guix.texi:14876
  27986. msgid ""
  27987. "After reconfiguring your system, you can manually set the murmur "
  27988. "@code{SuperUser} password with the command that is printed during the "
  27989. "activation phase."
  27990. msgstr ""
  27991. #. type: deftp
  27992. #: doc/guix.texi:14885
  27993. msgid ""
  27994. "It is recommended to register a normal Mumble user account and grant it "
  27995. "admin or moderator rights. You can use the @code{mumble} client to login as "
  27996. "new normal user, register yourself, and log out. For the next step login "
  27997. "with the name @code{SuperUser} use the @code{SuperUser} password that you "
  27998. "set previously, and grant your newly registered mumble user administrator or "
  27999. "moderator rights and create some channels."
  28000. msgstr ""
  28001. #. type: deftp
  28002. #: doc/guix.texi:14887
  28003. msgid "Available @code{murmur-configuration} fields are:"
  28004. msgstr ""
  28005. #. type: item
  28006. #: doc/guix.texi:14889
  28007. #, no-wrap
  28008. msgid "@code{package} (default: @code{mumble})"
  28009. msgstr ""
  28010. #. type: table
  28011. #: doc/guix.texi:14891
  28012. msgid "Package that contains @code{bin/murmurd}."
  28013. msgstr ""
  28014. #. type: item
  28015. #: doc/guix.texi:14892
  28016. #, no-wrap
  28017. msgid "@code{user} (default: @code{\"murmur\"})"
  28018. msgstr ""
  28019. #. type: table
  28020. #: doc/guix.texi:14894
  28021. msgid "User who will run the Murmur server."
  28022. msgstr ""
  28023. #. type: item
  28024. #: doc/guix.texi:14895
  28025. #, no-wrap
  28026. msgid "@code{group} (default: @code{\"murmur\"})"
  28027. msgstr ""
  28028. #. type: table
  28029. #: doc/guix.texi:14897
  28030. msgid "Group of the user who will run the murmur server."
  28031. msgstr ""
  28032. #. type: item
  28033. #: doc/guix.texi:14898
  28034. #, no-wrap
  28035. msgid "@code{port} (default: @code{64738})"
  28036. msgstr ""
  28037. #. type: table
  28038. #: doc/guix.texi:14900
  28039. msgid "Port on which the server will listen."
  28040. msgstr ""
  28041. #. type: item
  28042. #: doc/guix.texi:14901
  28043. #, no-wrap
  28044. msgid "@code{welcome-text} (default: @code{\"\"})"
  28045. msgstr ""
  28046. #. type: table
  28047. #: doc/guix.texi:14903
  28048. msgid "Welcome text sent to clients when they connect."
  28049. msgstr ""
  28050. #. type: item
  28051. #: doc/guix.texi:14904
  28052. #, no-wrap
  28053. msgid "@code{server-password} (default: @code{\"\"})"
  28054. msgstr ""
  28055. #. type: table
  28056. #: doc/guix.texi:14906
  28057. msgid "Password the clients have to enter in order to connect."
  28058. msgstr ""
  28059. #. type: item
  28060. #: doc/guix.texi:14907
  28061. #, no-wrap
  28062. msgid "@code{max-users} (default: @code{100})"
  28063. msgstr ""
  28064. #. type: table
  28065. #: doc/guix.texi:14909
  28066. msgid "Maximum of users that can be connected to the server at once."
  28067. msgstr ""
  28068. #. type: item
  28069. #: doc/guix.texi:14910
  28070. #, no-wrap
  28071. msgid "@code{max-user-bandwidth} (default: @code{#f})"
  28072. msgstr ""
  28073. #. type: table
  28074. #: doc/guix.texi:14912
  28075. msgid "Maximum voice traffic a user can send per second."
  28076. msgstr ""
  28077. #. type: item
  28078. #: doc/guix.texi:14913
  28079. #, no-wrap
  28080. msgid "@code{database-file} (default: @code{\"/var/lib/murmur/db.sqlite\"})"
  28081. msgstr ""
  28082. #. type: table
  28083. #: doc/guix.texi:14916
  28084. msgid ""
  28085. "File name of the sqlite database. The service's user will become the owner "
  28086. "of the directory."
  28087. msgstr ""
  28088. #. type: item
  28089. #: doc/guix.texi:14917
  28090. #, no-wrap
  28091. msgid "@code{log-file} (default: @code{\"/var/log/murmur/murmur.log\"})"
  28092. msgstr ""
  28093. #. type: table
  28094. #: doc/guix.texi:14920
  28095. msgid ""
  28096. "File name of the log file. The service's user will become the owner of the "
  28097. "directory."
  28098. msgstr ""
  28099. #. type: item
  28100. #: doc/guix.texi:14921
  28101. #, no-wrap
  28102. msgid "@code{autoban-attempts} (default: @code{10})"
  28103. msgstr ""
  28104. #. type: table
  28105. #: doc/guix.texi:14924
  28106. msgid ""
  28107. "Maximum number of logins a user can make in @code{autoban-timeframe} without "
  28108. "getting auto banned for @code{autoban-time}."
  28109. msgstr ""
  28110. #. type: item
  28111. #: doc/guix.texi:14925
  28112. #, no-wrap
  28113. msgid "@code{autoban-timeframe} (default: @code{120})"
  28114. msgstr ""
  28115. #. type: table
  28116. #: doc/guix.texi:14927
  28117. msgid "Timeframe for autoban in seconds."
  28118. msgstr ""
  28119. #. type: item
  28120. #: doc/guix.texi:14928
  28121. #, no-wrap
  28122. msgid "@code{autoban-time} (default: @code{300})"
  28123. msgstr ""
  28124. #. type: table
  28125. #: doc/guix.texi:14931
  28126. msgid ""
  28127. "Amount of time in seconds for which a client gets banned when violating the "
  28128. "autoban limits."
  28129. msgstr ""
  28130. #. type: item
  28131. #: doc/guix.texi:14932
  28132. #, no-wrap
  28133. msgid "@code{opus-threshold} (default: @code{100})"
  28134. msgstr ""
  28135. #. type: table
  28136. #: doc/guix.texi:14935
  28137. msgid ""
  28138. "Percentage of clients that need to support opus before switching over to "
  28139. "opus audio codec."
  28140. msgstr ""
  28141. #. type: item
  28142. #: doc/guix.texi:14936
  28143. #, no-wrap
  28144. msgid "@code{channel-nesting-limit} (default: @code{10})"
  28145. msgstr ""
  28146. #. type: table
  28147. #: doc/guix.texi:14938
  28148. msgid "How deep channels can be nested at maximum."
  28149. msgstr ""
  28150. #. type: item
  28151. #: doc/guix.texi:14939
  28152. #, no-wrap
  28153. msgid "@code{channelname-regex} (default: @code{#f})"
  28154. msgstr ""
  28155. #. type: table
  28156. #: doc/guix.texi:14941
  28157. msgid ""
  28158. "A string in from of a Qt regular expression that channel names must conform "
  28159. "to."
  28160. msgstr ""
  28161. #. type: item
  28162. #: doc/guix.texi:14942
  28163. #, no-wrap
  28164. msgid "@code{username-regex} (default: @code{#f})"
  28165. msgstr ""
  28166. #. type: table
  28167. #: doc/guix.texi:14944
  28168. msgid ""
  28169. "A string in from of a Qt regular expression that user names must conform to."
  28170. msgstr ""
  28171. #. type: item
  28172. #: doc/guix.texi:14945
  28173. #, no-wrap
  28174. msgid "@code{text-message-length} (default: @code{5000})"
  28175. msgstr ""
  28176. #. type: table
  28177. #: doc/guix.texi:14947
  28178. msgid "Maximum size in bytes that a user can send in one text chat message."
  28179. msgstr ""
  28180. #. type: item
  28181. #: doc/guix.texi:14948
  28182. #, no-wrap
  28183. msgid "@code{image-message-length} (default: @code{(* 128 1024)})"
  28184. msgstr ""
  28185. #. type: table
  28186. #: doc/guix.texi:14950
  28187. msgid "Maximum size in bytes that a user can send in one image message."
  28188. msgstr ""
  28189. #. type: item
  28190. #: doc/guix.texi:14951
  28191. #, no-wrap
  28192. msgid "@code{cert-required?} (default: @code{#f})"
  28193. msgstr ""
  28194. #. type: table
  28195. #: doc/guix.texi:14954
  28196. msgid ""
  28197. "If it is set to @code{#t} clients that use weak password authentification "
  28198. "will not be accepted. Users must have completed the certificate wizard to "
  28199. "join."
  28200. msgstr ""
  28201. #. type: item
  28202. #: doc/guix.texi:14955
  28203. #, no-wrap
  28204. msgid "@code{remember-channel?} (defualt @code{#f})"
  28205. msgstr ""
  28206. #. type: table
  28207. #: doc/guix.texi:14958
  28208. msgid ""
  28209. "Should murmur remember the last channel each user was in when they "
  28210. "disconnected and put them into the remembered channel when they rejoin."
  28211. msgstr ""
  28212. #. type: item
  28213. #: doc/guix.texi:14959
  28214. #, no-wrap
  28215. msgid "@code{allow-html?} (default: @code{#f})"
  28216. msgstr ""
  28217. #. type: table
  28218. #: doc/guix.texi:14961
  28219. msgid ""
  28220. "Should html be allowed in text messages, user comments, and channel "
  28221. "descriptions."
  28222. msgstr ""
  28223. #. type: item
  28224. #: doc/guix.texi:14962
  28225. #, no-wrap
  28226. msgid "@code{allow-ping?} (default: @code{#f})"
  28227. msgstr ""
  28228. #. type: table
  28229. #: doc/guix.texi:14966
  28230. msgid ""
  28231. "Setting to true exposes the current user count, the maximum user count, and "
  28232. "the server's maximum bandwidth per client to unauthenticated users. In the "
  28233. "Mumble client, this information is shown in the Connect dialog."
  28234. msgstr ""
  28235. #. type: table
  28236. #: doc/guix.texi:14968
  28237. msgid "Disabling this setting will prevent public listing of the server."
  28238. msgstr ""
  28239. #. type: item
  28240. #: doc/guix.texi:14969
  28241. #, no-wrap
  28242. msgid "@code{bonjour?} (default: @code{#f})"
  28243. msgstr ""
  28244. #. type: table
  28245. #: doc/guix.texi:14971
  28246. msgid ""
  28247. "Should the server advertise itself in the local network through the bonjour "
  28248. "protocol."
  28249. msgstr ""
  28250. #. type: item
  28251. #: doc/guix.texi:14972
  28252. #, no-wrap
  28253. msgid "@code{send-version?} (default: @code{#f})"
  28254. msgstr ""
  28255. #. type: table
  28256. #: doc/guix.texi:14974
  28257. msgid "Should the murmur server version be exposed in ping requests."
  28258. msgstr ""
  28259. #. type: item
  28260. #: doc/guix.texi:14975
  28261. #, no-wrap
  28262. msgid "@code{log-days} (default: @code{31})"
  28263. msgstr ""
  28264. #. type: table
  28265. #: doc/guix.texi:14979
  28266. msgid ""
  28267. "Murmur also stores logs in the database, which are accessible via RPC. The "
  28268. "default is 31 days of months, but you can set this setting to 0 to keep logs "
  28269. "forever, or -1 to disable logging to the database."
  28270. msgstr ""
  28271. #. type: item
  28272. #: doc/guix.texi:14980
  28273. #, no-wrap
  28274. msgid "@code{obfuscate-ips?} (default @code{#t})"
  28275. msgstr ""
  28276. #. type: table
  28277. #: doc/guix.texi:14982
  28278. msgid "Should logged ips be obfuscated to protect the privacy of users."
  28279. msgstr ""
  28280. #. type: item
  28281. #: doc/guix.texi:14983
  28282. #, no-wrap
  28283. msgid "@code{ssl-cert} (default: @code{#f})"
  28284. msgstr ""
  28285. #. type: table
  28286. #: doc/guix.texi:14985
  28287. msgid "File name of the SSL/TLS certificate used for encrypted connections."
  28288. msgstr ""
  28289. #. type: example
  28290. #: doc/guix.texi:14988
  28291. #, no-wrap
  28292. msgid "(ssl-cert \"/etc/letsencrypt/live/example.com/fullchain.pem\")\n"
  28293. msgstr ""
  28294. #. type: item
  28295. #: doc/guix.texi:14989
  28296. #, no-wrap
  28297. msgid "@code{ssl-key} (default: @code{#f})"
  28298. msgstr ""
  28299. #. type: table
  28300. #: doc/guix.texi:14991
  28301. msgid "Filepath to the ssl private key used for encrypted connections."
  28302. msgstr ""
  28303. #. type: example
  28304. #: doc/guix.texi:14993
  28305. #, no-wrap
  28306. msgid "(ssl-key \"/etc/letsencrypt/live/example.com/privkey.pem\")\n"
  28307. msgstr ""
  28308. #. type: item
  28309. #: doc/guix.texi:14995
  28310. #, no-wrap
  28311. msgid "@code{ssl-dh-params} (default: @code{#f})"
  28312. msgstr ""
  28313. #. type: table
  28314. #: doc/guix.texi:15000
  28315. msgid ""
  28316. "File name of a PEM-encoded file with Diffie-Hellman parameters for the SSL/"
  28317. "TLS encryption. Alternatively you set it to @code{\"@@ffdhe2048\"}, "
  28318. "@code{\"@@ffdhe3072\"}, @code{\"@@ffdhe4096\"}, @code{\"@@ffdhe6144\"} or "
  28319. "@code{\"@@ffdhe8192\"} to use bundled parameters from RFC 7919."
  28320. msgstr ""
  28321. #. type: item
  28322. #: doc/guix.texi:15001
  28323. #, no-wrap
  28324. msgid "@code{ssl-ciphers} (default: @code{#f})"
  28325. msgstr ""
  28326. #. type: table
  28327. #: doc/guix.texi:15004
  28328. msgid ""
  28329. "The @code{ssl-ciphers} option chooses the cipher suites to make available "
  28330. "for use in SSL/TLS."
  28331. msgstr ""
  28332. #. type: table
  28333. #: doc/guix.texi:15008
  28334. msgid ""
  28335. "This option is specified using @uref{https://www.openssl.org/docs/apps/"
  28336. "ciphers.html#CIPHER-LIST-FORMAT, OpenSSL cipher list notation}."
  28337. msgstr ""
  28338. #. type: table
  28339. #: doc/guix.texi:15013
  28340. msgid ""
  28341. "It is recommended that you try your cipher string using 'openssl ciphers "
  28342. "<string>' before setting it here, to get a feel for which cipher suites you "
  28343. "will get. After setting this option, it is recommend that you inspect your "
  28344. "Murmur log to ensure that Murmur is using the cipher suites that you "
  28345. "expected it to."
  28346. msgstr ""
  28347. #. type: table
  28348. #: doc/guix.texi:15017
  28349. msgid ""
  28350. "Note: Changing this option may impact the backwards compatibility of your "
  28351. "Murmur server, and can remove the ability for older Mumble clients to be "
  28352. "able to connect to it."
  28353. msgstr ""
  28354. #. type: item
  28355. #: doc/guix.texi:15018
  28356. #, no-wrap
  28357. msgid "@code{public-registration} (default: @code{#f})"
  28358. msgstr ""
  28359. #. type: table
  28360. #: doc/guix.texi:15020
  28361. msgid ""
  28362. "Must be a @code{<murmur-public-registration-configuration>} record or "
  28363. "@code{#f}."
  28364. msgstr ""
  28365. #. type: table
  28366. #: doc/guix.texi:15025
  28367. msgid ""
  28368. "You can optionally register your server in the public server list that the "
  28369. "@code{mumble} client shows on startup. You cannot register your server if "
  28370. "you have set a @code{server-password}, or set @code{allow-ping} to @code{#f}."
  28371. msgstr ""
  28372. #. type: table
  28373. #: doc/guix.texi:15027
  28374. msgid "It might take a few hours until it shows up in the public list."
  28375. msgstr ""
  28376. #. type: item
  28377. #: doc/guix.texi:15028 doc/guix.texi:15599
  28378. #, no-wrap
  28379. msgid "@code{file} (default: @code{#f})"
  28380. msgstr ""
  28381. #. type: table
  28382. #: doc/guix.texi:15030
  28383. msgid "Optional alternative override for this configuration."
  28384. msgstr ""
  28385. #. type: deftp
  28386. #: doc/guix.texi:15033
  28387. #, no-wrap
  28388. msgid "{Data Type} murmur-public-registration-configuration"
  28389. msgstr ""
  28390. #. type: deftp
  28391. #: doc/guix.texi:15035
  28392. msgid "Configuration for public registration of a murmur service."
  28393. msgstr ""
  28394. #. type: table
  28395. #: doc/guix.texi:15039
  28396. msgid ""
  28397. "This is a display name for your server. Not to be confused with the hostname."
  28398. msgstr ""
  28399. #. type: itemx
  28400. #: doc/guix.texi:15040 doc/guix.texi:19930
  28401. #, no-wrap
  28402. msgid "password"
  28403. msgstr ""
  28404. #. type: table
  28405. #: doc/guix.texi:15043
  28406. msgid ""
  28407. "A password to identify your registration. Subsequent updates will need the "
  28408. "same password. Don't lose your password."
  28409. msgstr ""
  28410. #. type: code{#1}
  28411. #: doc/guix.texi:15044
  28412. #, no-wrap
  28413. msgid "url"
  28414. msgstr ""
  28415. #. type: table
  28416. #: doc/guix.texi:15047
  28417. msgid ""
  28418. "This should be a @code{http://} or @code{https://} link to your web site."
  28419. msgstr ""
  28420. #. type: item
  28421. #: doc/guix.texi:15048
  28422. #, no-wrap
  28423. msgid "@code{hostname} (default: @code{#f})"
  28424. msgstr ""
  28425. #. type: table
  28426. #: doc/guix.texi:15051
  28427. msgid ""
  28428. "By default your server will be listed by its IP address. If it is set your "
  28429. "server will be linked by this host name instead."
  28430. msgstr ""
  28431. #. type: subsubheading
  28432. #: doc/guix.texi:15059
  28433. #, no-wrap
  28434. msgid "Tailon Service"
  28435. msgstr ""
  28436. #. type: Plain text
  28437. #: doc/guix.texi:15063
  28438. msgid ""
  28439. "@uref{https://tailon.readthedocs.io/, Tailon} is a web application for "
  28440. "viewing and searching log files."
  28441. msgstr ""
  28442. #. type: Plain text
  28443. #: doc/guix.texi:15066
  28444. msgid ""
  28445. "The following example will configure the service with default values. By "
  28446. "default, Tailon can be accessed on port 8080 (@code{http://localhost:8080})."
  28447. msgstr ""
  28448. #. type: example
  28449. #: doc/guix.texi:15069
  28450. #, no-wrap
  28451. msgid "(service tailon-service-type)\n"
  28452. msgstr ""
  28453. #. type: Plain text
  28454. #: doc/guix.texi:15073
  28455. msgid ""
  28456. "The following example customises more of the Tailon configuration, adding "
  28457. "@command{sed} to the list of allowed commands."
  28458. msgstr ""
  28459. #. type: example
  28460. #: doc/guix.texi:15080
  28461. #, no-wrap
  28462. msgid ""
  28463. "(service tailon-service-type\n"
  28464. " (tailon-configuration\n"
  28465. " (config-file\n"
  28466. " (tailon-configuration-file\n"
  28467. " (allowed-commands '(\"tail\" \"grep\" \"awk\" \"sed\"))))))\n"
  28468. msgstr ""
  28469. #. type: deftp
  28470. #: doc/guix.texi:15083
  28471. #, no-wrap
  28472. msgid "{Data Type} tailon-configuration"
  28473. msgstr ""
  28474. #. type: deftp
  28475. #: doc/guix.texi:15086
  28476. msgid ""
  28477. "Data type representing the configuration of Tailon. This type has the "
  28478. "following parameters:"
  28479. msgstr ""
  28480. #. type: item
  28481. #: doc/guix.texi:15088
  28482. #, no-wrap
  28483. msgid "@code{config-file} (default: @code{(tailon-configuration-file)})"
  28484. msgstr ""
  28485. #. type: table
  28486. #: doc/guix.texi:15092
  28487. msgid ""
  28488. "The configuration file to use for Tailon. This can be set to a @dfn{tailon-"
  28489. "configuration-file} record value, or any gexp (@pxref{G-Expressions})."
  28490. msgstr ""
  28491. #. type: table
  28492. #: doc/guix.texi:15095
  28493. msgid ""
  28494. "For example, to instead use a local file, the @code{local-file} function can "
  28495. "be used:"
  28496. msgstr ""
  28497. #. type: example
  28498. #: doc/guix.texi:15100
  28499. #, no-wrap
  28500. msgid ""
  28501. "(service tailon-service-type\n"
  28502. " (tailon-configuration\n"
  28503. " (config-file (local-file \"./my-tailon.conf\"))))\n"
  28504. msgstr ""
  28505. #. type: item
  28506. #: doc/guix.texi:15102
  28507. #, no-wrap
  28508. msgid "@code{package} (default: @code{tailon})"
  28509. msgstr ""
  28510. #. type: table
  28511. #: doc/guix.texi:15104
  28512. msgid "The tailon package to use."
  28513. msgstr ""
  28514. #. type: deftp
  28515. #: doc/guix.texi:15108
  28516. #, no-wrap
  28517. msgid "{Data Type} tailon-configuration-file"
  28518. msgstr ""
  28519. #. type: deftp
  28520. #: doc/guix.texi:15111
  28521. msgid ""
  28522. "Data type representing the configuration options for Tailon. This type has "
  28523. "the following parameters:"
  28524. msgstr ""
  28525. #. type: item
  28526. #: doc/guix.texi:15113
  28527. #, no-wrap
  28528. msgid "@code{files} (default: @code{(list \"/var/log\")})"
  28529. msgstr ""
  28530. #. type: table
  28531. #: doc/guix.texi:15118
  28532. msgid ""
  28533. "List of files to display. The list can include strings for a single file or "
  28534. "directory, or a list, where the first item is the name of a subsection, and "
  28535. "the remaining items are the files or directories in that subsection."
  28536. msgstr ""
  28537. #. type: item
  28538. #: doc/guix.texi:15119
  28539. #, no-wrap
  28540. msgid "@code{bind} (default: @code{\"localhost:8080\"})"
  28541. msgstr ""
  28542. #. type: table
  28543. #: doc/guix.texi:15121
  28544. msgid "Address and port to which Tailon should bind on."
  28545. msgstr ""
  28546. #. type: item
  28547. #: doc/guix.texi:15122
  28548. #, no-wrap
  28549. msgid "@code{relative-root} (default: @code{#f})"
  28550. msgstr ""
  28551. #. type: table
  28552. #: doc/guix.texi:15124
  28553. msgid "URL path to use for Tailon, set to @code{#f} to not use a path."
  28554. msgstr ""
  28555. #. type: item
  28556. #: doc/guix.texi:15125
  28557. #, no-wrap
  28558. msgid "@code{allow-transfers?} (default: @code{#t})"
  28559. msgstr ""
  28560. #. type: table
  28561. #: doc/guix.texi:15127
  28562. msgid "Allow downloading the log files in the web interface."
  28563. msgstr ""
  28564. #. type: item
  28565. #: doc/guix.texi:15128
  28566. #, no-wrap
  28567. msgid "@code{follow-names?} (default: @code{#t})"
  28568. msgstr ""
  28569. #. type: table
  28570. #: doc/guix.texi:15130
  28571. msgid "Allow tailing of not-yet existent files."
  28572. msgstr ""
  28573. #. type: item
  28574. #: doc/guix.texi:15131
  28575. #, no-wrap
  28576. msgid "@code{tail-lines} (default: @code{200})"
  28577. msgstr ""
  28578. #. type: table
  28579. #: doc/guix.texi:15133
  28580. msgid "Number of lines to read initially from each file."
  28581. msgstr ""
  28582. #. type: item
  28583. #: doc/guix.texi:15134
  28584. #, no-wrap
  28585. msgid "@code{allowed-commands} (default: @code{(list \"tail\" \"grep\" \"awk\")})"
  28586. msgstr ""
  28587. #. type: table
  28588. #: doc/guix.texi:15136
  28589. msgid "Commands to allow running. By default, @code{sed} is disabled."
  28590. msgstr ""
  28591. #. type: item
  28592. #: doc/guix.texi:15137
  28593. #, no-wrap
  28594. msgid "@code{debug?} (default: @code{#f})"
  28595. msgstr ""
  28596. #. type: table
  28597. #: doc/guix.texi:15139
  28598. msgid "Set @code{debug?} to @code{#t} to show debug messages."
  28599. msgstr ""
  28600. #. type: item
  28601. #: doc/guix.texi:15140
  28602. #, no-wrap
  28603. msgid "@code{wrap-lines} (default: @code{#t})"
  28604. msgstr ""
  28605. #. type: table
  28606. #: doc/guix.texi:15144
  28607. msgid ""
  28608. "Initial line wrapping state in the web interface. Set to @code{#t} to "
  28609. "initially wrap lines (the default), or to @code{#f} to initially not wrap "
  28610. "lines."
  28611. msgstr ""
  28612. #. type: item
  28613. #: doc/guix.texi:15145
  28614. #, no-wrap
  28615. msgid "@code{http-auth} (default: @code{#f})"
  28616. msgstr ""
  28617. #. type: table
  28618. #: doc/guix.texi:15149
  28619. msgid ""
  28620. "HTTP authentication type to use. Set to @code{#f} to disable authentication "
  28621. "(the default). Supported values are @code{\"digest\"} or @code{\"basic\"}."
  28622. msgstr ""
  28623. #. type: item
  28624. #: doc/guix.texi:15150
  28625. #, no-wrap
  28626. msgid "@code{users} (default: @code{#f})"
  28627. msgstr ""
  28628. #. type: table
  28629. #: doc/guix.texi:15155
  28630. msgid ""
  28631. "If HTTP authentication is enabled (see @code{http-auth}), access will be "
  28632. "restricted to the credentials provided here. To configure users, use a list "
  28633. "of pairs, where the first element of the pair is the username, and the 2nd "
  28634. "element of the pair is the password."
  28635. msgstr ""
  28636. #. type: example
  28637. #: doc/guix.texi:15161
  28638. #, no-wrap
  28639. msgid ""
  28640. "(tailon-configuration-file\n"
  28641. " (http-auth \"basic\")\n"
  28642. " (users '((\"user1\" . \"password1\")\n"
  28643. " (\"user2\" . \"password2\"))))\n"
  28644. msgstr ""
  28645. #. type: subsubheading
  28646. #: doc/guix.texi:15167
  28647. #, no-wrap
  28648. msgid "Darkstat Service"
  28649. msgstr ""
  28650. #. type: cindex
  28651. #: doc/guix.texi:15168
  28652. #, no-wrap
  28653. msgid "darkstat"
  28654. msgstr ""
  28655. #. type: Plain text
  28656. #: doc/guix.texi:15171
  28657. msgid ""
  28658. "Darkstat is a packet sniffer that captures network traffic, calculates "
  28659. "statistics about usage, and serves reports over HTTP."
  28660. msgstr ""
  28661. #. type: defvar
  28662. #: doc/guix.texi:15172
  28663. #, no-wrap
  28664. msgid "{Scheme Variable} darkstat-service-type"
  28665. msgstr ""
  28666. #. type: defvar
  28667. #: doc/guix.texi:15177
  28668. msgid ""
  28669. "This is the service type for the @uref{https://unix4lyfe.org/darkstat/, "
  28670. "darkstat} service, its value must be a @code{darkstat-configuration} record "
  28671. "as in this example:"
  28672. msgstr ""
  28673. #. type: example
  28674. #: doc/guix.texi:15182
  28675. #, no-wrap
  28676. msgid ""
  28677. "(service darkstat-service-type\n"
  28678. " (darkstat-configuration\n"
  28679. " (interface \"eno1\")))\n"
  28680. msgstr ""
  28681. #. type: deftp
  28682. #: doc/guix.texi:15185
  28683. #, no-wrap
  28684. msgid "{Data Type} darkstat-configuration"
  28685. msgstr ""
  28686. #. type: deftp
  28687. #: doc/guix.texi:15187
  28688. msgid "Data type representing the configuration of @command{darkstat}."
  28689. msgstr ""
  28690. #. type: item
  28691. #: doc/guix.texi:15189
  28692. #, no-wrap
  28693. msgid "@code{package} (default: @code{darkstat})"
  28694. msgstr ""
  28695. #. type: table
  28696. #: doc/guix.texi:15191
  28697. msgid "The darkstat package to use."
  28698. msgstr ""
  28699. #. type: code{#1}
  28700. #: doc/guix.texi:15192
  28701. #, no-wrap
  28702. msgid "interface"
  28703. msgstr ""
  28704. #. type: table
  28705. #: doc/guix.texi:15194
  28706. msgid "Capture traffic on the specified network interface."
  28707. msgstr ""
  28708. #. type: item
  28709. #: doc/guix.texi:15195
  28710. #, no-wrap
  28711. msgid "@code{port} (default: @code{\"667\"})"
  28712. msgstr ""
  28713. #. type: table
  28714. #: doc/guix.texi:15197
  28715. msgid "Bind the web interface to the specified port."
  28716. msgstr ""
  28717. #. type: item
  28718. #: doc/guix.texi:15198
  28719. #, no-wrap
  28720. msgid "@code{bind-address} (default: @code{\"127.0.0.1\"})"
  28721. msgstr ""
  28722. #. type: table
  28723. #: doc/guix.texi:15200
  28724. msgid "Bind the web interface to the specified address."
  28725. msgstr ""
  28726. #. type: item
  28727. #: doc/guix.texi:15201
  28728. #, no-wrap
  28729. msgid "@code{base} (default: @code{\"/\"})"
  28730. msgstr ""
  28731. #. type: table
  28732. #: doc/guix.texi:15204
  28733. msgid ""
  28734. "Specify the path of the base URL. This can be useful if @command{darkstat} "
  28735. "is accessed via a reverse proxy."
  28736. msgstr ""
  28737. #. type: cindex
  28738. #: doc/guix.texi:15211
  28739. #, no-wrap
  28740. msgid "Kerberos"
  28741. msgstr ""
  28742. #. type: Plain text
  28743. #: doc/guix.texi:15215
  28744. msgid ""
  28745. "The @code{(gnu services kerberos)} module provides services relating to the "
  28746. "authentication protocol @dfn{Kerberos}."
  28747. msgstr ""
  28748. #. type: subsubheading
  28749. #: doc/guix.texi:15216
  28750. #, no-wrap
  28751. msgid "Krb5 Service"
  28752. msgstr ""
  28753. #. type: Plain text
  28754. #: doc/guix.texi:15223
  28755. msgid ""
  28756. "Programs using a Kerberos client library normally expect a configuration "
  28757. "file in @file{/etc/krb5.conf}. This service generates such a file from a "
  28758. "definition provided in the operating system declaration. It does not cause "
  28759. "any daemon to be started."
  28760. msgstr ""
  28761. #. type: Plain text
  28762. #: doc/guix.texi:15227
  28763. msgid ""
  28764. "No ``keytab'' files are provided by this service---you must explicitly "
  28765. "create them. This service is known to work with the MIT client library, "
  28766. "@code{mit-krb5}. Other implementations have not been tested."
  28767. msgstr ""
  28768. #. type: defvr
  28769. #: doc/guix.texi:15228
  28770. #, no-wrap
  28771. msgid "{Scheme Variable} krb5-service-type"
  28772. msgstr ""
  28773. #. type: defvr
  28774. #: doc/guix.texi:15230
  28775. msgid "A service type for Kerberos 5 clients."
  28776. msgstr ""
  28777. #. type: Plain text
  28778. #: doc/guix.texi:15234
  28779. msgid "Here is an example of its use:"
  28780. msgstr ""
  28781. #. type: lisp
  28782. #: doc/guix.texi:15248
  28783. #, no-wrap
  28784. msgid ""
  28785. "(service krb5-service-type\n"
  28786. " (krb5-configuration\n"
  28787. " (default-realm \"EXAMPLE.COM\")\n"
  28788. " (allow-weak-crypto? #t)\n"
  28789. " (realms (list\n"
  28790. " (krb5-realm\n"
  28791. " (name \"EXAMPLE.COM\")\n"
  28792. " (admin-server \"groucho.example.com\")\n"
  28793. " (kdc \"karl.example.com\"))\n"
  28794. " (krb5-realm\n"
  28795. " (name \"ARGRX.EDU\")\n"
  28796. " (admin-server \"kerb-admin.argrx.edu\")\n"
  28797. " (kdc \"keys.argrx.edu\"))))))\n"
  28798. msgstr ""
  28799. #. type: Plain text
  28800. #: doc/guix.texi:15252
  28801. msgid "This example provides a Kerberos@tie{}5 client configuration which:"
  28802. msgstr ""
  28803. #. type: item
  28804. #: doc/guix.texi:15253
  28805. #, no-wrap
  28806. msgid "Recognizes two realms, @i{viz:} ``EXAMPLE.COM'' and ``ARGRX.EDU'', both"
  28807. msgstr ""
  28808. #. type: itemize
  28809. #: doc/guix.texi:15255
  28810. msgid ""
  28811. "of which have distinct administration servers and key distribution centers;"
  28812. msgstr ""
  28813. #. type: item
  28814. #: doc/guix.texi:15255
  28815. #, no-wrap
  28816. msgid "Will default to the realm ``EXAMPLE.COM'' if the realm is not explicitly"
  28817. msgstr ""
  28818. #. type: itemize
  28819. #: doc/guix.texi:15257
  28820. msgid "specified by clients;"
  28821. msgstr ""
  28822. #. type: item
  28823. #: doc/guix.texi:15257
  28824. #, no-wrap
  28825. msgid "Accepts services which only support encryption types known to be weak."
  28826. msgstr ""
  28827. #. type: Plain text
  28828. #: doc/guix.texi:15265
  28829. msgid ""
  28830. "The @code{krb5-realm} and @code{krb5-configuration} types have many fields. "
  28831. "Only the most commonly used ones are described here. For a full list, and "
  28832. "more detailed explanation of each, see the MIT @uref{http://web.mit.edu/"
  28833. "kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf} "
  28834. "documentation."
  28835. msgstr ""
  28836. #. type: deftp
  28837. #: doc/guix.texi:15267
  28838. #, no-wrap
  28839. msgid "{Data Type} krb5-realm"
  28840. msgstr ""
  28841. #. type: cindex
  28842. #: doc/guix.texi:15268
  28843. #, no-wrap
  28844. msgid "realm, kerberos"
  28845. msgstr ""
  28846. #. type: table
  28847. #: doc/guix.texi:15274
  28848. msgid ""
  28849. "This field is a string identifying the name of the realm. A common "
  28850. "convention is to use the fully qualified DNS name of your organization, "
  28851. "converted to upper case."
  28852. msgstr ""
  28853. #. type: code{#1}
  28854. #: doc/guix.texi:15275
  28855. #, no-wrap
  28856. msgid "admin-server"
  28857. msgstr ""
  28858. #. type: table
  28859. #: doc/guix.texi:15278
  28860. msgid ""
  28861. "This field is a string identifying the host where the administration server "
  28862. "is running."
  28863. msgstr ""
  28864. #. type: code{#1}
  28865. #: doc/guix.texi:15279
  28866. #, no-wrap
  28867. msgid "kdc"
  28868. msgstr ""
  28869. #. type: table
  28870. #: doc/guix.texi:15282
  28871. msgid ""
  28872. "This field is a string identifying the key distribution center for the realm."
  28873. msgstr ""
  28874. #. type: deftp
  28875. #: doc/guix.texi:15285
  28876. #, no-wrap
  28877. msgid "{Data Type} krb5-configuration"
  28878. msgstr ""
  28879. #. type: item
  28880. #: doc/guix.texi:15288
  28881. #, no-wrap
  28882. msgid "@code{allow-weak-crypto?} (default: @code{#f})"
  28883. msgstr ""
  28884. #. type: table
  28885. #: doc/guix.texi:15291
  28886. msgid ""
  28887. "If this flag is @code{#t} then services which only offer encryption "
  28888. "algorithms known to be weak will be accepted."
  28889. msgstr ""
  28890. #. type: item
  28891. #: doc/guix.texi:15292
  28892. #, no-wrap
  28893. msgid "@code{default-realm} (default: @code{#f})"
  28894. msgstr ""
  28895. #. type: table
  28896. #: doc/guix.texi:15299
  28897. msgid ""
  28898. "This field should be a string identifying the default Kerberos realm for the "
  28899. "client. You should set this field to the name of your Kerberos realm. If "
  28900. "this value is @code{#f} then a realm must be specified with every Kerberos "
  28901. "principal when invoking programs such as @command{kinit}."
  28902. msgstr ""
  28903. #. type: code{#1}
  28904. #: doc/guix.texi:15300
  28905. #, no-wrap
  28906. msgid "realms"
  28907. msgstr ""
  28908. #. type: table
  28909. #: doc/guix.texi:15305
  28910. msgid ""
  28911. "This should be a non-empty list of @code{krb5-realm} objects, which clients "
  28912. "may access. Normally, one of them will have a @code{name} field matching "
  28913. "the @code{default-realm} field."
  28914. msgstr ""
  28915. #. type: subsubheading
  28916. #: doc/guix.texi:15309
  28917. #, no-wrap
  28918. msgid "PAM krb5 Service"
  28919. msgstr ""
  28920. #. type: cindex
  28921. #: doc/guix.texi:15310
  28922. #, no-wrap
  28923. msgid "pam-krb5"
  28924. msgstr ""
  28925. #. type: Plain text
  28926. #: doc/guix.texi:15316
  28927. msgid ""
  28928. "The @code{pam-krb5} service allows for login authentication and password "
  28929. "management via Kerberos. You will need this service if you want PAM enabled "
  28930. "applications to authenticate users using Kerberos."
  28931. msgstr ""
  28932. #. type: defvr
  28933. #: doc/guix.texi:15317
  28934. #, no-wrap
  28935. msgid "{Scheme Variable} pam-krb5-service-type"
  28936. msgstr ""
  28937. #. type: defvr
  28938. #: doc/guix.texi:15319
  28939. msgid "A service type for the Kerberos 5 PAM module."
  28940. msgstr ""
  28941. #. type: deftp
  28942. #: doc/guix.texi:15321
  28943. #, no-wrap
  28944. msgid "{Data Type} pam-krb5-configuration"
  28945. msgstr ""
  28946. #. type: deftp
  28947. #: doc/guix.texi:15324
  28948. msgid ""
  28949. "Data type representing the configuration of the Kerberos 5 PAM module This "
  28950. "type has the following parameters:"
  28951. msgstr ""
  28952. #. type: item
  28953. #: doc/guix.texi:15325
  28954. #, no-wrap
  28955. msgid "@code{pam-krb5} (default: @code{pam-krb5})"
  28956. msgstr ""
  28957. #. type: table
  28958. #: doc/guix.texi:15327
  28959. msgid "The pam-krb5 package to use."
  28960. msgstr ""
  28961. #. type: item
  28962. #: doc/guix.texi:15328
  28963. #, no-wrap
  28964. msgid "@code{minimum-uid} (default: @code{1000})"
  28965. msgstr ""
  28966. #. type: table
  28967. #: doc/guix.texi:15331
  28968. msgid ""
  28969. "The smallest user ID for which Kerberos authentications should be "
  28970. "attempted. Local accounts with lower values will silently fail to "
  28971. "authenticate."
  28972. msgstr ""
  28973. #. type: cindex
  28974. #: doc/guix.texi:15338
  28975. #, no-wrap
  28976. msgid "web"
  28977. msgstr ""
  28978. #. type: cindex
  28979. #: doc/guix.texi:15339
  28980. #, no-wrap
  28981. msgid "www"
  28982. msgstr ""
  28983. #. type: cindex
  28984. #: doc/guix.texi:15340
  28985. #, no-wrap
  28986. msgid "HTTP"
  28987. msgstr ""
  28988. #. type: Plain text
  28989. #: doc/guix.texi:15343
  28990. msgid ""
  28991. "The @code{(gnu services web)} module provides the Apache HTTP Server, the "
  28992. "nginx web server, and also a fastcgi wrapper daemon."
  28993. msgstr ""
  28994. #. type: subsubheading
  28995. #: doc/guix.texi:15344
  28996. #, no-wrap
  28997. msgid "Apache HTTP Server"
  28998. msgstr ""
  28999. #. type: deffn
  29000. #: doc/guix.texi:15346
  29001. #, no-wrap
  29002. msgid "{Scheme Variable} httpd-service-type"
  29003. msgstr ""
  29004. #. type: deffn
  29005. #: doc/guix.texi:15350
  29006. msgid ""
  29007. "Service type for the @uref{https://httpd.apache.org/,Apache HTTP} server "
  29008. "(@dfn{httpd}). The value for this service type is a @code{https-"
  29009. "configuration} record."
  29010. msgstr ""
  29011. #. type: deffn
  29012. #: doc/guix.texi:15352 doc/guix.texi:15503
  29013. msgid "A simple example configuration is given below."
  29014. msgstr ""
  29015. #. type: example
  29016. #: doc/guix.texi:15360
  29017. #, no-wrap
  29018. msgid ""
  29019. "(service httpd-service-type\n"
  29020. " (httpd-configuration\n"
  29021. " (config\n"
  29022. " (httpd-config-file\n"
  29023. " (server-name \"www.example.com\")\n"
  29024. " (document-root \"/srv/http/www.example.com\")))))\n"
  29025. msgstr ""
  29026. #. type: deffn
  29027. #: doc/guix.texi:15364
  29028. msgid ""
  29029. "Other services can also extend the @code{httpd-service-type} to add to the "
  29030. "configuration."
  29031. msgstr ""
  29032. #. type: example
  29033. #: doc/guix.texi:15373 doc/guix.texi:15483
  29034. #, no-wrap
  29035. msgid ""
  29036. "(simple-service 'my-extra-server httpd-service-type\n"
  29037. " (list\n"
  29038. " (httpd-virtualhost\n"
  29039. " \"*:80\"\n"
  29040. " (list (string-append\n"
  29041. " \"ServerName \"www.example.com\n"
  29042. " DocumentRoot \\\"/srv/http/www.example.com\\\"\")))))\n"
  29043. msgstr ""
  29044. #. type: Plain text
  29045. #: doc/guix.texi:15379
  29046. msgid ""
  29047. "The details for the @code{httpd-configuration}, @code{httpd-module}, "
  29048. "@code{httpd-config-file} and @code{httpd-virtualhost} record types are given "
  29049. "below."
  29050. msgstr ""
  29051. #. type: deffn
  29052. #: doc/guix.texi:15380
  29053. #, no-wrap
  29054. msgid "{Data Type} httpd-configuration"
  29055. msgstr ""
  29056. #. type: deffn
  29057. #: doc/guix.texi:15382
  29058. msgid "This data type represents the configuration for the httpd service."
  29059. msgstr ""
  29060. #. type: item
  29061. #: doc/guix.texi:15384
  29062. #, no-wrap
  29063. msgid "@code{package} (default: @code{httpd})"
  29064. msgstr ""
  29065. #. type: table
  29066. #: doc/guix.texi:15386
  29067. msgid "The httpd package to use."
  29068. msgstr ""
  29069. #. type: item
  29070. #: doc/guix.texi:15387 doc/guix.texi:15446
  29071. #, no-wrap
  29072. msgid "@code{pid-file} (default: @code{\"/var/run/httpd\"})"
  29073. msgstr ""
  29074. #. type: table
  29075. #: doc/guix.texi:15389
  29076. msgid "The pid file used by the shepherd-service."
  29077. msgstr ""
  29078. #. type: item
  29079. #: doc/guix.texi:15390
  29080. #, no-wrap
  29081. msgid "@code{config} (default: @code{(httpd-config-file)})"
  29082. msgstr ""
  29083. #. type: table
  29084. #: doc/guix.texi:15395
  29085. msgid ""
  29086. "The configuration file to use with the httpd service. The default value is a "
  29087. "@code{httpd-config-file} record, but this can also be a different G-"
  29088. "expression that generates a file, for example a @code{plain-file}. A file "
  29089. "outside of the store can also be specified through a string."
  29090. msgstr ""
  29091. #. type: deffn
  29092. #: doc/guix.texi:15399
  29093. #, no-wrap
  29094. msgid "{Data Type} httpd-module"
  29095. msgstr ""
  29096. #. type: deffn
  29097. #: doc/guix.texi:15401
  29098. msgid "This data type represents a module for the httpd service."
  29099. msgstr ""
  29100. #. type: table
  29101. #: doc/guix.texi:15405
  29102. msgid "The name of the module."
  29103. msgstr ""
  29104. #. type: table
  29105. #: doc/guix.texi:15411
  29106. msgid ""
  29107. "The file for the module. This can be relative to the httpd package being "
  29108. "used, the absolute location of a file, or a G-expression for a file within "
  29109. "the store, for example @code{(file-append mod-wsgi \"/modules/mod_wsgi.so"
  29110. "\")}."
  29111. msgstr ""
  29112. #. type: deffn
  29113. #: doc/guix.texi:15415
  29114. #, no-wrap
  29115. msgid "{Data Type} httpd-config-file"
  29116. msgstr ""
  29117. #. type: deffn
  29118. #: doc/guix.texi:15417
  29119. msgid "This data type represents a configuration file for the httpd service."
  29120. msgstr ""
  29121. #. type: item
  29122. #: doc/guix.texi:15419
  29123. #, no-wrap
  29124. msgid "@code{modules} (default: @code{%default-httpd-modules})"
  29125. msgstr ""
  29126. #. type: table
  29127. #: doc/guix.texi:15422
  29128. msgid ""
  29129. "The modules to load. Additional modules can be added here, or loaded by "
  29130. "additional configuration."
  29131. msgstr ""
  29132. #. type: item
  29133. #: doc/guix.texi:15423
  29134. #, no-wrap
  29135. msgid "@code{server-root} (default: @code{httpd})"
  29136. msgstr ""
  29137. #. type: table
  29138. #: doc/guix.texi:15427
  29139. msgid ""
  29140. "The @code{ServerRoot} in the configuration file, defaults to the httpd "
  29141. "package. Directives including @code{Include} and @code{LoadModule} are taken "
  29142. "as relative to the server root."
  29143. msgstr ""
  29144. #. type: item
  29145. #: doc/guix.texi:15428
  29146. #, no-wrap
  29147. msgid "@code{server-name} (default: @code{#f})"
  29148. msgstr ""
  29149. #. type: table
  29150. #: doc/guix.texi:15432
  29151. msgid ""
  29152. "The @code{ServerName} in the configuration file, used to specify the request "
  29153. "scheme, hostname and port that the server uses to identify itself."
  29154. msgstr ""
  29155. #. type: table
  29156. #: doc/guix.texi:15436
  29157. msgid ""
  29158. "This doesn't need to be set in the server config, and can be specifyed in "
  29159. "virtual hosts. The default is @code{#f} to not specify a @code{ServerName}."
  29160. msgstr ""
  29161. #. type: item
  29162. #: doc/guix.texi:15437
  29163. #, no-wrap
  29164. msgid "@code{document-root} (default: @code{\"/srv/http\"})"
  29165. msgstr ""
  29166. #. type: table
  29167. #: doc/guix.texi:15439
  29168. msgid "The @code{DocumentRoot} from which files will be served."
  29169. msgstr ""
  29170. #. type: item
  29171. #: doc/guix.texi:15440
  29172. #, no-wrap
  29173. msgid "@code{listen} (default: @code{'(\"80\")})"
  29174. msgstr ""
  29175. #. type: table
  29176. #: doc/guix.texi:15445
  29177. msgid ""
  29178. "The list of values for the @code{Listen} directives in the config file. The "
  29179. "value should be a list of strings, when each string can specify the port "
  29180. "number to listen on, and optionally the IP address and protocol to use."
  29181. msgstr ""
  29182. #. type: table
  29183. #: doc/guix.texi:15450
  29184. msgid ""
  29185. "The @code{PidFile} to use. This should match the @code{pid-file} set in the "
  29186. "@code{httpd-configuration} so that the Shepherd service is configured "
  29187. "correctly."
  29188. msgstr ""
  29189. #. type: item
  29190. #: doc/guix.texi:15451
  29191. #, no-wrap
  29192. msgid "@code{error-log} (default: @code{\"/var/log/httpd/error_log\"})"
  29193. msgstr ""
  29194. #. type: table
  29195. #: doc/guix.texi:15453
  29196. msgid "The @code{ErrorLog} to which the server will log errors."
  29197. msgstr ""
  29198. #. type: item
  29199. #: doc/guix.texi:15454
  29200. #, no-wrap
  29201. msgid "@code{user} (default: @code{\"httpd\"})"
  29202. msgstr ""
  29203. #. type: table
  29204. #: doc/guix.texi:15456
  29205. msgid "The @code{User} which the server will answer requests as."
  29206. msgstr ""
  29207. #. type: item
  29208. #: doc/guix.texi:15457
  29209. #, no-wrap
  29210. msgid "@code{group} (default: @code{\"httpd\"})"
  29211. msgstr ""
  29212. #. type: table
  29213. #: doc/guix.texi:15459
  29214. msgid "The @code{Group} which the server will answer requests as."
  29215. msgstr ""
  29216. #. type: item
  29217. #: doc/guix.texi:15460
  29218. #, no-wrap
  29219. msgid "@code{extra-config} (default: @code{(list \"TypesConfig etc/httpd/mime.types\")})"
  29220. msgstr ""
  29221. #. type: table
  29222. #: doc/guix.texi:15463
  29223. msgid ""
  29224. "A flat list of strings and G-expressions which will be added to the end of "
  29225. "the configuration file."
  29226. msgstr ""
  29227. #. type: table
  29228. #: doc/guix.texi:15466
  29229. msgid ""
  29230. "Any values which the service is extended with will be appended to this list."
  29231. msgstr ""
  29232. #. type: deffn
  29233. #: doc/guix.texi:15470
  29234. #, no-wrap
  29235. msgid "{Data Type} httpd-virtualhost"
  29236. msgstr ""
  29237. #. type: deffn
  29238. #: doc/guix.texi:15472
  29239. msgid ""
  29240. "This data type represents a virtualhost configuration block for the httpd "
  29241. "service."
  29242. msgstr ""
  29243. #. type: deffn
  29244. #: doc/guix.texi:15474
  29245. msgid "These should be added to the extra-config for the httpd-service."
  29246. msgstr ""
  29247. #. type: code{#1}
  29248. #: doc/guix.texi:15486
  29249. #, no-wrap
  29250. msgid "addresses-and-ports"
  29251. msgstr ""
  29252. #. type: table
  29253. #: doc/guix.texi:15488
  29254. msgid "The addresses and ports for the @code{VirtualHost} directive."
  29255. msgstr ""
  29256. #. type: code{#1}
  29257. #: doc/guix.texi:15489
  29258. #, no-wrap
  29259. msgid "contents"
  29260. msgstr ""
  29261. #. type: table
  29262. #: doc/guix.texi:15492
  29263. msgid ""
  29264. "The contents of the @code{VirtualHost} directive, this should be a list of "
  29265. "strings and G-expressions."
  29266. msgstr ""
  29267. #. type: subsubheading
  29268. #: doc/guix.texi:15496
  29269. #, no-wrap
  29270. msgid "NGINX"
  29271. msgstr ""
  29272. #. type: deffn
  29273. #: doc/guix.texi:15498
  29274. #, no-wrap
  29275. msgid "{Scheme Variable} nginx-service-type"
  29276. msgstr ""
  29277. #. type: deffn
  29278. #: doc/guix.texi:15501
  29279. msgid ""
  29280. "Service type for the @uref{https://nginx.org/,NGinx} web server. The value "
  29281. "for this service type is a @code{<nginx-configuration>} record."
  29282. msgstr ""
  29283. #. type: example
  29284. #: doc/guix.texi:15511 doc/guix.texi:15565
  29285. #, no-wrap
  29286. msgid ""
  29287. "(service nginx-service-type\n"
  29288. " (nginx-configuration\n"
  29289. " (server-blocks\n"
  29290. " (list (nginx-server-configuration\n"
  29291. " (server-name '(\"www.example.com\"))\n"
  29292. " (root \"/srv/http/www.example.com\"))))))\n"
  29293. msgstr ""
  29294. #. type: deffn
  29295. #: doc/guix.texi:15516
  29296. msgid ""
  29297. "In addition to adding server blocks to the service configuration directly, "
  29298. "this service can be extended by other services to add server blocks, as in "
  29299. "this example:"
  29300. msgstr ""
  29301. #. type: example
  29302. #: doc/guix.texi:15522
  29303. #, no-wrap
  29304. msgid ""
  29305. "(simple-service 'my-extra-server nginx-service-type\n"
  29306. " (list (nginx-server-configuration\n"
  29307. " (root \"/srv/http/extra-website\")\n"
  29308. " (try-files (list \"$uri\" \"$uri/index.html\")))))\n"
  29309. msgstr ""
  29310. #. type: Plain text
  29311. #: doc/guix.texi:15533
  29312. msgid ""
  29313. "At startup, @command{nginx} has not yet read its configuration file, so it "
  29314. "uses a default file to log error messages. If it fails to load its "
  29315. "configuration file, that is where error messages are logged. After the "
  29316. "configuration file is loaded, the default error log file changes as per "
  29317. "configuration. In our case, startup error messages can be found in @file{/"
  29318. "var/run/nginx/logs/error.log}, and after configuration in @file{/var/log/"
  29319. "nginx/error.log}. The second location can be changed with the @var{log-"
  29320. "directory} configuration option."
  29321. msgstr ""
  29322. #. type: deffn
  29323. #: doc/guix.texi:15534
  29324. #, no-wrap
  29325. msgid "{Data Type} nginx-configuration"
  29326. msgstr ""
  29327. #. type: deffn
  29328. #: doc/guix.texi:15538
  29329. msgid ""
  29330. "This data type represents the configuration for NGinx. Some configuration "
  29331. "can be done through this and the other provided record types, or "
  29332. "alternatively, a config file can be provided."
  29333. msgstr ""
  29334. #. type: item
  29335. #: doc/guix.texi:15540
  29336. #, no-wrap
  29337. msgid "@code{nginx} (default: @code{nginx})"
  29338. msgstr ""
  29339. #. type: table
  29340. #: doc/guix.texi:15542
  29341. msgid "The nginx package to use."
  29342. msgstr ""
  29343. #. type: item
  29344. #: doc/guix.texi:15543
  29345. #, no-wrap
  29346. msgid "@code{log-directory} (default: @code{\"/var/log/nginx\"})"
  29347. msgstr ""
  29348. #. type: table
  29349. #: doc/guix.texi:15545
  29350. msgid "The directory to which NGinx will write log files."
  29351. msgstr ""
  29352. #. type: item
  29353. #: doc/guix.texi:15546
  29354. #, no-wrap
  29355. msgid "@code{run-directory} (default: @code{\"/var/run/nginx\"})"
  29356. msgstr ""
  29357. #. type: table
  29358. #: doc/guix.texi:15549
  29359. msgid ""
  29360. "The directory in which NGinx will create a pid file, and write temporary "
  29361. "files."
  29362. msgstr ""
  29363. #. type: item
  29364. #: doc/guix.texi:15550
  29365. #, no-wrap
  29366. msgid "@code{server-blocks} (default: @code{'()})"
  29367. msgstr ""
  29368. #. type: table
  29369. #: doc/guix.texi:15554
  29370. msgid ""
  29371. "A list of @dfn{server blocks} to create in the generated configuration file, "
  29372. "the elements should be of type @code{<nginx-server-configuration>}."
  29373. msgstr ""
  29374. #. type: table
  29375. #: doc/guix.texi:15558
  29376. msgid ""
  29377. "The following example would setup NGinx to serve @code{www.example.com} from "
  29378. "the @code{/srv/http/www.example.com} directory, without using HTTPS."
  29379. msgstr ""
  29380. #. type: item
  29381. #: doc/guix.texi:15567
  29382. #, no-wrap
  29383. msgid "@code{upstream-blocks} (default: @code{'()})"
  29384. msgstr ""
  29385. #. type: table
  29386. #: doc/guix.texi:15571
  29387. msgid ""
  29388. "A list of @dfn{upstream blocks} to create in the generated configuration "
  29389. "file, the elements should be of type @code{<nginx-upstream-configuration>}."
  29390. msgstr ""
  29391. #. type: table
  29392. #: doc/guix.texi:15578
  29393. msgid ""
  29394. "Configuring upstreams through the @code{upstream-blocks} can be useful when "
  29395. "combined with @code{locations} in the @code{<nginx-server-configuration>} "
  29396. "records. The following example creates a server configuration with one "
  29397. "location configuration, that will proxy requests to a upstream "
  29398. "configuration, which will handle requests with two servers."
  29399. msgstr ""
  29400. #. type: example
  29401. #: doc/guix.texi:15597
  29402. #, no-wrap
  29403. msgid ""
  29404. "(service\n"
  29405. " nginx-service-type\n"
  29406. " (nginx-configuration\n"
  29407. " (server-blocks\n"
  29408. " (list (nginx-server-configuration\n"
  29409. " (server-name '(\"www.example.com\"))\n"
  29410. " (root \"/srv/http/www.example.com\")\n"
  29411. " (locations\n"
  29412. " (list\n"
  29413. " (nginx-location-configuration\n"
  29414. " (uri \"/path1\")\n"
  29415. " (body '(\"proxy_pass http://server-proxy;\"))))))))\n"
  29416. " (upstream-blocks\n"
  29417. " (list (nginx-upstream-configuration\n"
  29418. " (name \"server-proxy\")\n"
  29419. " (servers (list \"server1.example.com\"\n"
  29420. " \"server2.example.com\")))))))\n"
  29421. msgstr ""
  29422. #. type: table
  29423. #: doc/guix.texi:15605
  29424. msgid ""
  29425. "If a configuration @var{file} is provided, this will be used, rather than "
  29426. "generating a configuration file from the provided @code{log-directory}, "
  29427. "@code{run-directory}, @code{server-blocks} and @code{upstream-blocks}. For "
  29428. "proper operation, these arguments should match what is in @var{file} to "
  29429. "ensure that the directories are created when the service is activated."
  29430. msgstr ""
  29431. #. type: table
  29432. #: doc/guix.texi:15609
  29433. msgid ""
  29434. "This can be useful if you have an existing configuration file, or it's not "
  29435. "possible to do what is required through the other parts of the nginx-"
  29436. "configuration record."
  29437. msgstr ""
  29438. #. type: item
  29439. #: doc/guix.texi:15610
  29440. #, no-wrap
  29441. msgid "@code{server-names-hash-bucket-size} (default: @code{#f})"
  29442. msgstr ""
  29443. #. type: table
  29444. #: doc/guix.texi:15613
  29445. msgid ""
  29446. "Bucket size for the server names hash tables, defaults to @code{#f} to use "
  29447. "the size of the processors cache line."
  29448. msgstr ""
  29449. #. type: item
  29450. #: doc/guix.texi:15614
  29451. #, no-wrap
  29452. msgid "@code{server-names-hash-bucket-max-size} (default: @code{#f})"
  29453. msgstr ""
  29454. #. type: table
  29455. #: doc/guix.texi:15616
  29456. msgid "Maximum bucket size for the server names hash tables."
  29457. msgstr ""
  29458. #. type: deftp
  29459. #: doc/guix.texi:15620
  29460. #, no-wrap
  29461. msgid "{Data Type} nginx-server-configuration"
  29462. msgstr ""
  29463. #. type: deftp
  29464. #: doc/guix.texi:15623
  29465. msgid ""
  29466. "Data type representing the configuration of an nginx server block. This "
  29467. "type has the following parameters:"
  29468. msgstr ""
  29469. #. type: item
  29470. #: doc/guix.texi:15625
  29471. #, no-wrap
  29472. msgid "@code{listen} (default: @code{'(\"80\" \"443 ssl\")})"
  29473. msgstr ""
  29474. #. type: table
  29475. #: doc/guix.texi:15630
  29476. msgid ""
  29477. "Each @code{listen} directive sets the address and port for IP, or the path "
  29478. "for a UNIX-domain socket on which the server will accept requests. Both "
  29479. "address and port, or only address or only port can be specified. An address "
  29480. "may also be a hostname, for example:"
  29481. msgstr ""
  29482. #. type: example
  29483. #: doc/guix.texi:15633
  29484. #, no-wrap
  29485. msgid "'(\"127.0.0.1:8000\" \"127.0.0.1\" \"8000\" \"*:8000\" \"localhost:8000\")\n"
  29486. msgstr ""
  29487. #. type: item
  29488. #: doc/guix.texi:15635
  29489. #, no-wrap
  29490. msgid "@code{server-name} (default: @code{(list 'default)})"
  29491. msgstr ""
  29492. #. type: table
  29493. #: doc/guix.texi:15638
  29494. msgid ""
  29495. "A list of server names this server represents. @code{'default} represents "
  29496. "the default server for connections matching no other server."
  29497. msgstr ""
  29498. #. type: item
  29499. #: doc/guix.texi:15639
  29500. #, no-wrap
  29501. msgid "@code{root} (default: @code{\"/srv/http\"})"
  29502. msgstr ""
  29503. #. type: table
  29504. #: doc/guix.texi:15641
  29505. msgid "Root of the website nginx will serve."
  29506. msgstr ""
  29507. #. type: item
  29508. #: doc/guix.texi:15642
  29509. #, no-wrap
  29510. msgid "@code{locations} (default: @code{'()})"
  29511. msgstr ""
  29512. #. type: table
  29513. #: doc/guix.texi:15646
  29514. msgid ""
  29515. "A list of @dfn{nginx-location-configuration} or @dfn{nginx-named-location-"
  29516. "configuration} records to use within this server block."
  29517. msgstr ""
  29518. #. type: item
  29519. #: doc/guix.texi:15647
  29520. #, no-wrap
  29521. msgid "@code{index} (default: @code{(list \"index.html\")})"
  29522. msgstr ""
  29523. #. type: table
  29524. #: doc/guix.texi:15650
  29525. msgid ""
  29526. "Index files to look for when clients ask for a directory. If it cannot be "
  29527. "found, Nginx will send the list of files in the directory."
  29528. msgstr ""
  29529. #. type: item
  29530. #: doc/guix.texi:15651
  29531. #, no-wrap
  29532. msgid "@code{try-files} (default: @code{'()})"
  29533. msgstr ""
  29534. #. type: table
  29535. #: doc/guix.texi:15654
  29536. msgid ""
  29537. "A list of files whose existence is checked in the specified order. "
  29538. "@code{nginx} will use the first file it finds to process the request."
  29539. msgstr ""
  29540. #. type: item
  29541. #: doc/guix.texi:15655
  29542. #, no-wrap
  29543. msgid "@code{ssl-certificate} (default: @code{#f})"
  29544. msgstr ""
  29545. #. type: table
  29546. #: doc/guix.texi:15658
  29547. msgid ""
  29548. "Where to find the certificate for secure connections. Set it to @code{#f} "
  29549. "if you don't have a certificate or you don't want to use HTTPS."
  29550. msgstr ""
  29551. #. type: item
  29552. #: doc/guix.texi:15659
  29553. #, no-wrap
  29554. msgid "@code{ssl-certificate-key} (default: @code{#f})"
  29555. msgstr ""
  29556. #. type: table
  29557. #: doc/guix.texi:15662
  29558. msgid ""
  29559. "Where to find the private key for secure connections. Set it to @code{#f} "
  29560. "if you don't have a key or you don't want to use HTTPS."
  29561. msgstr ""
  29562. #. type: item
  29563. #: doc/guix.texi:15663
  29564. #, no-wrap
  29565. msgid "@code{server-tokens?} (default: @code{#f})"
  29566. msgstr ""
  29567. #. type: table
  29568. #: doc/guix.texi:15665
  29569. msgid "Whether the server should add its configuration to response."
  29570. msgstr ""
  29571. #. type: item
  29572. #: doc/guix.texi:15666
  29573. #, no-wrap
  29574. msgid "@code{raw-content} (default: @code{'()})"
  29575. msgstr ""
  29576. #. type: table
  29577. #: doc/guix.texi:15668
  29578. msgid "A list of raw lines added to the server block."
  29579. msgstr ""
  29580. #. type: deftp
  29581. #: doc/guix.texi:15672
  29582. #, no-wrap
  29583. msgid "{Data Type} nginx-upstream-configuration"
  29584. msgstr ""
  29585. #. type: deftp
  29586. #: doc/guix.texi:15675
  29587. msgid ""
  29588. "Data type representing the configuration of an nginx @code{upstream} block. "
  29589. "This type has the following parameters:"
  29590. msgstr ""
  29591. #. type: table
  29592. #: doc/guix.texi:15679
  29593. msgid "Name for this group of servers."
  29594. msgstr ""
  29595. #. type: code{#1}
  29596. #: doc/guix.texi:15680
  29597. #, no-wrap
  29598. msgid "servers"
  29599. msgstr ""
  29600. #. type: table
  29601. #: doc/guix.texi:15687
  29602. msgid ""
  29603. "Specify the addresses of the servers in the group. The address can be "
  29604. "specified as a IP address (e.g. @samp{127.0.0.1}), domain name (e.g. "
  29605. "@samp{backend1.example.com}) or a path to a UNIX socket using the prefix "
  29606. "@samp{unix:}. For addresses using an IP address or domain name, the default "
  29607. "port is 80, and a different port can be specified explicitly."
  29608. msgstr ""
  29609. #. type: deftp
  29610. #: doc/guix.texi:15691
  29611. #, no-wrap
  29612. msgid "{Data Type} nginx-location-configuration"
  29613. msgstr ""
  29614. #. type: deftp
  29615. #: doc/guix.texi:15694
  29616. msgid ""
  29617. "Data type representing the configuration of an nginx @code{location} block. "
  29618. "This type has the following parameters:"
  29619. msgstr ""
  29620. #. type: table
  29621. #: doc/guix.texi:15698
  29622. msgid "URI which this location block matches."
  29623. msgstr ""
  29624. #. type: anchor{#1}
  29625. #: doc/guix.texi:15700
  29626. msgid "nginx-location-configuration body"
  29627. msgstr ""
  29628. #. type: code{#1}
  29629. #: doc/guix.texi:15700 doc/guix.texi:15721
  29630. #, no-wrap
  29631. msgid "body"
  29632. msgstr ""
  29633. #. type: table
  29634. #: doc/guix.texi:15707
  29635. msgid ""
  29636. "Body of the location block, specified as a list of strings. This can contain "
  29637. "many configuration directives. For example, to pass requests to a upstream "
  29638. "server group defined using an @code{nginx-upstream-configuration} block, the "
  29639. "following directive would be specified in the body @samp{(list \"proxy_pass "
  29640. "http://upstream-name;\")}."
  29641. msgstr ""
  29642. #. type: deftp
  29643. #: doc/guix.texi:15711
  29644. #, no-wrap
  29645. msgid "{Data Type} nginx-named-location-configuration"
  29646. msgstr ""
  29647. #. type: deftp
  29648. #: doc/guix.texi:15716
  29649. msgid ""
  29650. "Data type representing the configuration of an nginx named location block. "
  29651. "Named location blocks are used for request redirection, and not used for "
  29652. "regular request processing. This type has the following parameters:"
  29653. msgstr ""
  29654. #. type: table
  29655. #: doc/guix.texi:15720
  29656. msgid "Name to identify this location block."
  29657. msgstr ""
  29658. #. type: table
  29659. #: doc/guix.texi:15726
  29660. msgid ""
  29661. "@xref{nginx-location-configuration body}, as the body for named location "
  29662. "blocks can be used in a similar way to the @code{nginx-location-"
  29663. "configuration body}. One restriction is that the body of a named location "
  29664. "block cannot contain location blocks."
  29665. msgstr ""
  29666. #. type: cindex
  29667. #: doc/guix.texi:15730
  29668. #, no-wrap
  29669. msgid "fastcgi"
  29670. msgstr ""
  29671. #. type: cindex
  29672. #: doc/guix.texi:15731
  29673. #, no-wrap
  29674. msgid "fcgiwrap"
  29675. msgstr ""
  29676. #. type: Plain text
  29677. #: doc/guix.texi:15738
  29678. msgid ""
  29679. "FastCGI is an interface between the front-end and the back-end of a web "
  29680. "service. It is a somewhat legacy facility; new web services should "
  29681. "generally just talk HTTP between the front-end and the back-end. However "
  29682. "there are a number of back-end services such as PHP or the optimized HTTP "
  29683. "Git repository access that use FastCGI, so we have support for it in Guix."
  29684. msgstr ""
  29685. #. type: Plain text
  29686. #: doc/guix.texi:15745
  29687. msgid ""
  29688. "To use FastCGI, you configure the front-end web server (e.g., nginx) to "
  29689. "dispatch some subset of its requests to the fastcgi backend, which listens "
  29690. "on a local TCP or UNIX socket. There is an intermediary @code{fcgiwrap} "
  29691. "program that sits between the actual backend process and the web server. "
  29692. "The front-end indicates which backend program to run, passing that "
  29693. "information to the @code{fcgiwrap} process."
  29694. msgstr ""
  29695. #. type: defvr
  29696. #: doc/guix.texi:15746
  29697. #, no-wrap
  29698. msgid "{Scheme Variable} fcgiwrap-service-type"
  29699. msgstr ""
  29700. #. type: defvr
  29701. #: doc/guix.texi:15748
  29702. msgid "A service type for the @code{fcgiwrap} FastCGI proxy."
  29703. msgstr ""
  29704. #. type: deftp
  29705. #: doc/guix.texi:15750
  29706. #, no-wrap
  29707. msgid "{Data Type} fcgiwrap-configuration"
  29708. msgstr ""
  29709. #. type: deftp
  29710. #: doc/guix.texi:15753
  29711. msgid ""
  29712. "Data type representing the configuration of the @code{fcgiwrap} serice. "
  29713. "This type has the following parameters:"
  29714. msgstr ""
  29715. #. type: item
  29716. #: doc/guix.texi:15754
  29717. #, no-wrap
  29718. msgid "@code{package} (default: @code{fcgiwrap})"
  29719. msgstr ""
  29720. #. type: table
  29721. #: doc/guix.texi:15756
  29722. msgid "The fcgiwrap package to use."
  29723. msgstr ""
  29724. #. type: item
  29725. #: doc/guix.texi:15757
  29726. #, no-wrap
  29727. msgid "@code{socket} (default: @code{tcp:127.0.0.1:9000})"
  29728. msgstr ""
  29729. #. type: table
  29730. #: doc/guix.texi:15763
  29731. msgid ""
  29732. "The socket on which the @code{fcgiwrap} process should listen, as a string. "
  29733. "Valid @var{socket} values include @code{unix:@var{/path/to/unix/socket}}, "
  29734. "@code{tcp:@var{dot.ted.qu.ad}:@var{port}} and @code{tcp6:[@var{ipv6_addr}]:"
  29735. "port}."
  29736. msgstr ""
  29737. #. type: item
  29738. #: doc/guix.texi:15764
  29739. #, no-wrap
  29740. msgid "@code{user} (default: @code{fcgiwrap})"
  29741. msgstr ""
  29742. #. type: itemx
  29743. #: doc/guix.texi:15765
  29744. #, no-wrap
  29745. msgid "@code{group} (default: @code{fcgiwrap})"
  29746. msgstr ""
  29747. #. type: table
  29748. #: doc/guix.texi:15770
  29749. msgid ""
  29750. "The user and group names, as strings, under which to run the @code{fcgiwrap} "
  29751. "process. The @code{fastcgi} service will ensure that if the user asks for "
  29752. "the specific user or group names @code{fcgiwrap} that the corresponding user "
  29753. "and/or group is present on the system."
  29754. msgstr ""
  29755. #. type: table
  29756. #: doc/guix.texi:15777
  29757. msgid ""
  29758. "It is possible to configure a FastCGI-backed web service to pass HTTP "
  29759. "authentication information from the front-end to the back-end, and to allow "
  29760. "@code{fcgiwrap} to run the back-end process as a corresponding local user. "
  29761. "To enable this capability on the back-end., run @code{fcgiwrap} as the "
  29762. "@code{root} user and group. Note that this capability also has to be "
  29763. "configured on the front-end as well."
  29764. msgstr ""
  29765. #. type: cindex
  29766. #: doc/guix.texi:15780
  29767. #, no-wrap
  29768. msgid "php-fpm"
  29769. msgstr ""
  29770. #. type: Plain text
  29771. #: doc/guix.texi:15783
  29772. msgid ""
  29773. "PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI "
  29774. "implementation with some additional features useful for sites of any size."
  29775. msgstr ""
  29776. #. type: Plain text
  29777. #: doc/guix.texi:15785
  29778. msgid "These features include:"
  29779. msgstr ""
  29780. #. type: item
  29781. #: doc/guix.texi:15786
  29782. #, no-wrap
  29783. msgid "Adaptive process spawning"
  29784. msgstr ""
  29785. #. type: item
  29786. #: doc/guix.texi:15787
  29787. #, no-wrap
  29788. msgid "Basic statistics (similar to Apache's mod_status)"
  29789. msgstr ""
  29790. #. type: item
  29791. #: doc/guix.texi:15788
  29792. #, no-wrap
  29793. msgid "Advanced process management with graceful stop/start"
  29794. msgstr ""
  29795. #. type: item
  29796. #: doc/guix.texi:15789
  29797. #, no-wrap
  29798. msgid "Ability to start workers with different uid/gid/chroot/environment"
  29799. msgstr ""
  29800. #. type: itemize
  29801. #: doc/guix.texi:15791
  29802. msgid "and different php.ini (replaces safe_mode)"
  29803. msgstr ""
  29804. #. type: item
  29805. #: doc/guix.texi:15791
  29806. #, no-wrap
  29807. msgid "Stdout & stderr logging"
  29808. msgstr ""
  29809. #. type: item
  29810. #: doc/guix.texi:15792
  29811. #, no-wrap
  29812. msgid "Emergency restart in case of accidental opcode cache destruction"
  29813. msgstr ""
  29814. #. type: item
  29815. #: doc/guix.texi:15793
  29816. #, no-wrap
  29817. msgid "Accelerated upload support"
  29818. msgstr ""
  29819. #. type: item
  29820. #: doc/guix.texi:15794
  29821. #, no-wrap
  29822. msgid "Support for a \"slowlog\""
  29823. msgstr ""
  29824. #. type: item
  29825. #: doc/guix.texi:15795
  29826. #, no-wrap
  29827. msgid "Enhancements to FastCGI, such as fastcgi_finish_request() -"
  29828. msgstr ""
  29829. #. type: itemize
  29830. #: doc/guix.texi:15798
  29831. msgid ""
  29832. "a special function to finish request & flush all data while continuing to do "
  29833. "something time-consuming (video converting, stats processing, etc.)"
  29834. msgstr ""
  29835. #. type: Plain text
  29836. #: doc/guix.texi:15800
  29837. msgid "... and much more."
  29838. msgstr ""
  29839. #. type: defvr
  29840. #: doc/guix.texi:15801
  29841. #, no-wrap
  29842. msgid "{Scheme Variable} php-fpm-service-type"
  29843. msgstr ""
  29844. #. type: defvr
  29845. #: doc/guix.texi:15803
  29846. msgid "A Service type for @code{php-fpm}."
  29847. msgstr ""
  29848. #. type: deftp
  29849. #: doc/guix.texi:15805
  29850. #, no-wrap
  29851. msgid "{Data Type} php-fpm-configuration"
  29852. msgstr ""
  29853. #. type: deftp
  29854. #: doc/guix.texi:15807
  29855. msgid "Data Type for php-fpm service configuration."
  29856. msgstr ""
  29857. #. type: item
  29858. #: doc/guix.texi:15808
  29859. #, no-wrap
  29860. msgid "@code{php} (default: @code{php})"
  29861. msgstr ""
  29862. #. type: table
  29863. #: doc/guix.texi:15810
  29864. msgid "The php package to use."
  29865. msgstr ""
  29866. #. type: item
  29867. #: doc/guix.texi:15810
  29868. #, no-wrap
  29869. msgid "@code{socket} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.sock\")})"
  29870. msgstr ""
  29871. #. type: table
  29872. #: doc/guix.texi:15812
  29873. msgid "The address on which to accept FastCGI requests. Valid syntaxes are:"
  29874. msgstr ""
  29875. #. type: code{#1}
  29876. #: doc/guix.texi:15813
  29877. #, no-wrap
  29878. msgid "\"ip.add.re.ss:port\""
  29879. msgstr ""
  29880. #. type: table
  29881. #: doc/guix.texi:15815
  29882. msgid "Listen on a TCP socket to a specific address on a specific port."
  29883. msgstr ""
  29884. #. type: code{#1}
  29885. #: doc/guix.texi:15815
  29886. #, no-wrap
  29887. msgid "\"port\""
  29888. msgstr ""
  29889. #. type: table
  29890. #: doc/guix.texi:15817
  29891. msgid "Listen on a TCP socket to all addresses on a specific port."
  29892. msgstr ""
  29893. #. type: code{#1}
  29894. #: doc/guix.texi:15817
  29895. #, no-wrap
  29896. msgid "\"/path/to/unix/socket\""
  29897. msgstr ""
  29898. #. type: table
  29899. #: doc/guix.texi:15819
  29900. msgid "Listen on a unix socket."
  29901. msgstr ""
  29902. #. type: item
  29903. #: doc/guix.texi:15821
  29904. #, no-wrap
  29905. msgid "@code{user} (default: @code{php-fpm})"
  29906. msgstr ""
  29907. #. type: table
  29908. #: doc/guix.texi:15823
  29909. msgid "User who will own the php worker processes."
  29910. msgstr ""
  29911. #. type: item
  29912. #: doc/guix.texi:15823
  29913. #, no-wrap
  29914. msgid "@code{group} (default: @code{php-fpm})"
  29915. msgstr ""
  29916. #. type: table
  29917. #: doc/guix.texi:15825
  29918. msgid "Group of the worker processes."
  29919. msgstr ""
  29920. #. type: item
  29921. #: doc/guix.texi:15825
  29922. #, no-wrap
  29923. msgid "@code{socket-user} (default: @code{php-fpm})"
  29924. msgstr ""
  29925. #. type: table
  29926. #: doc/guix.texi:15827
  29927. msgid "User who can speak to the php-fpm socket."
  29928. msgstr ""
  29929. #. type: item
  29930. #: doc/guix.texi:15827
  29931. #, no-wrap
  29932. msgid "@code{socket-group} (default: @code{php-fpm})"
  29933. msgstr ""
  29934. #. type: table
  29935. #: doc/guix.texi:15829
  29936. msgid "Group that can speak to the php-fpm socket."
  29937. msgstr ""
  29938. #. type: item
  29939. #: doc/guix.texi:15829
  29940. #, no-wrap
  29941. msgid "@code{pid-file} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.pid\")})"
  29942. msgstr ""
  29943. #. type: table
  29944. #: doc/guix.texi:15832
  29945. msgid ""
  29946. "The process id of the php-fpm process is written to this file once the "
  29947. "service has started."
  29948. msgstr ""
  29949. #. type: item
  29950. #: doc/guix.texi:15832
  29951. #, no-wrap
  29952. msgid "@code{log-file} (default: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.log\")})"
  29953. msgstr ""
  29954. #. type: table
  29955. #: doc/guix.texi:15834
  29956. msgid "Log for the php-fpm master process."
  29957. msgstr ""
  29958. #. type: item
  29959. #: doc/guix.texi:15834
  29960. #, no-wrap
  29961. msgid "@code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)})"
  29962. msgstr ""
  29963. #. type: table
  29964. #: doc/guix.texi:15837
  29965. msgid "Detailed settings for the php-fpm process manager. Must be either:"
  29966. msgstr ""
  29967. #. type: code{#1}
  29968. #: doc/guix.texi:15838
  29969. #, no-wrap
  29970. msgid "<php-fpm-dynamic-process-manager-configuration>"
  29971. msgstr ""
  29972. #. type: code{#1}
  29973. #: doc/guix.texi:15839
  29974. #, no-wrap
  29975. msgid "<php-fpm-static-process-manager-configuration>"
  29976. msgstr ""
  29977. #. type: code{#1}
  29978. #: doc/guix.texi:15840
  29979. #, no-wrap
  29980. msgid "<php-fpm-on-demand-process-manager-configuration>"
  29981. msgstr ""
  29982. #. type: item
  29983. #: doc/guix.texi:15842
  29984. #, no-wrap
  29985. msgid "@code{display-errors} (default @code{#f})"
  29986. msgstr ""
  29987. #. type: table
  29988. #: doc/guix.texi:15847
  29989. msgid ""
  29990. "Determines whether php errors and warning should be sent to clients and "
  29991. "displayed in their browsers. This is useful for local php development, but "
  29992. "a security risk for public sites, as error messages can reveal passwords and "
  29993. "personal data."
  29994. msgstr ""
  29995. #. type: item
  29996. #: doc/guix.texi:15847
  29997. #, no-wrap
  29998. msgid "@code{workers-logfile} (default @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.www.log\")})"
  29999. msgstr ""
  30000. #. type: table
  30001. #: doc/guix.texi:15850
  30002. msgid ""
  30003. "This file will log the @code{stderr} outputs of php worker processes. Can "
  30004. "be set to @code{#f} to disable logging."
  30005. msgstr ""
  30006. #. type: item
  30007. #: doc/guix.texi:15850
  30008. #, no-wrap
  30009. msgid "@code{file} (default @code{#f})"
  30010. msgstr ""
  30011. #. type: table
  30012. #: doc/guix.texi:15853
  30013. msgid ""
  30014. "An optional override of the whole configuration. You can use the "
  30015. "@code{mixed-text-file} function or an absolute filepath for it."
  30016. msgstr ""
  30017. #. type: deftp
  30018. #: doc/guix.texi:15856
  30019. #, no-wrap
  30020. msgid "{Data type} php-fpm-dynamic-process-manager-configuration"
  30021. msgstr ""
  30022. #. type: deftp
  30023. #: doc/guix.texi:15860
  30024. msgid ""
  30025. "Data Type for the @code{dynamic} php-fpm process manager. With the "
  30026. "@code{dynamic} process manager, spare worker processes are kept around based "
  30027. "on it's configured limits."
  30028. msgstr ""
  30029. #. type: item
  30030. #: doc/guix.texi:15861 doc/guix.texi:15877 doc/guix.texi:15887
  30031. #, no-wrap
  30032. msgid "@code{max-children} (default: @code{5})"
  30033. msgstr ""
  30034. #. type: table
  30035. #: doc/guix.texi:15863 doc/guix.texi:15879 doc/guix.texi:15889
  30036. msgid "Maximum of worker processes."
  30037. msgstr ""
  30038. #. type: item
  30039. #: doc/guix.texi:15863
  30040. #, no-wrap
  30041. msgid "@code{start-servers} (default: @code{2})"
  30042. msgstr ""
  30043. #. type: table
  30044. #: doc/guix.texi:15865
  30045. msgid "How many worker processes should be started on start-up."
  30046. msgstr ""
  30047. #. type: item
  30048. #: doc/guix.texi:15865
  30049. #, no-wrap
  30050. msgid "@code{min-spare-servers} (default: @code{1})"
  30051. msgstr ""
  30052. #. type: table
  30053. #: doc/guix.texi:15867
  30054. msgid "How many spare worker processes should be kept around at minimum."
  30055. msgstr ""
  30056. #. type: item
  30057. #: doc/guix.texi:15867
  30058. #, no-wrap
  30059. msgid "@code{max-spare-servers} (default: @code{3})"
  30060. msgstr ""
  30061. #. type: table
  30062. #: doc/guix.texi:15869
  30063. msgid "How many spare worker processes should be kept around at maximum."
  30064. msgstr ""
  30065. #. type: deftp
  30066. #: doc/guix.texi:15872
  30067. #, no-wrap
  30068. msgid "{Data type} php-fpm-static-process-manager-configuration"
  30069. msgstr ""
  30070. #. type: deftp
  30071. #: doc/guix.texi:15876
  30072. msgid ""
  30073. "Data Type for the @code{static} php-fpm process manager. With the "
  30074. "@code{static} process manager, an unchanging number of worker processes are "
  30075. "created."
  30076. msgstr ""
  30077. #. type: deftp
  30078. #: doc/guix.texi:15882
  30079. #, no-wrap
  30080. msgid "{Data type} php-fpm-on-demand-process-manager-configuration"
  30081. msgstr ""
  30082. #. type: deftp
  30083. #: doc/guix.texi:15886
  30084. msgid ""
  30085. "Data Type for the @code{on-demand} php-fpm process manager. With the "
  30086. "@code{on-demand} process manager, worker processes are only created as "
  30087. "requests arrive."
  30088. msgstr ""
  30089. #. type: item
  30090. #: doc/guix.texi:15889
  30091. #, no-wrap
  30092. msgid "@code{process-idle-timeout} (default: @code{10})"
  30093. msgstr ""
  30094. #. type: table
  30095. #: doc/guix.texi:15891
  30096. msgid "The time in seconds after which a process with no requests is killed."
  30097. msgstr ""
  30098. #. type: deffn
  30099. #: doc/guix.texi:15895
  30100. #, no-wrap
  30101. msgid "{Scheme Procedure} nginx-php-fpm-location @"
  30102. msgstr ""
  30103. #. type: deffn
  30104. #: doc/guix.texi:15901
  30105. msgid ""
  30106. "[#:nginx-package nginx] @ [socket (string-append \"/var/run/php\" @ (version-"
  30107. "major (package-version php)) @ \"-fpm.sock\")] A helper function to quickly "
  30108. "add php to an @code{nginx-server-configuration}."
  30109. msgstr ""
  30110. #. type: Plain text
  30111. #: doc/guix.texi:15904
  30112. msgid "A simple services setup for nginx with php can look like this:"
  30113. msgstr ""
  30114. #. type: example
  30115. #: doc/guix.texi:15917
  30116. #, no-wrap
  30117. msgid ""
  30118. "(services (cons* (dhcp-client-service)\n"
  30119. " (service php-fpm-service-type)\n"
  30120. " (service nginx-service-type\n"
  30121. " (nginx-server-configuration\n"
  30122. " (server-name '(\"example.com\"))\n"
  30123. " (root \"/srv/http/\")\n"
  30124. " (locations\n"
  30125. " (list (nginx-php-location)))\n"
  30126. " (https-port #f)\n"
  30127. " (ssl-certificate #f)\n"
  30128. " (ssl-certificate-key #f)))\n"
  30129. " %base-services))\n"
  30130. msgstr ""
  30131. #. type: cindex
  30132. #: doc/guix.texi:15919
  30133. #, no-wrap
  30134. msgid "cat-avatar-generator"
  30135. msgstr ""
  30136. #. type: Plain text
  30137. #: doc/guix.texi:15923
  30138. msgid ""
  30139. "The cat avatar generator is a simple service to demonstrate the use of php-"
  30140. "fpm in @code{Nginx}. It is used to generate cat avatar from a seed, for "
  30141. "instance the hash of a user's email address."
  30142. msgstr ""
  30143. #. type: deffn
  30144. #: doc/guix.texi:15924
  30145. #, no-wrap
  30146. msgid "{Scheme Procedure} cat-avatar-generator-serice @"
  30147. msgstr ""
  30148. #. type: deffn
  30149. #: doc/guix.texi:15932
  30150. msgid ""
  30151. "[#:cache-dir \"/var/cache/cat-avatar-generator\"] @ [#:package cat-avatar-"
  30152. "generator] @ [#:configuration (nginx-server-configuration)] Returns an nginx-"
  30153. "server-configuration that inherits @code{configuration}. It extends the "
  30154. "nginx configuration to add a server block that serves @code{package}, a "
  30155. "version of cat-avatar-generator. During execution, cat-avatar-generator "
  30156. "will be able to use @code{cache-dir} as its cache directory."
  30157. msgstr ""
  30158. #. type: Plain text
  30159. #: doc/guix.texi:15935
  30160. msgid "A simple setup for cat-avatar-generator can look like this:"
  30161. msgstr ""
  30162. #. type: example
  30163. #: doc/guix.texi:15942
  30164. #, no-wrap
  30165. msgid ""
  30166. "(services (cons* (cat-avatar-generator-service\n"
  30167. " #:configuration\n"
  30168. " (nginx-server-configuration\n"
  30169. " (server-name '(\"example.com\"))))\n"
  30170. " ...\n"
  30171. " %base-services))\n"
  30172. msgstr ""
  30173. #. type: cindex
  30174. #: doc/guix.texi:15947
  30175. #, no-wrap
  30176. msgid "Web"
  30177. msgstr ""
  30178. #. type: cindex
  30179. #: doc/guix.texi:15948
  30180. #, no-wrap
  30181. msgid "HTTP, HTTPS"
  30182. msgstr ""
  30183. #. type: cindex
  30184. #: doc/guix.texi:15949
  30185. #, no-wrap
  30186. msgid "Let's Encrypt"
  30187. msgstr ""
  30188. #. type: cindex
  30189. #: doc/guix.texi:15950
  30190. #, no-wrap
  30191. msgid "TLS certificates"
  30192. msgstr ""
  30193. #. type: Plain text
  30194. #: doc/guix.texi:15957
  30195. msgid ""
  30196. "The @code{(gnu services certbot)} module provides a service to automatically "
  30197. "obtain a valid TLS certificate from the Let's Encrypt certificate "
  30198. "authority. These certificates can then be used to serve content securely "
  30199. "over HTTPS or other TLS-based protocols, with the knowledge that the client "
  30200. "will be able to verify the server's authenticity."
  30201. msgstr ""
  30202. #. type: Plain text
  30203. #: doc/guix.texi:15969
  30204. msgid ""
  30205. "@url{https://letsencrypt.org/, Let's Encrypt} provides the @code{certbot} "
  30206. "tool to automate the certification process. This tool first securely "
  30207. "generates a key on the server. It then makes a request to the Let's Encrypt "
  30208. "certificate authority (CA) to sign the key. The CA checks that the request "
  30209. "originates from the host in question by using a challenge-response protocol, "
  30210. "requiring the server to provide its response over HTTP. If that protocol "
  30211. "completes successfully, the CA signs the key, resulting in a certificate. "
  30212. "That certificate is valid for a limited period of time, and therefore to "
  30213. "continue to provide TLS services, the server needs to periodically ask the "
  30214. "CA to renew its signature."
  30215. msgstr ""
  30216. #. type: Plain text
  30217. #: doc/guix.texi:15976
  30218. msgid ""
  30219. "The certbot service automates this process: the initial key generation, the "
  30220. "initial certification request to the Let's Encrypt service, the web server "
  30221. "challenge/response integration, writing the certificate to disk, the "
  30222. "automated periodic renewals, and the deployment tasks associated with the "
  30223. "renewal (e.g. reloading services, copying keys with different permissions)."
  30224. msgstr ""
  30225. #. type: Plain text
  30226. #: doc/guix.texi:15982
  30227. msgid ""
  30228. "Certbot is run twice a day, at a random minute within the hour. It won't do "
  30229. "anything until your certificates are due for renewal or revoked, but running "
  30230. "it regularly would give your service a chance of staying online in case a "
  30231. "Let's Encrypt-initiated revocation happened for some reason."
  30232. msgstr ""
  30233. #. type: Plain text
  30234. #: doc/guix.texi:15986
  30235. msgid ""
  30236. "By using this service, you agree to the ACME Subscriber Agreement, which can "
  30237. "be found there: @url{https://acme-v01.api.letsencrypt.org/directory}."
  30238. msgstr ""
  30239. #. type: defvr
  30240. #: doc/guix.texi:15987
  30241. #, no-wrap
  30242. msgid "{Scheme Variable} certbot-service-type"
  30243. msgstr ""
  30244. #. type: defvr
  30245. #: doc/guix.texi:15990
  30246. msgid ""
  30247. "A service type for the @code{certbot} Let's Encrypt client. Its value must "
  30248. "be a @code{certbot-configuration} record as in this example:"
  30249. msgstr ""
  30250. #. type: example
  30251. #: doc/guix.texi:15997
  30252. #, no-wrap
  30253. msgid ""
  30254. "(define %nginx-deploy-hook\n"
  30255. " (program-file\n"
  30256. " \"nginx-deploy-hook\"\n"
  30257. " #~(let ((pid (call-with-input-file \"/var/run/nginx/pid\" read)))\n"
  30258. " (kill pid SIGHUP))))\n"
  30259. "\n"
  30260. msgstr ""
  30261. #. type: example
  30262. #: doc/guix.texi:16008
  30263. #, no-wrap
  30264. msgid ""
  30265. "(service certbot-service-type\n"
  30266. " (certbot-configuration\n"
  30267. " (email \"foo@@example.net\")\n"
  30268. " (certificates\n"
  30269. " (list\n"
  30270. " (certificate-configuration\n"
  30271. " (domains '(\"example.net\" \"www.example.net\"))\n"
  30272. " (deploy-hook %nginx-deploy-hook))\n"
  30273. " (certificate-configuration\n"
  30274. " (domains '(\"bar.example.net\")))))))\n"
  30275. msgstr ""
  30276. #. type: defvr
  30277. #: doc/guix.texi:16011
  30278. msgid "See below for details about @code{certbot-configuration}."
  30279. msgstr ""
  30280. #. type: deftp
  30281. #: doc/guix.texi:16013
  30282. #, no-wrap
  30283. msgid "{Data Type} certbot-configuration"
  30284. msgstr ""
  30285. #. type: deftp
  30286. #: doc/guix.texi:16016
  30287. msgid ""
  30288. "Data type representing the configuration of the @code{certbot} service. "
  30289. "This type has the following parameters:"
  30290. msgstr ""
  30291. #. type: item
  30292. #: doc/guix.texi:16018
  30293. #, no-wrap
  30294. msgid "@code{package} (default: @code{certbot})"
  30295. msgstr ""
  30296. #. type: table
  30297. #: doc/guix.texi:16020
  30298. msgid "The certbot package to use."
  30299. msgstr ""
  30300. #. type: item
  30301. #: doc/guix.texi:16021
  30302. #, no-wrap
  30303. msgid "@code{webroot} (default: @code{/var/www})"
  30304. msgstr ""
  30305. #. type: table
  30306. #: doc/guix.texi:16024
  30307. msgid ""
  30308. "The directory from which to serve the Let's Encrypt challenge/response files."
  30309. msgstr ""
  30310. #. type: item
  30311. #: doc/guix.texi:16025
  30312. #, no-wrap
  30313. msgid "@code{certificates} (default: @code{()})"
  30314. msgstr ""
  30315. #. type: table
  30316. #: doc/guix.texi:16029
  30317. msgid ""
  30318. "A list of @code{certificates-configuration}s for which to generate "
  30319. "certificates and request signatures. Each certificate has a @code{name} and "
  30320. "several @code{domains}."
  30321. msgstr ""
  30322. #. type: table
  30323. #: doc/guix.texi:16033
  30324. msgid ""
  30325. "Mandatory email used for registration, recovery contact, and important "
  30326. "account notifications."
  30327. msgstr ""
  30328. #. type: item
  30329. #: doc/guix.texi:16034
  30330. #, no-wrap
  30331. msgid "@code{rsa-key-size} (default: @code{2048})"
  30332. msgstr ""
  30333. #. type: table
  30334. #: doc/guix.texi:16036
  30335. msgid "Size of the RSA key."
  30336. msgstr ""
  30337. #. type: item
  30338. #: doc/guix.texi:16037
  30339. #, no-wrap
  30340. msgid "@code{default-location} (default: @i{see below})"
  30341. msgstr ""
  30342. #. type: table
  30343. #: doc/guix.texi:16046
  30344. msgid ""
  30345. "The default @code{nginx-location-configuration}. Because @code{certbot} "
  30346. "needs to be able to serve challenges and responses, it needs to be able to "
  30347. "run a web server. It does so by extending the @code{nginx} web service with "
  30348. "an @code{nginx-server-configuration} listening on the @var{domains} on port "
  30349. "80, and which has a @code{nginx-location-configuration} for the @code{/.well-"
  30350. "known/} URI path subspace used by Let's Encrypt. @xref{Web Services}, for "
  30351. "more on these nginx configuration data types."
  30352. msgstr ""
  30353. #. type: table
  30354. #: doc/guix.texi:16050
  30355. msgid ""
  30356. "Requests to other URL paths will be matched by the @code{default-location}, "
  30357. "which if present is added to all @code{nginx-server-configuration}s."
  30358. msgstr ""
  30359. #. type: table
  30360. #: doc/guix.texi:16054
  30361. msgid ""
  30362. "By default, the @code{default-location} will issue a redirect from "
  30363. "@code{http://@var{domain}/...} to @code{https://@var{domain}/...}, leaving "
  30364. "you to define what to serve on your site via @code{https}."
  30365. msgstr ""
  30366. #. type: table
  30367. #: doc/guix.texi:16056
  30368. msgid "Pass @code{#f} to not issue a default location."
  30369. msgstr ""
  30370. #. type: deftp
  30371. #: doc/guix.texi:16059
  30372. #, no-wrap
  30373. msgid "{Data Type} certificate-configuration"
  30374. msgstr ""
  30375. #. type: deftp
  30376. #: doc/guix.texi:16062
  30377. msgid ""
  30378. "Data type representing the configuration of a certificate. This type has "
  30379. "the following parameters:"
  30380. msgstr ""
  30381. #. type: item
  30382. #: doc/guix.texi:16064
  30383. #, no-wrap
  30384. msgid "@code{name} (default: @i{see below})"
  30385. msgstr ""
  30386. #. type: table
  30387. #: doc/guix.texi:16068
  30388. msgid ""
  30389. "This name is used by Certbot for housekeeping and in file paths; it doesn't "
  30390. "affect the content of the certificate itself. To see certificate names, run "
  30391. "@code{certbot certificates}."
  30392. msgstr ""
  30393. #. type: table
  30394. #: doc/guix.texi:16070
  30395. msgid "Its default is the first provided domain."
  30396. msgstr ""
  30397. #. type: item
  30398. #: doc/guix.texi:16071
  30399. #, no-wrap
  30400. msgid "@code{domains} (default: @code{()})"
  30401. msgstr ""
  30402. #. type: table
  30403. #: doc/guix.texi:16074
  30404. msgid ""
  30405. "The first domain provided will be the subject CN of the certificate, and all "
  30406. "domains will be Subject Alternative Names on the certificate."
  30407. msgstr ""
  30408. #. type: item
  30409. #: doc/guix.texi:16075
  30410. #, no-wrap
  30411. msgid "@code{deploy-hook} (default: @code{#f})"
  30412. msgstr ""
  30413. #. type: table
  30414. #: doc/guix.texi:16083
  30415. msgid ""
  30416. "Command to be run in a shell once for each successfully issued certificate. "
  30417. "For this command, the shell variable @code{$RENEWED_LINEAGE} will point to "
  30418. "the config live subdirectory (for example, @samp{\"/etc/letsencrypt/live/"
  30419. "example.com\"}) containing the new certificates and keys; the shell variable "
  30420. "@code{$RENEWED_DOMAINS} will contain a space-delimited list of renewed "
  30421. "certificate domains (for example, @samp{\"example.com www.example.com\"}."
  30422. msgstr ""
  30423. #. type: Plain text
  30424. #: doc/guix.texi:16090
  30425. msgid ""
  30426. "For each @code{certificate-configuration}, the certificate is saved to "
  30427. "@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is saved "
  30428. "to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}."
  30429. msgstr ""
  30430. #. type: cindex
  30431. #: doc/guix.texi:16092
  30432. #, no-wrap
  30433. msgid "DNS (domain name system)"
  30434. msgstr ""
  30435. #. type: cindex
  30436. #: doc/guix.texi:16093
  30437. #, no-wrap
  30438. msgid "domain name system (DNS)"
  30439. msgstr ""
  30440. #. type: Plain text
  30441. #: doc/guix.texi:16099
  30442. msgid ""
  30443. "The @code{(gnu services dns)} module provides services related to the "
  30444. "@dfn{domain name system} (DNS). It provides a server service for hosting an "
  30445. "@emph{authoritative} DNS server for multiple zones, slave or master. This "
  30446. "service uses @uref{https://www.knot-dns.cz/, Knot DNS}."
  30447. msgstr ""
  30448. #. type: Plain text
  30449. #: doc/guix.texi:16102
  30450. msgid ""
  30451. "An example configuration of an authoritative server for two zones, one "
  30452. "master and one slave, is:"
  30453. msgstr ""
  30454. #. type: lisp
  30455. #: doc/guix.texi:16109
  30456. #, no-wrap
  30457. msgid ""
  30458. "(define-zone-entries example.org.zone\n"
  30459. ";; Name TTL Class Type Data\n"
  30460. " (\"@@\" \"\" \"IN\" \"A\" \"127.0.0.1\")\n"
  30461. " (\"@@\" \"\" \"IN\" \"NS\" \"ns\")\n"
  30462. " (\"ns\" \"\" \"IN\" \"A\" \"127.0.0.1\"))\n"
  30463. "\n"
  30464. msgstr ""
  30465. #. type: lisp
  30466. #: doc/guix.texi:16116
  30467. #, no-wrap
  30468. msgid ""
  30469. "(define master-zone\n"
  30470. " (knot-zone-configuration\n"
  30471. " (domain \"example.org\")\n"
  30472. " (zone (zone-file\n"
  30473. " (origin \"example.org\")\n"
  30474. " (entries example.org.zone)))))\n"
  30475. "\n"
  30476. msgstr ""
  30477. #. type: lisp
  30478. #: doc/guix.texi:16122
  30479. #, no-wrap
  30480. msgid ""
  30481. "(define slave-zone\n"
  30482. " (knot-zone-configuration\n"
  30483. " (domain \"plop.org\")\n"
  30484. " (dnssec-policy \"default\")\n"
  30485. " (master (list \"plop-master\"))))\n"
  30486. "\n"
  30487. msgstr ""
  30488. #. type: lisp
  30489. #: doc/guix.texi:16127
  30490. #, no-wrap
  30491. msgid ""
  30492. "(define plop-master\n"
  30493. " (knot-remote-configuration\n"
  30494. " (id \"plop-master\")\n"
  30495. " (address (list \"208.76.58.171\"))))\n"
  30496. "\n"
  30497. msgstr ""
  30498. #. type: lisp
  30499. #: doc/guix.texi:16136
  30500. #, no-wrap
  30501. msgid ""
  30502. "(operating-system\n"
  30503. " ;; ...\n"
  30504. " (services (cons* (service knot-service-type\n"
  30505. " (knot-configuration\n"
  30506. " (remotes (list plop-master))\n"
  30507. " (zones (list master-zone slave-zone))))\n"
  30508. " ;; ...\n"
  30509. " %base-services)))\n"
  30510. msgstr ""
  30511. #. type: deffn
  30512. #: doc/guix.texi:16138
  30513. #, no-wrap
  30514. msgid "{Scheme Variable} knot-service-type"
  30515. msgstr ""
  30516. #. type: deffn
  30517. #: doc/guix.texi:16140
  30518. msgid "This is the type for the Knot DNS server."
  30519. msgstr ""
  30520. #. type: deffn
  30521. #: doc/guix.texi:16148
  30522. msgid ""
  30523. "Knot DNS is an authoritative DNS server, meaning that it can serve multiple "
  30524. "zones, that is to say domain names you would buy from a registrar. This "
  30525. "server is not a resolver, meaning that it can only resolve names for which "
  30526. "it is authoritative. This server can be configured to serve zones as a "
  30527. "master server or a slave server as a per-zone basis. Slave zones will get "
  30528. "their data from masters, and will serve it as an authoritative server. From "
  30529. "the point of view of a resolver, there is no difference between master and "
  30530. "slave."
  30531. msgstr ""
  30532. #. type: deffn
  30533. #: doc/guix.texi:16150
  30534. msgid "The following data types are used to configure the Knot DNS server:"
  30535. msgstr ""
  30536. #. type: deftp
  30537. #: doc/guix.texi:16152
  30538. #, no-wrap
  30539. msgid "{Data Type} knot-key-configuration"
  30540. msgstr ""
  30541. #. type: deftp
  30542. #: doc/guix.texi:16155
  30543. msgid "Data type representing a key. This type has the following parameters:"
  30544. msgstr ""
  30545. #. type: item
  30546. #: doc/guix.texi:16157 doc/guix.texi:16177 doc/guix.texi:16292
  30547. #: doc/guix.texi:16318 doc/guix.texi:16353
  30548. #, no-wrap
  30549. msgid "@code{id} (default: @code{\"\"})"
  30550. msgstr ""
  30551. #. type: table
  30552. #: doc/guix.texi:16160
  30553. msgid ""
  30554. "An identifier for other configuration fields to refer to this key. IDs must "
  30555. "be unique and must not be empty."
  30556. msgstr ""
  30557. #. type: item
  30558. #: doc/guix.texi:16161
  30559. #, no-wrap
  30560. msgid "@code{algorithm} (default: @code{#f})"
  30561. msgstr ""
  30562. #. type: table
  30563. #: doc/guix.texi:16165
  30564. msgid ""
  30565. "The algorithm to use. Choose between @code{#f}, @code{'hmac-md5}, "
  30566. "@code{'hmac-sha1}, @code{'hmac-sha224}, @code{'hmac-sha256}, @code{'hmac-"
  30567. "sha384} and @code{'hmac-sha512}."
  30568. msgstr ""
  30569. #. type: item
  30570. #: doc/guix.texi:16166
  30571. #, no-wrap
  30572. msgid "@code{secret} (default: @code{\"\"})"
  30573. msgstr ""
  30574. #. type: table
  30575. #: doc/guix.texi:16168
  30576. msgid "The secret key itself."
  30577. msgstr ""
  30578. #. type: deftp
  30579. #: doc/guix.texi:16172
  30580. #, no-wrap
  30581. msgid "{Data Type} knot-acl-configuration"
  30582. msgstr ""
  30583. #. type: deftp
  30584. #: doc/guix.texi:16175
  30585. msgid ""
  30586. "Data type representing an Access Control List (ACL) configuration. This "
  30587. "type has the following parameters:"
  30588. msgstr ""
  30589. #. type: table
  30590. #: doc/guix.texi:16180
  30591. msgid ""
  30592. "An identifier for ether configuration fields to refer to this key. IDs must "
  30593. "be unique and must not be empty."
  30594. msgstr ""
  30595. #. type: item
  30596. #: doc/guix.texi:16181 doc/guix.texi:16296
  30597. #, no-wrap
  30598. msgid "@code{address} (default: @code{'()})"
  30599. msgstr ""
  30600. #. type: table
  30601. #: doc/guix.texi:16185
  30602. msgid ""
  30603. "An ordered list of IP addresses, network subnets, or network ranges "
  30604. "represented with strings. The query must match one of them. Empty value "
  30605. "means that address match is not required."
  30606. msgstr ""
  30607. #. type: item
  30608. #: doc/guix.texi:16186
  30609. #, no-wrap
  30610. msgid "@code{key} (default: @code{'()})"
  30611. msgstr ""
  30612. #. type: table
  30613. #: doc/guix.texi:16190
  30614. msgid ""
  30615. "An ordered list of references to keys represented with strings. The string "
  30616. "must match a key ID defined in a @code{knot-key-configuration}. No key "
  30617. "means that a key is not require to match that ACL."
  30618. msgstr ""
  30619. #. type: item
  30620. #: doc/guix.texi:16191
  30621. #, no-wrap
  30622. msgid "@code{action} (default: @code{'()})"
  30623. msgstr ""
  30624. #. type: table
  30625. #: doc/guix.texi:16195
  30626. msgid ""
  30627. "An ordered list of actions that are permitted or forbidden by this ACL. "
  30628. "Possible values are lists of zero or more elements from @code{'transfer}, "
  30629. "@code{'notify} and @code{'update}."
  30630. msgstr ""
  30631. #. type: item
  30632. #: doc/guix.texi:16196
  30633. #, no-wrap
  30634. msgid "@code{deny?} (default: @code{#f})"
  30635. msgstr ""
  30636. #. type: table
  30637. #: doc/guix.texi:16199
  30638. msgid ""
  30639. "When true, the ACL defines restrictions. Listed actions are forbidden. "
  30640. "When false, listed actions are allowed."
  30641. msgstr ""
  30642. #. type: deftp
  30643. #: doc/guix.texi:16203
  30644. #, no-wrap
  30645. msgid "{Data Type} zone-entry"
  30646. msgstr ""
  30647. #. type: deftp
  30648. #: doc/guix.texi:16206
  30649. msgid ""
  30650. "Data type represnting a record entry in a zone file. This type has the "
  30651. "following parameters:"
  30652. msgstr ""
  30653. #. type: item
  30654. #: doc/guix.texi:16208
  30655. #, no-wrap
  30656. msgid "@code{name} (default: @code{\"@@\"})"
  30657. msgstr ""
  30658. #. type: table
  30659. #: doc/guix.texi:16214
  30660. msgid ""
  30661. "The name of the record. @code{\"@@\"} refers to the origin of the zone. "
  30662. "Names are relative to the origin of the zone. For example, in the "
  30663. "@code{example.org} zone, @code{\"ns.example.org\"} actually refers to "
  30664. "@code{ns.example.org.example.org}. Names ending with a dot are absolute, "
  30665. "which means that @code{\"ns.example.org.\"} refers to @code{ns.example.org}."
  30666. msgstr ""
  30667. #. type: item
  30668. #: doc/guix.texi:16215
  30669. #, no-wrap
  30670. msgid "@code{ttl} (default: @code{\"\"})"
  30671. msgstr ""
  30672. #. type: table
  30673. #: doc/guix.texi:16217
  30674. msgid ""
  30675. "The Time-To-Live (TTL) of this record. If not set, the default TTL is used."
  30676. msgstr ""
  30677. #. type: item
  30678. #: doc/guix.texi:16218
  30679. #, no-wrap
  30680. msgid "@code{class} (default: @code{\"IN\"})"
  30681. msgstr ""
  30682. #. type: table
  30683. #: doc/guix.texi:16221
  30684. msgid ""
  30685. "The class of the record. Knot currently supports only @code{\"IN\"} and "
  30686. "partially @code{\"CH\"}."
  30687. msgstr ""
  30688. #. type: item
  30689. #: doc/guix.texi:16222
  30690. #, no-wrap
  30691. msgid "@code{type} (default: @code{\"A\"})"
  30692. msgstr ""
  30693. #. type: table
  30694. #: doc/guix.texi:16226
  30695. msgid ""
  30696. "The type of the record. Common types include A (IPv4 address), AAAA (IPv6 "
  30697. "address), NS (Name Server) and MX (Mail eXchange). Many other types are "
  30698. "defined."
  30699. msgstr ""
  30700. #. type: item
  30701. #: doc/guix.texi:16227
  30702. #, no-wrap
  30703. msgid "@code{data} (default: @code{\"\"})"
  30704. msgstr ""
  30705. #. type: table
  30706. #: doc/guix.texi:16231
  30707. msgid ""
  30708. "The data contained in the record. For instance an IP address associated "
  30709. "with an A record, or a domain name associated with an NS record. Remember "
  30710. "that domain names are relative to the origin unless they end with a dot."
  30711. msgstr ""
  30712. #. type: deftp
  30713. #: doc/guix.texi:16235
  30714. #, no-wrap
  30715. msgid "{Data Type} zone-file"
  30716. msgstr ""
  30717. #. type: deftp
  30718. #: doc/guix.texi:16238
  30719. msgid ""
  30720. "Data type representing the content of a zone file. This type has the "
  30721. "following parameters:"
  30722. msgstr ""
  30723. #. type: table
  30724. #: doc/guix.texi:16247
  30725. msgid ""
  30726. "The list of entries. The SOA record is taken care of, so you don't need to "
  30727. "put it in the list of entries. This list should probably contain an entry "
  30728. "for your primary authoritative DNS server. Other than using a list of "
  30729. "entries directly, you can use @code{define-zone-entries} to define a object "
  30730. "containing the list of entries more easily, that you can later pass to the "
  30731. "@code{entries} field of the @code{zone-file}."
  30732. msgstr ""
  30733. #. type: item
  30734. #: doc/guix.texi:16248
  30735. #, no-wrap
  30736. msgid "@code{origin} (default: @code{\"\"})"
  30737. msgstr ""
  30738. #. type: table
  30739. #: doc/guix.texi:16250
  30740. msgid "The name of your zone. This parameter cannot be empty."
  30741. msgstr ""
  30742. #. type: item
  30743. #: doc/guix.texi:16251
  30744. #, no-wrap
  30745. msgid "@code{ns} (default: @code{\"ns\"})"
  30746. msgstr ""
  30747. #. type: table
  30748. #: doc/guix.texi:16256
  30749. msgid ""
  30750. "The domain of your primary authoritative DNS server. The name is relative "
  30751. "to the origin, unless it ends with a dot. It is mandatory that this primary "
  30752. "DNS server corresponds to an NS record in the zone and that it is associated "
  30753. "to an IP address in the list of entries."
  30754. msgstr ""
  30755. #. type: item
  30756. #: doc/guix.texi:16257
  30757. #, no-wrap
  30758. msgid "@code{mail} (default: @code{\"hostmaster\"})"
  30759. msgstr ""
  30760. #. type: table
  30761. #: doc/guix.texi:16260
  30762. msgid ""
  30763. "An email address people can contact you at, as the owner of the zone. This "
  30764. "is translated as @code{<mail>@@<origin>}."
  30765. msgstr ""
  30766. #. type: item
  30767. #: doc/guix.texi:16261
  30768. #, no-wrap
  30769. msgid "@code{serial} (default: @code{1})"
  30770. msgstr ""
  30771. #. type: table
  30772. #: doc/guix.texi:16265
  30773. msgid ""
  30774. "The serial number of the zone. As this is used to keep track of changes by "
  30775. "both slaves and resolvers, it is mandatory that it @emph{never} decreases. "
  30776. "Always increment it when you make a change in your zone."
  30777. msgstr ""
  30778. #. type: item
  30779. #: doc/guix.texi:16266
  30780. #, no-wrap
  30781. msgid "@code{refresh} (default: @code{(* 2 24 3600)})"
  30782. msgstr ""
  30783. #. type: table
  30784. #: doc/guix.texi:16270
  30785. msgid ""
  30786. "The frequency at which slaves will do a zone transfer. This value is a "
  30787. "number of seconds. It can be computed by multiplications or with "
  30788. "@code{(string->duration)}."
  30789. msgstr ""
  30790. #. type: item
  30791. #: doc/guix.texi:16271
  30792. #, no-wrap
  30793. msgid "@code{retry} (default: @code{(* 15 60)})"
  30794. msgstr ""
  30795. #. type: table
  30796. #: doc/guix.texi:16274
  30797. msgid ""
  30798. "The period after which a slave will retry to contact its master when it "
  30799. "fails to do so a first time."
  30800. msgstr ""
  30801. #. type: item
  30802. #: doc/guix.texi:16275
  30803. #, no-wrap
  30804. msgid "@code{expiry} (default: @code{(* 14 24 3600)})"
  30805. msgstr ""
  30806. #. type: table
  30807. #: doc/guix.texi:16279
  30808. msgid ""
  30809. "Default TTL of records. Existing records are considered correct for at most "
  30810. "this amount of time. After this period, resolvers will invalidate their "
  30811. "cache and check again that it still exists."
  30812. msgstr ""
  30813. #. type: item
  30814. #: doc/guix.texi:16280
  30815. #, no-wrap
  30816. msgid "@code{nx} (default: @code{3600})"
  30817. msgstr ""
  30818. #. type: table
  30819. #: doc/guix.texi:16283
  30820. msgid ""
  30821. "Default TTL of inexistant records. This delay is usually short because you "
  30822. "want your new domains to reach everyone quickly."
  30823. msgstr ""
  30824. #. type: deftp
  30825. #: doc/guix.texi:16287
  30826. #, no-wrap
  30827. msgid "{Data Type} knot-remote-configuration"
  30828. msgstr ""
  30829. #. type: deftp
  30830. #: doc/guix.texi:16290
  30831. msgid ""
  30832. "Data type representing a remote configuration. This type has the following "
  30833. "parameters:"
  30834. msgstr ""
  30835. #. type: table
  30836. #: doc/guix.texi:16295
  30837. msgid ""
  30838. "An identifier for other configuration fields to refer to this remote. IDs "
  30839. "must be unique and must not be empty."
  30840. msgstr ""
  30841. #. type: table
  30842. #: doc/guix.texi:16300
  30843. msgid ""
  30844. "An ordered list of destination IP addresses. Addresses are tried in "
  30845. "sequence. An optional port can be given with the @@ separator. For "
  30846. "instance: @code{(list \"1.2.3.4\" \"2.3.4.5@@53\")}. Default port is 53."
  30847. msgstr ""
  30848. #. type: item
  30849. #: doc/guix.texi:16301
  30850. #, no-wrap
  30851. msgid "@code{via} (default: @code{'()})"
  30852. msgstr ""
  30853. #. type: table
  30854. #: doc/guix.texi:16305
  30855. msgid ""
  30856. "An ordered list of source IP addresses. An empty list will have Knot choose "
  30857. "an appropriate source IP. An optional port can be given with the @@ "
  30858. "separator. The default is to choose at random."
  30859. msgstr ""
  30860. #. type: item
  30861. #: doc/guix.texi:16306
  30862. #, no-wrap
  30863. msgid "@code{key} (default: @code{#f})"
  30864. msgstr ""
  30865. #. type: table
  30866. #: doc/guix.texi:16309
  30867. msgid ""
  30868. "A reference to a key, that is a string containing the identifier of a key "
  30869. "defined in a @code{knot-key-configuration} field."
  30870. msgstr ""
  30871. #. type: deftp
  30872. #: doc/guix.texi:16313
  30873. #, no-wrap
  30874. msgid "{Data Type} knot-keystore-configuration"
  30875. msgstr ""
  30876. #. type: deftp
  30877. #: doc/guix.texi:16316
  30878. msgid ""
  30879. "Data type representing a keystore to hold dnssec keys. This type has the "
  30880. "following parameters:"
  30881. msgstr ""
  30882. #. type: table
  30883. #: doc/guix.texi:16320
  30884. msgid "The id of the keystore. It must not be empty."
  30885. msgstr ""
  30886. #. type: item
  30887. #: doc/guix.texi:16321
  30888. #, no-wrap
  30889. msgid "@code{backend} (default: @code{'pem})"
  30890. msgstr ""
  30891. #. type: table
  30892. #: doc/guix.texi:16323
  30893. msgid ""
  30894. "The backend to store the keys in. Can be @code{'pem} or @code{'pkcs11}."
  30895. msgstr ""
  30896. #. type: item
  30897. #: doc/guix.texi:16324
  30898. #, no-wrap
  30899. msgid "@code{config} (default: @code{\"/var/lib/knot/keys/keys\"})"
  30900. msgstr ""
  30901. #. type: table
  30902. #: doc/guix.texi:16328
  30903. msgid ""
  30904. "The configuration string of the backend. An example for the PKCS#11 is: "
  30905. "@code{\"pkcs11:token=knot;pin-value=1234 /gnu/store/.../lib/pkcs11/"
  30906. "libsofthsm2.so\"}. For the pem backend, the string reprensents a path in "
  30907. "the file system."
  30908. msgstr ""
  30909. #. type: deftp
  30910. #: doc/guix.texi:16332
  30911. #, no-wrap
  30912. msgid "{Data Type} knot-policy-configuration"
  30913. msgstr ""
  30914. #. type: deftp
  30915. #: doc/guix.texi:16336
  30916. msgid ""
  30917. "Data type representing a dnssec policy. Knot DNS is able to automatically "
  30918. "sign your zones. It can either generate and manage your keys automatically "
  30919. "or use keys that you generate."
  30920. msgstr ""
  30921. #. type: deftp
  30922. #: doc/guix.texi:16343
  30923. msgid ""
  30924. "Dnssec is usually implemented using two keys: a Key Signing Key (KSK) that "
  30925. "is used to sign the second, and a Zone Signing Key (ZSK) that is used to "
  30926. "sign the zone. In order to be trusted, the KSK needs to be present in the "
  30927. "parent zone (usually a top-level domain). If your registrar supports "
  30928. "dnssec, you will have to send them your KSK's hash so they can add a DS "
  30929. "record in their zone. This is not automated and need to be done each time "
  30930. "you change your KSK."
  30931. msgstr ""
  30932. #. type: deftp
  30933. #: doc/guix.texi:16349
  30934. msgid ""
  30935. "The policy also defines the lifetime of keys. Usually, ZSK can be changed "
  30936. "easily and use weaker cryptographic functions (they use lower parameters) in "
  30937. "order to sign records quickly, so they are changed often. The KSK however "
  30938. "requires manual interaction with the registrar, so they are changed less "
  30939. "often and use stronger parameters because they sign only one record."
  30940. msgstr ""
  30941. #. type: deftp
  30942. #: doc/guix.texi:16351
  30943. msgid "This type has the following parameters:"
  30944. msgstr ""
  30945. #. type: table
  30946. #: doc/guix.texi:16355
  30947. msgid "The id of the policy. It must not be empty."
  30948. msgstr ""
  30949. #. type: item
  30950. #: doc/guix.texi:16356
  30951. #, no-wrap
  30952. msgid "@code{keystore} (default: @code{\"default\"})"
  30953. msgstr ""
  30954. #. type: table
  30955. #: doc/guix.texi:16361
  30956. msgid ""
  30957. "A reference to a keystore, that is a string containing the identifier of a "
  30958. "keystore defined in a @code{knot-keystore-configuration} field. The "
  30959. "@code{\"default\"} identifier means the default keystore (a kasp database "
  30960. "that was setup by this service)."
  30961. msgstr ""
  30962. #. type: item
  30963. #: doc/guix.texi:16362
  30964. #, no-wrap
  30965. msgid "@code{manual?} (default: @code{#f})"
  30966. msgstr ""
  30967. #. type: table
  30968. #: doc/guix.texi:16364
  30969. msgid "Whether the key management is manual or automatic."
  30970. msgstr ""
  30971. #. type: item
  30972. #: doc/guix.texi:16365
  30973. #, no-wrap
  30974. msgid "@code{single-type-signing?} (default: @code{#f})"
  30975. msgstr ""
  30976. #. type: table
  30977. #: doc/guix.texi:16367
  30978. msgid "When @code{#t}, use the Single-Type Signing Scheme."
  30979. msgstr ""
  30980. #. type: item
  30981. #: doc/guix.texi:16368
  30982. #, no-wrap
  30983. msgid "@code{algorithm} (default: @code{\"ecdsap256sha256\"})"
  30984. msgstr ""
  30985. #. type: table
  30986. #: doc/guix.texi:16370
  30987. msgid "An algorithm of signing keys and issued signatures."
  30988. msgstr ""
  30989. #. type: item
  30990. #: doc/guix.texi:16371
  30991. #, no-wrap
  30992. msgid "@code{ksk-size} (default: @code{256})"
  30993. msgstr ""
  30994. #. type: table
  30995. #: doc/guix.texi:16374
  30996. msgid ""
  30997. "The length of the KSK. Note that this value is correct for the default "
  30998. "algorithm, but would be unsecure for other algorithms."
  30999. msgstr ""
  31000. #. type: item
  31001. #: doc/guix.texi:16375
  31002. #, no-wrap
  31003. msgid "@code{zsk-size} (default: @code{256})"
  31004. msgstr ""
  31005. #. type: table
  31006. #: doc/guix.texi:16378
  31007. msgid ""
  31008. "The length of the ZSK. Note that this value is correct for the default "
  31009. "algorithm, but would be unsecure for other algorithms."
  31010. msgstr ""
  31011. #. type: item
  31012. #: doc/guix.texi:16379
  31013. #, no-wrap
  31014. msgid "@code{dnskey-ttl} (default: @code{'default})"
  31015. msgstr ""
  31016. #. type: table
  31017. #: doc/guix.texi:16382
  31018. msgid ""
  31019. "The TTL value for DNSKEY records added into zone apex. The special "
  31020. "@code{'default} value means same as the zone SOA TTL."
  31021. msgstr ""
  31022. #. type: item
  31023. #: doc/guix.texi:16383
  31024. #, no-wrap
  31025. msgid "@code{zsk-lifetime} (default: @code{(* 30 24 3600)})"
  31026. msgstr ""
  31027. #. type: table
  31028. #: doc/guix.texi:16385
  31029. msgid "The period between ZSK publication and the next rollover initiation."
  31030. msgstr ""
  31031. #. type: item
  31032. #: doc/guix.texi:16386
  31033. #, no-wrap
  31034. msgid "@code{propagation-delay} (default: @code{(* 24 3600)})"
  31035. msgstr ""
  31036. #. type: table
  31037. #: doc/guix.texi:16389
  31038. msgid ""
  31039. "An extra delay added for each key rollover step. This value should be high "
  31040. "enough to cover propagation of data from the master server to all slaves."
  31041. msgstr ""
  31042. #. type: item
  31043. #: doc/guix.texi:16390
  31044. #, no-wrap
  31045. msgid "@code{rrsig-lifetime} (default: @code{(* 14 24 3600)})"
  31046. msgstr ""
  31047. #. type: table
  31048. #: doc/guix.texi:16392
  31049. msgid "A validity period of newly issued signatures."
  31050. msgstr ""
  31051. #. type: item
  31052. #: doc/guix.texi:16393
  31053. #, no-wrap
  31054. msgid "@code{rrsig-refresh} (default: @code{(* 7 24 3600)})"
  31055. msgstr ""
  31056. #. type: table
  31057. #: doc/guix.texi:16395
  31058. msgid ""
  31059. "A period how long before a signature expiration the signature will be "
  31060. "refreshed."
  31061. msgstr ""
  31062. #. type: item
  31063. #: doc/guix.texi:16396
  31064. #, no-wrap
  31065. msgid "@code{nsec3?} (default: @code{#f})"
  31066. msgstr ""
  31067. #. type: table
  31068. #: doc/guix.texi:16398
  31069. msgid "When @code{#t}, NSEC3 will be used instead of NSEC."
  31070. msgstr ""
  31071. #. type: item
  31072. #: doc/guix.texi:16399
  31073. #, no-wrap
  31074. msgid "@code{nsec3-iterations} (default: @code{5})"
  31075. msgstr ""
  31076. #. type: table
  31077. #: doc/guix.texi:16401
  31078. msgid "The number of additional times the hashing is performed."
  31079. msgstr ""
  31080. #. type: item
  31081. #: doc/guix.texi:16402
  31082. #, no-wrap
  31083. msgid "@code{nsec3-salt-length} (default: @code{8})"
  31084. msgstr ""
  31085. #. type: table
  31086. #: doc/guix.texi:16405
  31087. msgid ""
  31088. "The length of a salt field in octets, which is appended to the original "
  31089. "owner name before hashing."
  31090. msgstr ""
  31091. #. type: item
  31092. #: doc/guix.texi:16406
  31093. #, no-wrap
  31094. msgid "@code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)})"
  31095. msgstr ""
  31096. #. type: table
  31097. #: doc/guix.texi:16408
  31098. msgid "The validity period of newly issued salt field."
  31099. msgstr ""
  31100. #. type: deftp
  31101. #: doc/guix.texi:16412
  31102. #, no-wrap
  31103. msgid "{Data Type} knot-zone-configuration"
  31104. msgstr ""
  31105. #. type: deftp
  31106. #: doc/guix.texi:16415
  31107. msgid ""
  31108. "Data type representing a zone served by Knot. This type has the following "
  31109. "parameters:"
  31110. msgstr ""
  31111. #. type: item
  31112. #: doc/guix.texi:16417
  31113. #, no-wrap
  31114. msgid "@code{domain} (default: @code{\"\"})"
  31115. msgstr ""
  31116. #. type: table
  31117. #: doc/guix.texi:16419
  31118. msgid "The domain served by this configuration. It must not be empty."
  31119. msgstr ""
  31120. #. type: item
  31121. #: doc/guix.texi:16420
  31122. #, no-wrap
  31123. msgid "@code{file} (default: @code{\"\"})"
  31124. msgstr ""
  31125. #. type: table
  31126. #: doc/guix.texi:16423
  31127. msgid ""
  31128. "The file where this zone is saved. This parameter is ignored by master "
  31129. "zones. Empty means default location that depends on the domain name."
  31130. msgstr ""
  31131. #. type: item
  31132. #: doc/guix.texi:16424
  31133. #, no-wrap
  31134. msgid "@code{zone} (default: @code{(zone-file)})"
  31135. msgstr ""
  31136. #. type: table
  31137. #: doc/guix.texi:16427
  31138. msgid ""
  31139. "The content of the zone file. This parameter is ignored by slave zones. It "
  31140. "must contain a zone-file record."
  31141. msgstr ""
  31142. #. type: item
  31143. #: doc/guix.texi:16428
  31144. #, no-wrap
  31145. msgid "@code{master} (default: @code{'()})"
  31146. msgstr ""
  31147. #. type: table
  31148. #: doc/guix.texi:16431
  31149. msgid ""
  31150. "A list of master remotes. When empty, this zone is a master. When set, "
  31151. "this zone is a slave. This is a list of remotes identifiers."
  31152. msgstr ""
  31153. #. type: item
  31154. #: doc/guix.texi:16432
  31155. #, no-wrap
  31156. msgid "@code{ddns-master} (default: @code{#f})"
  31157. msgstr ""
  31158. #. type: table
  31159. #: doc/guix.texi:16435
  31160. msgid ""
  31161. "The main master. When empty, it defaults to the first master in the list of "
  31162. "masters."
  31163. msgstr ""
  31164. #. type: item
  31165. #: doc/guix.texi:16436
  31166. #, no-wrap
  31167. msgid "@code{notify} (default: @code{'()})"
  31168. msgstr ""
  31169. #. type: table
  31170. #: doc/guix.texi:16438
  31171. msgid "A list of slave remote identifiers."
  31172. msgstr ""
  31173. #. type: item
  31174. #: doc/guix.texi:16439
  31175. #, no-wrap
  31176. msgid "@code{acl} (default: @code{'()})"
  31177. msgstr ""
  31178. #. type: table
  31179. #: doc/guix.texi:16441
  31180. msgid "A list of acl identifiers."
  31181. msgstr ""
  31182. #. type: item
  31183. #: doc/guix.texi:16442
  31184. #, no-wrap
  31185. msgid "@code{semantic-checks?} (default: @code{#f})"
  31186. msgstr ""
  31187. #. type: table
  31188. #: doc/guix.texi:16444
  31189. msgid "When set, this adds more semantic checks to the zone."
  31190. msgstr ""
  31191. #. type: item
  31192. #: doc/guix.texi:16445
  31193. #, no-wrap
  31194. msgid "@code{disable-any?} (default: @code{#f})"
  31195. msgstr ""
  31196. #. type: table
  31197. #: doc/guix.texi:16447
  31198. msgid "When set, this forbids queries of the ANY type."
  31199. msgstr ""
  31200. #. type: item
  31201. #: doc/guix.texi:16448
  31202. #, no-wrap
  31203. msgid "@code{zonefile-sync} (default: @code{0})"
  31204. msgstr ""
  31205. #. type: table
  31206. #: doc/guix.texi:16451
  31207. msgid ""
  31208. "The delay between a modification in memory and on disk. 0 means immediate "
  31209. "synchronization."
  31210. msgstr ""
  31211. #. type: item
  31212. #: doc/guix.texi:16452
  31213. #, no-wrap
  31214. msgid "@code{serial-policy} (default: @code{'increment})"
  31215. msgstr ""
  31216. #. type: table
  31217. #: doc/guix.texi:16454
  31218. msgid "A policy between @code{'increment} and @code{'unixtime}."
  31219. msgstr ""
  31220. #. type: deftp
  31221. #: doc/guix.texi:16458
  31222. #, no-wrap
  31223. msgid "{Data Type} knot-configuration"
  31224. msgstr ""
  31225. #. type: deftp
  31226. #: doc/guix.texi:16461
  31227. msgid ""
  31228. "Data type representing the Knot configuration. This type has the following "
  31229. "parameters:"
  31230. msgstr ""
  31231. #. type: item
  31232. #: doc/guix.texi:16463
  31233. #, no-wrap
  31234. msgid "@code{knot} (default: @code{knot})"
  31235. msgstr ""
  31236. #. type: table
  31237. #: doc/guix.texi:16465
  31238. msgid "The Knot package."
  31239. msgstr ""
  31240. #. type: item
  31241. #: doc/guix.texi:16466
  31242. #, no-wrap
  31243. msgid "@code{run-directory} (default: @code{\"/var/run/knot\"})"
  31244. msgstr ""
  31245. #. type: table
  31246. #: doc/guix.texi:16468
  31247. msgid ""
  31248. "The run directory. This directory will be used for pid file and sockets."
  31249. msgstr ""
  31250. #. type: item
  31251. #: doc/guix.texi:16469
  31252. #, no-wrap
  31253. msgid "@code{listen-v4} (default: @code{\"0.0.0.0\"})"
  31254. msgstr ""
  31255. #. type: table
  31256. #: doc/guix.texi:16471 doc/guix.texi:16474
  31257. msgid "An ip address on which to listen."
  31258. msgstr ""
  31259. #. type: item
  31260. #: doc/guix.texi:16472
  31261. #, no-wrap
  31262. msgid "@code{listen-v6} (default: @code{\"::\"})"
  31263. msgstr ""
  31264. #. type: item
  31265. #: doc/guix.texi:16475
  31266. #, no-wrap
  31267. msgid "@code{listen-port} (default: @code{53})"
  31268. msgstr ""
  31269. #. type: table
  31270. #: doc/guix.texi:16477
  31271. msgid "A port on which to listen."
  31272. msgstr ""
  31273. #. type: item
  31274. #: doc/guix.texi:16478
  31275. #, no-wrap
  31276. msgid "@code{keys} (default: @code{'()})"
  31277. msgstr ""
  31278. #. type: table
  31279. #: doc/guix.texi:16480
  31280. msgid "The list of knot-key-configuration used by this configuration."
  31281. msgstr ""
  31282. #. type: item
  31283. #: doc/guix.texi:16481
  31284. #, no-wrap
  31285. msgid "@code{acls} (default: @code{'()})"
  31286. msgstr ""
  31287. #. type: table
  31288. #: doc/guix.texi:16483
  31289. msgid "The list of knot-acl-configuration used by this configuration."
  31290. msgstr ""
  31291. #. type: item
  31292. #: doc/guix.texi:16484
  31293. #, no-wrap
  31294. msgid "@code{remotes} (default: @code{'()})"
  31295. msgstr ""
  31296. #. type: table
  31297. #: doc/guix.texi:16486
  31298. msgid "The list of knot-remote-configuration used by this configuration."
  31299. msgstr ""
  31300. #. type: item
  31301. #: doc/guix.texi:16487
  31302. #, no-wrap
  31303. msgid "@code{zones} (default: @code{'()})"
  31304. msgstr ""
  31305. #. type: table
  31306. #: doc/guix.texi:16489
  31307. msgid "The list of knot-zone-configuration used by this configuration."
  31308. msgstr ""
  31309. #. type: cindex
  31310. #: doc/guix.texi:16496
  31311. #, no-wrap
  31312. msgid "VPN (virtual private network)"
  31313. msgstr ""
  31314. #. type: cindex
  31315. #: doc/guix.texi:16497
  31316. #, no-wrap
  31317. msgid "virtual private network (VPN)"
  31318. msgstr ""
  31319. #. type: Plain text
  31320. #: doc/guix.texi:16503
  31321. msgid ""
  31322. "The @code{(gnu services vpn)} module provides services related to "
  31323. "@dfn{virtual private networks} (VPNs). It provides a @emph{client} service "
  31324. "for your machine to connect to a VPN, and a @emph{servire} service for your "
  31325. "machine to host a VPN. Both services use @uref{https://openvpn.net/, "
  31326. "OpenVPN}."
  31327. msgstr ""
  31328. #. type: deffn
  31329. #: doc/guix.texi:16504
  31330. #, no-wrap
  31331. msgid "{Scheme Procedure} openvpn-client-service @"
  31332. msgstr ""
  31333. #. type: deffn
  31334. #: doc/guix.texi:16506
  31335. msgid "[#:config (openvpn-client-configuration)]"
  31336. msgstr ""
  31337. #. type: deffn
  31338. #: doc/guix.texi:16508
  31339. msgid ""
  31340. "Return a service that runs @command{openvpn}, a VPN daemon, as a client."
  31341. msgstr ""
  31342. #. type: deffn
  31343. #: doc/guix.texi:16510
  31344. #, no-wrap
  31345. msgid "{Scheme Procedure} openvpn-server-service @"
  31346. msgstr ""
  31347. #. type: deffn
  31348. #: doc/guix.texi:16512
  31349. msgid "[#:config (openvpn-server-configuration)]"
  31350. msgstr ""
  31351. #. type: deffn
  31352. #: doc/guix.texi:16514
  31353. msgid ""
  31354. "Return a service that runs @command{openvpn}, a VPN daemon, as a server."
  31355. msgstr ""
  31356. #. type: deffn
  31357. #: doc/guix.texi:16516
  31358. msgid "Both can be run simultaneously."
  31359. msgstr ""
  31360. #. type: Plain text
  31361. #: doc/guix.texi:16521
  31362. msgid "Available @code{openvpn-client-configuration} fields are:"
  31363. msgstr ""
  31364. #. type: deftypevr
  31365. #: doc/guix.texi:16522
  31366. #, no-wrap
  31367. msgid "{@code{openvpn-client-configuration} parameter} package openvpn"
  31368. msgstr ""
  31369. #. type: deftypevr
  31370. #: doc/guix.texi:16524 doc/guix.texi:16660
  31371. msgid "The OpenVPN package."
  31372. msgstr ""
  31373. #. type: deftypevr
  31374. #: doc/guix.texi:16527
  31375. #, no-wrap
  31376. msgid "{@code{openvpn-client-configuration} parameter} string pid-file"
  31377. msgstr ""
  31378. #. type: deftypevr
  31379. #: doc/guix.texi:16529 doc/guix.texi:16665
  31380. msgid "The OpenVPN pid file."
  31381. msgstr ""
  31382. #. type: deftypevr
  31383. #: doc/guix.texi:16531 doc/guix.texi:16667
  31384. msgid "Defaults to @samp{\"/var/run/openvpn/openvpn.pid\"}."
  31385. msgstr ""
  31386. #. type: deftypevr
  31387. #: doc/guix.texi:16534
  31388. #, no-wrap
  31389. msgid "{@code{openvpn-client-configuration} parameter} proto proto"
  31390. msgstr ""
  31391. #. type: deftypevr
  31392. #: doc/guix.texi:16537 doc/guix.texi:16673
  31393. msgid ""
  31394. "The protocol (UDP or TCP) used to open a channel between clients and servers."
  31395. msgstr ""
  31396. #. type: deftypevr
  31397. #: doc/guix.texi:16539 doc/guix.texi:16675
  31398. msgid "Defaults to @samp{udp}."
  31399. msgstr ""
  31400. #. type: deftypevr
  31401. #: doc/guix.texi:16542
  31402. #, no-wrap
  31403. msgid "{@code{openvpn-client-configuration} parameter} dev dev"
  31404. msgstr ""
  31405. #. type: deftypevr
  31406. #: doc/guix.texi:16544 doc/guix.texi:16680
  31407. msgid "The device type used to represent the VPN connection."
  31408. msgstr ""
  31409. #. type: deftypevr
  31410. #: doc/guix.texi:16546 doc/guix.texi:16682
  31411. msgid "Defaults to @samp{tun}."
  31412. msgstr ""
  31413. #. type: deftypevr
  31414. #: doc/guix.texi:16549
  31415. #, no-wrap
  31416. msgid "{@code{openvpn-client-configuration} parameter} string ca"
  31417. msgstr ""
  31418. #. type: deftypevr
  31419. #: doc/guix.texi:16551 doc/guix.texi:16687
  31420. msgid "The certificate authority to check connections against."
  31421. msgstr ""
  31422. #. type: deftypevr
  31423. #: doc/guix.texi:16553 doc/guix.texi:16689
  31424. msgid "Defaults to @samp{\"/etc/openvpn/ca.crt\"}."
  31425. msgstr ""
  31426. #. type: deftypevr
  31427. #: doc/guix.texi:16556
  31428. #, no-wrap
  31429. msgid "{@code{openvpn-client-configuration} parameter} string cert"
  31430. msgstr ""
  31431. #. type: deftypevr
  31432. #: doc/guix.texi:16559 doc/guix.texi:16695
  31433. msgid ""
  31434. "The certificate of the machine the daemon is running on. It should be "
  31435. "signed by the authority given in @code{ca}."
  31436. msgstr ""
  31437. #. type: deftypevr
  31438. #: doc/guix.texi:16561 doc/guix.texi:16697
  31439. msgid "Defaults to @samp{\"/etc/openvpn/client.crt\"}."
  31440. msgstr ""
  31441. #. type: deftypevr
  31442. #: doc/guix.texi:16564
  31443. #, no-wrap
  31444. msgid "{@code{openvpn-client-configuration} parameter} string key"
  31445. msgstr ""
  31446. #. type: deftypevr
  31447. #: doc/guix.texi:16567 doc/guix.texi:16703
  31448. msgid ""
  31449. "The key of the machine the daemon is running on. It must be the key whose "
  31450. "certificate is @code{cert}."
  31451. msgstr ""
  31452. #. type: deftypevr
  31453. #: doc/guix.texi:16569 doc/guix.texi:16705
  31454. msgid "Defaults to @samp{\"/etc/openvpn/client.key\"}."
  31455. msgstr ""
  31456. #. type: deftypevr
  31457. #: doc/guix.texi:16572
  31458. #, no-wrap
  31459. msgid "{@code{openvpn-client-configuration} parameter} boolean comp-lzo?"
  31460. msgstr ""
  31461. #. type: deftypevr
  31462. #: doc/guix.texi:16574 doc/guix.texi:16710
  31463. msgid "Whether to use the lzo compression algorithm."
  31464. msgstr ""
  31465. #. type: deftypevr
  31466. #: doc/guix.texi:16579
  31467. #, no-wrap
  31468. msgid "{@code{openvpn-client-configuration} parameter} boolean persist-key?"
  31469. msgstr ""
  31470. #. type: deftypevr
  31471. #: doc/guix.texi:16581 doc/guix.texi:16717
  31472. msgid "Don't re-read key files across SIGUSR1 or --ping-restart."
  31473. msgstr ""
  31474. #. type: deftypevr
  31475. #: doc/guix.texi:16586
  31476. #, no-wrap
  31477. msgid "{@code{openvpn-client-configuration} parameter} boolean persist-tun?"
  31478. msgstr ""
  31479. #. type: deftypevr
  31480. #: doc/guix.texi:16589 doc/guix.texi:16725
  31481. msgid ""
  31482. "Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 "
  31483. "or --ping-restart restarts."
  31484. msgstr ""
  31485. #. type: deftypevr
  31486. #: doc/guix.texi:16594
  31487. #, no-wrap
  31488. msgid "{@code{openvpn-client-configuration} parameter} number verbosity"
  31489. msgstr ""
  31490. #. type: deftypevr
  31491. #: doc/guix.texi:16596 doc/guix.texi:16732
  31492. msgid "Verbosity level."
  31493. msgstr ""
  31494. #. type: deftypevr
  31495. #: doc/guix.texi:16598 doc/guix.texi:16734 doc/guix.texi:18011
  31496. #: doc/guix.texi:18234
  31497. msgid "Defaults to @samp{3}."
  31498. msgstr ""
  31499. #. type: deftypevr
  31500. #: doc/guix.texi:16601
  31501. #, no-wrap
  31502. msgid "{@code{openvpn-client-configuration} parameter} tls-auth-client tls-auth"
  31503. msgstr ""
  31504. #. type: deftypevr
  31505. #: doc/guix.texi:16604 doc/guix.texi:16740
  31506. msgid ""
  31507. "Add an additional layer of HMAC authentication on top of the TLS control "
  31508. "channel to protect against DoS attacks."
  31509. msgstr ""
  31510. #. type: deftypevr
  31511. #: doc/guix.texi:16609
  31512. #, no-wrap
  31513. msgid "{@code{openvpn-client-configuration} parameter} key-usage verify-key-usage?"
  31514. msgstr ""
  31515. #. type: deftypevr
  31516. #: doc/guix.texi:16611
  31517. msgid "Whether to check the server certificate has server usage extension."
  31518. msgstr ""
  31519. #. type: deftypevr
  31520. #: doc/guix.texi:16616
  31521. #, no-wrap
  31522. msgid "{@code{openvpn-client-configuration} parameter} bind bind?"
  31523. msgstr ""
  31524. #. type: deftypevr
  31525. #: doc/guix.texi:16618
  31526. msgid "Bind to a specific local port number."
  31527. msgstr ""
  31528. #. type: deftypevr
  31529. #: doc/guix.texi:16623
  31530. #, no-wrap
  31531. msgid "{@code{openvpn-client-configuration} parameter} resolv-retry resolv-retry?"
  31532. msgstr ""
  31533. #. type: deftypevr
  31534. #: doc/guix.texi:16625
  31535. msgid "Retry resolving server address."
  31536. msgstr ""
  31537. #. type: deftypevr
  31538. #: doc/guix.texi:16630
  31539. #, no-wrap
  31540. msgid "{@code{openvpn-client-configuration} parameter} openvpn-remote-list remote"
  31541. msgstr ""
  31542. #. type: deftypevr
  31543. #: doc/guix.texi:16632
  31544. msgid "A list of remote servers to connect to."
  31545. msgstr ""
  31546. #. type: deftypevr
  31547. #: doc/guix.texi:16636
  31548. msgid "Available @code{openvpn-remote-configuration} fields are:"
  31549. msgstr ""
  31550. #. type: deftypevr
  31551. #: doc/guix.texi:16637
  31552. #, no-wrap
  31553. msgid "{@code{openvpn-remote-configuration} parameter} string name"
  31554. msgstr ""
  31555. #. type: deftypevr
  31556. #: doc/guix.texi:16639
  31557. msgid "Server name."
  31558. msgstr ""
  31559. #. type: deftypevr
  31560. #: doc/guix.texi:16641
  31561. msgid "Defaults to @samp{\"my-server\"}."
  31562. msgstr ""
  31563. #. type: deftypevr
  31564. #: doc/guix.texi:16644
  31565. #, no-wrap
  31566. msgid "{@code{openvpn-remote-configuration} parameter} number port"
  31567. msgstr ""
  31568. #. type: deftypevr
  31569. #: doc/guix.texi:16646
  31570. msgid "Port number the server listens to."
  31571. msgstr ""
  31572. #. type: deftypevr
  31573. #: doc/guix.texi:16648 doc/guix.texi:16749
  31574. msgid "Defaults to @samp{1194}."
  31575. msgstr ""
  31576. #. type: Plain text
  31577. #: doc/guix.texi:16657
  31578. msgid "Available @code{openvpn-server-configuration} fields are:"
  31579. msgstr ""
  31580. #. type: deftypevr
  31581. #: doc/guix.texi:16658
  31582. #, no-wrap
  31583. msgid "{@code{openvpn-server-configuration} parameter} package openvpn"
  31584. msgstr ""
  31585. #. type: deftypevr
  31586. #: doc/guix.texi:16663
  31587. #, no-wrap
  31588. msgid "{@code{openvpn-server-configuration} parameter} string pid-file"
  31589. msgstr ""
  31590. #. type: deftypevr
  31591. #: doc/guix.texi:16670
  31592. #, no-wrap
  31593. msgid "{@code{openvpn-server-configuration} parameter} proto proto"
  31594. msgstr ""
  31595. #. type: deftypevr
  31596. #: doc/guix.texi:16678
  31597. #, no-wrap
  31598. msgid "{@code{openvpn-server-configuration} parameter} dev dev"
  31599. msgstr ""
  31600. #. type: deftypevr
  31601. #: doc/guix.texi:16685
  31602. #, no-wrap
  31603. msgid "{@code{openvpn-server-configuration} parameter} string ca"
  31604. msgstr ""
  31605. #. type: deftypevr
  31606. #: doc/guix.texi:16692
  31607. #, no-wrap
  31608. msgid "{@code{openvpn-server-configuration} parameter} string cert"
  31609. msgstr ""
  31610. #. type: deftypevr
  31611. #: doc/guix.texi:16700
  31612. #, no-wrap
  31613. msgid "{@code{openvpn-server-configuration} parameter} string key"
  31614. msgstr ""
  31615. #. type: deftypevr
  31616. #: doc/guix.texi:16708
  31617. #, no-wrap
  31618. msgid "{@code{openvpn-server-configuration} parameter} boolean comp-lzo?"
  31619. msgstr ""
  31620. #. type: deftypevr
  31621. #: doc/guix.texi:16715
  31622. #, no-wrap
  31623. msgid "{@code{openvpn-server-configuration} parameter} boolean persist-key?"
  31624. msgstr ""
  31625. #. type: deftypevr
  31626. #: doc/guix.texi:16722
  31627. #, no-wrap
  31628. msgid "{@code{openvpn-server-configuration} parameter} boolean persist-tun?"
  31629. msgstr ""
  31630. #. type: deftypevr
  31631. #: doc/guix.texi:16730
  31632. #, no-wrap
  31633. msgid "{@code{openvpn-server-configuration} parameter} number verbosity"
  31634. msgstr ""
  31635. #. type: deftypevr
  31636. #: doc/guix.texi:16737
  31637. #, no-wrap
  31638. msgid "{@code{openvpn-server-configuration} parameter} tls-auth-server tls-auth"
  31639. msgstr ""
  31640. #. type: deftypevr
  31641. #: doc/guix.texi:16745
  31642. #, no-wrap
  31643. msgid "{@code{openvpn-server-configuration} parameter} number port"
  31644. msgstr ""
  31645. #. type: deftypevr
  31646. #: doc/guix.texi:16747
  31647. msgid "Specifies the port number on which the server listens."
  31648. msgstr ""
  31649. #. type: deftypevr
  31650. #: doc/guix.texi:16752
  31651. #, no-wrap
  31652. msgid "{@code{openvpn-server-configuration} parameter} ip-mask server"
  31653. msgstr ""
  31654. #. type: deftypevr
  31655. #: doc/guix.texi:16754
  31656. msgid "An ip and mask specifying the subnet inside the virtual network."
  31657. msgstr ""
  31658. #. type: deftypevr
  31659. #: doc/guix.texi:16756
  31660. msgid "Defaults to @samp{\"10.8.0.0 255.255.255.0\"}."
  31661. msgstr ""
  31662. #. type: deftypevr
  31663. #: doc/guix.texi:16759
  31664. #, no-wrap
  31665. msgid "{@code{openvpn-server-configuration} parameter} cidr6 server-ipv6"
  31666. msgstr ""
  31667. #. type: deftypevr
  31668. #: doc/guix.texi:16761
  31669. msgid "A CIDR notation specifying the IPv6 subnet inside the virtual network."
  31670. msgstr ""
  31671. #. type: deftypevr
  31672. #: doc/guix.texi:16766
  31673. #, no-wrap
  31674. msgid "{@code{openvpn-server-configuration} parameter} string dh"
  31675. msgstr ""
  31676. #. type: deftypevr
  31677. #: doc/guix.texi:16768
  31678. msgid "The Diffie-Hellman parameters file."
  31679. msgstr ""
  31680. #. type: deftypevr
  31681. #: doc/guix.texi:16770
  31682. msgid "Defaults to @samp{\"/etc/openvpn/dh2048.pem\"}."
  31683. msgstr ""
  31684. #. type: deftypevr
  31685. #: doc/guix.texi:16773
  31686. #, no-wrap
  31687. msgid "{@code{openvpn-server-configuration} parameter} string ifconfig-pool-persist"
  31688. msgstr ""
  31689. #. type: deftypevr
  31690. #: doc/guix.texi:16775
  31691. msgid "The file that records client IPs."
  31692. msgstr ""
  31693. #. type: deftypevr
  31694. #: doc/guix.texi:16777
  31695. msgid "Defaults to @samp{\"/etc/openvpn/ipp.txt\"}."
  31696. msgstr ""
  31697. #. type: deftypevr
  31698. #: doc/guix.texi:16780
  31699. #, no-wrap
  31700. msgid "{@code{openvpn-server-configuration} parameter} gateway redirect-gateway?"
  31701. msgstr ""
  31702. #. type: deftypevr
  31703. #: doc/guix.texi:16782
  31704. msgid "When true, the server will act as a gateway for its clients."
  31705. msgstr ""
  31706. #. type: deftypevr
  31707. #: doc/guix.texi:16787
  31708. #, no-wrap
  31709. msgid "{@code{openvpn-server-configuration} parameter} boolean client-to-client?"
  31710. msgstr ""
  31711. #. type: deftypevr
  31712. #: doc/guix.texi:16789
  31713. msgid "When true, clients are allowed to talk to each other inside the VPN."
  31714. msgstr ""
  31715. #. type: deftypevr
  31716. #: doc/guix.texi:16794
  31717. #, no-wrap
  31718. msgid "{@code{openvpn-server-configuration} parameter} keepalive keepalive"
  31719. msgstr ""
  31720. #. type: deftypevr
  31721. #: doc/guix.texi:16800
  31722. msgid ""
  31723. "Causes ping-like messages to be sent back and forth over the link so that "
  31724. "each side knows when the other side has gone down. @code{keepalive} "
  31725. "requires a pair. The first element is the period of the ping sending, and "
  31726. "the second element is the timeout before considering the other side down."
  31727. msgstr ""
  31728. #. type: deftypevr
  31729. #: doc/guix.texi:16803
  31730. #, no-wrap
  31731. msgid "{@code{openvpn-server-configuration} parameter} number max-clients"
  31732. msgstr ""
  31733. #. type: deftypevr
  31734. #: doc/guix.texi:16805
  31735. msgid "The maximum number of clients."
  31736. msgstr ""
  31737. #. type: deftypevr
  31738. #: doc/guix.texi:16810
  31739. #, no-wrap
  31740. msgid "{@code{openvpn-server-configuration} parameter} string status"
  31741. msgstr ""
  31742. #. type: deftypevr
  31743. #: doc/guix.texi:16813
  31744. msgid ""
  31745. "The status file. This file shows a small report on current connection. It "
  31746. "is truncated and rewritten every minute."
  31747. msgstr ""
  31748. #. type: deftypevr
  31749. #: doc/guix.texi:16815
  31750. msgid "Defaults to @samp{\"/var/run/openvpn/status\"}."
  31751. msgstr ""
  31752. #. type: deftypevr
  31753. #: doc/guix.texi:16818
  31754. #, no-wrap
  31755. msgid "{@code{openvpn-server-configuration} parameter} openvpn-ccd-list client-config-dir"
  31756. msgstr ""
  31757. #. type: deftypevr
  31758. #: doc/guix.texi:16820
  31759. msgid "The list of configuration for some clients."
  31760. msgstr ""
  31761. #. type: deftypevr
  31762. #: doc/guix.texi:16824
  31763. msgid "Available @code{openvpn-ccd-configuration} fields are:"
  31764. msgstr ""
  31765. #. type: deftypevr
  31766. #: doc/guix.texi:16825
  31767. #, no-wrap
  31768. msgid "{@code{openvpn-ccd-configuration} parameter} string name"
  31769. msgstr ""
  31770. #. type: deftypevr
  31771. #: doc/guix.texi:16827
  31772. msgid "Client name."
  31773. msgstr ""
  31774. #. type: deftypevr
  31775. #: doc/guix.texi:16829
  31776. msgid "Defaults to @samp{\"client\"}."
  31777. msgstr ""
  31778. #. type: deftypevr
  31779. #: doc/guix.texi:16832
  31780. #, no-wrap
  31781. msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask iroute"
  31782. msgstr ""
  31783. #. type: deftypevr
  31784. #: doc/guix.texi:16834
  31785. msgid "Client own network"
  31786. msgstr ""
  31787. #. type: deftypevr
  31788. #: doc/guix.texi:16839
  31789. #, no-wrap
  31790. msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask ifconfig-push"
  31791. msgstr ""
  31792. #. type: deftypevr
  31793. #: doc/guix.texi:16841
  31794. msgid "Client VPN IP."
  31795. msgstr ""
  31796. #. type: cindex
  31797. #: doc/guix.texi:16854
  31798. #, no-wrap
  31799. msgid "NFS"
  31800. msgstr ""
  31801. #. type: Plain text
  31802. #: doc/guix.texi:16859
  31803. msgid ""
  31804. "The @code{(gnu services nfs)} module provides the following services, which "
  31805. "are most commonly used in relation to mounting or exporting directory trees "
  31806. "as @dfn{network file systems} (NFS)."
  31807. msgstr ""
  31808. #. type: subsubheading
  31809. #: doc/guix.texi:16860
  31810. #, no-wrap
  31811. msgid "RPC Bind Service"
  31812. msgstr ""
  31813. #. type: cindex
  31814. #: doc/guix.texi:16861
  31815. #, no-wrap
  31816. msgid "rpcbind"
  31817. msgstr ""
  31818. #. type: Plain text
  31819. #: doc/guix.texi:16867
  31820. msgid ""
  31821. "The RPC Bind service provides a facility to map program numbers into "
  31822. "universal addresses. Many NFS related services use this facility. Hence it "
  31823. "is automatically started when a dependent service starts."
  31824. msgstr ""
  31825. #. type: defvr
  31826. #: doc/guix.texi:16868
  31827. #, no-wrap
  31828. msgid "{Scheme Variable} rpcbind-service-type"
  31829. msgstr ""
  31830. #. type: defvr
  31831. #: doc/guix.texi:16870
  31832. msgid "A service type for the RPC portmapper daemon."
  31833. msgstr ""
  31834. #. type: deftp
  31835. #: doc/guix.texi:16873
  31836. #, no-wrap
  31837. msgid "{Data Type} rpcbind-configuration"
  31838. msgstr ""
  31839. #. type: deftp
  31840. #: doc/guix.texi:16876
  31841. msgid ""
  31842. "Data type representing the configuration of the RPC Bind Service. This type "
  31843. "has the following parameters:"
  31844. msgstr ""
  31845. #. type: item
  31846. #: doc/guix.texi:16877
  31847. #, no-wrap
  31848. msgid "@code{rpcbind} (default: @code{rpcbind})"
  31849. msgstr ""
  31850. #. type: table
  31851. #: doc/guix.texi:16879
  31852. msgid "The rpcbind package to use."
  31853. msgstr ""
  31854. #. type: item
  31855. #: doc/guix.texi:16880
  31856. #, no-wrap
  31857. msgid "@code{warm-start?} (default: @code{#t})"
  31858. msgstr ""
  31859. #. type: table
  31860. #: doc/guix.texi:16884
  31861. msgid ""
  31862. "If this parameter is @code{#t}, then the daemon will read a state file on "
  31863. "startup thus reloading state information saved by a previous instance."
  31864. msgstr ""
  31865. #. type: subsubheading
  31866. #: doc/guix.texi:16888
  31867. #, no-wrap
  31868. msgid "Pipefs Pseudo File System"
  31869. msgstr ""
  31870. #. type: cindex
  31871. #: doc/guix.texi:16889
  31872. #, no-wrap
  31873. msgid "pipefs"
  31874. msgstr ""
  31875. #. type: cindex
  31876. #: doc/guix.texi:16890
  31877. #, no-wrap
  31878. msgid "rpc_pipefs"
  31879. msgstr ""
  31880. #. type: Plain text
  31881. #: doc/guix.texi:16894
  31882. msgid ""
  31883. "The pipefs file system is used to transfer NFS related data between the "
  31884. "kernel and user space programs."
  31885. msgstr ""
  31886. #. type: defvr
  31887. #: doc/guix.texi:16895
  31888. #, no-wrap
  31889. msgid "{Scheme Variable} pipefs-service-type"
  31890. msgstr ""
  31891. #. type: defvr
  31892. #: doc/guix.texi:16897
  31893. msgid "A service type for the pipefs pseudo file system."
  31894. msgstr ""
  31895. #. type: deftp
  31896. #: doc/guix.texi:16899
  31897. #, no-wrap
  31898. msgid "{Data Type} pipefs-configuration"
  31899. msgstr ""
  31900. #. type: deftp
  31901. #: doc/guix.texi:16902
  31902. msgid ""
  31903. "Data type representing the configuration of the pipefs pseudo file system "
  31904. "service. This type has the following parameters:"
  31905. msgstr ""
  31906. #. type: item
  31907. #: doc/guix.texi:16903
  31908. #, no-wrap
  31909. msgid "@code{mount-point} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})"
  31910. msgstr ""
  31911. #. type: table
  31912. #: doc/guix.texi:16905
  31913. msgid "The directory to which the file system is to be attached."
  31914. msgstr ""
  31915. #. type: subsubheading
  31916. #: doc/guix.texi:16909
  31917. #, no-wrap
  31918. msgid "GSS Daemon Service"
  31919. msgstr ""
  31920. #. type: cindex
  31921. #: doc/guix.texi:16910
  31922. #, no-wrap
  31923. msgid "GSSD"
  31924. msgstr ""
  31925. #. type: cindex
  31926. #: doc/guix.texi:16911
  31927. #, no-wrap
  31928. msgid "GSS"
  31929. msgstr ""
  31930. #. type: cindex
  31931. #: doc/guix.texi:16912
  31932. #, no-wrap
  31933. msgid "global security system"
  31934. msgstr ""
  31935. #. type: Plain text
  31936. #: doc/guix.texi:16919
  31937. msgid ""
  31938. "The @dfn{global security system} (GSS) daemon provides strong security for "
  31939. "RPC based protocols. Before exchanging RPC requests an RPC client must "
  31940. "establish a security context. Typically this is done using the Kerberos "
  31941. "command @command{kinit} or automatically at login time using PAM services "
  31942. "(@pxref{Kerberos Services})."
  31943. msgstr ""
  31944. #. type: defvr
  31945. #: doc/guix.texi:16920
  31946. #, no-wrap
  31947. msgid "{Scheme Variable} gss-service-type"
  31948. msgstr ""
  31949. #. type: defvr
  31950. #: doc/guix.texi:16922
  31951. msgid "A service type for the Global Security System (GSS) daemon."
  31952. msgstr ""
  31953. #. type: deftp
  31954. #: doc/guix.texi:16924
  31955. #, no-wrap
  31956. msgid "{Data Type} gss-configuration"
  31957. msgstr ""
  31958. #. type: deftp
  31959. #: doc/guix.texi:16927
  31960. msgid ""
  31961. "Data type representing the configuration of the GSS daemon service. This "
  31962. "type has the following parameters:"
  31963. msgstr ""
  31964. #. type: item
  31965. #: doc/guix.texi:16928 doc/guix.texi:16953
  31966. #, no-wrap
  31967. msgid "@code{nfs-utils} (default: @code{nfs-utils})"
  31968. msgstr ""
  31969. #. type: table
  31970. #: doc/guix.texi:16930
  31971. msgid "The package in which the @command{rpc.gssd} command is to be found."
  31972. msgstr ""
  31973. #. type: item
  31974. #: doc/guix.texi:16931 doc/guix.texi:16956
  31975. #, no-wrap
  31976. msgid "@code{pipefs-directory} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})"
  31977. msgstr ""
  31978. #. type: table
  31979. #: doc/guix.texi:16933 doc/guix.texi:16958
  31980. msgid "The directory where the pipefs file system is mounted."
  31981. msgstr ""
  31982. #. type: subsubheading
  31983. #: doc/guix.texi:16938
  31984. #, no-wrap
  31985. msgid "IDMAP Daemon Service"
  31986. msgstr ""
  31987. #. type: cindex
  31988. #: doc/guix.texi:16939
  31989. #, no-wrap
  31990. msgid "idmapd"
  31991. msgstr ""
  31992. #. type: cindex
  31993. #: doc/guix.texi:16940
  31994. #, no-wrap
  31995. msgid "name mapper"
  31996. msgstr ""
  31997. #. type: Plain text
  31998. #: doc/guix.texi:16944
  31999. msgid ""
  32000. "The idmap daemon service provides mapping between user IDs and user names. "
  32001. "Typically it is required in order to access file systems mounted via NFSv4."
  32002. msgstr ""
  32003. #. type: defvr
  32004. #: doc/guix.texi:16945
  32005. #, no-wrap
  32006. msgid "{Scheme Variable} idmap-service-type"
  32007. msgstr ""
  32008. #. type: defvr
  32009. #: doc/guix.texi:16947
  32010. msgid "A service type for the Identity Mapper (IDMAP) daemon."
  32011. msgstr ""
  32012. #. type: deftp
  32013. #: doc/guix.texi:16949
  32014. #, no-wrap
  32015. msgid "{Data Type} idmap-configuration"
  32016. msgstr ""
  32017. #. type: deftp
  32018. #: doc/guix.texi:16952
  32019. msgid ""
  32020. "Data type representing the configuration of the IDMAP daemon service. This "
  32021. "type has the following parameters:"
  32022. msgstr ""
  32023. #. type: table
  32024. #: doc/guix.texi:16955
  32025. msgid "The package in which the @command{rpc.idmapd} command is to be found."
  32026. msgstr ""
  32027. #. type: item
  32028. #: doc/guix.texi:16959
  32029. #, no-wrap
  32030. msgid "@code{domain} (default: @code{#f})"
  32031. msgstr ""
  32032. #. type: table
  32033. #: doc/guix.texi:16963
  32034. msgid ""
  32035. "The local NFSv4 domain name. This must be a string or @code{#f}. If it is "
  32036. "@code{#f} then the daemon will use the host's fully qualified domain name."
  32037. msgstr ""
  32038. #. type: cindex
  32039. #: doc/guix.texi:16970
  32040. #, no-wrap
  32041. msgid "continuous integration"
  32042. msgstr ""
  32043. #. type: Plain text
  32044. #: doc/guix.texi:16974
  32045. msgid ""
  32046. "@uref{https://notabug.org/mthl/cuirass, Cuirass} is a continuous integration "
  32047. "tool for Guix. It can be used both for development and for providing "
  32048. "substitutes to others (@pxref{Substitutes})."
  32049. msgstr ""
  32050. #. type: Plain text
  32051. #: doc/guix.texi:16976
  32052. msgid ""
  32053. "The @code{(gnu services cuirass)} module provides the following service."
  32054. msgstr ""
  32055. #. type: defvr
  32056. #: doc/guix.texi:16977
  32057. #, no-wrap
  32058. msgid "{Scheme Procedure} cuirass-service-type"
  32059. msgstr ""
  32060. #. type: defvr
  32061. #: doc/guix.texi:16980
  32062. msgid ""
  32063. "The type of the Cuirass service. Its value must be a @code{cuirass-"
  32064. "configuration} object, as described below."
  32065. msgstr ""
  32066. #. type: Plain text
  32067. #: doc/guix.texi:16987
  32068. msgid ""
  32069. "To add build jobs, you have to set the @code{specifications} field of the "
  32070. "configuration. Here is an example of a service defining a build job based "
  32071. "on a specification that can be found in Cuirass source tree. This service "
  32072. "polls the Guix repository and builds a subset of the Guix packages, as "
  32073. "prescribed in the @file{gnu-system.scm} example spec:"
  32074. msgstr ""
  32075. #. type: example
  32076. #: doc/guix.texi:16999
  32077. #, no-wrap
  32078. msgid ""
  32079. "(let ((spec #~((#:name . \"guix\")\n"
  32080. " (#:url . \"git://git.savannah.gnu.org/guix.git\")\n"
  32081. " (#:load-path . \".\")\n"
  32082. " (#:file . \"build-aux/cuirass/gnu-system.scm\")\n"
  32083. " (#:proc . cuirass-jobs)\n"
  32084. " (#:arguments (subset . \"hello\"))\n"
  32085. " (#:branch . \"master\"))))\n"
  32086. " (service cuirass-service-type\n"
  32087. " (cuirass-configuration\n"
  32088. " (specifications #~(list '#$spec)))))\n"
  32089. msgstr ""
  32090. #. type: Plain text
  32091. #: doc/guix.texi:17004
  32092. msgid ""
  32093. "While information related to build jobs is located directly in the "
  32094. "specifications, global settings for the @command{cuirass} process are "
  32095. "accessible in other @code{cuirass-configuration} fields."
  32096. msgstr ""
  32097. #. type: deftp
  32098. #: doc/guix.texi:17005
  32099. #, no-wrap
  32100. msgid "{Data Type} cuirass-configuration"
  32101. msgstr ""
  32102. #. type: deftp
  32103. #: doc/guix.texi:17007
  32104. msgid "Data type representing the configuration of Cuirass."
  32105. msgstr ""
  32106. #. type: item
  32107. #: doc/guix.texi:17009
  32108. #, no-wrap
  32109. msgid "@code{log-file} (default: @code{\"/var/log/cuirass.log\"})"
  32110. msgstr ""
  32111. #. type: table
  32112. #: doc/guix.texi:17011
  32113. msgid "Location of the log file."
  32114. msgstr ""
  32115. #. type: item
  32116. #: doc/guix.texi:17012
  32117. #, no-wrap
  32118. msgid "@code{cache-directory} (default: @code{\"/var/cache/cuirass\"})"
  32119. msgstr ""
  32120. #. type: table
  32121. #: doc/guix.texi:17014
  32122. msgid "Location of the repository cache."
  32123. msgstr ""
  32124. #. type: item
  32125. #: doc/guix.texi:17015
  32126. #, no-wrap
  32127. msgid "@code{user} (default: @code{\"cuirass\"})"
  32128. msgstr ""
  32129. #. type: table
  32130. #: doc/guix.texi:17017
  32131. msgid "Owner of the @code{cuirass} process."
  32132. msgstr ""
  32133. #. type: item
  32134. #: doc/guix.texi:17018
  32135. #, no-wrap
  32136. msgid "@code{group} (default: @code{\"cuirass\"})"
  32137. msgstr ""
  32138. #. type: table
  32139. #: doc/guix.texi:17020
  32140. msgid "Owner's group of the @code{cuirass} process."
  32141. msgstr ""
  32142. #. type: item
  32143. #: doc/guix.texi:17021
  32144. #, no-wrap
  32145. msgid "@code{interval} (default: @code{60})"
  32146. msgstr ""
  32147. #. type: table
  32148. #: doc/guix.texi:17024
  32149. msgid ""
  32150. "Number of seconds between the poll of the repositories followed by the "
  32151. "Cuirass jobs."
  32152. msgstr ""
  32153. #. type: item
  32154. #: doc/guix.texi:17025
  32155. #, no-wrap
  32156. msgid "@code{database} (default: @code{\"/var/run/cuirass/cuirass.db\"})"
  32157. msgstr ""
  32158. #. type: table
  32159. #: doc/guix.texi:17028
  32160. msgid ""
  32161. "Location of sqlite database which contains the build results and previously "
  32162. "added specifications."
  32163. msgstr ""
  32164. #. type: item
  32165. #: doc/guix.texi:17029
  32166. #, no-wrap
  32167. msgid "@code{port} (default: @code{8081})"
  32168. msgstr ""
  32169. #. type: table
  32170. #: doc/guix.texi:17031
  32171. msgid "Port number used by the HTTP server."
  32172. msgstr ""
  32173. #. type: table
  32174. #: doc/guix.texi:17035
  32175. msgid ""
  32176. "Listen on the network interface for @var{host}. The default is to accept "
  32177. "connections from localhost."
  32178. msgstr ""
  32179. #. type: item
  32180. #: doc/guix.texi:17036
  32181. #, no-wrap
  32182. msgid "@code{specifications} (default: @code{#~'()})"
  32183. msgstr ""
  32184. #. type: table
  32185. #: doc/guix.texi:17042
  32186. msgid ""
  32187. "A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications, "
  32188. "where a specification is an association list (@pxref{Associations Lists,,, "
  32189. "guile, GNU Guile Reference Manual}) whose keys are keywords (@code{#:keyword-"
  32190. "example}) as shown in the example above."
  32191. msgstr ""
  32192. #. type: item
  32193. #: doc/guix.texi:17043
  32194. #, no-wrap
  32195. msgid "@code{use-substitutes?} (default: @code{#f})"
  32196. msgstr ""
  32197. #. type: table
  32198. #: doc/guix.texi:17046
  32199. msgid ""
  32200. "This allows using substitutes to avoid building every dependencies of a job "
  32201. "from source."
  32202. msgstr ""
  32203. #. type: item
  32204. #: doc/guix.texi:17047
  32205. #, no-wrap
  32206. msgid "@code{one-shot?} (default: @code{#f})"
  32207. msgstr ""
  32208. #. type: table
  32209. #: doc/guix.texi:17049
  32210. msgid "Only evaluate specifications and build derivations once."
  32211. msgstr ""
  32212. #. type: item
  32213. #: doc/guix.texi:17050
  32214. #, no-wrap
  32215. msgid "@code{fallback?} (default: @code{#f})"
  32216. msgstr ""
  32217. #. type: table
  32218. #: doc/guix.texi:17053
  32219. msgid ""
  32220. "When substituting a pre-built binary fails, fall back to building packages "
  32221. "locally."
  32222. msgstr ""
  32223. #. type: item
  32224. #: doc/guix.texi:17054
  32225. #, no-wrap
  32226. msgid "@code{load-path} (default: @code{'()})"
  32227. msgstr ""
  32228. #. type: table
  32229. #: doc/guix.texi:17057
  32230. msgid ""
  32231. "This allows users to define their own packages and make them visible to "
  32232. "cuirass as in @command{guix build} command."
  32233. msgstr ""
  32234. #. type: item
  32235. #: doc/guix.texi:17058
  32236. #, no-wrap
  32237. msgid "@code{cuirass} (default: @code{cuirass})"
  32238. msgstr ""
  32239. #. type: table
  32240. #: doc/guix.texi:17060
  32241. msgid "The Cuirass package to use."
  32242. msgstr ""
  32243. #. type: cindex
  32244. #: doc/guix.texi:17066
  32245. #, no-wrap
  32246. msgid "power management with TLP"
  32247. msgstr ""
  32248. #. type: Plain text
  32249. #: doc/guix.texi:17069
  32250. msgid ""
  32251. "The @code{(gnu services pm)} module provides a Guix service definition for "
  32252. "the Linux power management tool TLP."
  32253. msgstr ""
  32254. #. type: Plain text
  32255. #: doc/guix.texi:17075
  32256. msgid ""
  32257. "TLP enables various powersaving modes in userspace and kernel. Contrary to "
  32258. "@code{upower-service}, it is not a passive, monitoring tool, as it will "
  32259. "apply custom settings each time a new power source is detected. More "
  32260. "information can be found at @uref{http://linrunner.de/en/tlp/tlp.html, TLP "
  32261. "home page}."
  32262. msgstr ""
  32263. #. type: deffn
  32264. #: doc/guix.texi:17076
  32265. #, no-wrap
  32266. msgid "{Scheme Variable} tlp-service-type"
  32267. msgstr ""
  32268. #. type: deffn
  32269. #: doc/guix.texi:17080
  32270. msgid ""
  32271. "The service type for the TLP tool. Its value should be a valid TLP "
  32272. "configuration (see below). To use the default settings, simply write:"
  32273. msgstr ""
  32274. #. type: example
  32275. #: doc/guix.texi:17082
  32276. #, no-wrap
  32277. msgid "(service tlp-service-type)\n"
  32278. msgstr ""
  32279. #. type: Plain text
  32280. #: doc/guix.texi:17087
  32281. msgid ""
  32282. "By default TLP does not need much configuration but most TLP parameters can "
  32283. "be tweaked using @code{tlp-configuration}."
  32284. msgstr ""
  32285. #. type: Plain text
  32286. #: doc/guix.texi:17093
  32287. msgid ""
  32288. "Each parameter definition is preceded by its type; for example, "
  32289. "@samp{boolean foo} indicates that the @code{foo} parameter should be "
  32290. "specified as a boolean. Types starting with @code{maybe-} denote parameters "
  32291. "that won't show up in TLP config file when their value is @code{'disabled}."
  32292. msgstr ""
  32293. #. type: Plain text
  32294. #: doc/guix.texi:17103
  32295. msgid "Available @code{tlp-configuration} fields are:"
  32296. msgstr ""
  32297. #. type: deftypevr
  32298. #: doc/guix.texi:17104
  32299. #, no-wrap
  32300. msgid "{@code{tlp-configuration} parameter} package tlp"
  32301. msgstr ""
  32302. #. type: deftypevr
  32303. #: doc/guix.texi:17106
  32304. msgid "The TLP package."
  32305. msgstr ""
  32306. #. type: deftypevr
  32307. #: doc/guix.texi:17109
  32308. #, no-wrap
  32309. msgid "{@code{tlp-configuration} parameter} boolean tlp-enable?"
  32310. msgstr ""
  32311. #. type: deftypevr
  32312. #: doc/guix.texi:17111
  32313. msgid "Set to true if you wish to enable TLP."
  32314. msgstr ""
  32315. #. type: deftypevr
  32316. #: doc/guix.texi:17116
  32317. #, no-wrap
  32318. msgid "{@code{tlp-configuration} parameter} string tlp-default-mode"
  32319. msgstr ""
  32320. #. type: deftypevr
  32321. #: doc/guix.texi:17119
  32322. msgid ""
  32323. "Default mode when no power supply can be detected. Alternatives are AC and "
  32324. "BAT."
  32325. msgstr ""
  32326. #. type: deftypevr
  32327. #: doc/guix.texi:17121
  32328. msgid "Defaults to @samp{\"AC\"}."
  32329. msgstr ""
  32330. #. type: deftypevr
  32331. #: doc/guix.texi:17124
  32332. #, no-wrap
  32333. msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-ac"
  32334. msgstr ""
  32335. #. type: deftypevr
  32336. #: doc/guix.texi:17127
  32337. msgid ""
  32338. "Number of seconds Linux kernel has to wait after the disk goes idle, before "
  32339. "syncing on AC."
  32340. msgstr ""
  32341. #. type: deftypevr
  32342. #: doc/guix.texi:17132
  32343. #, no-wrap
  32344. msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-bat"
  32345. msgstr ""
  32346. #. type: deftypevr
  32347. #: doc/guix.texi:17134
  32348. msgid "Same as @code{disk-idle-ac} but on BAT mode."
  32349. msgstr ""
  32350. #. type: deftypevr
  32351. #: doc/guix.texi:17136
  32352. msgid "Defaults to @samp{2}."
  32353. msgstr ""
  32354. #. type: deftypevr
  32355. #: doc/guix.texi:17139
  32356. #, no-wrap
  32357. msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-ac"
  32358. msgstr ""
  32359. #. type: deftypevr
  32360. #: doc/guix.texi:17141
  32361. msgid "Dirty pages flushing periodicity, expressed in seconds."
  32362. msgstr ""
  32363. #. type: deftypevr
  32364. #: doc/guix.texi:17143 doc/guix.texi:17366 doc/guix.texi:18683
  32365. #: doc/guix.texi:18691
  32366. msgid "Defaults to @samp{15}."
  32367. msgstr ""
  32368. #. type: deftypevr
  32369. #: doc/guix.texi:17146
  32370. #, no-wrap
  32371. msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-bat"
  32372. msgstr ""
  32373. #. type: deftypevr
  32374. #: doc/guix.texi:17148
  32375. msgid "Same as @code{max-lost-work-secs-on-ac} but on BAT mode."
  32376. msgstr ""
  32377. #. type: deftypevr
  32378. #: doc/guix.texi:17150
  32379. msgid "Defaults to @samp{60}."
  32380. msgstr ""
  32381. #. type: deftypevr
  32382. #: doc/guix.texi:17153
  32383. #, no-wrap
  32384. msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-ac"
  32385. msgstr ""
  32386. #. type: deftypevr
  32387. #: doc/guix.texi:17157
  32388. msgid ""
  32389. "CPU frequency scaling governor on AC mode. With intel_pstate driver, "
  32390. "alternatives are powersave and performance. With acpi-cpufreq driver, "
  32391. "alternatives are ondemand, powersave, performance and conservative."
  32392. msgstr ""
  32393. #. type: deftypevr
  32394. #: doc/guix.texi:17159 doc/guix.texi:17166 doc/guix.texi:17173
  32395. #: doc/guix.texi:17180 doc/guix.texi:17187 doc/guix.texi:17194
  32396. #: doc/guix.texi:17202 doc/guix.texi:17210 doc/guix.texi:17217
  32397. #: doc/guix.texi:17224 doc/guix.texi:17231 doc/guix.texi:17238
  32398. #: doc/guix.texi:17268 doc/guix.texi:17306 doc/guix.texi:17313
  32399. #: doc/guix.texi:17322 doc/guix.texi:17344 doc/guix.texi:17352
  32400. #: doc/guix.texi:17359 doc/guix.texi:17514 doc/guix.texi:17534
  32401. #: doc/guix.texi:17549 doc/guix.texi:17556
  32402. msgid "Defaults to @samp{disabled}."
  32403. msgstr ""
  32404. #. type: deftypevr
  32405. #: doc/guix.texi:17162
  32406. #, no-wrap
  32407. msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-bat"
  32408. msgstr ""
  32409. #. type: deftypevr
  32410. #: doc/guix.texi:17164
  32411. msgid "Same as @code{cpu-scaling-governor-on-ac} but on BAT mode."
  32412. msgstr ""
  32413. #. type: deftypevr
  32414. #: doc/guix.texi:17169
  32415. #, no-wrap
  32416. msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-ac"
  32417. msgstr ""
  32418. #. type: deftypevr
  32419. #: doc/guix.texi:17171
  32420. msgid "Set the min available frequency for the scaling governor on AC."
  32421. msgstr ""
  32422. #. type: deftypevr
  32423. #: doc/guix.texi:17176
  32424. #, no-wrap
  32425. msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-ac"
  32426. msgstr ""
  32427. #. type: deftypevr
  32428. #: doc/guix.texi:17178
  32429. msgid "Set the max available frequency for the scaling governor on AC."
  32430. msgstr ""
  32431. #. type: deftypevr
  32432. #: doc/guix.texi:17183
  32433. #, no-wrap
  32434. msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-bat"
  32435. msgstr ""
  32436. #. type: deftypevr
  32437. #: doc/guix.texi:17185
  32438. msgid "Set the min available frequency for the scaling governor on BAT."
  32439. msgstr ""
  32440. #. type: deftypevr
  32441. #: doc/guix.texi:17190
  32442. #, no-wrap
  32443. msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-bat"
  32444. msgstr ""
  32445. #. type: deftypevr
  32446. #: doc/guix.texi:17192
  32447. msgid "Set the max available frequency for the scaling governor on BAT."
  32448. msgstr ""
  32449. #. type: deftypevr
  32450. #: doc/guix.texi:17197
  32451. #, no-wrap
  32452. msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-ac"
  32453. msgstr ""
  32454. #. type: deftypevr
  32455. #: doc/guix.texi:17200
  32456. msgid ""
  32457. "Limit the min P-state to control the power dissipation of the CPU, in AC "
  32458. "mode. Values are stated as a percentage of the available performance."
  32459. msgstr ""
  32460. #. type: deftypevr
  32461. #: doc/guix.texi:17205
  32462. #, no-wrap
  32463. msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-ac"
  32464. msgstr ""
  32465. #. type: deftypevr
  32466. #: doc/guix.texi:17208
  32467. msgid ""
  32468. "Limit the max P-state to control the power dissipation of the CPU, in AC "
  32469. "mode. Values are stated as a percentage of the available performance."
  32470. msgstr ""
  32471. #. type: deftypevr
  32472. #: doc/guix.texi:17213
  32473. #, no-wrap
  32474. msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-bat"
  32475. msgstr ""
  32476. #. type: deftypevr
  32477. #: doc/guix.texi:17215
  32478. msgid "Same as @code{cpu-min-perf-on-ac} on BAT mode."
  32479. msgstr ""
  32480. #. type: deftypevr
  32481. #: doc/guix.texi:17220
  32482. #, no-wrap
  32483. msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-bat"
  32484. msgstr ""
  32485. #. type: deftypevr
  32486. #: doc/guix.texi:17222
  32487. msgid "Same as @code{cpu-max-perf-on-ac} on BAT mode."
  32488. msgstr ""
  32489. #. type: deftypevr
  32490. #: doc/guix.texi:17227
  32491. #, no-wrap
  32492. msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac?"
  32493. msgstr ""
  32494. #. type: deftypevr
  32495. #: doc/guix.texi:17229
  32496. msgid "Enable CPU turbo boost feature on AC mode."
  32497. msgstr ""
  32498. #. type: deftypevr
  32499. #: doc/guix.texi:17234
  32500. #, no-wrap
  32501. msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat?"
  32502. msgstr ""
  32503. #. type: deftypevr
  32504. #: doc/guix.texi:17236
  32505. msgid "Same as @code{cpu-boost-on-ac?} on BAT mode."
  32506. msgstr ""
  32507. #. type: deftypevr
  32508. #: doc/guix.texi:17241
  32509. #, no-wrap
  32510. msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-ac?"
  32511. msgstr ""
  32512. #. type: deftypevr
  32513. #: doc/guix.texi:17244
  32514. msgid ""
  32515. "Allow Linux kernel to minimize the number of CPU cores/hyper-threads used "
  32516. "under light load conditions."
  32517. msgstr ""
  32518. #. type: deftypevr
  32519. #: doc/guix.texi:17249
  32520. #, no-wrap
  32521. msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-bat?"
  32522. msgstr ""
  32523. #. type: deftypevr
  32524. #: doc/guix.texi:17251
  32525. msgid "Same as @code{sched-powersave-on-ac?} but on BAT mode."
  32526. msgstr ""
  32527. #. type: deftypevr
  32528. #: doc/guix.texi:17256
  32529. #, no-wrap
  32530. msgid "{@code{tlp-configuration} parameter} boolean nmi-watchdog?"
  32531. msgstr ""
  32532. #. type: deftypevr
  32533. #: doc/guix.texi:17258
  32534. msgid "Enable Linux kernel NMI watchdog."
  32535. msgstr ""
  32536. #. type: deftypevr
  32537. #: doc/guix.texi:17263
  32538. #, no-wrap
  32539. msgid "{@code{tlp-configuration} parameter} maybe-string phc-controls"
  32540. msgstr ""
  32541. #. type: deftypevr
  32542. #: doc/guix.texi:17266
  32543. msgid ""
  32544. "For Linux kernels with PHC patch applied, change CPU voltages. An example "
  32545. "value would be @samp{\"F:V F:V F:V F:V\"}."
  32546. msgstr ""
  32547. #. type: deftypevr
  32548. #: doc/guix.texi:17271
  32549. #, no-wrap
  32550. msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-ac"
  32551. msgstr ""
  32552. #. type: deftypevr
  32553. #: doc/guix.texi:17274
  32554. msgid ""
  32555. "Set CPU performance versus energy saving policy on AC. Alternatives are "
  32556. "performance, normal, powersave."
  32557. msgstr ""
  32558. #. type: deftypevr
  32559. #: doc/guix.texi:17276 doc/guix.texi:17374 doc/guix.texi:17404
  32560. msgid "Defaults to @samp{\"performance\"}."
  32561. msgstr ""
  32562. #. type: deftypevr
  32563. #: doc/guix.texi:17279
  32564. #, no-wrap
  32565. msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-bat"
  32566. msgstr ""
  32567. #. type: deftypevr
  32568. #: doc/guix.texi:17281
  32569. msgid "Same as @code{energy-perf-policy-ac} but on BAT mode."
  32570. msgstr ""
  32571. #. type: deftypevr
  32572. #: doc/guix.texi:17283 doc/guix.texi:17381
  32573. msgid "Defaults to @samp{\"powersave\"}."
  32574. msgstr ""
  32575. #. type: deftypevr
  32576. #: doc/guix.texi:17286
  32577. #, no-wrap
  32578. msgid "{@code{tlp-configuration} parameter} space-separated-string-list disks-devices"
  32579. msgstr ""
  32580. #. type: deftypevr
  32581. #: doc/guix.texi:17288
  32582. msgid "Hard disk devices."
  32583. msgstr ""
  32584. #. type: deftypevr
  32585. #: doc/guix.texi:17291
  32586. #, no-wrap
  32587. msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-ac"
  32588. msgstr ""
  32589. #. type: deftypevr
  32590. #: doc/guix.texi:17293
  32591. msgid "Hard disk advanced power management level."
  32592. msgstr ""
  32593. #. type: deftypevr
  32594. #: doc/guix.texi:17296
  32595. #, no-wrap
  32596. msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-bat"
  32597. msgstr ""
  32598. #. type: deftypevr
  32599. #: doc/guix.texi:17298
  32600. msgid "Same as @code{disk-apm-bat} but on BAT mode."
  32601. msgstr ""
  32602. #. type: deftypevr
  32603. #: doc/guix.texi:17301
  32604. #, no-wrap
  32605. msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-ac"
  32606. msgstr ""
  32607. #. type: deftypevr
  32608. #: doc/guix.texi:17304
  32609. msgid ""
  32610. "Hard disk spin down timeout. One value has to be specified for each "
  32611. "declared hard disk."
  32612. msgstr ""
  32613. #. type: deftypevr
  32614. #: doc/guix.texi:17309
  32615. #, no-wrap
  32616. msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-bat"
  32617. msgstr ""
  32618. #. type: deftypevr
  32619. #: doc/guix.texi:17311
  32620. msgid "Same as @code{disk-spindown-timeout-on-ac} but on BAT mode."
  32621. msgstr ""
  32622. #. type: deftypevr
  32623. #: doc/guix.texi:17316
  32624. #, no-wrap
  32625. msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-iosched"
  32626. msgstr ""
  32627. #. type: deftypevr
  32628. #: doc/guix.texi:17320
  32629. msgid ""
  32630. "Select IO scheduler for disk devices. One value has to be specified for "
  32631. "each declared hard disk. Example alternatives are cfq, deadline and noop."
  32632. msgstr ""
  32633. #. type: deftypevr
  32634. #: doc/guix.texi:17325
  32635. #, no-wrap
  32636. msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-ac"
  32637. msgstr ""
  32638. #. type: deftypevr
  32639. #: doc/guix.texi:17328
  32640. msgid ""
  32641. "SATA aggressive link power management (ALPM) level. Alternatives are "
  32642. "min_power, medium_power, max_performance."
  32643. msgstr ""
  32644. #. type: deftypevr
  32645. #: doc/guix.texi:17330
  32646. msgid "Defaults to @samp{\"max_performance\"}."
  32647. msgstr ""
  32648. #. type: deftypevr
  32649. #: doc/guix.texi:17333
  32650. #, no-wrap
  32651. msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-bat"
  32652. msgstr ""
  32653. #. type: deftypevr
  32654. #: doc/guix.texi:17335
  32655. msgid "Same as @code{sata-linkpwr-ac} but on BAT mode."
  32656. msgstr ""
  32657. #. type: deftypevr
  32658. #: doc/guix.texi:17337
  32659. msgid "Defaults to @samp{\"min_power\"}."
  32660. msgstr ""
  32661. #. type: deftypevr
  32662. #: doc/guix.texi:17340
  32663. #, no-wrap
  32664. msgid "{@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist"
  32665. msgstr ""
  32666. #. type: deftypevr
  32667. #: doc/guix.texi:17342
  32668. msgid "Exclude specified SATA host devices for link power management."
  32669. msgstr ""
  32670. #. type: deftypevr
  32671. #: doc/guix.texi:17347
  32672. #, no-wrap
  32673. msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-ac?"
  32674. msgstr ""
  32675. #. type: deftypevr
  32676. #: doc/guix.texi:17350
  32677. msgid ""
  32678. "Enable Runtime Power Management for AHCI controller and disks on AC mode."
  32679. msgstr ""
  32680. #. type: deftypevr
  32681. #: doc/guix.texi:17355
  32682. #, no-wrap
  32683. msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-bat?"
  32684. msgstr ""
  32685. #. type: deftypevr
  32686. #: doc/guix.texi:17357
  32687. msgid "Same as @code{ahci-runtime-pm-on-ac} on BAT mode."
  32688. msgstr ""
  32689. #. type: deftypevr
  32690. #: doc/guix.texi:17362
  32691. #, no-wrap
  32692. msgid "{@code{tlp-configuration} parameter} non-negative-integer ahci-runtime-pm-timeout"
  32693. msgstr ""
  32694. #. type: deftypevr
  32695. #: doc/guix.texi:17364
  32696. msgid "Seconds of inactivity before disk is suspended."
  32697. msgstr ""
  32698. #. type: deftypevr
  32699. #: doc/guix.texi:17369
  32700. #, no-wrap
  32701. msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-ac"
  32702. msgstr ""
  32703. #. type: deftypevr
  32704. #: doc/guix.texi:17372
  32705. msgid ""
  32706. "PCI Express Active State Power Management level. Alternatives are default, "
  32707. "performance, powersave."
  32708. msgstr ""
  32709. #. type: deftypevr
  32710. #: doc/guix.texi:17377
  32711. #, no-wrap
  32712. msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-bat"
  32713. msgstr ""
  32714. #. type: deftypevr
  32715. #: doc/guix.texi:17379
  32716. msgid "Same as @code{pcie-aspm-ac} but on BAT mode."
  32717. msgstr ""
  32718. #. type: deftypevr
  32719. #: doc/guix.texi:17384
  32720. #, no-wrap
  32721. msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-ac"
  32722. msgstr ""
  32723. #. type: deftypevr
  32724. #: doc/guix.texi:17387
  32725. msgid ""
  32726. "Radeon graphics clock speed level. Alternatives are low, mid, high, auto, "
  32727. "default."
  32728. msgstr ""
  32729. #. type: deftypevr
  32730. #: doc/guix.texi:17389
  32731. msgid "Defaults to @samp{\"high\"}."
  32732. msgstr ""
  32733. #. type: deftypevr
  32734. #: doc/guix.texi:17392
  32735. #, no-wrap
  32736. msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-bat"
  32737. msgstr ""
  32738. #. type: deftypevr
  32739. #: doc/guix.texi:17394
  32740. msgid "Same as @code{radeon-power-ac} but on BAT mode."
  32741. msgstr ""
  32742. #. type: deftypevr
  32743. #: doc/guix.texi:17396
  32744. msgid "Defaults to @samp{\"low\"}."
  32745. msgstr ""
  32746. #. type: deftypevr
  32747. #: doc/guix.texi:17399
  32748. #, no-wrap
  32749. msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-ac"
  32750. msgstr ""
  32751. #. type: deftypevr
  32752. #: doc/guix.texi:17402
  32753. msgid ""
  32754. "Radeon dynamic power management method (DPM). Alternatives are battery, "
  32755. "performance."
  32756. msgstr ""
  32757. #. type: deftypevr
  32758. #: doc/guix.texi:17407
  32759. #, no-wrap
  32760. msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-bat"
  32761. msgstr ""
  32762. #. type: deftypevr
  32763. #: doc/guix.texi:17409
  32764. msgid "Same as @code{radeon-dpm-state-ac} but on BAT mode."
  32765. msgstr ""
  32766. #. type: deftypevr
  32767. #: doc/guix.texi:17411
  32768. msgid "Defaults to @samp{\"battery\"}."
  32769. msgstr ""
  32770. #. type: deftypevr
  32771. #: doc/guix.texi:17414
  32772. #, no-wrap
  32773. msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-ac"
  32774. msgstr ""
  32775. #. type: deftypevr
  32776. #: doc/guix.texi:17416
  32777. msgid "Radeon DPM performance level. Alternatives are auto, low, high."
  32778. msgstr ""
  32779. #. type: deftypevr
  32780. #: doc/guix.texi:17418 doc/guix.texi:17425 doc/guix.texi:17499
  32781. msgid "Defaults to @samp{\"auto\"}."
  32782. msgstr ""
  32783. #. type: deftypevr
  32784. #: doc/guix.texi:17421
  32785. #, no-wrap
  32786. msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-bat"
  32787. msgstr ""
  32788. #. type: deftypevr
  32789. #: doc/guix.texi:17423
  32790. msgid "Same as @code{radeon-dpm-perf-ac} but on BAT mode."
  32791. msgstr ""
  32792. #. type: deftypevr
  32793. #: doc/guix.texi:17428
  32794. #, no-wrap
  32795. msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-ac?"
  32796. msgstr ""
  32797. #. type: deftypevr
  32798. #: doc/guix.texi:17430
  32799. msgid "Wifi power saving mode."
  32800. msgstr ""
  32801. #. type: deftypevr
  32802. #: doc/guix.texi:17435
  32803. #, no-wrap
  32804. msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-bat?"
  32805. msgstr ""
  32806. #. type: deftypevr
  32807. #: doc/guix.texi:17437
  32808. msgid "Same as @code{wifi-power-ac?} but on BAT mode."
  32809. msgstr ""
  32810. #. type: deftypevr
  32811. #: doc/guix.texi:17442
  32812. #, no-wrap
  32813. msgid "{@code{tlp-configuration} parameter} y-n-boolean wol-disable?"
  32814. msgstr ""
  32815. #. type: deftypevr
  32816. #: doc/guix.texi:17444
  32817. msgid "Disable wake on LAN."
  32818. msgstr ""
  32819. #. type: deftypevr
  32820. #: doc/guix.texi:17449
  32821. #, no-wrap
  32822. msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-ac"
  32823. msgstr ""
  32824. #. type: deftypevr
  32825. #: doc/guix.texi:17452
  32826. msgid ""
  32827. "Timeout duration in seconds before activating audio power saving on Intel "
  32828. "HDA and AC97 devices. A value of 0 disables power saving."
  32829. msgstr ""
  32830. #. type: deftypevr
  32831. #: doc/guix.texi:17457
  32832. #, no-wrap
  32833. msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-bat"
  32834. msgstr ""
  32835. #. type: deftypevr
  32836. #: doc/guix.texi:17459
  32837. msgid "Same as @code{sound-powersave-ac} but on BAT mode."
  32838. msgstr ""
  32839. #. type: deftypevr
  32840. #: doc/guix.texi:17461 doc/guix.texi:17976 doc/guix.texi:18120
  32841. msgid "Defaults to @samp{1}."
  32842. msgstr ""
  32843. #. type: deftypevr
  32844. #: doc/guix.texi:17464
  32845. #, no-wrap
  32846. msgid "{@code{tlp-configuration} parameter} y-n-boolean sound-power-save-controller?"
  32847. msgstr ""
  32848. #. type: deftypevr
  32849. #: doc/guix.texi:17466
  32850. msgid "Disable controller in powersaving mode on Intel HDA devices."
  32851. msgstr ""
  32852. #. type: deftypevr
  32853. #: doc/guix.texi:17471
  32854. #, no-wrap
  32855. msgid "{@code{tlp-configuration} parameter} boolean bay-poweroff-on-bat?"
  32856. msgstr ""
  32857. #. type: deftypevr
  32858. #: doc/guix.texi:17475
  32859. msgid ""
  32860. "Enable optical drive in UltraBay/MediaBay on BAT mode. Drive can be powered "
  32861. "on again by releasing (and reinserting) the eject lever or by pressing the "
  32862. "disc eject button on newer models."
  32863. msgstr ""
  32864. #. type: deftypevr
  32865. #: doc/guix.texi:17480
  32866. #, no-wrap
  32867. msgid "{@code{tlp-configuration} parameter} string bay-device"
  32868. msgstr ""
  32869. #. type: deftypevr
  32870. #: doc/guix.texi:17482
  32871. msgid "Name of the optical drive device to power off."
  32872. msgstr ""
  32873. #. type: deftypevr
  32874. #: doc/guix.texi:17484
  32875. msgid "Defaults to @samp{\"sr0\"}."
  32876. msgstr ""
  32877. #. type: deftypevr
  32878. #: doc/guix.texi:17487
  32879. #, no-wrap
  32880. msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-ac"
  32881. msgstr ""
  32882. #. type: deftypevr
  32883. #: doc/guix.texi:17490
  32884. msgid ""
  32885. "Runtime Power Management for PCI(e) bus devices. Alternatives are on and "
  32886. "auto."
  32887. msgstr ""
  32888. #. type: deftypevr
  32889. #: doc/guix.texi:17492
  32890. msgid "Defaults to @samp{\"on\"}."
  32891. msgstr ""
  32892. #. type: deftypevr
  32893. #: doc/guix.texi:17495
  32894. #, no-wrap
  32895. msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-bat"
  32896. msgstr ""
  32897. #. type: deftypevr
  32898. #: doc/guix.texi:17497
  32899. msgid "Same as @code{runtime-pm-ac} but on BAT mode."
  32900. msgstr ""
  32901. #. type: deftypevr
  32902. #: doc/guix.texi:17502
  32903. #, no-wrap
  32904. msgid "{@code{tlp-configuration} parameter} boolean runtime-pm-all?"
  32905. msgstr ""
  32906. #. type: deftypevr
  32907. #: doc/guix.texi:17505
  32908. msgid ""
  32909. "Runtime Power Management for all PCI(e) bus devices, except blacklisted ones."
  32910. msgstr ""
  32911. #. type: deftypevr
  32912. #: doc/guix.texi:17510
  32913. #, no-wrap
  32914. msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist"
  32915. msgstr ""
  32916. #. type: deftypevr
  32917. #: doc/guix.texi:17512
  32918. msgid ""
  32919. "Exclude specified PCI(e) device addresses from Runtime Power Management."
  32920. msgstr ""
  32921. #. type: deftypevr
  32922. #: doc/guix.texi:17517
  32923. #, no-wrap
  32924. msgid "{@code{tlp-configuration} parameter} space-separated-string-list runtime-pm-driver-blacklist"
  32925. msgstr ""
  32926. #. type: deftypevr
  32927. #: doc/guix.texi:17520
  32928. msgid ""
  32929. "Exclude PCI(e) devices assigned to the specified drivers from Runtime Power "
  32930. "Management."
  32931. msgstr ""
  32932. #. type: deftypevr
  32933. #: doc/guix.texi:17523
  32934. #, no-wrap
  32935. msgid "{@code{tlp-configuration} parameter} boolean usb-autosuspend?"
  32936. msgstr ""
  32937. #. type: deftypevr
  32938. #: doc/guix.texi:17525
  32939. msgid "Enable USB autosuspend feature."
  32940. msgstr ""
  32941. #. type: deftypevr
  32942. #: doc/guix.texi:17530
  32943. #, no-wrap
  32944. msgid "{@code{tlp-configuration} parameter} maybe-string usb-blacklist"
  32945. msgstr ""
  32946. #. type: deftypevr
  32947. #: doc/guix.texi:17532
  32948. msgid "Exclude specified devices from USB autosuspend."
  32949. msgstr ""
  32950. #. type: deftypevr
  32951. #: doc/guix.texi:17537
  32952. #, no-wrap
  32953. msgid "{@code{tlp-configuration} parameter} boolean usb-blacklist-wwan?"
  32954. msgstr ""
  32955. #. type: deftypevr
  32956. #: doc/guix.texi:17539
  32957. msgid "Exclude WWAN devices from USB autosuspend."
  32958. msgstr ""
  32959. #. type: deftypevr
  32960. #: doc/guix.texi:17544
  32961. #, no-wrap
  32962. msgid "{@code{tlp-configuration} parameter} maybe-string usb-whitelist"
  32963. msgstr ""
  32964. #. type: deftypevr
  32965. #: doc/guix.texi:17547
  32966. msgid ""
  32967. "Include specified devices into USB autosuspend, even if they are already "
  32968. "excluded by the driver or via @code{usb-blacklist-wwan?}."
  32969. msgstr ""
  32970. #. type: deftypevr
  32971. #: doc/guix.texi:17552
  32972. #, no-wrap
  32973. msgid "{@code{tlp-configuration} parameter} maybe-boolean usb-autosuspend-disable-on-shutdown?"
  32974. msgstr ""
  32975. #. type: deftypevr
  32976. #: doc/guix.texi:17554
  32977. msgid "Enable USB autosuspend before shutdown."
  32978. msgstr ""
  32979. #. type: deftypevr
  32980. #: doc/guix.texi:17559
  32981. #, no-wrap
  32982. msgid "{@code{tlp-configuration} parameter} boolean restore-device-state-on-startup?"
  32983. msgstr ""
  32984. #. type: deftypevr
  32985. #: doc/guix.texi:17562
  32986. msgid ""
  32987. "Restore radio device state (bluetooth, wifi, wwan) from previous shutdown on "
  32988. "system startup."
  32989. msgstr ""
  32990. #. type: Plain text
  32991. #: doc/guix.texi:17570
  32992. msgid ""
  32993. "The @code{(gnu services pm)} module provides an interface to thermald, a CPU "
  32994. "frequency scaling service which helps prevent overheating."
  32995. msgstr ""
  32996. #. type: defvr
  32997. #: doc/guix.texi:17571
  32998. #, no-wrap
  32999. msgid "{Scheme Variable} thermald-service-type"
  33000. msgstr ""
  33001. #. type: defvr
  33002. #: doc/guix.texi:17576
  33003. msgid ""
  33004. "This is the service type for @uref{https://01.org/linux-thermal-daemon/, "
  33005. "thermald}, the Linux Thermal Daemon, which is responsible for controlling "
  33006. "the thermal state of processors and preventing overheating."
  33007. msgstr ""
  33008. #. type: deftp
  33009. #: doc/guix.texi:17578
  33010. #, no-wrap
  33011. msgid "{Data Type} thermald-configuration"
  33012. msgstr ""
  33013. #. type: deftp
  33014. #: doc/guix.texi:17580
  33015. msgid ""
  33016. "Data type representing the configuration of @code{thermald-service-type}."
  33017. msgstr ""
  33018. #. type: item
  33019. #: doc/guix.texi:17582
  33020. #, no-wrap
  33021. msgid "@code{ignore-cpuid-check?} (default: @code{#f})"
  33022. msgstr ""
  33023. #. type: table
  33024. #: doc/guix.texi:17584
  33025. msgid "Ignore cpuid check for supported CPU models."
  33026. msgstr ""
  33027. #. type: item
  33028. #: doc/guix.texi:17585
  33029. #, no-wrap
  33030. msgid "@code{thermald} (default: @var{thermald})"
  33031. msgstr ""
  33032. #. type: table
  33033. #: doc/guix.texi:17587
  33034. msgid "Package object of thermald."
  33035. msgstr ""
  33036. #. type: Plain text
  33037. #: doc/guix.texi:17596
  33038. msgid ""
  33039. "The @code{(gnu services audio)} module provides a service to start MPD (the "
  33040. "Music Player Daemon)."
  33041. msgstr ""
  33042. #. type: cindex
  33043. #: doc/guix.texi:17597
  33044. #, no-wrap
  33045. msgid "mpd"
  33046. msgstr ""
  33047. #. type: subsubheading
  33048. #: doc/guix.texi:17598
  33049. #, no-wrap
  33050. msgid "Music Player Daemon"
  33051. msgstr ""
  33052. #. type: Plain text
  33053. #: doc/guix.texi:17603
  33054. msgid ""
  33055. "The Music Player Daemon (MPD) is a service that can play music while being "
  33056. "controlled from the local machine or over the network by a variety of "
  33057. "clients."
  33058. msgstr ""
  33059. #. type: Plain text
  33060. #: doc/guix.texi:17606
  33061. msgid ""
  33062. "The following example shows how one might run @code{mpd} as user @code{\"bob"
  33063. "\"} on port @code{6666}. It uses pulseaudio for output."
  33064. msgstr ""
  33065. #. type: example
  33066. #: doc/guix.texi:17612
  33067. #, no-wrap
  33068. msgid ""
  33069. "(service mpd-service-type\n"
  33070. " (mpd-configuration\n"
  33071. " (user \"bob\")\n"
  33072. " (port \"6666\")))\n"
  33073. msgstr ""
  33074. #. type: defvr
  33075. #: doc/guix.texi:17614
  33076. #, no-wrap
  33077. msgid "{Scheme Variable} mpd-service-type"
  33078. msgstr ""
  33079. #. type: defvr
  33080. #: doc/guix.texi:17616
  33081. msgid "The service type for @command{mpd}"
  33082. msgstr ""
  33083. #. type: deftp
  33084. #: doc/guix.texi:17618
  33085. #, no-wrap
  33086. msgid "{Data Type} mpd-configuration"
  33087. msgstr ""
  33088. #. type: deftp
  33089. #: doc/guix.texi:17620
  33090. msgid "Data type representing the configuration of @command{mpd}."
  33091. msgstr ""
  33092. #. type: item
  33093. #: doc/guix.texi:17622
  33094. #, no-wrap
  33095. msgid "@code{user} (default: @code{\"mpd\"})"
  33096. msgstr ""
  33097. #. type: table
  33098. #: doc/guix.texi:17624
  33099. msgid "The user to run mpd as."
  33100. msgstr ""
  33101. #. type: item
  33102. #: doc/guix.texi:17625
  33103. #, no-wrap
  33104. msgid "@code{music-dir} (default: @code{\"~/Music\"})"
  33105. msgstr ""
  33106. #. type: table
  33107. #: doc/guix.texi:17627
  33108. msgid "The directory to scan for music files."
  33109. msgstr ""
  33110. #. type: item
  33111. #: doc/guix.texi:17628
  33112. #, no-wrap
  33113. msgid "@code{playlist-dir} (default: @code{\"~/.mpd/playlists\"})"
  33114. msgstr ""
  33115. #. type: table
  33116. #: doc/guix.texi:17630
  33117. msgid "The directory to store playlists."
  33118. msgstr ""
  33119. #. type: item
  33120. #: doc/guix.texi:17631
  33121. #, no-wrap
  33122. msgid "@code{port} (default: @code{\"6600\"})"
  33123. msgstr ""
  33124. #. type: table
  33125. #: doc/guix.texi:17633
  33126. msgid "The port to run mpd on."
  33127. msgstr ""
  33128. #. type: item
  33129. #: doc/guix.texi:17634
  33130. #, no-wrap
  33131. msgid "@code{address} (default: @code{\"any\"})"
  33132. msgstr ""
  33133. #. type: table
  33134. #: doc/guix.texi:17637
  33135. msgid ""
  33136. "The address that mpd will bind to. To use a Unix domain socket, an absolute "
  33137. "path can be specified here."
  33138. msgstr ""
  33139. #. type: subsubsection
  33140. #: doc/guix.texi:17642
  33141. #, no-wrap
  33142. msgid "Virtualization services"
  33143. msgstr ""
  33144. #. type: Plain text
  33145. #: doc/guix.texi:17647
  33146. msgid ""
  33147. "The @code{(gnu services virtualization)} module provides services for the "
  33148. "libvirt and virtlog daemons, as well as other virtualization-related "
  33149. "services."
  33150. msgstr ""
  33151. #. type: subsubheading
  33152. #: doc/guix.texi:17648
  33153. #, no-wrap
  33154. msgid "Libvirt daemon"
  33155. msgstr ""
  33156. #. type: Plain text
  33157. #: doc/guix.texi:17652
  33158. msgid ""
  33159. "@code{libvirtd} is the server side daemon component of the libvirt "
  33160. "virtualization management system. This daemon runs on host servers and "
  33161. "performs required management tasks for virtualized guests."
  33162. msgstr ""
  33163. #. type: deffn
  33164. #: doc/guix.texi:17653
  33165. #, no-wrap
  33166. msgid "{Scheme Variable} libvirt-service-type"
  33167. msgstr ""
  33168. #. type: deffn
  33169. #: doc/guix.texi:17656
  33170. msgid ""
  33171. "This is the type of the @uref{https://libvirt.org, libvirt daemon}. Its "
  33172. "value must be a @code{libvirt-configuration}."
  33173. msgstr ""
  33174. #. type: example
  33175. #: doc/guix.texi:17662
  33176. #, no-wrap
  33177. msgid ""
  33178. "(service libvirt-service-type\n"
  33179. " (libvirt-configuration\n"
  33180. " (unix-sock-group \"libvirt\")\n"
  33181. " (tls-port \"16555\")))\n"
  33182. msgstr ""
  33183. #. type: Plain text
  33184. #: doc/guix.texi:17667
  33185. msgid "Available @code{libvirt-configuration} fields are:"
  33186. msgstr ""
  33187. #. type: deftypevr
  33188. #: doc/guix.texi:17668
  33189. #, no-wrap
  33190. msgid "{@code{libvirt-configuration} parameter} package libvirt"
  33191. msgstr ""
  33192. #. type: deftypevr
  33193. #: doc/guix.texi:17670
  33194. msgid "Libvirt package."
  33195. msgstr ""
  33196. #. type: deftypevr
  33197. #: doc/guix.texi:17673
  33198. #, no-wrap
  33199. msgid "{@code{libvirt-configuration} parameter} boolean listen-tls?"
  33200. msgstr ""
  33201. #. type: deftypevr
  33202. #: doc/guix.texi:17676
  33203. msgid ""
  33204. "Flag listening for secure TLS connections on the public TCP/IP port. must "
  33205. "set @code{listen} for this to have any effect."
  33206. msgstr ""
  33207. #. type: deftypevr
  33208. #: doc/guix.texi:17679
  33209. msgid ""
  33210. "It is necessary to setup a CA and issue server certificates before using "
  33211. "this capability."
  33212. msgstr ""
  33213. #. type: deftypevr
  33214. #: doc/guix.texi:17684
  33215. #, no-wrap
  33216. msgid "{@code{libvirt-configuration} parameter} boolean listen-tcp?"
  33217. msgstr ""
  33218. #. type: deftypevr
  33219. #: doc/guix.texi:17687
  33220. msgid ""
  33221. "Listen for unencrypted TCP connections on the public TCP/IP port. must set "
  33222. "@code{listen} for this to have any effect."
  33223. msgstr ""
  33224. #. type: deftypevr
  33225. #: doc/guix.texi:17691
  33226. msgid ""
  33227. "Using the TCP socket requires SASL authentication by default. Only SASL "
  33228. "mechanisms which support data encryption are allowed. This is DIGEST_MD5 "
  33229. "and GSSAPI (Kerberos5)"
  33230. msgstr ""
  33231. #. type: deftypevr
  33232. #: doc/guix.texi:17696
  33233. #, no-wrap
  33234. msgid "{@code{libvirt-configuration} parameter} string tls-port"
  33235. msgstr ""
  33236. #. type: deftypevr
  33237. #: doc/guix.texi:17699
  33238. msgid ""
  33239. "Port for accepting secure TLS connections This can be a port number, or "
  33240. "service name"
  33241. msgstr ""
  33242. #. type: deftypevr
  33243. #: doc/guix.texi:17701
  33244. msgid "Defaults to @samp{\"16514\"}."
  33245. msgstr ""
  33246. #. type: deftypevr
  33247. #: doc/guix.texi:17704
  33248. #, no-wrap
  33249. msgid "{@code{libvirt-configuration} parameter} string tcp-port"
  33250. msgstr ""
  33251. #. type: deftypevr
  33252. #: doc/guix.texi:17707
  33253. msgid ""
  33254. "Port for accepting insecure TCP connections This can be a port number, or "
  33255. "service name"
  33256. msgstr ""
  33257. #. type: deftypevr
  33258. #: doc/guix.texi:17709
  33259. msgid "Defaults to @samp{\"16509\"}."
  33260. msgstr ""
  33261. #. type: deftypevr
  33262. #: doc/guix.texi:17712
  33263. #, no-wrap
  33264. msgid "{@code{libvirt-configuration} parameter} string listen-addr"
  33265. msgstr ""
  33266. #. type: deftypevr
  33267. #: doc/guix.texi:17714
  33268. msgid "IP address or hostname used for client connections."
  33269. msgstr ""
  33270. #. type: deftypevr
  33271. #: doc/guix.texi:17716
  33272. msgid "Defaults to @samp{\"0.0.0.0\"}."
  33273. msgstr ""
  33274. #. type: deftypevr
  33275. #: doc/guix.texi:17719
  33276. #, no-wrap
  33277. msgid "{@code{libvirt-configuration} parameter} boolean mdns-adv?"
  33278. msgstr ""
  33279. #. type: deftypevr
  33280. #: doc/guix.texi:17721
  33281. msgid "Flag toggling mDNS advertisement of the libvirt service."
  33282. msgstr ""
  33283. #. type: deftypevr
  33284. #: doc/guix.texi:17724
  33285. msgid ""
  33286. "Alternatively can disable for all services on a host by stopping the Avahi "
  33287. "daemon."
  33288. msgstr ""
  33289. #. type: deftypevr
  33290. #: doc/guix.texi:17729
  33291. #, no-wrap
  33292. msgid "{@code{libvirt-configuration} parameter} string mdns-name"
  33293. msgstr ""
  33294. #. type: deftypevr
  33295. #: doc/guix.texi:17732
  33296. msgid ""
  33297. "Default mDNS advertisement name. This must be unique on the immediate "
  33298. "broadcast network."
  33299. msgstr ""
  33300. #. type: deftypevr
  33301. #: doc/guix.texi:17734
  33302. msgid "Defaults to @samp{\"Virtualization Host <hostname>\"}."
  33303. msgstr ""
  33304. #. type: deftypevr
  33305. #: doc/guix.texi:17737
  33306. #, no-wrap
  33307. msgid "{@code{libvirt-configuration} parameter} string unix-sock-group"
  33308. msgstr ""
  33309. #. type: deftypevr
  33310. #: doc/guix.texi:17741
  33311. msgid ""
  33312. "UNIX domain socket group ownership. This can be used to allow a 'trusted' "
  33313. "set of users access to management capabilities without becoming root."
  33314. msgstr ""
  33315. #. type: deftypevr
  33316. #: doc/guix.texi:17743
  33317. msgid "Defaults to @samp{\"root\"}."
  33318. msgstr ""
  33319. #. type: deftypevr
  33320. #: doc/guix.texi:17746
  33321. #, no-wrap
  33322. msgid "{@code{libvirt-configuration} parameter} string unix-sock-ro-perms"
  33323. msgstr ""
  33324. #. type: deftypevr
  33325. #: doc/guix.texi:17749
  33326. msgid ""
  33327. "UNIX socket permissions for the R/O socket. This is used for monitoring VM "
  33328. "status only."
  33329. msgstr ""
  33330. #. type: deftypevr
  33331. #: doc/guix.texi:17751 doc/guix.texi:17769
  33332. msgid "Defaults to @samp{\"0777\"}."
  33333. msgstr ""
  33334. #. type: deftypevr
  33335. #: doc/guix.texi:17754
  33336. #, no-wrap
  33337. msgid "{@code{libvirt-configuration} parameter} string unix-sock-rw-perms"
  33338. msgstr ""
  33339. #. type: deftypevr
  33340. #: doc/guix.texi:17758
  33341. msgid ""
  33342. "UNIX socket permissions for the R/W socket. Default allows only root. If "
  33343. "PolicyKit is enabled on the socket, the default will change to allow "
  33344. "everyone (eg, 0777)"
  33345. msgstr ""
  33346. #. type: deftypevr
  33347. #: doc/guix.texi:17760
  33348. msgid "Defaults to @samp{\"0770\"}."
  33349. msgstr ""
  33350. #. type: deftypevr
  33351. #: doc/guix.texi:17763
  33352. #, no-wrap
  33353. msgid "{@code{libvirt-configuration} parameter} string unix-sock-admin-perms"
  33354. msgstr ""
  33355. #. type: deftypevr
  33356. #: doc/guix.texi:17767
  33357. msgid ""
  33358. "UNIX socket permissions for the admin socket. Default allows only owner "
  33359. "(root), do not change it unless you are sure to whom you are exposing the "
  33360. "access to."
  33361. msgstr ""
  33362. #. type: deftypevr
  33363. #: doc/guix.texi:17772
  33364. #, no-wrap
  33365. msgid "{@code{libvirt-configuration} parameter} string unix-sock-dir"
  33366. msgstr ""
  33367. #. type: deftypevr
  33368. #: doc/guix.texi:17774
  33369. msgid "The directory in which sockets will be found/created."
  33370. msgstr ""
  33371. #. type: deftypevr
  33372. #: doc/guix.texi:17776
  33373. msgid "Defaults to @samp{\"/var/run/libvirt\"}."
  33374. msgstr ""
  33375. #. type: deftypevr
  33376. #: doc/guix.texi:17779
  33377. #, no-wrap
  33378. msgid "{@code{libvirt-configuration} parameter} string auth-unix-ro"
  33379. msgstr ""
  33380. #. type: deftypevr
  33381. #: doc/guix.texi:17782
  33382. msgid ""
  33383. "Authentication scheme for UNIX read-only sockets. By default socket "
  33384. "permissions allow anyone to connect"
  33385. msgstr ""
  33386. #. type: deftypevr
  33387. #: doc/guix.texi:17784 doc/guix.texi:17793
  33388. msgid "Defaults to @samp{\"polkit\"}."
  33389. msgstr ""
  33390. #. type: deftypevr
  33391. #: doc/guix.texi:17787
  33392. #, no-wrap
  33393. msgid "{@code{libvirt-configuration} parameter} string auth-unix-rw"
  33394. msgstr ""
  33395. #. type: deftypevr
  33396. #: doc/guix.texi:17791
  33397. msgid ""
  33398. "Authentication scheme for UNIX read-write sockets. By default socket "
  33399. "permissions only allow root. If PolicyKit support was compiled into "
  33400. "libvirt, the default will be to use 'polkit' auth."
  33401. msgstr ""
  33402. #. type: deftypevr
  33403. #: doc/guix.texi:17796
  33404. #, no-wrap
  33405. msgid "{@code{libvirt-configuration} parameter} string auth-tcp"
  33406. msgstr ""
  33407. #. type: deftypevr
  33408. #: doc/guix.texi:17800
  33409. msgid ""
  33410. "Authentication scheme for TCP sockets. If you don't enable SASL, then all "
  33411. "TCP traffic is cleartext. Don't do this outside of a dev/test scenario."
  33412. msgstr ""
  33413. #. type: deftypevr
  33414. #: doc/guix.texi:17802
  33415. msgid "Defaults to @samp{\"sasl\"}."
  33416. msgstr ""
  33417. #. type: deftypevr
  33418. #: doc/guix.texi:17805
  33419. #, no-wrap
  33420. msgid "{@code{libvirt-configuration} parameter} string auth-tls"
  33421. msgstr ""
  33422. #. type: deftypevr
  33423. #: doc/guix.texi:17809
  33424. msgid ""
  33425. "Authentication scheme for TLS sockets. TLS sockets already have encryption "
  33426. "provided by the TLS layer, and limited authentication is done by "
  33427. "certificates."
  33428. msgstr ""
  33429. #. type: deftypevr
  33430. #: doc/guix.texi:17812
  33431. msgid ""
  33432. "It is possible to make use of any SASL authentication mechanism as well, by "
  33433. "using 'sasl' for this option"
  33434. msgstr ""
  33435. #. type: deftypevr
  33436. #: doc/guix.texi:17814
  33437. msgid "Defaults to @samp{\"none\"}."
  33438. msgstr ""
  33439. #. type: deftypevr
  33440. #: doc/guix.texi:17817
  33441. #, no-wrap
  33442. msgid "{@code{libvirt-configuration} parameter} optional-list access-drivers"
  33443. msgstr ""
  33444. #. type: deftypevr
  33445. #: doc/guix.texi:17819
  33446. msgid "API access control scheme."
  33447. msgstr ""
  33448. #. type: deftypevr
  33449. #: doc/guix.texi:17822
  33450. msgid ""
  33451. "By default an authenticated user is allowed access to all APIs. Access "
  33452. "drivers can place restrictions on this."
  33453. msgstr ""
  33454. #. type: deftypevr
  33455. #: doc/guix.texi:17827
  33456. #, no-wrap
  33457. msgid "{@code{libvirt-configuration} parameter} string key-file"
  33458. msgstr ""
  33459. #. type: deftypevr
  33460. #: doc/guix.texi:17830
  33461. msgid ""
  33462. "Server key file path. If set to an empty string, then no private key is "
  33463. "loaded."
  33464. msgstr ""
  33465. #. type: deftypevr
  33466. #: doc/guix.texi:17835
  33467. #, no-wrap
  33468. msgid "{@code{libvirt-configuration} parameter} string cert-file"
  33469. msgstr ""
  33470. #. type: deftypevr
  33471. #: doc/guix.texi:17838
  33472. msgid ""
  33473. "Server key file path. If set to an empty string, then no certificate is "
  33474. "loaded."
  33475. msgstr ""
  33476. #. type: deftypevr
  33477. #: doc/guix.texi:17843
  33478. #, no-wrap
  33479. msgid "{@code{libvirt-configuration} parameter} string ca-file"
  33480. msgstr ""
  33481. #. type: deftypevr
  33482. #: doc/guix.texi:17846
  33483. msgid ""
  33484. "Server key file path. If set to an empty string, then no CA certificate is "
  33485. "loaded."
  33486. msgstr ""
  33487. #. type: deftypevr
  33488. #: doc/guix.texi:17851
  33489. #, no-wrap
  33490. msgid "{@code{libvirt-configuration} parameter} string crl-file"
  33491. msgstr ""
  33492. #. type: deftypevr
  33493. #: doc/guix.texi:17854
  33494. msgid ""
  33495. "Certificate revocation list path. If set to an empty string, then no CRL is "
  33496. "loaded."
  33497. msgstr ""
  33498. #. type: deftypevr
  33499. #: doc/guix.texi:17859
  33500. #, no-wrap
  33501. msgid "{@code{libvirt-configuration} parameter} boolean tls-no-sanity-cert"
  33502. msgstr ""
  33503. #. type: deftypevr
  33504. #: doc/guix.texi:17861
  33505. msgid "Disable verification of our own server certificates."
  33506. msgstr ""
  33507. #. type: deftypevr
  33508. #: doc/guix.texi:17864
  33509. msgid ""
  33510. "When libvirtd starts it performs some sanity checks against its own "
  33511. "certificates."
  33512. msgstr ""
  33513. #. type: deftypevr
  33514. #: doc/guix.texi:17869
  33515. #, no-wrap
  33516. msgid "{@code{libvirt-configuration} parameter} boolean tls-no-verify-cert"
  33517. msgstr ""
  33518. #. type: deftypevr
  33519. #: doc/guix.texi:17871
  33520. msgid "Disable verification of client certificates."
  33521. msgstr ""
  33522. #. type: deftypevr
  33523. #: doc/guix.texi:17875
  33524. msgid ""
  33525. "Client certificate verification is the primary authentication mechanism. "
  33526. "Any client which does not present a certificate signed by the CA will be "
  33527. "rejected."
  33528. msgstr ""
  33529. #. type: deftypevr
  33530. #: doc/guix.texi:17880
  33531. #, no-wrap
  33532. msgid "{@code{libvirt-configuration} parameter} optional-list tls-allowed-dn-list"
  33533. msgstr ""
  33534. #. type: deftypevr
  33535. #: doc/guix.texi:17882
  33536. msgid "Whitelist of allowed x509 Distinguished Name."
  33537. msgstr ""
  33538. #. type: deftypevr
  33539. #: doc/guix.texi:17887
  33540. #, no-wrap
  33541. msgid "{@code{libvirt-configuration} parameter} optional-list sasl-allowed-usernames"
  33542. msgstr ""
  33543. #. type: deftypevr
  33544. #: doc/guix.texi:17890
  33545. msgid ""
  33546. "Whitelist of allowed SASL usernames. The format for username depends on the "
  33547. "SASL authentication mechanism."
  33548. msgstr ""
  33549. #. type: deftypevr
  33550. #: doc/guix.texi:17895
  33551. #, no-wrap
  33552. msgid "{@code{libvirt-configuration} parameter} string tls-priority"
  33553. msgstr ""
  33554. #. type: deftypevr
  33555. #: doc/guix.texi:17899
  33556. msgid ""
  33557. "Override the compile time default TLS priority string. The default is "
  33558. "usually \"NORMAL\" unless overridden at build time. Only set this is it is "
  33559. "desired for libvirt to deviate from the global default settings."
  33560. msgstr ""
  33561. #. type: deftypevr
  33562. #: doc/guix.texi:17901
  33563. msgid "Defaults to @samp{\"NORMAL\"}."
  33564. msgstr ""
  33565. #. type: deftypevr
  33566. #: doc/guix.texi:17904
  33567. #, no-wrap
  33568. msgid "{@code{libvirt-configuration} parameter} integer max-clients"
  33569. msgstr ""
  33570. #. type: deftypevr
  33571. #: doc/guix.texi:17907 doc/guix.texi:18330
  33572. msgid ""
  33573. "Maximum number of concurrent client connections to allow over all sockets "
  33574. "combined."
  33575. msgstr ""
  33576. #. type: deftypevr
  33577. #: doc/guix.texi:17909
  33578. msgid "Defaults to @samp{5000}."
  33579. msgstr ""
  33580. #. type: deftypevr
  33581. #: doc/guix.texi:17912
  33582. #, no-wrap
  33583. msgid "{@code{libvirt-configuration} parameter} integer max-queued-clients"
  33584. msgstr ""
  33585. #. type: deftypevr
  33586. #: doc/guix.texi:17916
  33587. msgid ""
  33588. "Maximum length of queue of connections waiting to be accepted by the "
  33589. "daemon. Note, that some protocols supporting retransmission may obey this "
  33590. "so that a later reattempt at connection succeeds."
  33591. msgstr ""
  33592. #. type: deftypevr
  33593. #: doc/guix.texi:17921
  33594. #, no-wrap
  33595. msgid "{@code{libvirt-configuration} parameter} integer max-anonymous-clients"
  33596. msgstr ""
  33597. #. type: deftypevr
  33598. #: doc/guix.texi:17924
  33599. msgid ""
  33600. "Maximum length of queue of accepted but not yet authenticated clients. Set "
  33601. "this to zero to turn this feature off"
  33602. msgstr ""
  33603. #. type: deftypevr
  33604. #: doc/guix.texi:17926 doc/guix.texi:17944 doc/guix.texi:17960
  33605. msgid "Defaults to @samp{20}."
  33606. msgstr ""
  33607. #. type: deftypevr
  33608. #: doc/guix.texi:17929
  33609. #, no-wrap
  33610. msgid "{@code{libvirt-configuration} parameter} integer min-workers"
  33611. msgstr ""
  33612. #. type: deftypevr
  33613. #: doc/guix.texi:17931
  33614. msgid "Number of workers to start up initially."
  33615. msgstr ""
  33616. #. type: deftypevr
  33617. #: doc/guix.texi:17936
  33618. #, no-wrap
  33619. msgid "{@code{libvirt-configuration} parameter} integer max-workers"
  33620. msgstr ""
  33621. #. type: deftypevr
  33622. #: doc/guix.texi:17938
  33623. msgid "Maximum number of worker threads."
  33624. msgstr ""
  33625. #. type: deftypevr
  33626. #: doc/guix.texi:17942
  33627. msgid ""
  33628. "If the number of active clients exceeds @code{min-workers}, then more "
  33629. "threads are spawned, up to max_workers limit. Typically you'd want "
  33630. "max_workers to equal maximum number of clients allowed."
  33631. msgstr ""
  33632. #. type: deftypevr
  33633. #: doc/guix.texi:17947
  33634. #, no-wrap
  33635. msgid "{@code{libvirt-configuration} parameter} integer prio-workers"
  33636. msgstr ""
  33637. #. type: deftypevr
  33638. #: doc/guix.texi:17951
  33639. msgid ""
  33640. "Number of priority workers. If all workers from above pool are stuck, some "
  33641. "calls marked as high priority (notably domainDestroy) can be executed in "
  33642. "this pool."
  33643. msgstr ""
  33644. #. type: deftypevr
  33645. #: doc/guix.texi:17956
  33646. #, no-wrap
  33647. msgid "{@code{libvirt-configuration} parameter} integer max-requests"
  33648. msgstr ""
  33649. #. type: deftypevr
  33650. #: doc/guix.texi:17958
  33651. msgid "Total global limit on concurrent RPC calls."
  33652. msgstr ""
  33653. #. type: deftypevr
  33654. #: doc/guix.texi:17963
  33655. #, no-wrap
  33656. msgid "{@code{libvirt-configuration} parameter} integer max-client-requests"
  33657. msgstr ""
  33658. #. type: deftypevr
  33659. #: doc/guix.texi:17967
  33660. msgid ""
  33661. "Limit on concurrent requests from a single client connection. To avoid one "
  33662. "client monopolizing the server this should be a small fraction of the global "
  33663. "max_requests and max_workers parameter."
  33664. msgstr ""
  33665. #. type: deftypevr
  33666. #: doc/guix.texi:17972
  33667. #, no-wrap
  33668. msgid "{@code{libvirt-configuration} parameter} integer admin-min-workers"
  33669. msgstr ""
  33670. #. type: deftypevr
  33671. #: doc/guix.texi:17974
  33672. msgid "Same as @code{min-workers} but for the admin interface."
  33673. msgstr ""
  33674. #. type: deftypevr
  33675. #: doc/guix.texi:17979
  33676. #, no-wrap
  33677. msgid "{@code{libvirt-configuration} parameter} integer admin-max-workers"
  33678. msgstr ""
  33679. #. type: deftypevr
  33680. #: doc/guix.texi:17981
  33681. msgid "Same as @code{max-workers} but for the admin interface."
  33682. msgstr ""
  33683. #. type: deftypevr
  33684. #: doc/guix.texi:17986
  33685. #, no-wrap
  33686. msgid "{@code{libvirt-configuration} parameter} integer admin-max-clients"
  33687. msgstr ""
  33688. #. type: deftypevr
  33689. #: doc/guix.texi:17988
  33690. msgid "Same as @code{max-clients} but for the admin interface."
  33691. msgstr ""
  33692. #. type: deftypevr
  33693. #: doc/guix.texi:17993
  33694. #, no-wrap
  33695. msgid "{@code{libvirt-configuration} parameter} integer admin-max-queued-clients"
  33696. msgstr ""
  33697. #. type: deftypevr
  33698. #: doc/guix.texi:17995
  33699. msgid "Same as @code{max-queued-clients} but for the admin interface."
  33700. msgstr ""
  33701. #. type: deftypevr
  33702. #: doc/guix.texi:18000
  33703. #, no-wrap
  33704. msgid "{@code{libvirt-configuration} parameter} integer admin-max-client-requests"
  33705. msgstr ""
  33706. #. type: deftypevr
  33707. #: doc/guix.texi:18002
  33708. msgid "Same as @code{max-client-requests} but for the admin interface."
  33709. msgstr ""
  33710. #. type: deftypevr
  33711. #: doc/guix.texi:18007
  33712. #, no-wrap
  33713. msgid "{@code{libvirt-configuration} parameter} integer log-level"
  33714. msgstr ""
  33715. #. type: deftypevr
  33716. #: doc/guix.texi:18009 doc/guix.texi:18232
  33717. msgid "Logging level. 4 errors, 3 warnings, 2 information, 1 debug."
  33718. msgstr ""
  33719. #. type: deftypevr
  33720. #: doc/guix.texi:18014
  33721. #, no-wrap
  33722. msgid "{@code{libvirt-configuration} parameter} string log-filters"
  33723. msgstr ""
  33724. #. type: deftypevr
  33725. #: doc/guix.texi:18016 doc/guix.texi:18239
  33726. msgid "Logging filters."
  33727. msgstr ""
  33728. #. type: deftypevr
  33729. #: doc/guix.texi:18019 doc/guix.texi:18242
  33730. msgid ""
  33731. "A filter allows to select a different logging level for a given category of "
  33732. "logs The format for a filter is one of:"
  33733. msgstr ""
  33734. #. type: itemize
  33735. #: doc/guix.texi:18023 doc/guix.texi:18246
  33736. msgid "x:name"
  33737. msgstr ""
  33738. #. type: itemize
  33739. #: doc/guix.texi:18026 doc/guix.texi:18249
  33740. msgid "x:+name"
  33741. msgstr ""
  33742. #. type: deftypevr
  33743. #: doc/guix.texi:18036 doc/guix.texi:18259
  33744. msgid ""
  33745. "where @code{name} is a string which is matched against the category given in "
  33746. "the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g., "
  33747. "\"remote\", \"qemu\", or \"util.json\" (the name in the filter can be a "
  33748. "substring of the full category name, in order to match multiple similar "
  33749. "categories), the optional \"+\" prefix tells libvirt to log stack trace for "
  33750. "each message matching name, and @code{x} is the minimal level where matching "
  33751. "messages should be logged:"
  33752. msgstr ""
  33753. #. type: itemize
  33754. #: doc/guix.texi:18040 doc/guix.texi:18085 doc/guix.texi:18263
  33755. #: doc/guix.texi:18308
  33756. msgid "1: DEBUG"
  33757. msgstr ""
  33758. #. type: itemize
  33759. #: doc/guix.texi:18043 doc/guix.texi:18088 doc/guix.texi:18266
  33760. #: doc/guix.texi:18311
  33761. msgid "2: INFO"
  33762. msgstr ""
  33763. #. type: itemize
  33764. #: doc/guix.texi:18046 doc/guix.texi:18091 doc/guix.texi:18269
  33765. #: doc/guix.texi:18314
  33766. msgid "3: WARNING"
  33767. msgstr ""
  33768. #. type: itemize
  33769. #: doc/guix.texi:18049 doc/guix.texi:18094 doc/guix.texi:18272
  33770. #: doc/guix.texi:18317
  33771. msgid "4: ERROR"
  33772. msgstr ""
  33773. #. type: deftypevr
  33774. #: doc/guix.texi:18054 doc/guix.texi:18277
  33775. msgid ""
  33776. "Multiple filters can be defined in a single filters statement, they just "
  33777. "need to be separated by spaces."
  33778. msgstr ""
  33779. #. type: deftypevr
  33780. #: doc/guix.texi:18056 doc/guix.texi:18279
  33781. msgid "Defaults to @samp{\"3:remote 4:event\"}."
  33782. msgstr ""
  33783. #. type: deftypevr
  33784. #: doc/guix.texi:18059
  33785. #, no-wrap
  33786. msgid "{@code{libvirt-configuration} parameter} string log-outputs"
  33787. msgstr ""
  33788. #. type: deftypevr
  33789. #: doc/guix.texi:18061 doc/guix.texi:18284
  33790. msgid "Logging outputs."
  33791. msgstr ""
  33792. #. type: deftypevr
  33793. #: doc/guix.texi:18064 doc/guix.texi:18287
  33794. msgid ""
  33795. "An output is one of the places to save logging information The format for an "
  33796. "output can be:"
  33797. msgstr ""
  33798. #. type: item
  33799. #: doc/guix.texi:18066 doc/guix.texi:18289
  33800. #, no-wrap
  33801. msgid "x:stderr"
  33802. msgstr ""
  33803. #. type: table
  33804. #: doc/guix.texi:18068 doc/guix.texi:18291
  33805. msgid "output goes to stderr"
  33806. msgstr ""
  33807. #. type: item
  33808. #: doc/guix.texi:18069 doc/guix.texi:18292
  33809. #, no-wrap
  33810. msgid "x:syslog:name"
  33811. msgstr ""
  33812. #. type: table
  33813. #: doc/guix.texi:18071 doc/guix.texi:18294
  33814. msgid "use syslog for the output and use the given name as the ident"
  33815. msgstr ""
  33816. #. type: item
  33817. #: doc/guix.texi:18072 doc/guix.texi:18295
  33818. #, no-wrap
  33819. msgid "x:file:file_path"
  33820. msgstr ""
  33821. #. type: table
  33822. #: doc/guix.texi:18074 doc/guix.texi:18297
  33823. msgid "output to a file, with the given filepath"
  33824. msgstr ""
  33825. #. type: item
  33826. #: doc/guix.texi:18075 doc/guix.texi:18298
  33827. #, no-wrap
  33828. msgid "x:journald"
  33829. msgstr ""
  33830. #. type: table
  33831. #: doc/guix.texi:18077 doc/guix.texi:18300
  33832. msgid "output to journald logging system"
  33833. msgstr ""
  33834. #. type: deftypevr
  33835. #: doc/guix.texi:18081 doc/guix.texi:18304
  33836. msgid "In all case the x prefix is the minimal level, acting as a filter"
  33837. msgstr ""
  33838. #. type: deftypevr
  33839. #: doc/guix.texi:18099 doc/guix.texi:18322
  33840. msgid ""
  33841. "Multiple outputs can be defined, they just need to be separated by spaces."
  33842. msgstr ""
  33843. #. type: deftypevr
  33844. #: doc/guix.texi:18101 doc/guix.texi:18324
  33845. msgid "Defaults to @samp{\"3:stderr\"}."
  33846. msgstr ""
  33847. #. type: deftypevr
  33848. #: doc/guix.texi:18104
  33849. #, no-wrap
  33850. msgid "{@code{libvirt-configuration} parameter} integer audit-level"
  33851. msgstr ""
  33852. #. type: deftypevr
  33853. #: doc/guix.texi:18106
  33854. msgid "Allows usage of the auditing subsystem to be altered"
  33855. msgstr ""
  33856. #. type: itemize
  33857. #: doc/guix.texi:18110
  33858. msgid "0: disable all auditing"
  33859. msgstr ""
  33860. #. type: itemize
  33861. #: doc/guix.texi:18113
  33862. msgid "1: enable auditing, only if enabled on host"
  33863. msgstr ""
  33864. #. type: itemize
  33865. #: doc/guix.texi:18116
  33866. msgid "2: enable auditing, and exit if disabled on host."
  33867. msgstr ""
  33868. #. type: deftypevr
  33869. #: doc/guix.texi:18123
  33870. #, no-wrap
  33871. msgid "{@code{libvirt-configuration} parameter} boolean audit-logging"
  33872. msgstr ""
  33873. #. type: deftypevr
  33874. #: doc/guix.texi:18125
  33875. msgid "Send audit messages via libvirt logging infrastructure."
  33876. msgstr ""
  33877. #. type: deftypevr
  33878. #: doc/guix.texi:18130
  33879. #, no-wrap
  33880. msgid "{@code{libvirt-configuration} parameter} optional-string host-uuid"
  33881. msgstr ""
  33882. #. type: deftypevr
  33883. #: doc/guix.texi:18132
  33884. msgid "Host UUID. UUID must not have all digits be the same."
  33885. msgstr ""
  33886. #. type: deftypevr
  33887. #: doc/guix.texi:18137
  33888. #, no-wrap
  33889. msgid "{@code{libvirt-configuration} parameter} string host-uuid-source"
  33890. msgstr ""
  33891. #. type: deftypevr
  33892. #: doc/guix.texi:18139
  33893. msgid "Source to read host UUID."
  33894. msgstr ""
  33895. #. type: itemize
  33896. #: doc/guix.texi:18143
  33897. msgid "@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}"
  33898. msgstr ""
  33899. #. type: itemize
  33900. #: doc/guix.texi:18146
  33901. msgid "@code{machine-id}: fetch the UUID from @code{/etc/machine-id}"
  33902. msgstr ""
  33903. #. type: deftypevr
  33904. #: doc/guix.texi:18151
  33905. msgid ""
  33906. "If @code{dmidecode} does not provide a valid UUID a temporary UUID will be "
  33907. "generated."
  33908. msgstr ""
  33909. #. type: deftypevr
  33910. #: doc/guix.texi:18153
  33911. msgid "Defaults to @samp{\"smbios\"}."
  33912. msgstr ""
  33913. #. type: deftypevr
  33914. #: doc/guix.texi:18156
  33915. #, no-wrap
  33916. msgid "{@code{libvirt-configuration} parameter} integer keepalive-interval"
  33917. msgstr ""
  33918. #. type: deftypevr
  33919. #: doc/guix.texi:18161
  33920. msgid ""
  33921. "A keepalive message is sent to a client after @code{keepalive_interval} "
  33922. "seconds of inactivity to check if the client is still responding. If set to "
  33923. "-1, libvirtd will never send keepalive requests; however clients can still "
  33924. "send them and the daemon will send responses."
  33925. msgstr ""
  33926. #. type: deftypevr
  33927. #: doc/guix.texi:18166
  33928. #, no-wrap
  33929. msgid "{@code{libvirt-configuration} parameter} integer keepalive-count"
  33930. msgstr ""
  33931. #. type: deftypevr
  33932. #: doc/guix.texi:18170
  33933. msgid ""
  33934. "Maximum number of keepalive messages that are allowed to be sent to the "
  33935. "client without getting any response before the connection is considered "
  33936. "broken."
  33937. msgstr ""
  33938. #. type: deftypevr
  33939. #: doc/guix.texi:18177
  33940. msgid ""
  33941. "In other words, the connection is automatically closed approximately after "
  33942. "@code{keepalive_interval * (keepalive_count + 1)} seconds since the last "
  33943. "message received from the client. When @code{keepalive-count} is set to 0, "
  33944. "connections will be automatically closed after @code{keepalive-interval} "
  33945. "seconds of inactivity without sending any keepalive messages."
  33946. msgstr ""
  33947. #. type: deftypevr
  33948. #: doc/guix.texi:18182
  33949. #, no-wrap
  33950. msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-interval"
  33951. msgstr ""
  33952. #. type: deftypevr
  33953. #: doc/guix.texi:18184 doc/guix.texi:18191
  33954. msgid "Same as above but for admin interface."
  33955. msgstr ""
  33956. #. type: deftypevr
  33957. #: doc/guix.texi:18189
  33958. #, no-wrap
  33959. msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-count"
  33960. msgstr ""
  33961. #. type: deftypevr
  33962. #: doc/guix.texi:18196
  33963. #, no-wrap
  33964. msgid "{@code{libvirt-configuration} parameter} integer ovs-timeout"
  33965. msgstr ""
  33966. #. type: deftypevr
  33967. #: doc/guix.texi:18198
  33968. msgid "Timeout for Open vSwitch calls."
  33969. msgstr ""
  33970. #. type: deftypevr
  33971. #: doc/guix.texi:18202
  33972. msgid ""
  33973. "The @code{ovs-vsctl} utility is used for the configuration and its timeout "
  33974. "option is set by default to 5 seconds to avoid potential infinite waits "
  33975. "blocking libvirt."
  33976. msgstr ""
  33977. #. type: subsubheading
  33978. #: doc/guix.texi:18209
  33979. #, no-wrap
  33980. msgid "Virtlog daemon"
  33981. msgstr ""
  33982. #. type: Plain text
  33983. #: doc/guix.texi:18212
  33984. msgid ""
  33985. "The virtlogd service is a server side daemon component of libvirt that is "
  33986. "used to manage logs from virtual machine consoles."
  33987. msgstr ""
  33988. #. type: Plain text
  33989. #: doc/guix.texi:18218
  33990. msgid ""
  33991. "This daemon is not used directly by libvirt client applications, rather it "
  33992. "is called on their behalf by @code{libvirtd}. By maintaining the logs in a "
  33993. "standalone daemon, the main @code{libvirtd} daemon can be restarted without "
  33994. "risk of losing logs. The @code{virtlogd} daemon has the ability to re-"
  33995. "exec() itself upon receiving @code{SIGUSR1}, to allow live upgrades without "
  33996. "downtime."
  33997. msgstr ""
  33998. #. type: deffn
  33999. #: doc/guix.texi:18219
  34000. #, no-wrap
  34001. msgid "{Scheme Variable} virtlog-service-type"
  34002. msgstr ""
  34003. #. type: deffn
  34004. #: doc/guix.texi:18222
  34005. msgid ""
  34006. "This is the type of the virtlog daemon. Its value must be a @code{virtlog-"
  34007. "configuration}."
  34008. msgstr ""
  34009. #. type: example
  34010. #: doc/guix.texi:18227
  34011. #, no-wrap
  34012. msgid ""
  34013. "(service virtlog-service-type\n"
  34014. " (virtlog-configuration\n"
  34015. " (max-clients 1000)))\n"
  34016. msgstr ""
  34017. #. type: deftypevr
  34018. #: doc/guix.texi:18230
  34019. #, no-wrap
  34020. msgid "{@code{virtlog-configuration} parameter} integer log-level"
  34021. msgstr ""
  34022. #. type: deftypevr
  34023. #: doc/guix.texi:18237
  34024. #, no-wrap
  34025. msgid "{@code{virtlog-configuration} parameter} string log-filters"
  34026. msgstr ""
  34027. #. type: deftypevr
  34028. #: doc/guix.texi:18282
  34029. #, no-wrap
  34030. msgid "{@code{virtlog-configuration} parameter} string log-outputs"
  34031. msgstr ""
  34032. #. type: deftypevr
  34033. #: doc/guix.texi:18327
  34034. #, no-wrap
  34035. msgid "{@code{virtlog-configuration} parameter} integer max-clients"
  34036. msgstr ""
  34037. #. type: deftypevr
  34038. #: doc/guix.texi:18332
  34039. msgid "Defaults to @samp{1024}."
  34040. msgstr ""
  34041. #. type: deftypevr
  34042. #: doc/guix.texi:18335
  34043. #, no-wrap
  34044. msgid "{@code{virtlog-configuration} parameter} integer max-size"
  34045. msgstr ""
  34046. #. type: deftypevr
  34047. #: doc/guix.texi:18337
  34048. msgid "Maximum file size before rolling over."
  34049. msgstr ""
  34050. #. type: deftypevr
  34051. #: doc/guix.texi:18339
  34052. msgid "Defaults to @samp{2MB}"
  34053. msgstr ""
  34054. #. type: deftypevr
  34055. #: doc/guix.texi:18342
  34056. #, no-wrap
  34057. msgid "{@code{virtlog-configuration} parameter} integer max-backups"
  34058. msgstr ""
  34059. #. type: deftypevr
  34060. #: doc/guix.texi:18344
  34061. msgid "Maximum number of backup files to keep."
  34062. msgstr ""
  34063. #. type: deftypevr
  34064. #: doc/guix.texi:18346
  34065. msgid "Defaults to @samp{3}"
  34066. msgstr ""
  34067. #. type: subsubheading
  34068. #: doc/guix.texi:18349
  34069. #, no-wrap
  34070. msgid "Transparent Emulation with QEMU"
  34071. msgstr ""
  34072. #. type: cindex
  34073. #: doc/guix.texi:18351
  34074. #, no-wrap
  34075. msgid "emulation"
  34076. msgstr ""
  34077. #. type: code{#1}
  34078. #: doc/guix.texi:18352
  34079. #, no-wrap
  34080. msgid "binfmt_misc"
  34081. msgstr ""
  34082. #. type: Plain text
  34083. #: doc/guix.texi:18358
  34084. msgid ""
  34085. "@code{qemu-binfmt-service-type} provides support for transparent emulation "
  34086. "of program binaries built for different architectures---e.g., it allows you "
  34087. "to transparently execute an ARMv7 program on an x86_64 machine. It achieves "
  34088. "this by combining the @uref{https://www.qemu.org, QEMU} emulator and the "
  34089. "@code{binfmt_misc} feature of the kernel Linux."
  34090. msgstr ""
  34091. #. type: defvr
  34092. #: doc/guix.texi:18359
  34093. #, no-wrap
  34094. msgid "{Scheme Variable} qemu-binfmt-service-type"
  34095. msgstr ""
  34096. #. type: defvr
  34097. #: doc/guix.texi:18364
  34098. msgid ""
  34099. "This is the type of the QEMU/binfmt service for transparent emulation. Its "
  34100. "value must be a @code{qemu-binfmt-configuration} object, which specifies the "
  34101. "QEMU package to use as well as the architecture we want to emulated:"
  34102. msgstr ""
  34103. #. type: example
  34104. #: doc/guix.texi:18369
  34105. #, no-wrap
  34106. msgid ""
  34107. "(service qemu-binfmt-service-type\n"
  34108. " (qemu-binfmt-configuration\n"
  34109. " (platforms (lookup-qemu-platforms \"arm\" \"aarch64\" \"ppc\"))))\n"
  34110. msgstr ""
  34111. #. type: defvr
  34112. #: doc/guix.texi:18375
  34113. msgid ""
  34114. "In this example, we enable transparent emulation for the ARM and aarch64 "
  34115. "platforms. Running @code{herd stop qemu-binfmt} turns it off, and running "
  34116. "@code{herd start qemu-binfmt} turns it back on (@pxref{Invoking herd, the "
  34117. "@command{herd} command,, shepherd, The GNU Shepherd Manual})."
  34118. msgstr ""
  34119. #. type: deftp
  34120. #: doc/guix.texi:18377
  34121. #, no-wrap
  34122. msgid "{Data Type} qemu-binfmt-configuration"
  34123. msgstr ""
  34124. #. type: deftp
  34125. #: doc/guix.texi:18379
  34126. msgid "This is the configuration for the @code{qemu-binfmt} service."
  34127. msgstr ""
  34128. #. type: item
  34129. #: doc/guix.texi:18381
  34130. #, no-wrap
  34131. msgid "@code{platforms} (default: @code{'()})"
  34132. msgstr ""
  34133. #. type: table
  34134. #: doc/guix.texi:18384
  34135. msgid ""
  34136. "The list of emulated QEMU platforms. Each item must be a @dfn{platform "
  34137. "object} as returned by @code{lookup-qemu-platforms} (see below)."
  34138. msgstr ""
  34139. #. type: item
  34140. #: doc/guix.texi:18385
  34141. #, no-wrap
  34142. msgid "@code{guix-support?} (default: @code{#f})"
  34143. msgstr ""
  34144. #. type: table
  34145. #: doc/guix.texi:18391
  34146. msgid ""
  34147. "When it is true, QEMU and all its dependencies are added to the build "
  34148. "environment of @command{guix-daemon} (@pxref{Invoking guix-daemon, @code{--"
  34149. "chroot-directory} option}). This allows the @code{binfmt_misc} handlers to "
  34150. "be used within the build environment, which in turn means that you can "
  34151. "transparently build programs for another architecture."
  34152. msgstr ""
  34153. #. type: table
  34154. #: doc/guix.texi:18394
  34155. msgid ""
  34156. "For example, let's suppose you're on an x86_64 machine and you have this "
  34157. "service:"
  34158. msgstr ""
  34159. #. type: example
  34160. #: doc/guix.texi:18400
  34161. #, no-wrap
  34162. msgid ""
  34163. "(service qemu-binfmt-service-type\n"
  34164. " (qemu-binfmt-configuration\n"
  34165. " (platforms (lookup-qemu-platforms \"arm\"))\n"
  34166. " (guix-support? #t)))\n"
  34167. msgstr ""
  34168. #. type: table
  34169. #: doc/guix.texi:18403
  34170. msgid "You can run:"
  34171. msgstr ""
  34172. #. type: example
  34173. #: doc/guix.texi:18406
  34174. #, no-wrap
  34175. msgid "guix build -s armhf-linux inkscape\n"
  34176. msgstr ""
  34177. #. type: table
  34178. #: doc/guix.texi:18413
  34179. msgid ""
  34180. "and it will build Inkscape for ARMv7 @emph{as if it were a native build}, "
  34181. "transparently using QEMU to emulate the ARMv7 CPU. Pretty handy if you'd "
  34182. "like to test a package build for an architecture you don't have access to!"
  34183. msgstr ""
  34184. #. type: item
  34185. #: doc/guix.texi:18414
  34186. #, no-wrap
  34187. msgid "@code{qemu} (default: @code{qemu})"
  34188. msgstr ""
  34189. #. type: table
  34190. #: doc/guix.texi:18416
  34191. msgid "The QEMU package to use."
  34192. msgstr ""
  34193. #. type: deffn
  34194. #: doc/guix.texi:18419
  34195. #, no-wrap
  34196. msgid "{Scheme Procedure} lookup-qemu-platforms @var{platforms}@dots{}"
  34197. msgstr ""
  34198. #. type: deffn
  34199. #: doc/guix.texi:18424
  34200. msgid ""
  34201. "Return the list of QEMU platform objects corresponding to @var{platforms}"
  34202. "@dots{}. @var{platforms} must be a list of strings corresponding to "
  34203. "platform names, such as @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el"
  34204. "\"}, and so on."
  34205. msgstr ""
  34206. #. type: deffn
  34207. #: doc/guix.texi:18426
  34208. #, no-wrap
  34209. msgid "{Scheme Procedure} qemu-platform? @var{obj}"
  34210. msgstr ""
  34211. #. type: deffn
  34212. #: doc/guix.texi:18428
  34213. msgid "Return true if @var{obj} is a platform object."
  34214. msgstr ""
  34215. #. type: deffn
  34216. #: doc/guix.texi:18430
  34217. #, no-wrap
  34218. msgid "{Scheme Procedure} qemu-platform-name @var{platform}"
  34219. msgstr ""
  34220. #. type: deffn
  34221. #: doc/guix.texi:18432
  34222. msgid "Return the name of @var{platform}---a string such as @code{\"arm\"}."
  34223. msgstr ""
  34224. #. type: Plain text
  34225. #: doc/guix.texi:18444
  34226. msgid ""
  34227. "The @code{(gnu services version-control)} module provides a service to allow "
  34228. "remote access to local Git repositories. There are three options: the "
  34229. "@code{git-daemon-service}, which provides access to repositories via the "
  34230. "@code{git://} unsecured TCP-based protocol, extending the @code{nginx} web "
  34231. "server to proxy some requests to @code{git-http-backend}, or providing a web "
  34232. "interface with @code{cgit-service-type}."
  34233. msgstr ""
  34234. #. type: deffn
  34235. #: doc/guix.texi:18445
  34236. #, no-wrap
  34237. msgid "{Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)]"
  34238. msgstr ""
  34239. #. type: deffn
  34240. #: doc/guix.texi:18449
  34241. msgid ""
  34242. "Return a service that runs @command{git daemon}, a simple TCP server to "
  34243. "expose repositories over the Git protocol for anonymous access."
  34244. msgstr ""
  34245. #. type: deffn
  34246. #: doc/guix.texi:18455
  34247. msgid ""
  34248. "The optional @var{config} argument should be a @code{<git-daemon-"
  34249. "configuration>} object, by default it allows read-only access to "
  34250. "exported@footnote{By creating the magic file \"git-daemon-export-ok\" in the "
  34251. "repository directory.} repositories under @file{/srv/git}."
  34252. msgstr ""
  34253. #. type: deftp
  34254. #: doc/guix.texi:18458
  34255. #, no-wrap
  34256. msgid "{Data Type} git-daemon-configuration"
  34257. msgstr ""
  34258. #. type: deftp
  34259. #: doc/guix.texi:18460
  34260. msgid "Data type representing the configuration for @code{git-daemon-service}."
  34261. msgstr ""
  34262. #. type: item
  34263. #: doc/guix.texi:18462 doc/guix.texi:18518
  34264. #, no-wrap
  34265. msgid "@code{package} (default: @var{git})"
  34266. msgstr ""
  34267. #. type: table
  34268. #: doc/guix.texi:18464 doc/guix.texi:18520
  34269. msgid "Package object of the Git distributed version control system."
  34270. msgstr ""
  34271. #. type: item
  34272. #: doc/guix.texi:18465 doc/guix.texi:18524
  34273. #, no-wrap
  34274. msgid "@code{export-all?} (default: @var{#f})"
  34275. msgstr ""
  34276. #. type: table
  34277. #: doc/guix.texi:18468
  34278. msgid ""
  34279. "Whether to allow access for all Git repositories, even if they do not have "
  34280. "the @file{git-daemon-export-ok} file."
  34281. msgstr ""
  34282. #. type: item
  34283. #: doc/guix.texi:18469
  34284. #, no-wrap
  34285. msgid "@code{base-path} (default: @file{/srv/git})"
  34286. msgstr ""
  34287. #. type: table
  34288. #: doc/guix.texi:18474
  34289. msgid ""
  34290. "Whether to remap all the path requests as relative to the given path. If "
  34291. "you run git daemon with @var{(base-path \"/srv/git\")} on example.com, then "
  34292. "if you later try to pull @code{git://example.com/hello.git}, git daemon will "
  34293. "interpret the path as @code{/srv/git/hello.git}."
  34294. msgstr ""
  34295. #. type: item
  34296. #: doc/guix.texi:18475
  34297. #, no-wrap
  34298. msgid "@code{user-path} (default: @var{#f})"
  34299. msgstr ""
  34300. #. type: table
  34301. #: doc/guix.texi:18482
  34302. msgid ""
  34303. "Whether to allow @code{~user} notation to be used in requests. When "
  34304. "specified with empty string, requests to @code{git://host/~alice/foo} is "
  34305. "taken as a request to access @code{foo} repository in the home directory of "
  34306. "user @code{alice}. If @var{(user-path \"path\")} is specified, the same "
  34307. "request is taken as a request to access @code{path/foo} repository in the "
  34308. "home directory of user @code{alice}."
  34309. msgstr ""
  34310. #. type: item
  34311. #: doc/guix.texi:18483
  34312. #, no-wrap
  34313. msgid "@code{listen} (default: @var{'()})"
  34314. msgstr ""
  34315. #. type: table
  34316. #: doc/guix.texi:18486
  34317. msgid ""
  34318. "Whether to listen on specific IP addresses or hostnames, defaults to all."
  34319. msgstr ""
  34320. #. type: item
  34321. #: doc/guix.texi:18487
  34322. #, no-wrap
  34323. msgid "@code{port} (default: @var{#f})"
  34324. msgstr ""
  34325. #. type: table
  34326. #: doc/guix.texi:18489
  34327. msgid "Whether to listen on an alternative port, which defaults to 9418."
  34328. msgstr ""
  34329. #. type: item
  34330. #: doc/guix.texi:18490
  34331. #, no-wrap
  34332. msgid "@code{whitelist} (default: @var{'()})"
  34333. msgstr ""
  34334. #. type: table
  34335. #: doc/guix.texi:18492
  34336. msgid "If not empty, only allow access to this list of directories."
  34337. msgstr ""
  34338. #. type: item
  34339. #: doc/guix.texi:18493
  34340. #, no-wrap
  34341. msgid "@code{extra-options} (default: @var{'()})"
  34342. msgstr ""
  34343. #. type: table
  34344. #: doc/guix.texi:18496
  34345. msgid ""
  34346. "Extra options will be passed to @code{git daemon}, please run @command{man "
  34347. "git-daemon} for more information."
  34348. msgstr ""
  34349. #. type: Plain text
  34350. #: doc/guix.texi:18510
  34351. msgid ""
  34352. "The @code{git://} protocol lacks authentication. When you pull from a "
  34353. "repository fetched via @code{git://}, you don't know that the data you "
  34354. "receive was modified is really coming from the specified host, and you have "
  34355. "your connection is subject to eavesdropping. It's better to use an "
  34356. "authenticated and encrypted transport, such as @code{https}. Although Git "
  34357. "allows you to serve repositories using unsophisticated file-based web "
  34358. "servers, there is a faster protocol implemented by the @code{git-http-"
  34359. "backend} program. This program is the back-end of a proper Git web "
  34360. "service. It is designed to sit behind a FastCGI proxy. @xref{Web "
  34361. "Services}, for more on running the necessary @code{fcgiwrap} daemon."
  34362. msgstr ""
  34363. #. type: Plain text
  34364. #: doc/guix.texi:18513
  34365. msgid ""
  34366. "Guix has a separate configuration data type for serving Git repositories "
  34367. "over HTTP."
  34368. msgstr ""
  34369. #. type: deftp
  34370. #: doc/guix.texi:18514
  34371. #, no-wrap
  34372. msgid "{Data Type} git-http-configuration"
  34373. msgstr ""
  34374. #. type: deftp
  34375. #: doc/guix.texi:18516
  34376. msgid "Data type representing the configuration for @code{git-http-service}."
  34377. msgstr ""
  34378. #. type: item
  34379. #: doc/guix.texi:18521
  34380. #, no-wrap
  34381. msgid "@code{git-root} (default: @file{/srv/git})"
  34382. msgstr ""
  34383. #. type: table
  34384. #: doc/guix.texi:18523
  34385. msgid "Directory containing the Git repositories to expose to the world."
  34386. msgstr ""
  34387. #. type: table
  34388. #: doc/guix.texi:18527
  34389. msgid ""
  34390. "Whether to expose access for all Git repositories in @var{git-root}, even if "
  34391. "they do not have the @file{git-daemon-export-ok} file."
  34392. msgstr ""
  34393. #. type: item
  34394. #: doc/guix.texi:18528
  34395. #, no-wrap
  34396. msgid "@code{uri-path} (default: @file{/git/})"
  34397. msgstr ""
  34398. #. type: table
  34399. #: doc/guix.texi:18533
  34400. msgid ""
  34401. "Path prefix for Git access. With the default @code{/git/} prefix, this will "
  34402. "map @code{http://@var{server}/git/@var{repo}.git} to @code{/srv/git/"
  34403. "@var{repo}.git}. Requests whose URI paths do not begin with this prefix are "
  34404. "not passed on to this Git instance."
  34405. msgstr ""
  34406. #. type: item
  34407. #: doc/guix.texi:18534
  34408. #, no-wrap
  34409. msgid "@code{fcgiwrap-socket} (default: @code{127.0.0.1:9000})"
  34410. msgstr ""
  34411. #. type: table
  34412. #: doc/guix.texi:18537
  34413. msgid ""
  34414. "The socket on which the @code{fcgiwrap} daemon is listening. @xref{Web "
  34415. "Services}."
  34416. msgstr ""
  34417. #. type: Plain text
  34418. #: doc/guix.texi:18544
  34419. msgid ""
  34420. "There is no @code{git-http-service-type}, currently; instead you can create "
  34421. "an @code{nginx-location-configuration} from a @code{git-http-configuration} "
  34422. "and then add that location to a web server."
  34423. msgstr ""
  34424. #. type: deffn
  34425. #: doc/guix.texi:18545
  34426. #, no-wrap
  34427. msgid "{Scheme Procedure} git-http-nginx-location-configuration @"
  34428. msgstr ""
  34429. #. type: deffn
  34430. #: doc/guix.texi:18550
  34431. msgid ""
  34432. "[config=(git-http-configuration)] Compute an @code{nginx-location-"
  34433. "configuration} that corresponds to the given Git http configuration. An "
  34434. "example nginx service definition to serve the default @file{/srv/git} over "
  34435. "HTTPS might be:"
  34436. msgstr ""
  34437. #. type: example
  34438. #: doc/guix.texi:18567
  34439. #, no-wrap
  34440. msgid ""
  34441. "(service nginx-service-type\n"
  34442. " (nginx-configuration\n"
  34443. " (server-blocks\n"
  34444. " (list\n"
  34445. " (nginx-server-configuration\n"
  34446. " (listen '(\"443 ssl\"))\n"
  34447. " (server-name \"git.my-host.org\")\n"
  34448. " (ssl-certificate\n"
  34449. " \"/etc/letsencrypt/live/git.my-host.org/fullchain.pem\")\n"
  34450. " (ssl-certificate-key\n"
  34451. " \"/etc/letsencrypt/live/git.my-host.org/privkey.pem\")\n"
  34452. " (locations\n"
  34453. " (list\n"
  34454. " (git-http-nginx-location-configuration\n"
  34455. " (git-http-configuration (uri-path \"/\"))))))))))\n"
  34456. msgstr ""
  34457. #. type: deffn
  34458. #: doc/guix.texi:18574
  34459. msgid ""
  34460. "This example assumes that you are using Let's Encrypt to get your TLS "
  34461. "certificate. @xref{Certificate Services}. The default @code{certbot} "
  34462. "service will redirect all HTTP traffic on @code{git.my-host.org} to HTTPS. "
  34463. "You will also need to add an @code{fcgiwrap} proxy to your system services. "
  34464. "@xref{Web Services}."
  34465. msgstr ""
  34466. #. type: subsubheading
  34467. #: doc/guix.texi:18576
  34468. #, no-wrap
  34469. msgid "Cgit Service"
  34470. msgstr ""
  34471. #. type: cindex
  34472. #: doc/guix.texi:18578
  34473. #, no-wrap
  34474. msgid "Cgit service"
  34475. msgstr ""
  34476. #. type: cindex
  34477. #: doc/guix.texi:18579
  34478. #, no-wrap
  34479. msgid "Git, web interface"
  34480. msgstr ""
  34481. #. type: Plain text
  34482. #: doc/guix.texi:18582
  34483. msgid ""
  34484. "@uref{https://git.zx2c4.com/cgit/, Cgit} is a web frontend for Git "
  34485. "repositories written in C."
  34486. msgstr ""
  34487. #. type: Plain text
  34488. #: doc/guix.texi:18585
  34489. msgid ""
  34490. "The following example will configure the service with default values. By "
  34491. "default, Cgit can be accessed on port 80 (@code{http://localhost:80})."
  34492. msgstr ""
  34493. #. type: example
  34494. #: doc/guix.texi:18588
  34495. #, no-wrap
  34496. msgid "(service cgit-service-type)\n"
  34497. msgstr ""
  34498. #. type: Plain text
  34499. #: doc/guix.texi:18592
  34500. msgid ""
  34501. "The @code{file-object} type designates either a file-like object (@pxref{G-"
  34502. "Expressions, file-like objects}) or a string."
  34503. msgstr ""
  34504. #. type: Plain text
  34505. #: doc/guix.texi:18596
  34506. msgid "Available @code{cgit-configuration} fields are:"
  34507. msgstr ""
  34508. #. type: deftypevr
  34509. #: doc/guix.texi:18597
  34510. #, no-wrap
  34511. msgid "{@code{cgit-configuration} parameter} package package"
  34512. msgstr ""
  34513. #. type: deftypevr
  34514. #: doc/guix.texi:18599
  34515. msgid "The CGIT package."
  34516. msgstr ""
  34517. #. type: deftypevr
  34518. #: doc/guix.texi:18602
  34519. #, no-wrap
  34520. msgid "{@code{cgit-configuration} parameter} nginx-server-configuration-list nginx"
  34521. msgstr ""
  34522. #. type: deftypevr
  34523. #: doc/guix.texi:18604
  34524. msgid "NGINX configuration."
  34525. msgstr ""
  34526. #. type: deftypevr
  34527. #: doc/guix.texi:18607
  34528. #, no-wrap
  34529. msgid "{@code{cgit-configuration} parameter} file-object about-filter"
  34530. msgstr ""
  34531. #. type: deftypevr
  34532. #: doc/guix.texi:18610
  34533. msgid ""
  34534. "Specifies a command which will be invoked to format the content of about "
  34535. "pages (both top-level and for each repository)."
  34536. msgstr ""
  34537. #. type: deftypevr
  34538. #: doc/guix.texi:18615
  34539. #, no-wrap
  34540. msgid "{@code{cgit-configuration} parameter} string agefile"
  34541. msgstr ""
  34542. #. type: deftypevr
  34543. #: doc/guix.texi:18618
  34544. msgid ""
  34545. "Specifies a path, relative to each repository path, which can be used to "
  34546. "specify the date and time of the youngest commit in the repository."
  34547. msgstr ""
  34548. #. type: deftypevr
  34549. #: doc/guix.texi:18623
  34550. #, no-wrap
  34551. msgid "{@code{cgit-configuration} parameter} file-object auth-filter"
  34552. msgstr ""
  34553. #. type: deftypevr
  34554. #: doc/guix.texi:18626
  34555. msgid ""
  34556. "Specifies a command that will be invoked for authenticating repository "
  34557. "access."
  34558. msgstr ""
  34559. #. type: deftypevr
  34560. #: doc/guix.texi:18631
  34561. #, no-wrap
  34562. msgid "{@code{cgit-configuration} parameter} string branch-sort"
  34563. msgstr ""
  34564. #. type: deftypevr
  34565. #: doc/guix.texi:18634
  34566. msgid ""
  34567. "Flag which, when set to @samp{age}, enables date ordering in the branch ref "
  34568. "list, and when set @samp{name} enables ordering by branch name."
  34569. msgstr ""
  34570. #. type: deftypevr
  34571. #: doc/guix.texi:18636
  34572. msgid "Defaults to @samp{\"name\"}."
  34573. msgstr ""
  34574. #. type: deftypevr
  34575. #: doc/guix.texi:18639
  34576. #, no-wrap
  34577. msgid "{@code{cgit-configuration} parameter} string cache-root"
  34578. msgstr ""
  34579. #. type: deftypevr
  34580. #: doc/guix.texi:18641
  34581. msgid "Path used to store the cgit cache entries."
  34582. msgstr ""
  34583. #. type: deftypevr
  34584. #: doc/guix.texi:18643
  34585. msgid "Defaults to @samp{\"/var/cache/cgit\"}."
  34586. msgstr ""
  34587. #. type: deftypevr
  34588. #: doc/guix.texi:18646
  34589. #, no-wrap
  34590. msgid "{@code{cgit-configuration} parameter} integer cache-static-ttl"
  34591. msgstr ""
  34592. #. type: deftypevr
  34593. #: doc/guix.texi:18649
  34594. msgid ""
  34595. "Number which specifies the time-to-live, in minutes, for the cached version "
  34596. "of repository pages accessed with a fixed SHA1."
  34597. msgstr ""
  34598. #. type: deftypevr
  34599. #: doc/guix.texi:18651 doc/guix.texi:19094
  34600. msgid "Defaults to @samp{-1}."
  34601. msgstr ""
  34602. #. type: deftypevr
  34603. #: doc/guix.texi:18654
  34604. #, no-wrap
  34605. msgid "{@code{cgit-configuration} parameter} integer cache-dynamic-ttl"
  34606. msgstr ""
  34607. #. type: deftypevr
  34608. #: doc/guix.texi:18657
  34609. msgid ""
  34610. "Number which specifies the time-to-live, in minutes, for the cached version "
  34611. "of repository pages accessed without a fixed SHA1."
  34612. msgstr ""
  34613. #. type: deftypevr
  34614. #: doc/guix.texi:18662
  34615. #, no-wrap
  34616. msgid "{@code{cgit-configuration} parameter} integer cache-repo-ttl"
  34617. msgstr ""
  34618. #. type: deftypevr
  34619. #: doc/guix.texi:18665
  34620. msgid ""
  34621. "Number which specifies the time-to-live, in minutes, for the cached version "
  34622. "of the repository summary page."
  34623. msgstr ""
  34624. #. type: deftypevr
  34625. #: doc/guix.texi:18670
  34626. #, no-wrap
  34627. msgid "{@code{cgit-configuration} parameter} integer cache-root-ttl"
  34628. msgstr ""
  34629. #. type: deftypevr
  34630. #: doc/guix.texi:18673
  34631. msgid ""
  34632. "Number which specifies the time-to-live, in minutes, for the cached version "
  34633. "of the repository index page."
  34634. msgstr ""
  34635. #. type: deftypevr
  34636. #: doc/guix.texi:18678
  34637. #, no-wrap
  34638. msgid "{@code{cgit-configuration} parameter} integer cache-scanrc-ttl"
  34639. msgstr ""
  34640. #. type: deftypevr
  34641. #: doc/guix.texi:18681
  34642. msgid ""
  34643. "Number which specifies the time-to-live, in minutes, for the result of "
  34644. "scanning a path for Git repositories."
  34645. msgstr ""
  34646. #. type: deftypevr
  34647. #: doc/guix.texi:18686
  34648. #, no-wrap
  34649. msgid "{@code{cgit-configuration} parameter} integer cache-about-ttl"
  34650. msgstr ""
  34651. #. type: deftypevr
  34652. #: doc/guix.texi:18689
  34653. msgid ""
  34654. "Number which specifies the time-to-live, in minutes, for the cached version "
  34655. "of the repository about page."
  34656. msgstr ""
  34657. #. type: deftypevr
  34658. #: doc/guix.texi:18694
  34659. #, no-wrap
  34660. msgid "{@code{cgit-configuration} parameter} integer cache-snapshot-ttl"
  34661. msgstr ""
  34662. #. type: deftypevr
  34663. #: doc/guix.texi:18697
  34664. msgid ""
  34665. "Number which specifies the time-to-live, in minutes, for the cached version "
  34666. "of snapshots."
  34667. msgstr ""
  34668. #. type: deftypevr
  34669. #: doc/guix.texi:18702
  34670. #, no-wrap
  34671. msgid "{@code{cgit-configuration} parameter} integer cache-size"
  34672. msgstr ""
  34673. #. type: deftypevr
  34674. #: doc/guix.texi:18705
  34675. msgid ""
  34676. "The maximum number of entries in the cgit cache. When set to @samp{0}, "
  34677. "caching is disabled."
  34678. msgstr ""
  34679. #. type: deftypevr
  34680. #: doc/guix.texi:18710
  34681. #, no-wrap
  34682. msgid "{@code{cgit-configuration} parameter} boolean case-sensitive-sort?"
  34683. msgstr ""
  34684. #. type: deftypevr
  34685. #: doc/guix.texi:18712
  34686. msgid "Sort items in the repo list case sensitively."
  34687. msgstr ""
  34688. #. type: deftypevr
  34689. #: doc/guix.texi:18717
  34690. #, no-wrap
  34691. msgid "{@code{cgit-configuration} parameter} list clone-prefix"
  34692. msgstr ""
  34693. #. type: deftypevr
  34694. #: doc/guix.texi:18720
  34695. msgid ""
  34696. "List of common prefixes which, when combined with a repository URL, "
  34697. "generates valid clone URLs for the repository."
  34698. msgstr ""
  34699. #. type: deftypevr
  34700. #: doc/guix.texi:18725
  34701. #, no-wrap
  34702. msgid "{@code{cgit-configuration} parameter} list clone-url"
  34703. msgstr ""
  34704. #. type: deftypevr
  34705. #: doc/guix.texi:18727
  34706. msgid "List of @code{clone-url} templates."
  34707. msgstr ""
  34708. #. type: deftypevr
  34709. #: doc/guix.texi:18732
  34710. #, no-wrap
  34711. msgid "{@code{cgit-configuration} parameter} file-object commit-filter"
  34712. msgstr ""
  34713. #. type: deftypevr
  34714. #: doc/guix.texi:18734
  34715. msgid "Command which will be invoked to format commit messages."
  34716. msgstr ""
  34717. #. type: deftypevr
  34718. #: doc/guix.texi:18739
  34719. #, no-wrap
  34720. msgid "{@code{cgit-configuration} parameter} string commit-sort"
  34721. msgstr ""
  34722. #. type: deftypevr
  34723. #: doc/guix.texi:18743 doc/guix.texi:19301
  34724. msgid ""
  34725. "Flag which, when set to @samp{date}, enables strict date ordering in the "
  34726. "commit log, and when set to @samp{topo} enables strict topological ordering."
  34727. msgstr ""
  34728. #. type: deftypevr
  34729. #: doc/guix.texi:18745
  34730. msgid "Defaults to @samp{\"git log\"}."
  34731. msgstr ""
  34732. #. type: deftypevr
  34733. #: doc/guix.texi:18748
  34734. #, no-wrap
  34735. msgid "{@code{cgit-configuration} parameter} file-object css"
  34736. msgstr ""
  34737. #. type: deftypevr
  34738. #: doc/guix.texi:18750
  34739. msgid "URL which specifies the css document to include in all cgit pages."
  34740. msgstr ""
  34741. #. type: deftypevr
  34742. #: doc/guix.texi:18752
  34743. msgid "Defaults to @samp{\"/share/cgit/cgit.css\"}."
  34744. msgstr ""
  34745. #. type: deftypevr
  34746. #: doc/guix.texi:18755
  34747. #, no-wrap
  34748. msgid "{@code{cgit-configuration} parameter} file-object email-filter"
  34749. msgstr ""
  34750. #. type: deftypevr
  34751. #: doc/guix.texi:18759
  34752. msgid ""
  34753. "Specifies a command which will be invoked to format names and email address "
  34754. "of committers, authors, and taggers, as represented in various places "
  34755. "throughout the cgit interface."
  34756. msgstr ""
  34757. #. type: deftypevr
  34758. #: doc/guix.texi:18764
  34759. #, no-wrap
  34760. msgid "{@code{cgit-configuration} parameter} boolean embedded?"
  34761. msgstr ""
  34762. #. type: deftypevr
  34763. #: doc/guix.texi:18767
  34764. msgid ""
  34765. "Flag which, when set to @samp{#t}, will make cgit generate a HTML fragment "
  34766. "suitable for embedding in other HTML pages."
  34767. msgstr ""
  34768. #. type: deftypevr
  34769. #: doc/guix.texi:18772
  34770. #, no-wrap
  34771. msgid "{@code{cgit-configuration} parameter} boolean enable-commit-graph?"
  34772. msgstr ""
  34773. #. type: deftypevr
  34774. #: doc/guix.texi:18776
  34775. msgid ""
  34776. "Flag which, when set to @samp{#t}, will make cgit print an ASCII-art commit "
  34777. "history graph to the left of the commit messages in the repository log page."
  34778. msgstr ""
  34779. #. type: deftypevr
  34780. #: doc/guix.texi:18781
  34781. #, no-wrap
  34782. msgid "{@code{cgit-configuration} parameter} boolean enable-filter-overrides?"
  34783. msgstr ""
  34784. #. type: deftypevr
  34785. #: doc/guix.texi:18784
  34786. msgid ""
  34787. "Flag which, when set to @samp{#t}, allows all filter settings to be "
  34788. "overridden in repository-specific cgitrc files."
  34789. msgstr ""
  34790. #. type: deftypevr
  34791. #: doc/guix.texi:18789
  34792. #, no-wrap
  34793. msgid "{@code{cgit-configuration} parameter} boolean enable-follow-links?"
  34794. msgstr ""
  34795. #. type: deftypevr
  34796. #: doc/guix.texi:18792
  34797. msgid ""
  34798. "Flag which, when set to @samp{#t}, allows users to follow a file in the log "
  34799. "view."
  34800. msgstr ""
  34801. #. type: deftypevr
  34802. #: doc/guix.texi:18797
  34803. #, no-wrap
  34804. msgid "{@code{cgit-configuration} parameter} boolean enable-http-clone?"
  34805. msgstr ""
  34806. #. type: deftypevr
  34807. #: doc/guix.texi:18800
  34808. msgid ""
  34809. "If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git clones."
  34810. msgstr ""
  34811. #. type: deftypevr
  34812. #: doc/guix.texi:18805
  34813. #, no-wrap
  34814. msgid "{@code{cgit-configuration} parameter} boolean enable-index-links?"
  34815. msgstr ""
  34816. #. type: deftypevr
  34817. #: doc/guix.texi:18808
  34818. msgid ""
  34819. "Flag which, when set to @samp{#t}, will make cgit generate extra links "
  34820. "\"summary\", \"commit\", \"tree\" for each repo in the repository index."
  34821. msgstr ""
  34822. #. type: deftypevr
  34823. #: doc/guix.texi:18813
  34824. #, no-wrap
  34825. msgid "{@code{cgit-configuration} parameter} boolean enable-index-owner?"
  34826. msgstr ""
  34827. #. type: deftypevr
  34828. #: doc/guix.texi:18816
  34829. msgid ""
  34830. "Flag which, when set to @samp{#t}, will make cgit display the owner of each "
  34831. "repo in the repository index."
  34832. msgstr ""
  34833. #. type: deftypevr
  34834. #: doc/guix.texi:18821
  34835. #, no-wrap
  34836. msgid "{@code{cgit-configuration} parameter} boolean enable-log-filecount?"
  34837. msgstr ""
  34838. #. type: deftypevr
  34839. #: doc/guix.texi:18824
  34840. msgid ""
  34841. "Flag which, when set to @samp{#t}, will make cgit print the number of "
  34842. "modified files for each commit on the repository log page."
  34843. msgstr ""
  34844. #. type: deftypevr
  34845. #: doc/guix.texi:18829
  34846. #, no-wrap
  34847. msgid "{@code{cgit-configuration} parameter} boolean enable-log-linecount?"
  34848. msgstr ""
  34849. #. type: deftypevr
  34850. #: doc/guix.texi:18832
  34851. msgid ""
  34852. "Flag which, when set to @samp{#t}, will make cgit print the number of added "
  34853. "and removed lines for each commit on the repository log page."
  34854. msgstr ""
  34855. #. type: deftypevr
  34856. #: doc/guix.texi:18837
  34857. #, no-wrap
  34858. msgid "{@code{cgit-configuration} parameter} boolean enable-remote-branches?"
  34859. msgstr ""
  34860. #. type: deftypevr
  34861. #: doc/guix.texi:18840 doc/guix.texi:19364
  34862. msgid ""
  34863. "Flag which, when set to @code{#t}, will make cgit display remote branches in "
  34864. "the summary and refs views."
  34865. msgstr ""
  34866. #. type: deftypevr
  34867. #: doc/guix.texi:18845
  34868. #, no-wrap
  34869. msgid "{@code{cgit-configuration} parameter} boolean enable-subject-links?"
  34870. msgstr ""
  34871. #. type: deftypevr
  34872. #: doc/guix.texi:18849
  34873. msgid ""
  34874. "Flag which, when set to @code{1}, will make cgit use the subject of the "
  34875. "parent commit as link text when generating links to parent commits in commit "
  34876. "view."
  34877. msgstr ""
  34878. #. type: deftypevr
  34879. #: doc/guix.texi:18854
  34880. #, no-wrap
  34881. msgid "{@code{cgit-configuration} parameter} boolean enable-html-serving?"
  34882. msgstr ""
  34883. #. type: deftypevr
  34884. #: doc/guix.texi:18858
  34885. msgid ""
  34886. "Flag which, when set to @samp{#t}, will make cgit use the subject of the "
  34887. "parent commit as link text when generating links to parent commits in commit "
  34888. "view."
  34889. msgstr ""
  34890. #. type: deftypevr
  34891. #: doc/guix.texi:18863
  34892. #, no-wrap
  34893. msgid "{@code{cgit-configuration} parameter} boolean enable-tree-linenumbers?"
  34894. msgstr ""
  34895. #. type: deftypevr
  34896. #: doc/guix.texi:18866
  34897. msgid ""
  34898. "Flag which, when set to @samp{#t}, will make cgit generate linenumber links "
  34899. "for plaintext blobs printed in the tree view."
  34900. msgstr ""
  34901. #. type: deftypevr
  34902. #: doc/guix.texi:18871
  34903. #, no-wrap
  34904. msgid "{@code{cgit-configuration} parameter} boolean enable-git-config?"
  34905. msgstr ""
  34906. #. type: deftypevr
  34907. #: doc/guix.texi:18874
  34908. msgid ""
  34909. "Flag which, when set to @samp{#f}, will allow cgit to use Git config to set "
  34910. "any repo specific settings."
  34911. msgstr ""
  34912. #. type: deftypevr
  34913. #: doc/guix.texi:18879
  34914. #, no-wrap
  34915. msgid "{@code{cgit-configuration} parameter} file-object favicon"
  34916. msgstr ""
  34917. #. type: deftypevr
  34918. #: doc/guix.texi:18881
  34919. msgid "URL used as link to a shortcut icon for cgit."
  34920. msgstr ""
  34921. #. type: deftypevr
  34922. #: doc/guix.texi:18883
  34923. msgid "Defaults to @samp{\"/favicon.ico\"}."
  34924. msgstr ""
  34925. #. type: deftypevr
  34926. #: doc/guix.texi:18886
  34927. #, no-wrap
  34928. msgid "{@code{cgit-configuration} parameter} string footer"
  34929. msgstr ""
  34930. #. type: deftypevr
  34931. #: doc/guix.texi:18890
  34932. msgid ""
  34933. "The content of the file specified with this option will be included verbatim "
  34934. "at the bottom of all pages (i.e. it replaces the standard \"generated by..."
  34935. "\" message)."
  34936. msgstr ""
  34937. #. type: deftypevr
  34938. #: doc/guix.texi:18895
  34939. #, no-wrap
  34940. msgid "{@code{cgit-configuration} parameter} string head-include"
  34941. msgstr ""
  34942. #. type: deftypevr
  34943. #: doc/guix.texi:18898
  34944. msgid ""
  34945. "The content of the file specified with this option will be included verbatim "
  34946. "in the HTML HEAD section on all pages."
  34947. msgstr ""
  34948. #. type: deftypevr
  34949. #: doc/guix.texi:18903
  34950. #, no-wrap
  34951. msgid "{@code{cgit-configuration} parameter} string header"
  34952. msgstr ""
  34953. #. type: deftypevr
  34954. #: doc/guix.texi:18906
  34955. msgid ""
  34956. "The content of the file specified with this option will be included verbatim "
  34957. "at the top of all pages."
  34958. msgstr ""
  34959. #. type: deftypevr
  34960. #: doc/guix.texi:18911
  34961. #, no-wrap
  34962. msgid "{@code{cgit-configuration} parameter} file-object include"
  34963. msgstr ""
  34964. #. type: deftypevr
  34965. #: doc/guix.texi:18914
  34966. msgid ""
  34967. "Name of a configfile to include before the rest of the current config- file "
  34968. "is parsed."
  34969. msgstr ""
  34970. #. type: deftypevr
  34971. #: doc/guix.texi:18919
  34972. #, no-wrap
  34973. msgid "{@code{cgit-configuration} parameter} string index-header"
  34974. msgstr ""
  34975. #. type: deftypevr
  34976. #: doc/guix.texi:18922
  34977. msgid ""
  34978. "The content of the file specified with this option will be included verbatim "
  34979. "above the repository index."
  34980. msgstr ""
  34981. #. type: deftypevr
  34982. #: doc/guix.texi:18927
  34983. #, no-wrap
  34984. msgid "{@code{cgit-configuration} parameter} string index-info"
  34985. msgstr ""
  34986. #. type: deftypevr
  34987. #: doc/guix.texi:18930
  34988. msgid ""
  34989. "The content of the file specified with this option will be included verbatim "
  34990. "below the heading on the repository index page."
  34991. msgstr ""
  34992. #. type: deftypevr
  34993. #: doc/guix.texi:18935
  34994. #, no-wrap
  34995. msgid "{@code{cgit-configuration} parameter} boolean local-time?"
  34996. msgstr ""
  34997. #. type: deftypevr
  34998. #: doc/guix.texi:18938
  34999. msgid ""
  35000. "Flag which, if set to @samp{#t}, makes cgit print commit and tag times in "
  35001. "the servers timezone."
  35002. msgstr ""
  35003. #. type: deftypevr
  35004. #: doc/guix.texi:18943
  35005. #, no-wrap
  35006. msgid "{@code{cgit-configuration} parameter} file-object logo"
  35007. msgstr ""
  35008. #. type: deftypevr
  35009. #: doc/guix.texi:18946
  35010. msgid ""
  35011. "URL which specifies the source of an image which will be used as a logo on "
  35012. "all cgit pages."
  35013. msgstr ""
  35014. #. type: deftypevr
  35015. #: doc/guix.texi:18948
  35016. msgid "Defaults to @samp{\"/share/cgit/cgit.png\"}."
  35017. msgstr ""
  35018. #. type: deftypevr
  35019. #: doc/guix.texi:18951
  35020. #, no-wrap
  35021. msgid "{@code{cgit-configuration} parameter} string logo-link"
  35022. msgstr ""
  35023. #. type: deftypevr
  35024. #: doc/guix.texi:18953 doc/guix.texi:19410
  35025. msgid "URL loaded when clicking on the cgit logo image."
  35026. msgstr ""
  35027. #. type: deftypevr
  35028. #: doc/guix.texi:18958
  35029. #, no-wrap
  35030. msgid "{@code{cgit-configuration} parameter} file-object owner-filter"
  35031. msgstr ""
  35032. #. type: deftypevr
  35033. #: doc/guix.texi:18961
  35034. msgid ""
  35035. "Command which will be invoked to format the Owner column of the main page."
  35036. msgstr ""
  35037. #. type: deftypevr
  35038. #: doc/guix.texi:18966
  35039. #, no-wrap
  35040. msgid "{@code{cgit-configuration} parameter} integer max-atom-items"
  35041. msgstr ""
  35042. #. type: deftypevr
  35043. #: doc/guix.texi:18968
  35044. msgid "Number of items to display in atom feeds view."
  35045. msgstr ""
  35046. #. type: deftypevr
  35047. #: doc/guix.texi:18970 doc/guix.texi:19205 doc/guix.texi:19213
  35048. #: doc/guix.texi:19221
  35049. msgid "Defaults to @samp{10}."
  35050. msgstr ""
  35051. #. type: deftypevr
  35052. #: doc/guix.texi:18973
  35053. #, no-wrap
  35054. msgid "{@code{cgit-configuration} parameter} integer max-commit-count"
  35055. msgstr ""
  35056. #. type: deftypevr
  35057. #: doc/guix.texi:18975
  35058. msgid "Number of entries to list per page in \"log\" view."
  35059. msgstr ""
  35060. #. type: deftypevr
  35061. #: doc/guix.texi:18977 doc/guix.texi:18992
  35062. msgid "Defaults to @samp{50}."
  35063. msgstr ""
  35064. #. type: deftypevr
  35065. #: doc/guix.texi:18980
  35066. #, no-wrap
  35067. msgid "{@code{cgit-configuration} parameter} integer max-message-length"
  35068. msgstr ""
  35069. #. type: deftypevr
  35070. #: doc/guix.texi:18982
  35071. msgid "Number of commit message characters to display in \"log\" view."
  35072. msgstr ""
  35073. #. type: deftypevr
  35074. #: doc/guix.texi:18984 doc/guix.texi:19000
  35075. msgid "Defaults to @samp{80}."
  35076. msgstr ""
  35077. #. type: deftypevr
  35078. #: doc/guix.texi:18987
  35079. #, no-wrap
  35080. msgid "{@code{cgit-configuration} parameter} integer max-repo-count"
  35081. msgstr ""
  35082. #. type: deftypevr
  35083. #: doc/guix.texi:18990
  35084. msgid ""
  35085. "Specifies the number of entries to list per page on the repository index "
  35086. "page."
  35087. msgstr ""
  35088. #. type: deftypevr
  35089. #: doc/guix.texi:18995
  35090. #, no-wrap
  35091. msgid "{@code{cgit-configuration} parameter} integer max-repodesc-length"
  35092. msgstr ""
  35093. #. type: deftypevr
  35094. #: doc/guix.texi:18998
  35095. msgid ""
  35096. "Specifies the maximum number of repo description characters to display on "
  35097. "the repository index page."
  35098. msgstr ""
  35099. #. type: deftypevr
  35100. #: doc/guix.texi:19003
  35101. #, no-wrap
  35102. msgid "{@code{cgit-configuration} parameter} integer max-blob-size"
  35103. msgstr ""
  35104. #. type: deftypevr
  35105. #: doc/guix.texi:19005
  35106. msgid "Specifies the maximum size of a blob to display HTML for in KBytes."
  35107. msgstr ""
  35108. #. type: deftypevr
  35109. #: doc/guix.texi:19010
  35110. #, no-wrap
  35111. msgid "{@code{cgit-configuration} parameter} string max-stats"
  35112. msgstr ""
  35113. #. type: deftypevr
  35114. #: doc/guix.texi:19013
  35115. msgid ""
  35116. "Maximum statistics period. Valid values are @samp{week},@samp{month}, "
  35117. "@samp{quarter} and @samp{year}."
  35118. msgstr ""
  35119. #. type: deftypevr
  35120. #: doc/guix.texi:19018
  35121. #, no-wrap
  35122. msgid "{@code{cgit-configuration} parameter} mimetype-alist mimetype"
  35123. msgstr ""
  35124. #. type: deftypevr
  35125. #: doc/guix.texi:19020
  35126. msgid "Mimetype for the specified filename extension."
  35127. msgstr ""
  35128. #. type: deftypevr
  35129. #: doc/guix.texi:19024
  35130. msgid ""
  35131. "Defaults to @samp{((gif \"image/gif\") (html \"text/html\") (jpg \"image/jpeg"
  35132. "\") (jpeg \"image/jpeg\") (pdf \"application/pdf\") (png \"image/png\") (svg "
  35133. "\"image/svg+xml\"))}."
  35134. msgstr ""
  35135. #. type: deftypevr
  35136. #: doc/guix.texi:19027
  35137. #, no-wrap
  35138. msgid "{@code{cgit-configuration} parameter} file-object mimetype-file"
  35139. msgstr ""
  35140. #. type: deftypevr
  35141. #: doc/guix.texi:19029
  35142. msgid "Specifies the file to use for automatic mimetype lookup."
  35143. msgstr ""
  35144. #. type: deftypevr
  35145. #: doc/guix.texi:19034
  35146. #, no-wrap
  35147. msgid "{@code{cgit-configuration} parameter} string module-link"
  35148. msgstr ""
  35149. #. type: deftypevr
  35150. #: doc/guix.texi:19037
  35151. msgid ""
  35152. "Text which will be used as the formatstring for a hyperlink when a submodule "
  35153. "is printed in a directory listing."
  35154. msgstr ""
  35155. #. type: deftypevr
  35156. #: doc/guix.texi:19042
  35157. #, no-wrap
  35158. msgid "{@code{cgit-configuration} parameter} boolean nocache?"
  35159. msgstr ""
  35160. #. type: deftypevr
  35161. #: doc/guix.texi:19044
  35162. msgid "If set to the value @samp{#t} caching will be disabled."
  35163. msgstr ""
  35164. #. type: deftypevr
  35165. #: doc/guix.texi:19049
  35166. #, no-wrap
  35167. msgid "{@code{cgit-configuration} parameter} boolean noplainemail?"
  35168. msgstr ""
  35169. #. type: deftypevr
  35170. #: doc/guix.texi:19052
  35171. msgid ""
  35172. "If set to @samp{#t} showing full author email addresses will be disabled."
  35173. msgstr ""
  35174. #. type: deftypevr
  35175. #: doc/guix.texi:19057
  35176. #, no-wrap
  35177. msgid "{@code{cgit-configuration} parameter} boolean noheader?"
  35178. msgstr ""
  35179. #. type: deftypevr
  35180. #: doc/guix.texi:19060
  35181. msgid ""
  35182. "Flag which, when set to @samp{#t}, will make cgit omit the standard header "
  35183. "on all pages."
  35184. msgstr ""
  35185. #. type: deftypevr
  35186. #: doc/guix.texi:19065
  35187. #, no-wrap
  35188. msgid "{@code{cgit-configuration} parameter} list project-list"
  35189. msgstr ""
  35190. #. type: deftypevr
  35191. #: doc/guix.texi:19069
  35192. msgid ""
  35193. "A list of subdirectories inside of @code{repository-directory}, relative to "
  35194. "it, that should loaded as Git repositories. An empty list means that all "
  35195. "subdirectories will be loaded."
  35196. msgstr ""
  35197. #. type: deftypevr
  35198. #: doc/guix.texi:19074
  35199. #, no-wrap
  35200. msgid "{@code{cgit-configuration} parameter} file-object readme"
  35201. msgstr ""
  35202. #. type: deftypevr
  35203. #: doc/guix.texi:19076
  35204. msgid "Text which will be used as default value for @code{cgit-repo-readme}."
  35205. msgstr ""
  35206. #. type: deftypevr
  35207. #: doc/guix.texi:19081
  35208. #, no-wrap
  35209. msgid "{@code{cgit-configuration} parameter} boolean remove-suffix?"
  35210. msgstr ""
  35211. #. type: deftypevr
  35212. #: doc/guix.texi:19085
  35213. msgid ""
  35214. "If set to @code{#t} and @code{repository-directory} is enabled, if any "
  35215. "repositories are found with a suffix of @code{.git}, this suffix will be "
  35216. "removed for the URL and name."
  35217. msgstr ""
  35218. #. type: deftypevr
  35219. #: doc/guix.texi:19090
  35220. #, no-wrap
  35221. msgid "{@code{cgit-configuration} parameter} integer renamelimit"
  35222. msgstr ""
  35223. #. type: deftypevr
  35224. #: doc/guix.texi:19092
  35225. msgid "Maximum number of files to consider when detecting renames."
  35226. msgstr ""
  35227. #. type: deftypevr
  35228. #: doc/guix.texi:19097
  35229. #, no-wrap
  35230. msgid "{@code{cgit-configuration} parameter} string repository-sort"
  35231. msgstr ""
  35232. #. type: deftypevr
  35233. #: doc/guix.texi:19099
  35234. msgid "The way in which repositories in each section are sorted."
  35235. msgstr ""
  35236. #. type: deftypevr
  35237. #: doc/guix.texi:19104
  35238. #, no-wrap
  35239. msgid "{@code{cgit-configuration} parameter} robots-list robots"
  35240. msgstr ""
  35241. #. type: deftypevr
  35242. #: doc/guix.texi:19106
  35243. msgid "Text used as content for the @code{robots} meta-tag."
  35244. msgstr ""
  35245. #. type: deftypevr
  35246. #: doc/guix.texi:19108
  35247. msgid "Defaults to @samp{(\"noindex\" \"nofollow\")}."
  35248. msgstr ""
  35249. #. type: deftypevr
  35250. #: doc/guix.texi:19111
  35251. #, no-wrap
  35252. msgid "{@code{cgit-configuration} parameter} string root-desc"
  35253. msgstr ""
  35254. #. type: deftypevr
  35255. #: doc/guix.texi:19113
  35256. msgid "Text printed below the heading on the repository index page."
  35257. msgstr ""
  35258. #. type: deftypevr
  35259. #: doc/guix.texi:19115
  35260. msgid "Defaults to @samp{\"a fast webinterface for the git dscm\"}."
  35261. msgstr ""
  35262. #. type: deftypevr
  35263. #: doc/guix.texi:19118
  35264. #, no-wrap
  35265. msgid "{@code{cgit-configuration} parameter} string root-readme"
  35266. msgstr ""
  35267. #. type: deftypevr
  35268. #: doc/guix.texi:19121
  35269. msgid ""
  35270. "The content of the file specified with this option will be included verbatim "
  35271. "below thef \"about\" link on the repository index page."
  35272. msgstr ""
  35273. #. type: deftypevr
  35274. #: doc/guix.texi:19126
  35275. #, no-wrap
  35276. msgid "{@code{cgit-configuration} parameter} string root-title"
  35277. msgstr ""
  35278. #. type: deftypevr
  35279. #: doc/guix.texi:19128
  35280. msgid "Text printed as heading on the repository index page."
  35281. msgstr ""
  35282. #. type: deftypevr
  35283. #: doc/guix.texi:19133
  35284. #, no-wrap
  35285. msgid "{@code{cgit-configuration} parameter} boolean scan-hidden-path"
  35286. msgstr ""
  35287. #. type: deftypevr
  35288. #: doc/guix.texi:19139
  35289. msgid ""
  35290. "If set to @samp{#t} and repository-directory is enabled, repository-"
  35291. "directory will recurse into directories whose name starts with a period. "
  35292. "Otherwise, repository-directory will stay away from such directories, "
  35293. "considered as \"hidden\". Note that this does not apply to the \".git\" "
  35294. "directory in non-bare repos."
  35295. msgstr ""
  35296. #. type: deftypevr
  35297. #: doc/guix.texi:19144
  35298. #, no-wrap
  35299. msgid "{@code{cgit-configuration} parameter} list snapshots"
  35300. msgstr ""
  35301. #. type: deftypevr
  35302. #: doc/guix.texi:19147
  35303. msgid ""
  35304. "Text which specifies the default set of snapshot formats that cgit generates "
  35305. "links for."
  35306. msgstr ""
  35307. #. type: deftypevr
  35308. #: doc/guix.texi:19152
  35309. #, no-wrap
  35310. msgid "{@code{cgit-configuration} parameter} repository-directory repository-directory"
  35311. msgstr ""
  35312. #. type: deftypevr
  35313. #: doc/guix.texi:19155
  35314. msgid ""
  35315. "Name of the directory to scan for repositories (represents @code{scan-path})."
  35316. msgstr ""
  35317. #. type: deftypevr
  35318. #: doc/guix.texi:19157
  35319. msgid "Defaults to @samp{\"/srv/git\"}."
  35320. msgstr ""
  35321. #. type: deftypevr
  35322. #: doc/guix.texi:19160
  35323. #, no-wrap
  35324. msgid "{@code{cgit-configuration} parameter} string section"
  35325. msgstr ""
  35326. #. type: deftypevr
  35327. #: doc/guix.texi:19163 doc/guix.texi:19479
  35328. msgid ""
  35329. "The name of the current repository section - all repositories defined after "
  35330. "this option will inherit the current section name."
  35331. msgstr ""
  35332. #. type: deftypevr
  35333. #: doc/guix.texi:19168
  35334. #, no-wrap
  35335. msgid "{@code{cgit-configuration} parameter} string section-sort"
  35336. msgstr ""
  35337. #. type: deftypevr
  35338. #: doc/guix.texi:19171
  35339. msgid ""
  35340. "Flag which, when set to @samp{1}, will sort the sections on the repository "
  35341. "listing by name."
  35342. msgstr ""
  35343. #. type: deftypevr
  35344. #: doc/guix.texi:19176
  35345. #, no-wrap
  35346. msgid "{@code{cgit-configuration} parameter} integer section-from-path"
  35347. msgstr ""
  35348. #. type: deftypevr
  35349. #: doc/guix.texi:19179
  35350. msgid ""
  35351. "A number which, if defined prior to repository-directory, specifies how many "
  35352. "path elements from each repo path to use as a default section name."
  35353. msgstr ""
  35354. #. type: deftypevr
  35355. #: doc/guix.texi:19184
  35356. #, no-wrap
  35357. msgid "{@code{cgit-configuration} parameter} boolean side-by-side-diffs?"
  35358. msgstr ""
  35359. #. type: deftypevr
  35360. #: doc/guix.texi:19187
  35361. msgid ""
  35362. "If set to @samp{#t} shows side-by-side diffs instead of unidiffs per default."
  35363. msgstr ""
  35364. #. type: deftypevr
  35365. #: doc/guix.texi:19192
  35366. #, no-wrap
  35367. msgid "{@code{cgit-configuration} parameter} file-object source-filter"
  35368. msgstr ""
  35369. #. type: deftypevr
  35370. #: doc/guix.texi:19195
  35371. msgid ""
  35372. "Specifies a command which will be invoked to format plaintext blobs in the "
  35373. "tree view."
  35374. msgstr ""
  35375. #. type: deftypevr
  35376. #: doc/guix.texi:19200
  35377. #, no-wrap
  35378. msgid "{@code{cgit-configuration} parameter} integer summary-branches"
  35379. msgstr ""
  35380. #. type: deftypevr
  35381. #: doc/guix.texi:19203
  35382. msgid ""
  35383. "Specifies the number of branches to display in the repository \"summary\" "
  35384. "view."
  35385. msgstr ""
  35386. #. type: deftypevr
  35387. #: doc/guix.texi:19208
  35388. #, no-wrap
  35389. msgid "{@code{cgit-configuration} parameter} integer summary-log"
  35390. msgstr ""
  35391. #. type: deftypevr
  35392. #: doc/guix.texi:19211
  35393. msgid ""
  35394. "Specifies the number of log entries to display in the repository \"summary\" "
  35395. "view."
  35396. msgstr ""
  35397. #. type: deftypevr
  35398. #: doc/guix.texi:19216
  35399. #, no-wrap
  35400. msgid "{@code{cgit-configuration} parameter} integer summary-tags"
  35401. msgstr ""
  35402. #. type: deftypevr
  35403. #: doc/guix.texi:19219
  35404. msgid ""
  35405. "Specifies the number of tags to display in the repository \"summary\" view."
  35406. msgstr ""
  35407. #. type: deftypevr
  35408. #: doc/guix.texi:19224
  35409. #, no-wrap
  35410. msgid "{@code{cgit-configuration} parameter} string strict-export"
  35411. msgstr ""
  35412. #. type: deftypevr
  35413. #: doc/guix.texi:19227
  35414. msgid ""
  35415. "Filename which, if specified, needs to be present within the repository for "
  35416. "cgit to allow access to that repository."
  35417. msgstr ""
  35418. #. type: deftypevr
  35419. #: doc/guix.texi:19232
  35420. #, no-wrap
  35421. msgid "{@code{cgit-configuration} parameter} string virtual-root"
  35422. msgstr ""
  35423. #. type: deftypevr
  35424. #: doc/guix.texi:19234
  35425. msgid "URL which, if specified, will be used as root for all cgit links."
  35426. msgstr ""
  35427. #. type: deftypevr
  35428. #: doc/guix.texi:19236
  35429. msgid "Defaults to @samp{\"/\"}."
  35430. msgstr ""
  35431. #. type: deftypevr
  35432. #: doc/guix.texi:19239
  35433. #, no-wrap
  35434. msgid "{@code{cgit-configuration} parameter} repository-cgit-configuration-list repositories"
  35435. msgstr ""
  35436. #. type: deftypevr
  35437. #: doc/guix.texi:19241
  35438. msgid "A list of @dfn{cgit-repo} records to use with config."
  35439. msgstr ""
  35440. #. type: deftypevr
  35441. #: doc/guix.texi:19245
  35442. msgid "Available @code{repository-cgit-configuration} fields are:"
  35443. msgstr ""
  35444. #. type: deftypevr
  35445. #: doc/guix.texi:19246
  35446. #, no-wrap
  35447. msgid "{@code{repository-cgit-configuration} parameter} repo-list snapshots"
  35448. msgstr ""
  35449. #. type: deftypevr
  35450. #: doc/guix.texi:19249
  35451. msgid ""
  35452. "A mask of snapshot formats for this repo that cgit generates links for, "
  35453. "restricted by the global @code{snapshots} setting."
  35454. msgstr ""
  35455. #. type: deftypevr
  35456. #: doc/guix.texi:19254
  35457. #, no-wrap
  35458. msgid "{@code{repository-cgit-configuration} parameter} repo-file-object source-filter"
  35459. msgstr ""
  35460. #. type: deftypevr
  35461. #: doc/guix.texi:19256
  35462. msgid "Override the default @code{source-filter}."
  35463. msgstr ""
  35464. #. type: deftypevr
  35465. #: doc/guix.texi:19261
  35466. #, no-wrap
  35467. msgid "{@code{repository-cgit-configuration} parameter} repo-string url"
  35468. msgstr ""
  35469. #. type: deftypevr
  35470. #: doc/guix.texi:19263
  35471. msgid "The relative URL used to access the repository."
  35472. msgstr ""
  35473. #. type: deftypevr
  35474. #: doc/guix.texi:19268
  35475. #, no-wrap
  35476. msgid "{@code{repository-cgit-configuration} parameter} repo-file-object about-filter"
  35477. msgstr ""
  35478. #. type: deftypevr
  35479. #: doc/guix.texi:19270
  35480. msgid "Override the default @code{about-filter}."
  35481. msgstr ""
  35482. #. type: deftypevr
  35483. #: doc/guix.texi:19275
  35484. #, no-wrap
  35485. msgid "{@code{repository-cgit-configuration} parameter} repo-string branch-sort"
  35486. msgstr ""
  35487. #. type: deftypevr
  35488. #: doc/guix.texi:19278
  35489. msgid ""
  35490. "Flag which, when set to @samp{age}, enables date ordering in the branch ref "
  35491. "list, and when set to @samp{name} enables ordering by branch name."
  35492. msgstr ""
  35493. #. type: deftypevr
  35494. #: doc/guix.texi:19283
  35495. #, no-wrap
  35496. msgid "{@code{repository-cgit-configuration} parameter} repo-list clone-url"
  35497. msgstr ""
  35498. #. type: deftypevr
  35499. #: doc/guix.texi:19285
  35500. msgid "A list of URLs which can be used to clone repo."
  35501. msgstr ""
  35502. #. type: deftypevr
  35503. #: doc/guix.texi:19290
  35504. #, no-wrap
  35505. msgid "{@code{repository-cgit-configuration} parameter} repo-file-object commit-filter"
  35506. msgstr ""
  35507. #. type: deftypevr
  35508. #: doc/guix.texi:19292
  35509. msgid "Override the default @code{commit-filter}."
  35510. msgstr ""
  35511. #. type: deftypevr
  35512. #: doc/guix.texi:19297
  35513. #, no-wrap
  35514. msgid "{@code{repository-cgit-configuration} parameter} repo-string commit-sort"
  35515. msgstr ""
  35516. #. type: deftypevr
  35517. #: doc/guix.texi:19306
  35518. #, no-wrap
  35519. msgid "{@code{repository-cgit-configuration} parameter} repo-string defbranch"
  35520. msgstr ""
  35521. #. type: deftypevr
  35522. #: doc/guix.texi:19311
  35523. msgid ""
  35524. "The name of the default branch for this repository. If no such branch "
  35525. "exists in the repository, the first branch name (when sorted) is used as "
  35526. "default instead. By default branch pointed to by HEAD, or \"master\" if "
  35527. "there is no suitable HEAD."
  35528. msgstr ""
  35529. #. type: deftypevr
  35530. #: doc/guix.texi:19316
  35531. #, no-wrap
  35532. msgid "{@code{repository-cgit-configuration} parameter} repo-string desc"
  35533. msgstr ""
  35534. #. type: deftypevr
  35535. #: doc/guix.texi:19318
  35536. msgid "The value to show as repository description."
  35537. msgstr ""
  35538. #. type: deftypevr
  35539. #: doc/guix.texi:19323
  35540. #, no-wrap
  35541. msgid "{@code{repository-cgit-configuration} parameter} repo-string homepage"
  35542. msgstr ""
  35543. #. type: deftypevr
  35544. #: doc/guix.texi:19325
  35545. msgid "The value to show as repository homepage."
  35546. msgstr ""
  35547. #. type: deftypevr
  35548. #: doc/guix.texi:19330
  35549. #, no-wrap
  35550. msgid "{@code{repository-cgit-configuration} parameter} repo-file-object email-filter"
  35551. msgstr ""
  35552. #. type: deftypevr
  35553. #: doc/guix.texi:19332
  35554. msgid "Override the default @code{email-filter}."
  35555. msgstr ""
  35556. #. type: deftypevr
  35557. #: doc/guix.texi:19337
  35558. #, no-wrap
  35559. msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-commit-graph?"
  35560. msgstr ""
  35561. #. type: deftypevr
  35562. #: doc/guix.texi:19340
  35563. msgid ""
  35564. "A flag which can be used to disable the global setting @code{enable-commit-"
  35565. "graph?}."
  35566. msgstr ""
  35567. #. type: deftypevr
  35568. #: doc/guix.texi:19345
  35569. #, no-wrap
  35570. msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-log-filecount?"
  35571. msgstr ""
  35572. #. type: deftypevr
  35573. #: doc/guix.texi:19348
  35574. msgid ""
  35575. "A flag which can be used to disable the global setting @code{enable-log-"
  35576. "filecount?}."
  35577. msgstr ""
  35578. #. type: deftypevr
  35579. #: doc/guix.texi:19353
  35580. #, no-wrap
  35581. msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-log-linecount?"
  35582. msgstr ""
  35583. #. type: deftypevr
  35584. #: doc/guix.texi:19356
  35585. msgid ""
  35586. "A flag which can be used to disable the global setting @code{enable-log-"
  35587. "linecount?}."
  35588. msgstr ""
  35589. #. type: deftypevr
  35590. #: doc/guix.texi:19361
  35591. #, no-wrap
  35592. msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-remote-branches?"
  35593. msgstr ""
  35594. #. type: deftypevr
  35595. #: doc/guix.texi:19369
  35596. #, no-wrap
  35597. msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-subject-links?"
  35598. msgstr ""
  35599. #. type: deftypevr
  35600. #: doc/guix.texi:19372
  35601. msgid ""
  35602. "A flag which can be used to override the global setting @code{enable-subject-"
  35603. "links?}."
  35604. msgstr ""
  35605. #. type: deftypevr
  35606. #: doc/guix.texi:19377
  35607. #, no-wrap
  35608. msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-html-serving?"
  35609. msgstr ""
  35610. #. type: deftypevr
  35611. #: doc/guix.texi:19380
  35612. msgid ""
  35613. "A flag which can be used to override the global setting @code{enable-html-"
  35614. "serving?}."
  35615. msgstr ""
  35616. #. type: deftypevr
  35617. #: doc/guix.texi:19385
  35618. #, no-wrap
  35619. msgid "{@code{repository-cgit-configuration} parameter} repo-boolean hide?"
  35620. msgstr ""
  35621. #. type: deftypevr
  35622. #: doc/guix.texi:19388
  35623. msgid ""
  35624. "Flag which, when set to @code{#t}, hides the repository from the repository "
  35625. "index."
  35626. msgstr ""
  35627. #. type: deftypevr
  35628. #: doc/guix.texi:19393
  35629. #, no-wrap
  35630. msgid "{@code{repository-cgit-configuration} parameter} repo-boolean ignore?"
  35631. msgstr ""
  35632. #. type: deftypevr
  35633. #: doc/guix.texi:19395
  35634. msgid "Flag which, when set to @samp{#t}, ignores the repository."
  35635. msgstr ""
  35636. #. type: deftypevr
  35637. #: doc/guix.texi:19400
  35638. #, no-wrap
  35639. msgid "{@code{repository-cgit-configuration} parameter} repo-file-object logo"
  35640. msgstr ""
  35641. #. type: deftypevr
  35642. #: doc/guix.texi:19403
  35643. msgid ""
  35644. "URL which specifies the source of an image which will be used as a logo on "
  35645. "this repo’s pages."
  35646. msgstr ""
  35647. #. type: deftypevr
  35648. #: doc/guix.texi:19408
  35649. #, no-wrap
  35650. msgid "{@code{repository-cgit-configuration} parameter} repo-string logo-link"
  35651. msgstr ""
  35652. #. type: deftypevr
  35653. #: doc/guix.texi:19415
  35654. #, no-wrap
  35655. msgid "{@code{repository-cgit-configuration} parameter} repo-file-object owner-filter"
  35656. msgstr ""
  35657. #. type: deftypevr
  35658. #: doc/guix.texi:19417
  35659. msgid "Override the default @code{owner-filter}."
  35660. msgstr ""
  35661. #. type: deftypevr
  35662. #: doc/guix.texi:19422
  35663. #, no-wrap
  35664. msgid "{@code{repository-cgit-configuration} parameter} repo-string module-link"
  35665. msgstr ""
  35666. #. type: deftypevr
  35667. #: doc/guix.texi:19426
  35668. msgid ""
  35669. "Text which will be used as the formatstring for a hyperlink when a submodule "
  35670. "is printed in a directory listing. The arguments for the formatstring are "
  35671. "the path and SHA1 of the submodule commit."
  35672. msgstr ""
  35673. #. type: deftypevr
  35674. #: doc/guix.texi:19431
  35675. #, no-wrap
  35676. msgid "{@code{repository-cgit-configuration} parameter} module-link-path module-link-path"
  35677. msgstr ""
  35678. #. type: deftypevr
  35679. #: doc/guix.texi:19435
  35680. msgid ""
  35681. "Text which will be used as the formatstring for a hyperlink when a submodule "
  35682. "with the specified subdirectory path is printed in a directory listing."
  35683. msgstr ""
  35684. #. type: deftypevr
  35685. #: doc/guix.texi:19440
  35686. #, no-wrap
  35687. msgid "{@code{repository-cgit-configuration} parameter} repo-string max-stats"
  35688. msgstr ""
  35689. #. type: deftypevr
  35690. #: doc/guix.texi:19442
  35691. msgid "Override the default maximum statistics period."
  35692. msgstr ""
  35693. #. type: deftypevr
  35694. #: doc/guix.texi:19447
  35695. #, no-wrap
  35696. msgid "{@code{repository-cgit-configuration} parameter} repo-string name"
  35697. msgstr ""
  35698. #. type: deftypevr
  35699. #: doc/guix.texi:19449
  35700. msgid "The value to show as repository name."
  35701. msgstr ""
  35702. #. type: deftypevr
  35703. #: doc/guix.texi:19454
  35704. #, no-wrap
  35705. msgid "{@code{repository-cgit-configuration} parameter} repo-string owner"
  35706. msgstr ""
  35707. #. type: deftypevr
  35708. #: doc/guix.texi:19456
  35709. msgid "A value used to identify the owner of the repository."
  35710. msgstr ""
  35711. #. type: deftypevr
  35712. #: doc/guix.texi:19461
  35713. #, no-wrap
  35714. msgid "{@code{repository-cgit-configuration} parameter} repo-string path"
  35715. msgstr ""
  35716. #. type: deftypevr
  35717. #: doc/guix.texi:19463
  35718. msgid "An absolute path to the repository directory."
  35719. msgstr ""
  35720. #. type: deftypevr
  35721. #: doc/guix.texi:19468
  35722. #, no-wrap
  35723. msgid "{@code{repository-cgit-configuration} parameter} repo-string readme"
  35724. msgstr ""
  35725. #. type: deftypevr
  35726. #: doc/guix.texi:19471
  35727. msgid ""
  35728. "A path (relative to repo) which specifies a file to include verbatim as the "
  35729. "\"About\" page for this repo."
  35730. msgstr ""
  35731. #. type: deftypevr
  35732. #: doc/guix.texi:19476
  35733. #, no-wrap
  35734. msgid "{@code{repository-cgit-configuration} parameter} repo-string section"
  35735. msgstr ""
  35736. #. type: deftypevr
  35737. #: doc/guix.texi:19484
  35738. #, no-wrap
  35739. msgid "{@code{repository-cgit-configuration} parameter} repo-list extra-options"
  35740. msgstr ""
  35741. #. type: deftypevr
  35742. #: doc/guix.texi:19486 doc/guix.texi:19495
  35743. msgid "Extra options will be appended to cgitrc file."
  35744. msgstr ""
  35745. #. type: deftypevr
  35746. #: doc/guix.texi:19493
  35747. #, no-wrap
  35748. msgid "{@code{cgit-configuration} parameter} list extra-options"
  35749. msgstr ""
  35750. #. type: Plain text
  35751. #: doc/guix.texi:19507
  35752. msgid ""
  35753. "However, it could be that you just want to get a @code{cgitrc} up and "
  35754. "running. In that case, you can pass an @code{opaque-cgit-configuration} as "
  35755. "a record to @code{cgit-service-type}. As its name indicates, an opaque "
  35756. "configuration does not have easy reflective capabilities."
  35757. msgstr ""
  35758. #. type: Plain text
  35759. #: doc/guix.texi:19509
  35760. msgid "Available @code{opaque-cgit-configuration} fields are:"
  35761. msgstr ""
  35762. #. type: deftypevr
  35763. #: doc/guix.texi:19510
  35764. #, no-wrap
  35765. msgid "{@code{opaque-cgit-configuration} parameter} package cgit"
  35766. msgstr ""
  35767. #. type: deftypevr
  35768. #: doc/guix.texi:19512
  35769. msgid "The cgit package."
  35770. msgstr ""
  35771. #. type: deftypevr
  35772. #: doc/guix.texi:19514
  35773. #, no-wrap
  35774. msgid "{@code{opaque-cgit-configuration} parameter} string string"
  35775. msgstr ""
  35776. #. type: deftypevr
  35777. #: doc/guix.texi:19516
  35778. msgid "The contents of the @code{cgitrc}, as a string."
  35779. msgstr ""
  35780. #. type: Plain text
  35781. #: doc/guix.texi:19520
  35782. msgid ""
  35783. "For example, if your @code{cgitrc} is just the empty string, you could "
  35784. "instantiate a cgit service like this:"
  35785. msgstr ""
  35786. #. type: example
  35787. #: doc/guix.texi:19525
  35788. #, no-wrap
  35789. msgid ""
  35790. "(service cgit-service-type\n"
  35791. " (opaque-cgit-configuration\n"
  35792. " (cgitrc \"\")))\n"
  35793. msgstr ""
  35794. #. type: subsubheading
  35795. #: doc/guix.texi:19531
  35796. #, no-wrap
  35797. msgid "The Battle for Wesnoth Service"
  35798. msgstr ""
  35799. #. type: cindex
  35800. #: doc/guix.texi:19532
  35801. #, no-wrap
  35802. msgid "wesnothd"
  35803. msgstr ""
  35804. #. type: Plain text
  35805. #: doc/guix.texi:19536
  35806. msgid ""
  35807. "@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn based "
  35808. "tactical strategy game, with several single player campaigns, and "
  35809. "multiplayer games (both networked and local)."
  35810. msgstr ""
  35811. #. type: defvar
  35812. #: doc/guix.texi:19537
  35813. #, no-wrap
  35814. msgid "{Scheme Variable} wesnothd-service-type"
  35815. msgstr ""
  35816. #. type: defvar
  35817. #: doc/guix.texi:19541
  35818. msgid ""
  35819. "Service type for the wesnothd service. Its value must be a @code{wesnothd-"
  35820. "configuration} object. To run wesnothd in the default configuration, "
  35821. "instantiate it as:"
  35822. msgstr ""
  35823. #. type: example
  35824. #: doc/guix.texi:19544
  35825. #, no-wrap
  35826. msgid "(service wesnothd-service-type)\n"
  35827. msgstr ""
  35828. #. type: deftp
  35829. #: doc/guix.texi:19547
  35830. #, no-wrap
  35831. msgid "{Data Type} wesnothd-configuration"
  35832. msgstr ""
  35833. #. type: deftp
  35834. #: doc/guix.texi:19549
  35835. msgid "Data type representing the configuration of @command{wesnothd}."
  35836. msgstr ""
  35837. #. type: item
  35838. #: doc/guix.texi:19551
  35839. #, no-wrap
  35840. msgid "@code{package} (default: @code{wesnoth-server})"
  35841. msgstr ""
  35842. #. type: table
  35843. #: doc/guix.texi:19553
  35844. msgid "The wesnoth server package to use."
  35845. msgstr ""
  35846. #. type: item
  35847. #: doc/guix.texi:19554
  35848. #, no-wrap
  35849. msgid "@code{port} (default: @code{15000})"
  35850. msgstr ""
  35851. #. type: table
  35852. #: doc/guix.texi:19556
  35853. msgid "The port to bind the server to."
  35854. msgstr ""
  35855. #. type: cindex
  35856. #: doc/guix.texi:19562
  35857. #, no-wrap
  35858. msgid "sysctl"
  35859. msgstr ""
  35860. #. type: subsubheading
  35861. #: doc/guix.texi:19563
  35862. #, no-wrap
  35863. msgid "System Control Service"
  35864. msgstr ""
  35865. #. type: Plain text
  35866. #: doc/guix.texi:19567
  35867. msgid ""
  35868. "The @code{(gnu services sysctl)} provides a service to configure kernel "
  35869. "parameters at boot."
  35870. msgstr ""
  35871. #. type: defvr
  35872. #: doc/guix.texi:19568
  35873. #, no-wrap
  35874. msgid "{Scheme Variable} sysctl-service-type"
  35875. msgstr ""
  35876. #. type: defvr
  35877. #: doc/guix.texi:19572
  35878. msgid ""
  35879. "The service type for @command{sysctl}, which modifies kernel parameters "
  35880. "under @file{/proc/sys/}. To enable IPv4 forwarding, it can be instantiated "
  35881. "as:"
  35882. msgstr ""
  35883. #. type: example
  35884. #: doc/guix.texi:19577
  35885. #, no-wrap
  35886. msgid ""
  35887. "(service sysctl-service-type\n"
  35888. " (sysctl-configuration\n"
  35889. " (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n"
  35890. msgstr ""
  35891. #. type: deftp
  35892. #: doc/guix.texi:19580
  35893. #, no-wrap
  35894. msgid "{Data Type} sysctl-configuration"
  35895. msgstr ""
  35896. #. type: deftp
  35897. #: doc/guix.texi:19582
  35898. msgid "The data type representing the configuration of @command{sysctl}."
  35899. msgstr ""
  35900. #. type: item
  35901. #: doc/guix.texi:19584
  35902. #, no-wrap
  35903. msgid "@code{sysctl} (default: @code{(file-append procps \"/sbin/sysctl\"})"
  35904. msgstr ""
  35905. #. type: table
  35906. #: doc/guix.texi:19586
  35907. msgid "The @command{sysctl} executable to use."
  35908. msgstr ""
  35909. #. type: item
  35910. #: doc/guix.texi:19587
  35911. #, no-wrap
  35912. msgid "@code{settings} (default: @code{'()})"
  35913. msgstr ""
  35914. #. type: table
  35915. #: doc/guix.texi:19589
  35916. msgid "An association list specifies kernel parameters and their values."
  35917. msgstr ""
  35918. #. type: cindex
  35919. #: doc/guix.texi:19592
  35920. #, no-wrap
  35921. msgid "lirc"
  35922. msgstr ""
  35923. #. type: subsubheading
  35924. #: doc/guix.texi:19593
  35925. #, no-wrap
  35926. msgid "Lirc Service"
  35927. msgstr ""
  35928. #. type: Plain text
  35929. #: doc/guix.texi:19596
  35930. msgid "The @code{(gnu services lirc)} module provides the following service."
  35931. msgstr ""
  35932. #. type: deffn
  35933. #: doc/guix.texi:19597
  35934. #, no-wrap
  35935. msgid "{Scheme Procedure} lirc-service [#:lirc lirc] @"
  35936. msgstr ""
  35937. #. type: deffn
  35938. #: doc/guix.texi:19602
  35939. msgid ""
  35940. "[#:device #f] [#:driver #f] [#:config-file #f] @ [#:extra-options '()] "
  35941. "Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that "
  35942. "decodes infrared signals from remote controls."
  35943. msgstr ""
  35944. #. type: deffn
  35945. #: doc/guix.texi:19606
  35946. msgid ""
  35947. "Optionally, @var{device}, @var{driver} and @var{config-file} (configuration "
  35948. "file name) may be specified. See @command{lircd} manual for details."
  35949. msgstr ""
  35950. #. type: deffn
  35951. #: doc/guix.texi:19609
  35952. msgid ""
  35953. "Finally, @var{extra-options} is a list of additional command-line options "
  35954. "passed to @command{lircd}."
  35955. msgstr ""
  35956. #. type: cindex
  35957. #: doc/guix.texi:19611
  35958. #, no-wrap
  35959. msgid "spice"
  35960. msgstr ""
  35961. #. type: subsubheading
  35962. #: doc/guix.texi:19612
  35963. #, no-wrap
  35964. msgid "Spice Service"
  35965. msgstr ""
  35966. #. type: Plain text
  35967. #: doc/guix.texi:19615
  35968. msgid "The @code{(gnu services spice)} module provides the following service."
  35969. msgstr ""
  35970. #. type: deffn
  35971. #: doc/guix.texi:19616
  35972. #, no-wrap
  35973. msgid "{Scheme Procedure} spice-vdagent-service [#:spice-vdagent]"
  35974. msgstr ""
  35975. #. type: deffn
  35976. #: doc/guix.texi:19620
  35977. msgid ""
  35978. "Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a "
  35979. "daemon that enables sharing the clipboard with a vm and setting the guest "
  35980. "display resolution when the graphical console window resizes."
  35981. msgstr ""
  35982. #. type: subsubsection
  35983. #: doc/guix.texi:19622
  35984. #, no-wrap
  35985. msgid "Dictionary Services"
  35986. msgstr ""
  35987. #. type: cindex
  35988. #: doc/guix.texi:19623
  35989. #, no-wrap
  35990. msgid "dictionary"
  35991. msgstr ""
  35992. #. type: Plain text
  35993. #: doc/guix.texi:19625
  35994. msgid "The @code{(gnu services dict)} module provides the following service:"
  35995. msgstr ""
  35996. #. type: deffn
  35997. #: doc/guix.texi:19626
  35998. #, no-wrap
  35999. msgid "{Scheme Procedure} dicod-service [#:config (dicod-configuration)]"
  36000. msgstr ""
  36001. #. type: deffn
  36002. #: doc/guix.texi:19629
  36003. msgid ""
  36004. "Return a service that runs the @command{dicod} daemon, an implementation of "
  36005. "DICT server (@pxref{Dicod,,, dico, GNU Dico Manual})."
  36006. msgstr ""
  36007. #. type: deffn
  36008. #: doc/guix.texi:19633
  36009. msgid ""
  36010. "The optional @var{config} argument specifies the configuration for "
  36011. "@command{dicod}, which should be a @code{<dicod-configuration>} object, by "
  36012. "default it serves the GNU Collaborative International Dictonary of English."
  36013. msgstr ""
  36014. #. type: deffn
  36015. #: doc/guix.texi:19637
  36016. msgid ""
  36017. "You can add @command{open localhost} to your @file{~/.dico} file to make "
  36018. "@code{localhost} the default server for @command{dico} client "
  36019. "(@pxref{Initialization File,,, dico, GNU Dico Manual})."
  36020. msgstr ""
  36021. #. type: deftp
  36022. #: doc/guix.texi:19639
  36023. #, no-wrap
  36024. msgid "{Data Type} dicod-configuration"
  36025. msgstr ""
  36026. #. type: deftp
  36027. #: doc/guix.texi:19641
  36028. msgid "Data type representing the configuration of dicod."
  36029. msgstr ""
  36030. #. type: item
  36031. #: doc/guix.texi:19643
  36032. #, no-wrap
  36033. msgid "@code{dico} (default: @var{dico})"
  36034. msgstr ""
  36035. #. type: table
  36036. #: doc/guix.texi:19645
  36037. msgid "Package object of the GNU Dico dictionary server."
  36038. msgstr ""
  36039. #. type: item
  36040. #: doc/guix.texi:19646
  36041. #, no-wrap
  36042. msgid "@code{interfaces} (default: @var{'(\"localhost\")})"
  36043. msgstr ""
  36044. #. type: table
  36045. #: doc/guix.texi:19650
  36046. msgid ""
  36047. "This is the list of IP addresses and ports and possibly socket file names to "
  36048. "listen to (@pxref{Server Settings, @code{listen} directive,, dico, GNU Dico "
  36049. "Manual})."
  36050. msgstr ""
  36051. #. type: item
  36052. #: doc/guix.texi:19651
  36053. #, no-wrap
  36054. msgid "@code{handlers} (default: @var{'()})"
  36055. msgstr ""
  36056. #. type: table
  36057. #: doc/guix.texi:19653
  36058. msgid ""
  36059. "List of @code{<dicod-handler>} objects denoting handlers (module instances)."
  36060. msgstr ""
  36061. #. type: item
  36062. #: doc/guix.texi:19654
  36063. #, no-wrap
  36064. msgid "@code{databases} (default: @var{(list %dicod-database:gcide)})"
  36065. msgstr ""
  36066. #. type: table
  36067. #: doc/guix.texi:19656
  36068. msgid ""
  36069. "List of @code{<dicod-database>} objects denoting dictionaries to be served."
  36070. msgstr ""
  36071. #. type: deftp
  36072. #: doc/guix.texi:19659
  36073. #, no-wrap
  36074. msgid "{Data Type} dicod-handler"
  36075. msgstr ""
  36076. #. type: deftp
  36077. #: doc/guix.texi:19661
  36078. msgid "Data type representing a dictionary handler (module instance)."
  36079. msgstr ""
  36080. #. type: table
  36081. #: doc/guix.texi:19665
  36082. msgid "Name of the handler (module instance)."
  36083. msgstr ""
  36084. #. type: item
  36085. #: doc/guix.texi:19666
  36086. #, no-wrap
  36087. msgid "@code{module} (default: @var{#f})"
  36088. msgstr ""
  36089. #. type: table
  36090. #: doc/guix.texi:19670
  36091. msgid ""
  36092. "Name of the dicod module of the handler (instance). If it is @code{#f}, the "
  36093. "module has the same name as the handler. (@pxref{Modules,,, dico, GNU Dico "
  36094. "Manual})."
  36095. msgstr ""
  36096. #. type: code{#1}
  36097. #: doc/guix.texi:19671 doc/guix.texi:19691
  36098. #, no-wrap
  36099. msgid "options"
  36100. msgstr ""
  36101. #. type: table
  36102. #: doc/guix.texi:19673
  36103. msgid ""
  36104. "List of strings or gexps representing the arguments for the module handler"
  36105. msgstr ""
  36106. #. type: deftp
  36107. #: doc/guix.texi:19676
  36108. #, no-wrap
  36109. msgid "{Data Type} dicod-database"
  36110. msgstr ""
  36111. #. type: deftp
  36112. #: doc/guix.texi:19678
  36113. msgid "Data type representing a dictionary database."
  36114. msgstr ""
  36115. #. type: table
  36116. #: doc/guix.texi:19682
  36117. msgid "Name of the database, will be used in DICT commands."
  36118. msgstr ""
  36119. #. type: code{#1}
  36120. #: doc/guix.texi:19683
  36121. #, no-wrap
  36122. msgid "handler"
  36123. msgstr ""
  36124. #. type: table
  36125. #: doc/guix.texi:19686
  36126. msgid ""
  36127. "Name of the dicod handler (module instance) used by this database "
  36128. "(@pxref{Handlers,,, dico, GNU Dico Manual})."
  36129. msgstr ""
  36130. #. type: item
  36131. #: doc/guix.texi:19687
  36132. #, no-wrap
  36133. msgid "@code{complex?} (default: @var{#f})"
  36134. msgstr ""
  36135. #. type: table
  36136. #: doc/guix.texi:19690
  36137. msgid ""
  36138. "Whether the database configuration complex. The complex configuration will "
  36139. "need a corresponding @code{<dicod-handler>} object, otherwise not."
  36140. msgstr ""
  36141. #. type: table
  36142. #: doc/guix.texi:19694
  36143. msgid ""
  36144. "List of strings or gexps representing the arguments for the database "
  36145. "(@pxref{Databases,,, dico, GNU Dico Manual})."
  36146. msgstr ""
  36147. #. type: defvr
  36148. #: doc/guix.texi:19697
  36149. #, no-wrap
  36150. msgid "{Scheme Variable} %dicod-database:gcide"
  36151. msgstr ""
  36152. #. type: defvr
  36153. #: doc/guix.texi:19700
  36154. msgid ""
  36155. "A @code{<dicod-database>} object serving the GNU Collaborative International "
  36156. "Dictionary of English using the @code{gcide} package."
  36157. msgstr ""
  36158. #. type: Plain text
  36159. #: doc/guix.texi:19703
  36160. msgid "The following is an example @code{dicod-service} configuration."
  36161. msgstr ""
  36162. #. type: example
  36163. #: doc/guix.texi:19718
  36164. #, no-wrap
  36165. msgid ""
  36166. "(dicod-service #:config\n"
  36167. " (dicod-configuration\n"
  36168. " (handlers (list (dicod-handler\n"
  36169. " (name \"wordnet\")\n"
  36170. " (module \"dictorg\")\n"
  36171. " (options\n"
  36172. " (list #~(string-append \"dbdir=\" #$wordnet))))))\n"
  36173. " (databases (list (dicod-database\n"
  36174. " (name \"wordnet\")\n"
  36175. " (complex? #t)\n"
  36176. " (handler \"wordnet\")\n"
  36177. " (options '(\"database=wn\")))\n"
  36178. " %dicod-database:gcide))))\n"
  36179. msgstr ""
  36180. #. type: cindex
  36181. #: doc/guix.texi:19723
  36182. #, no-wrap
  36183. msgid "setuid programs"
  36184. msgstr ""
  36185. #. type: Plain text
  36186. #: doc/guix.texi:19733
  36187. msgid ""
  36188. "Some programs need to run with ``root'' privileges, even when they are "
  36189. "launched by unprivileged users. A notorious example is the @command{passwd} "
  36190. "program, which users can run to change their password, and which needs to "
  36191. "access the @file{/etc/passwd} and @file{/etc/shadow} files---something "
  36192. "normally restricted to root, for obvious security reasons. To address that, "
  36193. "these executables are @dfn{setuid-root}, meaning that they always run with "
  36194. "root privileges (@pxref{How Change Persona,,, libc, The GNU C Library "
  36195. "Reference Manual}, for more info about the setuid mechanism.)"
  36196. msgstr ""
  36197. #. type: Plain text
  36198. #: doc/guix.texi:19740
  36199. msgid ""
  36200. "The store itself @emph{cannot} contain setuid programs: that would be a "
  36201. "security issue since any user on the system can write derivations that "
  36202. "populate the store (@pxref{The Store}). Thus, a different mechanism is "
  36203. "used: instead of changing the setuid bit directly on files that are in the "
  36204. "store, we let the system administrator @emph{declare} which programs should "
  36205. "be setuid root."
  36206. msgstr ""
  36207. #. type: Plain text
  36208. #: doc/guix.texi:19746
  36209. msgid ""
  36210. "The @code{setuid-programs} field of an @code{operating-system} declaration "
  36211. "contains a list of G-expressions denoting the names of programs to be setuid-"
  36212. "root (@pxref{Using the Configuration System}). For instance, the "
  36213. "@command{passwd} program, which is part of the Shadow package, can be "
  36214. "designated by this G-expression (@pxref{G-Expressions}):"
  36215. msgstr ""
  36216. #. type: example
  36217. #: doc/guix.texi:19749
  36218. #, no-wrap
  36219. msgid "#~(string-append #$shadow \"/bin/passwd\")\n"
  36220. msgstr ""
  36221. #. type: Plain text
  36222. #: doc/guix.texi:19753
  36223. msgid ""
  36224. "A default set of setuid programs is defined by the @code{%setuid-programs} "
  36225. "variable of the @code{(gnu system)} module."
  36226. msgstr ""
  36227. #. type: defvr
  36228. #: doc/guix.texi:19754
  36229. #, no-wrap
  36230. msgid "{Scheme Variable} %setuid-programs"
  36231. msgstr ""
  36232. #. type: defvr
  36233. #: doc/guix.texi:19756
  36234. msgid "A list of G-expressions denoting common programs that are setuid-root."
  36235. msgstr ""
  36236. #. type: defvr
  36237. #: doc/guix.texi:19759
  36238. msgid ""
  36239. "The list includes commands such as @command{passwd}, @command{ping}, "
  36240. "@command{su}, and @command{sudo}."
  36241. msgstr ""
  36242. #. type: Plain text
  36243. #: doc/guix.texi:19765
  36244. msgid ""
  36245. "Under the hood, the actual setuid programs are created in the @file{/run/"
  36246. "setuid-programs} directory at system activation time. The files in this "
  36247. "directory refer to the ``real'' binaries, which are in the store."
  36248. msgstr ""
  36249. #. type: cindex
  36250. #: doc/guix.texi:19769
  36251. #, no-wrap
  36252. msgid "HTTPS, certificates"
  36253. msgstr ""
  36254. #. type: cindex
  36255. #: doc/guix.texi:19770
  36256. #, no-wrap
  36257. msgid "X.509 certificates"
  36258. msgstr ""
  36259. #. type: cindex
  36260. #: doc/guix.texi:19771
  36261. #, no-wrap
  36262. msgid "TLS"
  36263. msgstr ""
  36264. #. type: Plain text
  36265. #: doc/guix.texi:19778
  36266. msgid ""
  36267. "Web servers available over HTTPS (that is, HTTP over the transport-layer "
  36268. "security mechanism, TLS) send client programs an @dfn{X.509 certificate} "
  36269. "that the client can then use to @emph{authenticate} the server. To do that, "
  36270. "clients verify that the server's certificate is signed by a so-called "
  36271. "@dfn{certificate authority} (CA). But to verify the CA's signature, clients "
  36272. "must have first acquired the CA's certificate."
  36273. msgstr ""
  36274. #. type: Plain text
  36275. #: doc/guix.texi:19782
  36276. msgid ""
  36277. "Web browsers such as GNU@tie{}IceCat include their own set of CA "
  36278. "certificates, such that they are able to verify CA signatures out-of-the-box."
  36279. msgstr ""
  36280. #. type: Plain text
  36281. #: doc/guix.texi:19786
  36282. msgid ""
  36283. "However, most other programs that can talk HTTPS---@command{wget}, "
  36284. "@command{git}, @command{w3m}, etc.---need to be told where CA certificates "
  36285. "can be found."
  36286. msgstr ""
  36287. #. type: Plain text
  36288. #: doc/guix.texi:19793
  36289. msgid ""
  36290. "In GuixSD, this is done by adding a package that provides certificates to "
  36291. "the @code{packages} field of the @code{operating-system} declaration "
  36292. "(@pxref{operating-system Reference}). GuixSD includes one such package, "
  36293. "@code{nss-certs}, which is a set of CA certificates provided as part of "
  36294. "Mozilla's Network Security Services."
  36295. msgstr ""
  36296. #. type: Plain text
  36297. #: doc/guix.texi:19798
  36298. msgid ""
  36299. "Note that it is @emph{not} part of @var{%base-packages}, so you need to "
  36300. "explicitly add it. The @file{/etc/ssl/certs} directory, which is where most "
  36301. "applications and libraries look for certificates by default, points to the "
  36302. "certificates installed globally."
  36303. msgstr ""
  36304. #. type: Plain text
  36305. #: doc/guix.texi:19808
  36306. msgid ""
  36307. "Unprivileged users, including users of Guix on a foreign distro, can also "
  36308. "install their own certificate package in their profile. A number of "
  36309. "environment variables need to be defined so that applications and libraries "
  36310. "know where to find them. Namely, the OpenSSL library honors the "
  36311. "@code{SSL_CERT_DIR} and @code{SSL_CERT_FILE} variables. Some applications "
  36312. "add their own environment variables; for instance, the Git version control "
  36313. "system honors the certificate bundle pointed to by the @code{GIT_SSL_CAINFO} "
  36314. "environment variable. Thus, you would typically run something like:"
  36315. msgstr ""
  36316. #. type: example
  36317. #: doc/guix.texi:19814
  36318. #, no-wrap
  36319. msgid ""
  36320. "$ guix package -i nss-certs\n"
  36321. "$ export SSL_CERT_DIR=\"$HOME/.guix-profile/etc/ssl/certs\"\n"
  36322. "$ export SSL_CERT_FILE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
  36323. "$ export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"\n"
  36324. msgstr ""
  36325. #. type: Plain text
  36326. #: doc/guix.texi:19819
  36327. msgid ""
  36328. "As another example, R requires the @code{CURL_CA_BUNDLE} environment "
  36329. "variable to point to a certificate bundle, so you would have to run "
  36330. "something like this:"
  36331. msgstr ""
  36332. #. type: example
  36333. #: doc/guix.texi:19823
  36334. #, no-wrap
  36335. msgid ""
  36336. "$ guix package -i nss-certs\n"
  36337. "$ export CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
  36338. msgstr ""
  36339. #. type: Plain text
  36340. #: doc/guix.texi:19827
  36341. msgid ""
  36342. "For other applications you may want to look up the required environment "
  36343. "variable in the relevant documentation."
  36344. msgstr ""
  36345. #. type: cindex
  36346. #: doc/guix.texi:19832
  36347. #, no-wrap
  36348. msgid "name service switch"
  36349. msgstr ""
  36350. #. type: cindex
  36351. #: doc/guix.texi:19833
  36352. #, no-wrap
  36353. msgid "NSS"
  36354. msgstr ""
  36355. #. type: Plain text
  36356. #: doc/guix.texi:19842
  36357. msgid ""
  36358. "The @code{(gnu system nss)} module provides bindings to the configuration "
  36359. "file of the libc @dfn{name service switch} or @dfn{NSS} (@pxref{NSS "
  36360. "Configuration File,,, libc, The GNU C Library Reference Manual}). In a "
  36361. "nutshell, the NSS is a mechanism that allows libc to be extended with new "
  36362. "``name'' lookup methods for system databases, which includes host names, "
  36363. "service names, user accounts, and more (@pxref{Name Service Switch, System "
  36364. "Databases and Name Service Switch,, libc, The GNU C Library Reference "
  36365. "Manual})."
  36366. msgstr ""
  36367. #. type: Plain text
  36368. #: doc/guix.texi:19849
  36369. msgid ""
  36370. "The NSS configuration specifies, for each system database, which lookup "
  36371. "method is to be used, and how the various methods are chained together---for "
  36372. "instance, under which circumstances NSS should try the next method in the "
  36373. "list. The NSS configuration is given in the @code{name-service-switch} "
  36374. "field of @code{operating-system} declarations (@pxref{operating-system "
  36375. "Reference, @code{name-service-switch}})."
  36376. msgstr ""
  36377. #. type: cindex
  36378. #: doc/guix.texi:19850
  36379. #, no-wrap
  36380. msgid "nss-mdns"
  36381. msgstr ""
  36382. #. type: cindex
  36383. #: doc/guix.texi:19851
  36384. #, no-wrap
  36385. msgid ".local, host name lookup"
  36386. msgstr ""
  36387. #. type: Plain text
  36388. #: doc/guix.texi:19856
  36389. msgid ""
  36390. "As an example, the declaration below configures the NSS to use the "
  36391. "@uref{http://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns} back-"
  36392. "end}, which supports host name lookups over multicast DNS (mDNS) for host "
  36393. "names ending in @code{.local}:"
  36394. msgstr ""
  36395. #. type: example
  36396. #: doc/guix.texi:19860
  36397. #, no-wrap
  36398. msgid ""
  36399. "(name-service-switch\n"
  36400. " (hosts (list %files ;first, check /etc/hosts\n"
  36401. "\n"
  36402. msgstr ""
  36403. #. type: example
  36404. #: doc/guix.texi:19865
  36405. #, no-wrap
  36406. msgid ""
  36407. " ;; If the above did not succeed, try\n"
  36408. " ;; with 'mdns_minimal'.\n"
  36409. " (name-service\n"
  36410. " (name \"mdns_minimal\")\n"
  36411. "\n"
  36412. msgstr ""
  36413. #. type: example
  36414. #: doc/guix.texi:19871
  36415. #, no-wrap
  36416. msgid ""
  36417. " ;; 'mdns_minimal' is authoritative for\n"
  36418. " ;; '.local'. When it returns \"not found\",\n"
  36419. " ;; no need to try the next methods.\n"
  36420. " (reaction (lookup-specification\n"
  36421. " (not-found => return))))\n"
  36422. "\n"
  36423. msgstr ""
  36424. #. type: example
  36425. #: doc/guix.texi:19875
  36426. #, no-wrap
  36427. msgid ""
  36428. " ;; Then fall back to DNS.\n"
  36429. " (name-service\n"
  36430. " (name \"dns\"))\n"
  36431. "\n"
  36432. msgstr ""
  36433. #. type: example
  36434. #: doc/guix.texi:19879
  36435. #, no-wrap
  36436. msgid ""
  36437. " ;; Finally, try with the \"full\" 'mdns'.\n"
  36438. " (name-service\n"
  36439. " (name \"mdns\")))))\n"
  36440. msgstr ""
  36441. #. type: Plain text
  36442. #: doc/guix.texi:19884
  36443. msgid ""
  36444. "Do not worry: the @code{%mdns-host-lookup-nss} variable (see below) "
  36445. "contains this configuration, so you will not have to type it if all you want "
  36446. "is to have @code{.local} host lookup working."
  36447. msgstr ""
  36448. #. type: Plain text
  36449. #: doc/guix.texi:19892
  36450. msgid ""
  36451. "Note that, in this case, in addition to setting the @code{name-service-"
  36452. "switch} of the @code{operating-system} declaration, you also need to use "
  36453. "@code{avahi-service} (@pxref{Networking Services, @code{avahi-service}}), or "
  36454. "@var{%desktop-services}, which includes it (@pxref{Desktop Services}). "
  36455. "Doing this makes @code{nss-mdns} accessible to the name service cache daemon "
  36456. "(@pxref{Base Services, @code{nscd-service}})."
  36457. msgstr ""
  36458. #. type: Plain text
  36459. #: doc/guix.texi:19895
  36460. msgid ""
  36461. "For convenience, the following variables provide typical NSS configurations."
  36462. msgstr ""
  36463. #. type: defvr
  36464. #: doc/guix.texi:19896
  36465. #, no-wrap
  36466. msgid "{Scheme Variable} %default-nss"
  36467. msgstr ""
  36468. #. type: defvr
  36469. #: doc/guix.texi:19899
  36470. msgid ""
  36471. "This is the default name service switch configuration, a @code{name-service-"
  36472. "switch} object."
  36473. msgstr ""
  36474. #. type: defvr
  36475. #: doc/guix.texi:19901
  36476. #, no-wrap
  36477. msgid "{Scheme Variable} %mdns-host-lookup-nss"
  36478. msgstr ""
  36479. #. type: defvr
  36480. #: doc/guix.texi:19904
  36481. msgid ""
  36482. "This is the name service switch configuration with support for host name "
  36483. "lookup over multicast DNS (mDNS) for host names ending in @code{.local}."
  36484. msgstr ""
  36485. #. type: Plain text
  36486. #: doc/guix.texi:19914
  36487. msgid ""
  36488. "The reference for name service switch configuration is given below. It is a "
  36489. "direct mapping of the configuration file format of the C library , so please "
  36490. "refer to the C library manual for more information (@pxref{NSS Configuration "
  36491. "File,,, libc, The GNU C Library Reference Manual}). Compared to the "
  36492. "configuration file format of libc NSS, it has the advantage not only of "
  36493. "adding this warm parenthetic feel that we like, but also static checks: you "
  36494. "will know about syntax errors and typos as soon as you run @command{guix "
  36495. "system}."
  36496. msgstr ""
  36497. #. type: deftp
  36498. #: doc/guix.texi:19915
  36499. #, no-wrap
  36500. msgid "{Data Type} name-service-switch"
  36501. msgstr ""
  36502. #. type: deftp
  36503. #: doc/guix.texi:19920
  36504. msgid ""
  36505. "This is the data type representation the configuration of libc's name "
  36506. "service switch (NSS). Each field below represents one of the supported "
  36507. "system databases."
  36508. msgstr ""
  36509. #. type: item
  36510. #: doc/guix.texi:19922
  36511. #, no-wrap
  36512. msgid "aliases"
  36513. msgstr ""
  36514. #. type: itemx
  36515. #: doc/guix.texi:19923
  36516. #, no-wrap
  36517. msgid "ethers"
  36518. msgstr ""
  36519. #. type: itemx
  36520. #: doc/guix.texi:19925
  36521. #, no-wrap
  36522. msgid "gshadow"
  36523. msgstr ""
  36524. #. type: itemx
  36525. #: doc/guix.texi:19926
  36526. #, no-wrap
  36527. msgid "hosts"
  36528. msgstr ""
  36529. #. type: itemx
  36530. #: doc/guix.texi:19927
  36531. #, no-wrap
  36532. msgid "initgroups"
  36533. msgstr ""
  36534. #. type: itemx
  36535. #: doc/guix.texi:19928
  36536. #, no-wrap
  36537. msgid "netgroup"
  36538. msgstr ""
  36539. #. type: itemx
  36540. #: doc/guix.texi:19929
  36541. #, no-wrap
  36542. msgid "networks"
  36543. msgstr ""
  36544. #. type: itemx
  36545. #: doc/guix.texi:19931
  36546. #, no-wrap
  36547. msgid "public-key"
  36548. msgstr ""
  36549. #. type: itemx
  36550. #: doc/guix.texi:19932
  36551. #, no-wrap
  36552. msgid "rpc"
  36553. msgstr ""
  36554. #. type: itemx
  36555. #: doc/guix.texi:19934
  36556. #, no-wrap
  36557. msgid "shadow"
  36558. msgstr ""
  36559. #. type: table
  36560. #: doc/guix.texi:19937
  36561. msgid ""
  36562. "The system databases handled by the NSS. Each of these fields must be a "
  36563. "list of @code{<name-service>} objects (see below)."
  36564. msgstr ""
  36565. #. type: deftp
  36566. #: doc/guix.texi:19940
  36567. #, no-wrap
  36568. msgid "{Data Type} name-service"
  36569. msgstr ""
  36570. #. type: deftp
  36571. #: doc/guix.texi:19944
  36572. msgid ""
  36573. "This is the data type representing an actual name service and the associated "
  36574. "lookup action."
  36575. msgstr ""
  36576. #. type: table
  36577. #: doc/guix.texi:19949
  36578. msgid ""
  36579. "A string denoting the name service (@pxref{Services in the NSS "
  36580. "configuration,,, libc, The GNU C Library Reference Manual})."
  36581. msgstr ""
  36582. #. type: table
  36583. #: doc/guix.texi:19954
  36584. msgid ""
  36585. "Note that name services listed here must be visible to nscd. This is "
  36586. "achieved by passing the @code{#:name-services} argument to @code{nscd-"
  36587. "service} the list of packages providing the needed name services "
  36588. "(@pxref{Base Services, @code{nscd-service}})."
  36589. msgstr ""
  36590. #. type: item
  36591. #: doc/guix.texi:19955
  36592. #, no-wrap
  36593. msgid "reaction"
  36594. msgstr ""
  36595. #. type: table
  36596. #: doc/guix.texi:19959
  36597. msgid ""
  36598. "An action specified using the @code{lookup-specification} macro "
  36599. "(@pxref{Actions in the NSS configuration,,, libc, The GNU C Library "
  36600. "Reference Manual}). For example:"
  36601. msgstr ""
  36602. #. type: example
  36603. #: doc/guix.texi:19963
  36604. #, no-wrap
  36605. msgid ""
  36606. "(lookup-specification (unavailable => continue)\n"
  36607. " (success => return))\n"
  36608. msgstr ""
  36609. #. type: Plain text
  36610. #: doc/guix.texi:19977
  36611. msgid ""
  36612. "For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial "
  36613. "RAM disk}, or @dfn{initrd}. An initrd contains a temporary root file system "
  36614. "as well as an initialization script. The latter is responsible for mounting "
  36615. "the real root file system, and for loading any kernel modules that may be "
  36616. "needed to achieve that."
  36617. msgstr ""
  36618. #. type: Plain text
  36619. #: doc/guix.texi:19986
  36620. msgid ""
  36621. "The @code{initrd-modules} field of an @code{operating-system} declaration "
  36622. "allows you to specify Linux-libre kernel modules that must be available in "
  36623. "the initrd. In particular, this is where you would list modules needed to "
  36624. "actually drive the hard disk where your root partition is---although the "
  36625. "default value of @code{initrd-modules} should cover most use cases. For "
  36626. "example, assuming you need the @code{megaraid_sas} module in addition to the "
  36627. "default modules to be able to access your root file system, you would write:"
  36628. msgstr ""
  36629. #. type: example
  36630. #: doc/guix.texi:19991
  36631. #, no-wrap
  36632. msgid ""
  36633. "(operating-system\n"
  36634. " ;; @dots{}\n"
  36635. " (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n"
  36636. msgstr ""
  36637. #. type: defvr
  36638. #: doc/guix.texi:19993
  36639. #, no-wrap
  36640. msgid "{Scheme Variable} %base-initrd-modules"
  36641. msgstr ""
  36642. #. type: defvr
  36643. #: doc/guix.texi:19995
  36644. msgid "This is the list of kernel modules included in the initrd by default."
  36645. msgstr ""
  36646. #. type: Plain text
  36647. #: doc/guix.texi:20003
  36648. msgid ""
  36649. "Furthermore, if you need lower-level customization, the @code{initrd} field "
  36650. "of an @code{operating-system} declaration allows you to specify which initrd "
  36651. "you would like to use. The @code{(gnu system linux-initrd)} module provides "
  36652. "three ways to build an initrd: the high-level @code{base-initrd} procedure "
  36653. "and the low-level @code{raw-initrd} and @code{expression->initrd} procedures."
  36654. msgstr ""
  36655. #. type: Plain text
  36656. #: doc/guix.texi:20008
  36657. msgid ""
  36658. "The @code{base-initrd} procedure is intended to cover most common uses. For "
  36659. "example, if you want to add a bunch of kernel modules to be loaded at boot "
  36660. "time, you can define the @code{initrd} field of the operating system "
  36661. "declaration like this:"
  36662. msgstr ""
  36663. #. type: example
  36664. #: doc/guix.texi:20016
  36665. #, no-wrap
  36666. msgid ""
  36667. "(initrd (lambda (file-systems . rest)\n"
  36668. " ;; Create a standard initrd but set up networking\n"
  36669. " ;; with the parameters QEMU expects by default.\n"
  36670. " (apply base-initrd file-systems\n"
  36671. " #:qemu-networking? #t\n"
  36672. " rest)))\n"
  36673. msgstr ""
  36674. #. type: Plain text
  36675. #: doc/guix.texi:20021
  36676. msgid ""
  36677. "The @code{base-initrd} procedure also handles common use cases that involves "
  36678. "using the system as a QEMU guest, or as a ``live'' system with volatile root "
  36679. "file system."
  36680. msgstr ""
  36681. #. type: Plain text
  36682. #: doc/guix.texi:20028
  36683. msgid ""
  36684. "The @code{base-initrd} procedure is built from @code{raw-initrd} procedure. "
  36685. "Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything high-level, "
  36686. "such as trying to guess which kernel modules and packages should be included "
  36687. "to the initrd. An example use of @code{raw-initrd} is when a user has a "
  36688. "custom Linux kernel configuration and default kernel modules included by "
  36689. "@code{base-initrd} are not available."
  36690. msgstr ""
  36691. #. type: Plain text
  36692. #: doc/guix.texi:20033
  36693. msgid ""
  36694. "The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd} "
  36695. "honors several options passed on the Linux kernel command line (that is, "
  36696. "arguments passed @i{via} the @code{linux} command of GRUB, or the @code{-"
  36697. "append} option of QEMU), notably:"
  36698. msgstr ""
  36699. #. type: item
  36700. #: doc/guix.texi:20035
  36701. #, no-wrap
  36702. msgid "--load=@var{boot}"
  36703. msgstr ""
  36704. #. type: table
  36705. #: doc/guix.texi:20038
  36706. msgid ""
  36707. "Tell the initial RAM disk to load @var{boot}, a file containing a Scheme "
  36708. "program, once it has mounted the root file system."
  36709. msgstr ""
  36710. #. type: table
  36711. #: doc/guix.texi:20042
  36712. msgid ""
  36713. "GuixSD uses this option to yield control to a boot program that runs the "
  36714. "service activation programs and then spawns the GNU@tie{}Shepherd, the "
  36715. "initialization system."
  36716. msgstr ""
  36717. #. type: item
  36718. #: doc/guix.texi:20043
  36719. #, no-wrap
  36720. msgid "--root=@var{root}"
  36721. msgstr ""
  36722. #. type: table
  36723. #: doc/guix.texi:20047
  36724. msgid ""
  36725. "Mount @var{root} as the root file system. @var{root} can be a device name "
  36726. "like @code{/dev/sda1}, a file system label, or a file system UUID."
  36727. msgstr ""
  36728. #. type: table
  36729. #: doc/guix.texi:20051
  36730. msgid ""
  36731. "Have @file{/run/booted-system} and @file{/run/current-system} point to "
  36732. "@var{system}."
  36733. msgstr ""
  36734. #. type: item
  36735. #: doc/guix.texi:20052
  36736. #, no-wrap
  36737. msgid "modprobe.blacklist=@var{modules}@dots{}"
  36738. msgstr ""
  36739. #. type: cindex
  36740. #: doc/guix.texi:20053
  36741. #, no-wrap
  36742. msgid "module, black-listing"
  36743. msgstr ""
  36744. #. type: cindex
  36745. #: doc/guix.texi:20054
  36746. #, no-wrap
  36747. msgid "black list, of kernel modules"
  36748. msgstr ""
  36749. #. type: table
  36750. #: doc/guix.texi:20059
  36751. msgid ""
  36752. "Instruct the initial RAM disk as well as the @command{modprobe} command "
  36753. "(from the kmod package) to refuse to load @var{modules}. @var{modules} must "
  36754. "be a comma-separated list of module names---e.g., @code{usbkbd,9pnet}."
  36755. msgstr ""
  36756. #. type: item
  36757. #: doc/guix.texi:20060
  36758. #, no-wrap
  36759. msgid "--repl"
  36760. msgstr ""
  36761. #. type: table
  36762. #: doc/guix.texi:20066
  36763. msgid ""
  36764. "Start a read-eval-print loop (REPL) from the initial RAM disk before it "
  36765. "tries to load kernel modules and to mount the root file system. Our "
  36766. "marketing team calls it @dfn{boot-to-Guile}. The Schemer in you will love "
  36767. "it. @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}, "
  36768. "for more information on Guile's REPL."
  36769. msgstr ""
  36770. #. type: Plain text
  36771. #: doc/guix.texi:20072
  36772. msgid ""
  36773. "Now that you know all the features that initial RAM disks produced by "
  36774. "@code{base-initrd} and @code{raw-initrd} provide, here is how to use it and "
  36775. "customize it further."
  36776. msgstr ""
  36777. #. type: deffn
  36778. #: doc/guix.texi:20075
  36779. #, no-wrap
  36780. msgid "{Monadic Procedure} raw-initrd @var{file-systems} @"
  36781. msgstr ""
  36782. #. type: deffn
  36783. #: doc/guix.texi:20087
  36784. msgid ""
  36785. "[#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] [#:"
  36786. "qemu-networking? #f] [#:volatile-root? #f] Return a monadic derivation that "
  36787. "builds a raw initrd. @var{file-systems} is a list of file systems to be "
  36788. "mounted by the initrd, possibly in addition to the root file system "
  36789. "specified on the kernel command line via @code{--root}. @var{linux-modules} "
  36790. "is a list of kernel modules to be loaded at boot time. @var{mapped-devices} "
  36791. "is a list of device mappings to realize before @var{file-systems} are "
  36792. "mounted (@pxref{Mapped Devices}). @var{helper-packages} is a list of "
  36793. "packages to be copied in the initrd. It may include @code{e2fsck/static} or "
  36794. "other packages needed by the initrd to check the root file system."
  36795. msgstr ""
  36796. #. type: deffn
  36797. #: doc/guix.texi:20091
  36798. msgid ""
  36799. "When @var{qemu-networking?} is true, set up networking with the standard "
  36800. "QEMU parameters. When @var{virtio?} is true, load additional modules so "
  36801. "that the initrd can be used as a QEMU guest with para-virtualized I/O "
  36802. "drivers."
  36803. msgstr ""
  36804. #. type: deffn
  36805. #: doc/guix.texi:20094
  36806. msgid ""
  36807. "When @var{volatile-root?} is true, the root file system is writable but any "
  36808. "changes to it are lost."
  36809. msgstr ""
  36810. #. type: deffn
  36811. #: doc/guix.texi:20096
  36812. #, no-wrap
  36813. msgid "{Monadic Procedure} base-initrd @var{file-systems} @"
  36814. msgstr ""
  36815. #. type: deffn
  36816. #: doc/guix.texi:20104
  36817. msgid ""
  36818. "[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ [#:"
  36819. "linux-modules '()] Return a monadic derivation that builds a generic initrd, "
  36820. "with kernel modules taken from @var{linux}. @var{file-systems} is a list of "
  36821. "file-systems to be mounted by the initrd, possibly in addition to the root "
  36822. "file system specified on the kernel command line via @code{--root}. "
  36823. "@var{mapped-devices} is a list of device mappings to realize before "
  36824. "@var{file-systems} are mounted."
  36825. msgstr ""
  36826. #. type: deffn
  36827. #: doc/guix.texi:20106
  36828. msgid ""
  36829. "@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-"
  36830. "initrd}."
  36831. msgstr ""
  36832. #. type: deffn
  36833. #: doc/guix.texi:20111
  36834. msgid ""
  36835. "The initrd is automatically populated with all the kernel modules necessary "
  36836. "for @var{file-systems} and for the given options. Additional kernel modules "
  36837. "can be listed in @var{linux-modules}. They will be added to the initrd, and "
  36838. "loaded at boot time in the order in which they appear."
  36839. msgstr ""
  36840. #. type: Plain text
  36841. #: doc/guix.texi:20118
  36842. msgid ""
  36843. "Needless to say, the initrds we produce and use embed a statically-linked "
  36844. "Guile, and the initialization program is a Guile program. That gives a lot "
  36845. "of flexibility. The @code{expression->initrd} procedure builds such an "
  36846. "initrd, given the program to run in that initrd."
  36847. msgstr ""
  36848. #. type: deffn
  36849. #: doc/guix.texi:20119
  36850. #, no-wrap
  36851. msgid "{Monadic Procedure} expression->initrd @var{exp} @"
  36852. msgstr ""
  36853. #. type: deffn
  36854. #: doc/guix.texi:20125
  36855. msgid ""
  36856. "[#:guile %guile-static-stripped] [#:name \"guile-initrd\"] Return a "
  36857. "derivation that builds a Linux initrd (a gzipped cpio archive) containing "
  36858. "@var{guile} and that evaluates @var{exp}, a G-expression, upon booting. All "
  36859. "the derivations referenced by @var{exp} are automatically copied to the "
  36860. "initrd."
  36861. msgstr ""
  36862. #. type: cindex
  36863. #: doc/guix.texi:20131
  36864. #, no-wrap
  36865. msgid "boot loader"
  36866. msgstr ""
  36867. #. type: Plain text
  36868. #: doc/guix.texi:20138
  36869. msgid ""
  36870. "The operating system supports multiple bootloaders. The bootloader is "
  36871. "configured using @code{bootloader-configuration} declaration. All the "
  36872. "fields of this structure are bootloader agnostic except for one field, "
  36873. "@code{bootloader} that indicates the bootloader to be configured and "
  36874. "installed."
  36875. msgstr ""
  36876. #. type: Plain text
  36877. #: doc/guix.texi:20143
  36878. msgid ""
  36879. "Some of the bootloaders do not honor every field of @code{bootloader-"
  36880. "configuration}. For instance, the extlinux bootloader does not support "
  36881. "themes and thus ignores the @code{theme} field."
  36882. msgstr ""
  36883. #. type: deftp
  36884. #: doc/guix.texi:20144
  36885. #, no-wrap
  36886. msgid "{Data Type} bootloader-configuration"
  36887. msgstr ""
  36888. #. type: deftp
  36889. #: doc/guix.texi:20146
  36890. msgid "The type of a bootloader configuration declaration."
  36891. msgstr ""
  36892. #. type: cindex
  36893. #: doc/guix.texi:20150
  36894. #, no-wrap
  36895. msgid "EFI, bootloader"
  36896. msgstr ""
  36897. #. type: cindex
  36898. #: doc/guix.texi:20151
  36899. #, no-wrap
  36900. msgid "UEFI, bootloader"
  36901. msgstr ""
  36902. #. type: cindex
  36903. #: doc/guix.texi:20152
  36904. #, no-wrap
  36905. msgid "BIOS, bootloader"
  36906. msgstr ""
  36907. #. type: table
  36908. #: doc/guix.texi:20158
  36909. msgid ""
  36910. "The bootloader to use, as a @code{bootloader} object. For now @code{grub-"
  36911. "bootloader}, @code{grub-efi-bootloader}, @code{extlinux-bootloader} and "
  36912. "@code{u-boot-bootloader} are supported. @code{grub-efi-bootloader} allows "
  36913. "to boot on modern systems using the @dfn{Unified Extensible Firmware "
  36914. "Interface} (UEFI)."
  36915. msgstr ""
  36916. #. type: table
  36917. #: doc/guix.texi:20161
  36918. msgid ""
  36919. "Available bootloaders are described in @code{(gnu bootloader @dots{})} "
  36920. "modules."
  36921. msgstr ""
  36922. #. type: table
  36923. #: doc/guix.texi:20171
  36924. msgid ""
  36925. "This is a string denoting the target onto which to install the bootloader. "
  36926. "The exact interpretation depends on the bootloader in question; for "
  36927. "@code{grub-bootloader}, for example, it should be a device name understood "
  36928. "by the bootloader @command{installer} command, such as @code{/dev/sda} or "
  36929. "@code{(hd0)} (for GRUB, @pxref{Invoking grub-install,,, grub, GNU GRUB "
  36930. "Manual}). For @code{grub-efi-bootloader}, it should be the path to a "
  36931. "mounted EFI file system."
  36932. msgstr ""
  36933. #. type: item
  36934. #: doc/guix.texi:20172
  36935. #, no-wrap
  36936. msgid "@code{menu-entries} (default: @code{()})"
  36937. msgstr ""
  36938. #. type: table
  36939. #: doc/guix.texi:20176
  36940. msgid ""
  36941. "A possibly empty list of @code{menu-entry} objects (see below), denoting "
  36942. "entries to appear in the bootloader menu, in addition to the current system "
  36943. "entry and the entry pointing to previous system generations."
  36944. msgstr ""
  36945. #. type: item
  36946. #: doc/guix.texi:20177
  36947. #, no-wrap
  36948. msgid "@code{default-entry} (default: @code{0})"
  36949. msgstr ""
  36950. #. type: table
  36951. #: doc/guix.texi:20180
  36952. msgid ""
  36953. "The index of the default boot menu entry. Index 0 is for the entry of the "
  36954. "current system."
  36955. msgstr ""
  36956. #. type: item
  36957. #: doc/guix.texi:20181
  36958. #, no-wrap
  36959. msgid "@code{timeout} (default: @code{5})"
  36960. msgstr ""
  36961. #. type: table
  36962. #: doc/guix.texi:20184
  36963. msgid ""
  36964. "The number of seconds to wait for keyboard input before booting. Set to 0 "
  36965. "to boot immediately, and to -1 to wait indefinitely."
  36966. msgstr ""
  36967. #. type: item
  36968. #: doc/guix.texi:20185
  36969. #, no-wrap
  36970. msgid "@code{theme} (default: @var{#f})"
  36971. msgstr ""
  36972. #. type: table
  36973. #: doc/guix.texi:20189
  36974. msgid ""
  36975. "The bootloader theme object describing the theme to use. If no theme is "
  36976. "provided, some bootloaders might use a default theme, that's true for GRUB."
  36977. msgstr ""
  36978. #. type: item
  36979. #: doc/guix.texi:20190
  36980. #, no-wrap
  36981. msgid "@code{terminal-outputs} (default: @code{'gfxterm})"
  36982. msgstr ""
  36983. #. type: table
  36984. #: doc/guix.texi:20197
  36985. msgid ""
  36986. "The output terminals used for the bootloader boot menu, as a list of "
  36987. "symbols. GRUB accepts the values: @code{console}, @code{serial}, "
  36988. "@code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, "
  36989. "@code{morse}, and @code{pkmodem}. This field corresponds to the GRUB "
  36990. "variable GRUB_TERMINAL_OUTPUT (@pxref{Simple configuration,,, grub,GNU GRUB "
  36991. "manual})."
  36992. msgstr ""
  36993. #. type: item
  36994. #: doc/guix.texi:20198
  36995. #, no-wrap
  36996. msgid "@code{terminal-inputs} (default: @code{'()})"
  36997. msgstr ""
  36998. #. type: table
  36999. #: doc/guix.texi:20206
  37000. msgid ""
  37001. "The input terminals used for the bootloader boot menu, as a list of "
  37002. "symbols. For GRUB, the default is the native platform terminal as "
  37003. "determined at run-time. GRUB accepts the values: @code{console}, "
  37004. "@code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and "
  37005. "@code{usb_keyboard}. This field corresponds to the GRUB variable "
  37006. "GRUB_TERMINAL_INPUT (@pxref{Simple configuration,,, grub,GNU GRUB manual})."
  37007. msgstr ""
  37008. #. type: item
  37009. #: doc/guix.texi:20207
  37010. #, no-wrap
  37011. msgid "@code{serial-unit} (default: @code{#f})"
  37012. msgstr ""
  37013. #. type: table
  37014. #: doc/guix.texi:20211
  37015. msgid ""
  37016. "The serial unit used by the bootloader, as an integer from 0 to 3. For "
  37017. "GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds "
  37018. "to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
  37019. msgstr ""
  37020. #. type: item
  37021. #: doc/guix.texi:20212
  37022. #, no-wrap
  37023. msgid "@code{serial-speed} (default: @code{#f})"
  37024. msgstr ""
  37025. #. type: table
  37026. #: doc/guix.texi:20216
  37027. msgid ""
  37028. "The speed of the serial interface, as an integer. For GRUB, the default "
  37029. "value is chosen at run-time; currently GRUB chooses 9600@tie{}bps "
  37030. "(@pxref{Serial terminal,,, grub,GNU GRUB manual})."
  37031. msgstr ""
  37032. #. type: cindex
  37033. #: doc/guix.texi:20220
  37034. #, no-wrap
  37035. msgid "dual boot"
  37036. msgstr ""
  37037. #. type: cindex
  37038. #: doc/guix.texi:20221
  37039. #, no-wrap
  37040. msgid "boot menu"
  37041. msgstr ""
  37042. #. type: Plain text
  37043. #: doc/guix.texi:20227
  37044. msgid ""
  37045. "Should you want to list additional boot menu entries @i{via} the @code{menu-"
  37046. "entries} field above, you will need to create them with the @code{menu-"
  37047. "entry} form. For example, imagine you want to be able to boot another "
  37048. "distro (hard to imagine!), you can define a menu entry along these lines:"
  37049. msgstr ""
  37050. #. type: example
  37051. #: doc/guix.texi:20234
  37052. #, no-wrap
  37053. msgid ""
  37054. "(menu-entry\n"
  37055. " (label \"The Other Distro\")\n"
  37056. " (linux \"/boot/old/vmlinux-2.6.32\")\n"
  37057. " (linux-arguments '(\"root=/dev/sda2\"))\n"
  37058. " (initrd \"/boot/old/initrd\"))\n"
  37059. msgstr ""
  37060. #. type: Plain text
  37061. #: doc/guix.texi:20237
  37062. msgid "Details below."
  37063. msgstr ""
  37064. #. type: deftp
  37065. #: doc/guix.texi:20238
  37066. #, no-wrap
  37067. msgid "{Data Type} menu-entry"
  37068. msgstr ""
  37069. #. type: deftp
  37070. #: doc/guix.texi:20240
  37071. msgid "The type of an entry in the bootloader menu."
  37072. msgstr ""
  37073. #. type: code{#1}
  37074. #: doc/guix.texi:20243
  37075. #, no-wrap
  37076. msgid "label"
  37077. msgstr ""
  37078. #. type: table
  37079. #: doc/guix.texi:20245
  37080. msgid "The label to show in the menu---e.g., @code{\"GNU\"}."
  37081. msgstr ""
  37082. #. type: code{#1}
  37083. #: doc/guix.texi:20246
  37084. #, no-wrap
  37085. msgid "linux"
  37086. msgstr ""
  37087. #. type: table
  37088. #: doc/guix.texi:20248
  37089. msgid "The Linux kernel image to boot, for example:"
  37090. msgstr ""
  37091. #. type: example
  37092. #: doc/guix.texi:20251
  37093. #, no-wrap
  37094. msgid "(file-append linux-libre \"/bzImage\")\n"
  37095. msgstr ""
  37096. #. type: table
  37097. #: doc/guix.texi:20256
  37098. msgid ""
  37099. "For GRUB, it is also possible to specify a device explicitly in the file "
  37100. "path using GRUB's device naming convention (@pxref{Naming convention,,, "
  37101. "grub, GNU GRUB manual}), for example:"
  37102. msgstr ""
  37103. #. type: example
  37104. #: doc/guix.texi:20259
  37105. #, no-wrap
  37106. msgid "\"(hd0,msdos1)/boot/vmlinuz\"\n"
  37107. msgstr ""
  37108. #. type: table
  37109. #: doc/guix.texi:20263
  37110. msgid ""
  37111. "If the device is specified explicitly as above, then the @code{device} field "
  37112. "is ignored entirely."
  37113. msgstr ""
  37114. #. type: item
  37115. #: doc/guix.texi:20264
  37116. #, no-wrap
  37117. msgid "@code{linux-arguments} (default: @code{()})"
  37118. msgstr ""
  37119. #. type: table
  37120. #: doc/guix.texi:20267
  37121. msgid ""
  37122. "The list of extra Linux kernel command-line arguments---e.g., "
  37123. "@code{(\"console=ttyS0\")}."
  37124. msgstr ""
  37125. #. type: table
  37126. #: doc/guix.texi:20271
  37127. msgid ""
  37128. "A G-Expression or string denoting the file name of the initial RAM disk to "
  37129. "use (@pxref{G-Expressions})."
  37130. msgstr ""
  37131. #. type: item
  37132. #: doc/guix.texi:20271
  37133. #, no-wrap
  37134. msgid "@code{device} (default: @code{#f})"
  37135. msgstr ""
  37136. #. type: table
  37137. #: doc/guix.texi:20274
  37138. msgid ""
  37139. "The device where the kernel and initrd are to be found---i.e., for GRUB, "
  37140. "@dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual})."
  37141. msgstr ""
  37142. #. type: table
  37143. #: doc/guix.texi:20280
  37144. msgid ""
  37145. "This may be a file system label (a string), a file system UUID (a "
  37146. "bytevector, @pxref{File Systems}), or @code{#f}, in which case the "
  37147. "bootloader will search the device containing the file specified by the "
  37148. "@code{linux} field (@pxref{search,,, grub, GNU GRUB manual}). It must "
  37149. "@emph{not} be an OS device name such as @file{/dev/sda1}."
  37150. msgstr ""
  37151. #. type: Plain text
  37152. #: doc/guix.texi:20287
  37153. msgid ""
  37154. "Fow now only GRUB has theme support. GRUB themes are created using the "
  37155. "@code{grub-theme} form, which is not documented yet."
  37156. msgstr ""
  37157. #. type: defvr
  37158. #: doc/guix.texi:20292
  37159. msgid ""
  37160. "This is the default GRUB theme used by the operating system if no "
  37161. "@code{theme} field is specified in @code{bootloader-configuration} record."
  37162. msgstr ""
  37163. #. type: defvr
  37164. #: doc/guix.texi:20295
  37165. msgid ""
  37166. "It comes with a fancy background image displaying the GNU and Guix logos."
  37167. msgstr ""
  37168. #. type: subsection
  37169. #: doc/guix.texi:20299
  37170. #, no-wrap
  37171. msgid "Invoking @code{guix system}"
  37172. msgstr ""
  37173. #. type: Plain text
  37174. #: doc/guix.texi:20304
  37175. msgid ""
  37176. "Once you have written an operating system declaration as seen in the "
  37177. "previous section, it can be @dfn{instantiated} using the @command{guix "
  37178. "system} command. The synopsis is:"
  37179. msgstr ""
  37180. #. type: example
  37181. #: doc/guix.texi:20307
  37182. #, no-wrap
  37183. msgid "guix system @var{options}@dots{} @var{action} @var{file}\n"
  37184. msgstr ""
  37185. #. type: Plain text
  37186. #: doc/guix.texi:20313
  37187. msgid ""
  37188. "@var{file} must be the name of a file containing an @code{operating-system} "
  37189. "declaration. @var{action} specifies how the operating system is "
  37190. "instantiated. Currently the following values are supported:"
  37191. msgstr ""
  37192. #. type: item
  37193. #: doc/guix.texi:20315
  37194. #, no-wrap
  37195. msgid "search"
  37196. msgstr ""
  37197. #. type: table
  37198. #: doc/guix.texi:20318
  37199. msgid ""
  37200. "Display available service type definitions that match the given regular "
  37201. "expressions, sorted by relevance:"
  37202. msgstr ""
  37203. #. type: example
  37204. #: doc/guix.texi:20330
  37205. #, no-wrap
  37206. msgid ""
  37207. "$ guix system search console font\n"
  37208. "name: console-fonts\n"
  37209. "location: gnu/services/base.scm:729:2\n"
  37210. "extends: shepherd-root\n"
  37211. "description: Install the given fonts on the specified ttys (fonts are\n"
  37212. "+ per virtual console on GNU/Linux). The value of this service is a list\n"
  37213. "+ of tty/font pairs like:\n"
  37214. "+ \n"
  37215. "+ '((\"tty1\" . \"LatGrkCyr-8x16\"))\n"
  37216. "relevance: 20\n"
  37217. "\n"
  37218. msgstr ""
  37219. #. type: example
  37220. #: doc/guix.texi:20336
  37221. #, no-wrap
  37222. msgid ""
  37223. "name: mingetty\n"
  37224. "location: gnu/services/base.scm:1048:2\n"
  37225. "extends: shepherd-root\n"
  37226. "description: Provide console login using the `mingetty' program.\n"
  37227. "relevance: 2\n"
  37228. "\n"
  37229. msgstr ""
  37230. #. type: example
  37231. #: doc/guix.texi:20343
  37232. #, no-wrap
  37233. msgid ""
  37234. "name: login\n"
  37235. "location: gnu/services/base.scm:775:2\n"
  37236. "extends: pam\n"
  37237. "description: Provide a console log-in service as specified by its\n"
  37238. "+ configuration value, a `login-configuration' object.\n"
  37239. "relevance: 2\n"
  37240. "\n"
  37241. msgstr ""
  37242. #. type: example
  37243. #: doc/guix.texi:20345
  37244. #, no-wrap
  37245. msgid "@dots{}\n"
  37246. msgstr ""
  37247. #. type: table
  37248. #: doc/guix.texi:20350
  37249. msgid ""
  37250. "As for @command{guix package --search}, the result is written in "
  37251. "@code{recutils} format, which makes it easy to filter the output "
  37252. "(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
  37253. msgstr ""
  37254. #. type: item
  37255. #: doc/guix.texi:20351
  37256. #, no-wrap
  37257. msgid "reconfigure"
  37258. msgstr ""
  37259. #. type: table
  37260. #: doc/guix.texi:20356
  37261. msgid ""
  37262. "Build the operating system described in @var{file}, activate it, and switch "
  37263. "to it@footnote{This action (and the related actions @code{switch-generation} "
  37264. "and @code{roll-back}) are usable only on systems already running GuixSD.}."
  37265. msgstr ""
  37266. #. type: table
  37267. #: doc/guix.texi:20363
  37268. msgid ""
  37269. "This effects all the configuration specified in @var{file}: user accounts, "
  37270. "system services, global package list, setuid programs, etc. The command "
  37271. "starts system services specified in @var{file} that are not currently "
  37272. "running; if a service is currently running, it does not attempt to upgrade "
  37273. "it since this would not be possible without stopping it first."
  37274. msgstr ""
  37275. #. type: table
  37276. #: doc/guix.texi:20369
  37277. msgid ""
  37278. "This command creates a new generation whose number is one greater than the "
  37279. "current generation (as reported by @command{guix system list-generations}). "
  37280. "If that generation already exists, it will be overwritten. This behavior "
  37281. "mirrors that of @command{guix package} (@pxref{Invoking guix package})."
  37282. msgstr ""
  37283. #. type: table
  37284. #: doc/guix.texi:20374
  37285. msgid ""
  37286. "It also adds a bootloader menu entry for the new OS configuration, ---unless "
  37287. "@option{--no-bootloader} is passed. For GRUB, it moves entries for older "
  37288. "configurations to a submenu, allowing you to choose an older system "
  37289. "generation at boot time should you need it."
  37290. msgstr ""
  37291. #. type: quotation
  37292. #: doc/guix.texi:20382
  37293. msgid ""
  37294. "It is highly recommended to run @command{guix pull} once before you run "
  37295. "@command{guix system reconfigure} for the first time (@pxref{Invoking guix "
  37296. "pull}). Failing to do that you would see an older version of Guix once "
  37297. "@command{reconfigure} has completed."
  37298. msgstr ""
  37299. #. type: item
  37300. #: doc/guix.texi:20384
  37301. #, no-wrap
  37302. msgid "switch-generation"
  37303. msgstr ""
  37304. #. type: table
  37305. #: doc/guix.texi:20393
  37306. msgid ""
  37307. "Switch to an existing system generation. This action atomically switches "
  37308. "the system profile to the specified system generation. It also rearranges "
  37309. "the system's existing bootloader menu entries. It makes the menu entry for "
  37310. "the specified system generation the default, and it moves the entries for "
  37311. "the other generatiors to a submenu, if supported by the bootloader being "
  37312. "used. The next time the system boots, it will use the specified system "
  37313. "generation."
  37314. msgstr ""
  37315. #. type: table
  37316. #: doc/guix.texi:20397
  37317. msgid ""
  37318. "The bootloader itself is not being reinstalled when using this command. "
  37319. "Thus, the installed bootloader is used with an updated configuration file."
  37320. msgstr ""
  37321. #. type: table
  37322. #: doc/guix.texi:20401
  37323. msgid ""
  37324. "The target generation can be specified explicitly by its generation number. "
  37325. "For example, the following invocation would switch to system generation 7:"
  37326. msgstr ""
  37327. #. type: example
  37328. #: doc/guix.texi:20404
  37329. #, no-wrap
  37330. msgid "guix system switch-generation 7\n"
  37331. msgstr ""
  37332. #. type: table
  37333. #: doc/guix.texi:20412
  37334. msgid ""
  37335. "The target generation can also be specified relative to the current "
  37336. "generation with the form @code{+N} or @code{-N}, where @code{+3} means ``3 "
  37337. "generations ahead of the current generation,'' and @code{-1} means ``1 "
  37338. "generation prior to the current generation.'' When specifying a negative "
  37339. "value such as @code{-1}, you must precede it with @code{--} to prevent it "
  37340. "from being parsed as an option. For example:"
  37341. msgstr ""
  37342. #. type: example
  37343. #: doc/guix.texi:20415
  37344. #, no-wrap
  37345. msgid "guix system switch-generation -- -1\n"
  37346. msgstr ""
  37347. #. type: table
  37348. #: doc/guix.texi:20423
  37349. msgid ""
  37350. "Currently, the effect of invoking this action is @emph{only} to switch the "
  37351. "system profile to an existing generation and rearrange the bootloader menu "
  37352. "entries. To actually start using the target system generation, you must "
  37353. "reboot after running this action. In the future, it will be updated to do "
  37354. "the same things as @command{reconfigure}, like activating and deactivating "
  37355. "services."
  37356. msgstr ""
  37357. #. type: table
  37358. #: doc/guix.texi:20425
  37359. msgid "This action will fail if the specified generation does not exist."
  37360. msgstr ""
  37361. #. type: item
  37362. #: doc/guix.texi:20426
  37363. #, no-wrap
  37364. msgid "roll-back"
  37365. msgstr ""
  37366. #. type: table
  37367. #: doc/guix.texi:20432
  37368. msgid ""
  37369. "Switch to the preceding system generation. The next time the system boots, "
  37370. "it will use the preceding system generation. This is the inverse of "
  37371. "@command{reconfigure}, and it is exactly the same as invoking "
  37372. "@command{switch-generation} with an argument of @code{-1}."
  37373. msgstr ""
  37374. #. type: table
  37375. #: doc/guix.texi:20436
  37376. msgid ""
  37377. "Currently, as with @command{switch-generation}, you must reboot after "
  37378. "running this action to actually start using the preceding system generation."
  37379. msgstr ""
  37380. #. type: table
  37381. #: doc/guix.texi:20441
  37382. msgid ""
  37383. "Build the derivation of the operating system, which includes all the "
  37384. "configuration files and programs needed to boot and run the system. This "
  37385. "action does not actually install anything."
  37386. msgstr ""
  37387. #. type: item
  37388. #: doc/guix.texi:20442
  37389. #, no-wrap
  37390. msgid "init"
  37391. msgstr ""
  37392. #. type: table
  37393. #: doc/guix.texi:20446
  37394. msgid ""
  37395. "Populate the given directory with all the files necessary to run the "
  37396. "operating system specified in @var{file}. This is useful for first-time "
  37397. "installations of GuixSD. For instance:"
  37398. msgstr ""
  37399. #. type: example
  37400. #: doc/guix.texi:20449
  37401. #, no-wrap
  37402. msgid "guix system init my-os-config.scm /mnt\n"
  37403. msgstr ""
  37404. #. type: table
  37405. #: doc/guix.texi:20456
  37406. msgid ""
  37407. "copies to @file{/mnt} all the store items required by the configuration "
  37408. "specified in @file{my-os-config.scm}. This includes configuration files, "
  37409. "packages, and so on. It also creates other essential files needed for the "
  37410. "system to operate correctly---e.g., the @file{/etc}, @file{/var}, and @file{/"
  37411. "run} directories, and the @file{/bin/sh} file."
  37412. msgstr ""
  37413. #. type: table
  37414. #: doc/guix.texi:20460
  37415. msgid ""
  37416. "This command also installs bootloader on the target specified in @file{my-os-"
  37417. "config}, unless the @option{--no-bootloader} option was passed."
  37418. msgstr ""
  37419. #. type: item
  37420. #: doc/guix.texi:20461
  37421. #, no-wrap
  37422. msgid "vm"
  37423. msgstr ""
  37424. #. type: cindex
  37425. #: doc/guix.texi:20462 doc/guix.texi:20726
  37426. #, no-wrap
  37427. msgid "virtual machine"
  37428. msgstr ""
  37429. #. type: cindex
  37430. #: doc/guix.texi:20463
  37431. #, no-wrap
  37432. msgid "VM"
  37433. msgstr ""
  37434. #. type: anchor{#1}
  37435. #: doc/guix.texi:20470
  37436. msgid "guix system vm"
  37437. msgstr ""
  37438. #. type: table
  37439. #: doc/guix.texi:20470
  37440. msgid ""
  37441. "Build a virtual machine that contains the operating system declared in "
  37442. "@var{file}, and return a script to run that virtual machine (VM). Arguments "
  37443. "given to the script are passed to QEMU as in the example below, which "
  37444. "enables networking and requests 1@tie{}GiB of RAM for the emulated machine:"
  37445. msgstr ""
  37446. #. type: example
  37447. #: doc/guix.texi:20473
  37448. #, no-wrap
  37449. msgid "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user\n"
  37450. msgstr ""
  37451. #. type: table
  37452. #: doc/guix.texi:20476
  37453. msgid "The VM shares its store with the host system."
  37454. msgstr ""
  37455. #. type: table
  37456. #: doc/guix.texi:20481
  37457. msgid ""
  37458. "Additional file systems can be shared between the host and the VM using the "
  37459. "@code{--share} and @code{--expose} command-line options: the former "
  37460. "specifies a directory to be shared with write access, while the latter "
  37461. "provides read-only access to the shared directory."
  37462. msgstr ""
  37463. #. type: table
  37464. #: doc/guix.texi:20485
  37465. msgid ""
  37466. "The example below creates a VM in which the user's home directory is "
  37467. "accessible read-only, and where the @file{/exchange} directory is a read-"
  37468. "write mapping of @file{$HOME/tmp} on the host:"
  37469. msgstr ""
  37470. #. type: example
  37471. #: doc/guix.texi:20489
  37472. #, no-wrap
  37473. msgid ""
  37474. "guix system vm my-config.scm \\\n"
  37475. " --expose=$HOME --share=$HOME/tmp=/exchange\n"
  37476. msgstr ""
  37477. #. type: table
  37478. #: doc/guix.texi:20494
  37479. msgid ""
  37480. "On GNU/Linux, the default is to boot directly to the kernel; this has the "
  37481. "advantage of requiring only a very tiny root disk image since the store of "
  37482. "the host can then be mounted."
  37483. msgstr ""
  37484. #. type: table
  37485. #: doc/guix.texi:20500
  37486. msgid ""
  37487. "The @code{--full-boot} option forces a complete boot sequence, starting with "
  37488. "the bootloader. This requires more disk space since a root image containing "
  37489. "at least the kernel, initrd, and bootloader data files must be created. The "
  37490. "@code{--image-size} option can be used to specify the size of the image."
  37491. msgstr ""
  37492. #. type: cindex
  37493. #: doc/guix.texi:20501
  37494. #, no-wrap
  37495. msgid "System images, creation in various formats"
  37496. msgstr ""
  37497. #. type: cindex
  37498. #: doc/guix.texi:20502
  37499. #, no-wrap
  37500. msgid "Creating system images in various formats"
  37501. msgstr ""
  37502. #. type: item
  37503. #: doc/guix.texi:20503
  37504. #, no-wrap
  37505. msgid "vm-image"
  37506. msgstr ""
  37507. #. type: itemx
  37508. #: doc/guix.texi:20504
  37509. #, no-wrap
  37510. msgid "disk-image"
  37511. msgstr ""
  37512. #. type: itemx
  37513. #: doc/guix.texi:20505
  37514. #, no-wrap
  37515. msgid "docker-image"
  37516. msgstr ""
  37517. #. type: table
  37518. #: doc/guix.texi:20513
  37519. msgid ""
  37520. "Return a virtual machine, disk image, or Docker image of the operating "
  37521. "system declared in @var{file} that stands alone. By default, @command{guix "
  37522. "system} estimates the size of the image needed to store the system, but you "
  37523. "can use the @option{--image-size} option to specify a value. Docker images "
  37524. "are built to contain exactly what they need, so the @option{--image-size} "
  37525. "option is ignored in the case of @code{docker-image}."
  37526. msgstr ""
  37527. #. type: table
  37528. #: doc/guix.texi:20516
  37529. msgid ""
  37530. "You can specify the root file system type by using the @option{--file-system-"
  37531. "type} option. It defaults to @code{ext4}."
  37532. msgstr ""
  37533. #. type: table
  37534. #: doc/guix.texi:20520
  37535. msgid ""
  37536. "When using @code{vm-image}, the returned image is in qcow2 format, which the "
  37537. "QEMU emulator can efficiently use. @xref{Running GuixSD in a VM}, for more "
  37538. "information on how to run the image in a virtual machine."
  37539. msgstr ""
  37540. #. type: table
  37541. #: doc/guix.texi:20525
  37542. msgid ""
  37543. "When using @code{disk-image}, a raw disk image is produced; it can be copied "
  37544. "as is to a USB stick, for instance. Assuming @code{/dev/sdc} is the device "
  37545. "corresponding to a USB stick, one can copy the image to it using the "
  37546. "following command:"
  37547. msgstr ""
  37548. #. type: example
  37549. #: doc/guix.texi:20528
  37550. #, no-wrap
  37551. msgid "# dd if=$(guix system disk-image my-os.scm) of=/dev/sdc\n"
  37552. msgstr ""
  37553. #. type: table
  37554. #: doc/guix.texi:20535
  37555. msgid ""
  37556. "When using @code{docker-image}, a Docker image is produced. Guix builds the "
  37557. "image from scratch, not from a pre-existing Docker base image. As a result, "
  37558. "it contains @emph{exactly} what you define in the operating system "
  37559. "configuration file. You can then load the image and launch a Docker "
  37560. "container using commands like the following:"
  37561. msgstr ""
  37562. #. type: example
  37563. #: doc/guix.texi:20541
  37564. #, no-wrap
  37565. msgid ""
  37566. "image_id=\"$(docker load < guixsd-docker-image.tar.gz)\"\n"
  37567. "docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\\\\n"
  37568. " --entrypoint /var/guix/profiles/system/profile/bin/guile \\\\\n"
  37569. " $image_id /var/guix/profiles/system/boot\n"
  37570. msgstr ""
  37571. #. type: table
  37572. #: doc/guix.texi:20551
  37573. msgid ""
  37574. "This command starts a new Docker container from the specified image. It "
  37575. "will boot the GuixSD system in the usual manner, which means it will start "
  37576. "any services you have defined in the operating system configuration. "
  37577. "Depending on what you run in the Docker container, it may be necessary to "
  37578. "give the container additional permissions. For example, if you intend to "
  37579. "build software using Guix inside of the Docker container, you may need to "
  37580. "pass the @option{--privileged} option to @code{docker run}."
  37581. msgstr ""
  37582. #. type: table
  37583. #: doc/guix.texi:20559
  37584. msgid ""
  37585. "Return a script to run the operating system declared in @var{file} within a "
  37586. "container. Containers are a set of lightweight isolation mechanisms "
  37587. "provided by the kernel Linux-libre. Containers are substantially less "
  37588. "resource-demanding than full virtual machines since the kernel, shared "
  37589. "objects, and other resources can be shared with the host system; this also "
  37590. "means they provide thinner isolation."
  37591. msgstr ""
  37592. #. type: table
  37593. #: doc/guix.texi:20563
  37594. msgid ""
  37595. "Currently, the script must be run as root in order to support more than a "
  37596. "single user and group. The container shares its store with the host system."
  37597. msgstr ""
  37598. #. type: table
  37599. #: doc/guix.texi:20567
  37600. msgid ""
  37601. "As with the @code{vm} action (@pxref{guix system vm}), additional file "
  37602. "systems to be shared between the host and container can be specified using "
  37603. "the @option{--share} and @option{--expose} options:"
  37604. msgstr ""
  37605. #. type: example
  37606. #: doc/guix.texi:20571
  37607. #, no-wrap
  37608. msgid ""
  37609. "guix system container my-config.scm \\\n"
  37610. " --expose=$HOME --share=$HOME/tmp=/exchange\n"
  37611. msgstr ""
  37612. #. type: quotation
  37613. #: doc/guix.texi:20575
  37614. msgid "This option requires Linux-libre 3.19 or newer."
  37615. msgstr ""
  37616. #. type: Plain text
  37617. #: doc/guix.texi:20582
  37618. msgid ""
  37619. "@var{options} can contain any of the common build options (@pxref{Common "
  37620. "Build Options}). In addition, @var{options} can contain one of the "
  37621. "following:"
  37622. msgstr ""
  37623. #. type: table
  37624. #: doc/guix.texi:20591
  37625. msgid ""
  37626. "Consider the operating-system @var{expr} evaluates to. This is an "
  37627. "alternative to specifying a file which evaluates to an operating system. "
  37628. "This is used to generate the GuixSD installer @pxref{Building the "
  37629. "Installation Image})."
  37630. msgstr ""
  37631. #. type: table
  37632. #: doc/guix.texi:20596
  37633. msgid ""
  37634. "Attempt to build for @var{system} instead of the host system type. This "
  37635. "works as per @command{guix build} (@pxref{Invoking guix build})."
  37636. msgstr ""
  37637. #. type: item
  37638. #: doc/guix.texi:20597
  37639. #, no-wrap
  37640. msgid "--derivation"
  37641. msgstr ""
  37642. #. type: table
  37643. #: doc/guix.texi:20601
  37644. msgid ""
  37645. "Return the derivation file name of the given operating system without "
  37646. "building anything."
  37647. msgstr ""
  37648. #. type: item
  37649. #: doc/guix.texi:20602
  37650. #, no-wrap
  37651. msgid "--file-system-type=@var{type}"
  37652. msgstr ""
  37653. #. type: table
  37654. #: doc/guix.texi:20606
  37655. msgid ""
  37656. "For the @code{disk-image} action, create a file system of the given "
  37657. "@var{type} on the image."
  37658. msgstr ""
  37659. #. type: table
  37660. #: doc/guix.texi:20608
  37661. msgid "When this option is omitted, @command{guix system} uses @code{ext4}."
  37662. msgstr ""
  37663. #. type: cindex
  37664. #: doc/guix.texi:20609
  37665. #, no-wrap
  37666. msgid "ISO-9660 format"
  37667. msgstr ""
  37668. #. type: cindex
  37669. #: doc/guix.texi:20610
  37670. #, no-wrap
  37671. msgid "CD image format"
  37672. msgstr ""
  37673. #. type: cindex
  37674. #: doc/guix.texi:20611
  37675. #, no-wrap
  37676. msgid "DVD image format"
  37677. msgstr ""
  37678. #. type: table
  37679. #: doc/guix.texi:20614
  37680. msgid ""
  37681. "@code{--file-system-type=iso9660} produces an ISO-9660 image, suitable for "
  37682. "burning on CDs and DVDs."
  37683. msgstr ""
  37684. #. type: item
  37685. #: doc/guix.texi:20615
  37686. #, no-wrap
  37687. msgid "--image-size=@var{size}"
  37688. msgstr ""
  37689. #. type: table
  37690. #: doc/guix.texi:20620
  37691. msgid ""
  37692. "For the @code{vm-image} and @code{disk-image} actions, create an image of "
  37693. "the given @var{size}. @var{size} may be a number of bytes, or it may "
  37694. "include a unit as a suffix (@pxref{Block size, size specifications,, "
  37695. "coreutils, GNU Coreutils})."
  37696. msgstr ""
  37697. #. type: table
  37698. #: doc/guix.texi:20624
  37699. msgid ""
  37700. "When this option is omitted, @command{guix system} computes an estimate of "
  37701. "the image size as a function of the size of the system declared in "
  37702. "@var{file}."
  37703. msgstr ""
  37704. #. type: item
  37705. #: doc/guix.texi:20630
  37706. #, no-wrap
  37707. msgid "--skip-checks"
  37708. msgstr ""
  37709. #. type: table
  37710. #: doc/guix.texi:20632
  37711. msgid "Skip pre-installation safety checks."
  37712. msgstr ""
  37713. #. type: table
  37714. #: doc/guix.texi:20639
  37715. msgid ""
  37716. "By default, @command{guix system init} and @command{guix system reconfigure} "
  37717. "perform safety checks: they make sure the file systems that appear in the "
  37718. "@code{operating-system} declaration actually exist (@pxref{File Systems}), "
  37719. "and that any Linux kernel modules that may be needed at boot time are listed "
  37720. "in @code{initrd-modules} (@pxref{Initial RAM Disk}). Passing this option "
  37721. "skips these tests altogether."
  37722. msgstr ""
  37723. #. type: item
  37724. #: doc/guix.texi:20640
  37725. #, no-wrap
  37726. msgid "--on-error=@var{strategy}"
  37727. msgstr ""
  37728. #. type: table
  37729. #: doc/guix.texi:20643
  37730. msgid ""
  37731. "Apply @var{strategy} when an error occurs when reading @var{file}. "
  37732. "@var{strategy} may be one of the following:"
  37733. msgstr ""
  37734. #. type: item
  37735. #: doc/guix.texi:20645
  37736. #, no-wrap
  37737. msgid "nothing-special"
  37738. msgstr ""
  37739. #. type: table
  37740. #: doc/guix.texi:20647
  37741. msgid "Report the error concisely and exit. This is the default strategy."
  37742. msgstr ""
  37743. #. type: item
  37744. #: doc/guix.texi:20648
  37745. #, no-wrap
  37746. msgid "backtrace"
  37747. msgstr ""
  37748. #. type: table
  37749. #: doc/guix.texi:20650
  37750. msgid "Likewise, but also display a backtrace."
  37751. msgstr ""
  37752. #. type: item
  37753. #: doc/guix.texi:20651
  37754. #, no-wrap
  37755. msgid "debug"
  37756. msgstr ""
  37757. #. type: table
  37758. #: doc/guix.texi:20657
  37759. msgid ""
  37760. "Report the error and enter Guile's debugger. From there, you can run "
  37761. "commands such as @code{,bt} to get a backtrace, @code{,locals} to display "
  37762. "local variable values, and more generally inspect the state of the program. "
  37763. "@xref{Debug Commands,,, guile, GNU Guile Reference Manual}, for a list of "
  37764. "available debugging commands."
  37765. msgstr ""
  37766. #. type: quotation
  37767. #: doc/guix.texi:20667
  37768. msgid ""
  37769. "All the actions above, except @code{build} and @code{init}, can use KVM "
  37770. "support in the Linux-libre kernel. Specifically, if the machine has "
  37771. "hardware virtualization support, the corresponding KVM kernel module should "
  37772. "be loaded, and the @file{/dev/kvm} device node must exist and be readable "
  37773. "and writable by the user and by the build users of the daemon (@pxref{Build "
  37774. "Environment Setup})."
  37775. msgstr ""
  37776. #. type: Plain text
  37777. #: doc/guix.texi:20673
  37778. msgid ""
  37779. "Once you have built, configured, re-configured, and re-re-configured your "
  37780. "GuixSD installation, you may find it useful to list the operating system "
  37781. "generations available on disk---and that you can choose from the bootloader "
  37782. "boot menu:"
  37783. msgstr ""
  37784. #. type: item
  37785. #: doc/guix.texi:20676
  37786. #, no-wrap
  37787. msgid "list-generations"
  37788. msgstr ""
  37789. #. type: table
  37790. #: doc/guix.texi:20681
  37791. msgid ""
  37792. "List a summary of each generation of the operating system available on disk, "
  37793. "in a human-readable way. This is similar to the @option{--list-generations} "
  37794. "option of @command{guix package} (@pxref{Invoking guix package})."
  37795. msgstr ""
  37796. #. type: table
  37797. #: doc/guix.texi:20686
  37798. msgid ""
  37799. "Optionally, one can specify a pattern, with the same syntax that is used in "
  37800. "@command{guix package --list-generations}, to restrict the list of "
  37801. "generations displayed. For instance, the following command displays "
  37802. "generations that are up to 10 days old:"
  37803. msgstr ""
  37804. #. type: example
  37805. #: doc/guix.texi:20689
  37806. #, no-wrap
  37807. msgid "$ guix system list-generations 10d\n"
  37808. msgstr ""
  37809. #. type: Plain text
  37810. #: doc/guix.texi:20696
  37811. msgid ""
  37812. "The @command{guix system} command has even more to offer! The following sub-"
  37813. "commands allow you to visualize how your system services relate to each "
  37814. "other:"
  37815. msgstr ""
  37816. #. type: anchor{#1}
  37817. #: doc/guix.texi:20698
  37818. msgid "system-extension-graph"
  37819. msgstr ""
  37820. #. type: item
  37821. #: doc/guix.texi:20700
  37822. #, no-wrap
  37823. msgid "extension-graph"
  37824. msgstr ""
  37825. #. type: table
  37826. #: doc/guix.texi:20705
  37827. msgid ""
  37828. "Emit in Dot/Graphviz format to standard output the @dfn{service extension "
  37829. "graph} of the operating system defined in @var{file} (@pxref{Service "
  37830. "Composition}, for more information on service extensions.)"
  37831. msgstr ""
  37832. #. type: table
  37833. #: doc/guix.texi:20707
  37834. msgid "The command:"
  37835. msgstr ""
  37836. #. type: example
  37837. #: doc/guix.texi:20710
  37838. #, no-wrap
  37839. msgid "$ guix system extension-graph @var{file} | dot -Tpdf > services.pdf\n"
  37840. msgstr ""
  37841. #. type: table
  37842. #: doc/guix.texi:20713
  37843. msgid "produces a PDF file showing the extension relations among services."
  37844. msgstr ""
  37845. #. type: anchor{#1}
  37846. #: doc/guix.texi:20715
  37847. msgid "system-shepherd-graph"
  37848. msgstr ""
  37849. #. type: item
  37850. #: doc/guix.texi:20715
  37851. #, no-wrap
  37852. msgid "shepherd-graph"
  37853. msgstr ""
  37854. #. type: table
  37855. #: doc/guix.texi:20720
  37856. msgid ""
  37857. "Emit in Dot/Graphviz format to standard output the @dfn{dependency graph} of "
  37858. "shepherd services of the operating system defined in @var{file}. "
  37859. "@xref{Shepherd Services}, for more information and for an example graph."
  37860. msgstr ""
  37861. #. type: subsection
  37862. #: doc/guix.texi:20724
  37863. #, no-wrap
  37864. msgid "Running GuixSD in a Virtual Machine"
  37865. msgstr ""
  37866. #. type: Plain text
  37867. #: doc/guix.texi:20734
  37868. msgid ""
  37869. "To run GuixSD in a virtual machine (VM), one can either use the pre-built "
  37870. "GuixSD VM image distributed at @indicateurl{ftp://alpha.gnu.org/guix/guixsd-"
  37871. "vm-image-@value{VERSION}.@var{system}.tar.xz} , or build their own virtual "
  37872. "machine image using @command{guix system vm-image} (@pxref{Invoking guix "
  37873. "system}). The returned image is in qcow2 format, which the @uref{http://"
  37874. "qemu.org/, QEMU emulator} can efficiently use."
  37875. msgstr ""
  37876. #. type: cindex
  37877. #: doc/guix.texi:20735
  37878. #, no-wrap
  37879. msgid "QEMU"
  37880. msgstr ""
  37881. #. type: Plain text
  37882. #: doc/guix.texi:20742
  37883. msgid ""
  37884. "If you built your own image, you must copy it out of the store (@pxref{The "
  37885. "Store}) and give yourself permission to write to the copy before you can use "
  37886. "it. When invoking QEMU, you must choose a system emulator that is suitable "
  37887. "for your hardware platform. Here is a minimal QEMU invocation that will "
  37888. "boot the result of @command{guix system vm-image} on x86_64 hardware:"
  37889. msgstr ""
  37890. #. type: example
  37891. #: doc/guix.texi:20747
  37892. #, no-wrap
  37893. msgid ""
  37894. "$ qemu-system-x86_64 \\\n"
  37895. " -net user -net nic,model=virtio \\\n"
  37896. " -enable-kvm -m 256 /tmp/qemu-image\n"
  37897. msgstr ""
  37898. #. type: Plain text
  37899. #: doc/guix.texi:20750
  37900. msgid "Here is what each of these options means:"
  37901. msgstr ""
  37902. #. type: item
  37903. #: doc/guix.texi:20752
  37904. #, no-wrap
  37905. msgid "qemu-system-x86_64"
  37906. msgstr ""
  37907. #. type: table
  37908. #: doc/guix.texi:20755
  37909. msgid ""
  37910. "This specifies the hardware platform to emulate. This should match the host."
  37911. msgstr ""
  37912. #. type: item
  37913. #: doc/guix.texi:20756
  37914. #, no-wrap
  37915. msgid "-net user"
  37916. msgstr ""
  37917. #. type: table
  37918. #: doc/guix.texi:20760
  37919. msgid ""
  37920. "Enable the unprivileged user-mode network stack. The guest OS can access "
  37921. "the host but not vice versa. This is the simplest way to get the guest OS "
  37922. "online."
  37923. msgstr ""
  37924. #. type: item
  37925. #: doc/guix.texi:20761
  37926. #, no-wrap
  37927. msgid "-net nic,model=virtio"
  37928. msgstr ""
  37929. #. type: table
  37930. #: doc/guix.texi:20766
  37931. msgid ""
  37932. "You must create a network interface of a given model. If you do not create "
  37933. "a NIC, the boot will fail. Assuming your hardware platform is x86_64, you "
  37934. "can get a list of available NIC models by running @command{qemu-system-"
  37935. "x86_64 -net nic,model=help}."
  37936. msgstr ""
  37937. #. type: item
  37938. #: doc/guix.texi:20767
  37939. #, no-wrap
  37940. msgid "-enable-kvm"
  37941. msgstr ""
  37942. #. type: table
  37943. #: doc/guix.texi:20771
  37944. msgid ""
  37945. "If your system has hardware virtualization extensions, enabling the virtual "
  37946. "machine support (KVM) of the Linux kernel will make things run faster."
  37947. msgstr ""
  37948. #. type: item
  37949. #: doc/guix.texi:20772
  37950. #, no-wrap
  37951. msgid "-m 256"
  37952. msgstr ""
  37953. #. type: table
  37954. #: doc/guix.texi:20775
  37955. msgid ""
  37956. "RAM available to the guest OS, in mebibytes. Defaults to 128@tie{}MiB, "
  37957. "which may be insufficient for some operations."
  37958. msgstr ""
  37959. #. type: item
  37960. #: doc/guix.texi:20776
  37961. #, no-wrap
  37962. msgid "/tmp/qemu-image"
  37963. msgstr ""
  37964. #. type: table
  37965. #: doc/guix.texi:20778
  37966. msgid "The file name of the qcow2 image."
  37967. msgstr ""
  37968. #. type: Plain text
  37969. #: doc/guix.texi:20788
  37970. msgid ""
  37971. "The default @command{run-vm.sh} script that is returned by an invocation of "
  37972. "@command{guix system vm} does not add a @command{-net user} flag by "
  37973. "default. To get network access from within the vm add the @code{(dhcp-"
  37974. "client-service)} to your system definition and start the VM using "
  37975. "@command{`guix system vm config.scm` -net user}. An important caveat of "
  37976. "using @command{-net user} for networking is that @command{ping} will not "
  37977. "work, because it uses the ICMP protocol. You'll have to use a different "
  37978. "command to check for network connectivity, for example @command{guix "
  37979. "download}."
  37980. msgstr ""
  37981. #. type: subsubsection
  37982. #: doc/guix.texi:20789
  37983. #, no-wrap
  37984. msgid "Connecting Through SSH"
  37985. msgstr ""
  37986. #. type: Plain text
  37987. #: doc/guix.texi:20798
  37988. msgid ""
  37989. "To enable SSH inside a VM you need to add a SSH server like @code{(dropbear-"
  37990. "service)} or @code{(lsh-service)} to your VM. The @code{(lsh-service}) "
  37991. "doesn't currently boot unsupervised. It requires you to type some "
  37992. "characters to initialize the randomness generator. In addition you need to "
  37993. "forward the SSH port, 22 by default, to the host. You can do this with"
  37994. msgstr ""
  37995. #. type: example
  37996. #: doc/guix.texi:20801
  37997. #, no-wrap
  37998. msgid "`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22\n"
  37999. msgstr ""
  38000. #. type: Plain text
  38001. #: doc/guix.texi:20804
  38002. msgid "To connect to the VM you can run"
  38003. msgstr ""
  38004. #. type: example
  38005. #: doc/guix.texi:20807
  38006. #, no-wrap
  38007. msgid "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022\n"
  38008. msgstr ""
  38009. #. type: Plain text
  38010. #: doc/guix.texi:20814
  38011. msgid ""
  38012. "The @command{-p} tells @command{ssh} the port you want to connect to. "
  38013. "@command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from "
  38014. "complaining every time you modify your @command{config.scm} file and the "
  38015. "@command{-o StrictHostKeyChecking=no} prevents you from having to allow a "
  38016. "connection to an unknown host every time you connect."
  38017. msgstr ""
  38018. #. type: subsubsection
  38019. #: doc/guix.texi:20815
  38020. #, no-wrap
  38021. msgid "Using @command{virt-viewer} with Spice"
  38022. msgstr ""
  38023. #. type: Plain text
  38024. #: doc/guix.texi:20821
  38025. msgid ""
  38026. "As an alternative to the default @command{qemu} graphical client you can use "
  38027. "the @command{remote-viewer} from the @command{virt-viewer} package. To "
  38028. "connect pass the @command{-spice port=5930,disable-ticketing} flag to "
  38029. "@command{qemu}. See previous section for further information on how to do "
  38030. "this."
  38031. msgstr ""
  38032. #. type: Plain text
  38033. #: doc/guix.texi:20824
  38034. msgid ""
  38035. "Spice also allows you to do some nice stuff like share your clipboard with "
  38036. "your VM. To enable that you'll also have to pass the following flags to "
  38037. "@command{qemu}:"
  38038. msgstr ""
  38039. #. type: example
  38040. #: doc/guix.texi:20830
  38041. #, no-wrap
  38042. msgid ""
  38043. "-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5\n"
  38044. "-chardev spicevmc,name=vdagent,id=vdagent\n"
  38045. "-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\n"
  38046. "name=com.redhat.spice.0\n"
  38047. msgstr ""
  38048. #. type: Plain text
  38049. #: doc/guix.texi:20833
  38050. msgid ""
  38051. "You'll also need to add the @pxref{Miscellaneous Services, Spice service}."
  38052. msgstr ""
  38053. #. type: Plain text
  38054. #: doc/guix.texi:20840
  38055. msgid ""
  38056. "The previous sections show the available services and how one can combine "
  38057. "them in an @code{operating-system} declaration. But how do we define them "
  38058. "in the first place? And what is a service anyway?"
  38059. msgstr ""
  38060. #. type: cindex
  38061. #: doc/guix.texi:20852
  38062. #, no-wrap
  38063. msgid "daemons"
  38064. msgstr ""
  38065. #. type: Plain text
  38066. #: doc/guix.texi:20865
  38067. msgid ""
  38068. "Here we define a @dfn{service} as, broadly, something that extends the "
  38069. "functionality of the operating system. Often a service is a process---a "
  38070. "@dfn{daemon}---started when the system boots: a secure shell server, a Web "
  38071. "server, the Guix build daemon, etc. Sometimes a service is a daemon whose "
  38072. "execution can be triggered by another daemon---e.g., an FTP server started "
  38073. "by @command{inetd} or a D-Bus service activated by @command{dbus-daemon}. "
  38074. "Occasionally, a service does not map to a daemon. For instance, the "
  38075. "``account'' service collects user accounts and makes sure they exist when "
  38076. "the system runs; the ``udev'' service collects device management rules and "
  38077. "makes them available to the eudev daemon; the @file{/etc} service populates "
  38078. "the @file{/etc} directory of the system."
  38079. msgstr ""
  38080. #. type: cindex
  38081. #: doc/guix.texi:20866
  38082. #, no-wrap
  38083. msgid "service extensions"
  38084. msgstr ""
  38085. #. type: Plain text
  38086. #: doc/guix.texi:20878
  38087. msgid ""
  38088. "GuixSD services are connected by @dfn{extensions}. For instance, the secure "
  38089. "shell service @emph{extends} the Shepherd---the GuixSD initialization "
  38090. "system, running as PID@tie{}1---by giving it the command lines to start and "
  38091. "stop the secure shell daemon (@pxref{Networking Services, @code{lsh-"
  38092. "service}}); the UPower service extends the D-Bus service by passing it its "
  38093. "@file{.service} specification, and extends the udev service by passing it "
  38094. "device management rules (@pxref{Desktop Services, @code{upower-service}}); "
  38095. "the Guix daemon service extends the Shepherd by passing it the command lines "
  38096. "to start and stop the daemon, and extends the account service by passing it "
  38097. "a list of required build user accounts (@pxref{Base Services})."
  38098. msgstr ""
  38099. #. type: Plain text
  38100. #: doc/guix.texi:20882
  38101. msgid ""
  38102. "All in all, services and their ``extends'' relations form a directed acyclic "
  38103. "graph (DAG). If we represent services as boxes and extensions as arrows, a "
  38104. "typical system might provide something like this:"
  38105. msgstr ""
  38106. #. type: Plain text
  38107. #: doc/guix.texi:20884
  38108. msgid "@image{images/service-graph,,5in,Typical service extension graph.}"
  38109. msgstr ""
  38110. #. type: cindex
  38111. #: doc/guix.texi:20885
  38112. #, no-wrap
  38113. msgid "system service"
  38114. msgstr ""
  38115. #. type: Plain text
  38116. #: doc/guix.texi:20893
  38117. msgid ""
  38118. "At the bottom, we see the @dfn{system service}, which produces the directory "
  38119. "containing everything to run and boot the system, as returned by the "
  38120. "@command{guix system build} command. @xref{Service Reference}, to learn "
  38121. "about the other service types shown here. @xref{system-extension-graph, the "
  38122. "@command{guix system extension-graph} command}, for information on how to "
  38123. "generate this representation for a particular operating system definition."
  38124. msgstr ""
  38125. #. type: cindex
  38126. #: doc/guix.texi:20894
  38127. #, no-wrap
  38128. msgid "service types"
  38129. msgstr ""
  38130. #. type: Plain text
  38131. #: doc/guix.texi:20900
  38132. msgid ""
  38133. "Technically, developers can define @dfn{service types} to express these "
  38134. "relations. There can be any number of services of a given type on the "
  38135. "system---for instance, a system running two instances of the GNU secure "
  38136. "shell server (lsh) has two instances of @var{lsh-service-type}, with "
  38137. "different parameters."
  38138. msgstr ""
  38139. #. type: Plain text
  38140. #: doc/guix.texi:20903
  38141. msgid ""
  38142. "The following section describes the programming interface for service types "
  38143. "and services."
  38144. msgstr ""
  38145. #. type: Plain text
  38146. #: doc/guix.texi:20910
  38147. msgid ""
  38148. "A @dfn{service type} is a node in the DAG described above. Let us start "
  38149. "with a simple example, the service type for the Guix build daemon "
  38150. "(@pxref{Invoking guix-daemon}):"
  38151. msgstr ""
  38152. #. type: example
  38153. #: doc/guix.texi:20920
  38154. #, no-wrap
  38155. msgid ""
  38156. "(define guix-service-type\n"
  38157. " (service-type\n"
  38158. " (name 'guix)\n"
  38159. " (extensions\n"
  38160. " (list (service-extension shepherd-root-service-type guix-shepherd-service)\n"
  38161. " (service-extension account-service-type guix-accounts)\n"
  38162. " (service-extension activation-service-type guix-activation)))\n"
  38163. " (default-value (guix-configuration))))\n"
  38164. msgstr ""
  38165. #. type: Plain text
  38166. #: doc/guix.texi:20924
  38167. msgid "It defines three things:"
  38168. msgstr ""
  38169. #. type: enumerate
  38170. #: doc/guix.texi:20928
  38171. msgid "A name, whose sole purpose is to make inspection and debugging easier."
  38172. msgstr ""
  38173. #. type: enumerate
  38174. #: doc/guix.texi:20933
  38175. msgid ""
  38176. "A list of @dfn{service extensions}, where each extension designates the "
  38177. "target service type and a procedure that, given the parameters of the "
  38178. "service, returns a list of objects to extend the service of that type."
  38179. msgstr ""
  38180. #. type: enumerate
  38181. #: doc/guix.texi:20936
  38182. msgid ""
  38183. "Every service type has at least one service extension. The only exception "
  38184. "is the @dfn{boot service type}, which is the ultimate service."
  38185. msgstr ""
  38186. #. type: enumerate
  38187. #: doc/guix.texi:20939
  38188. msgid "Optionally, a default value for instances of this type."
  38189. msgstr ""
  38190. #. type: Plain text
  38191. #: doc/guix.texi:20942
  38192. msgid "In this example, @var{guix-service-type} extends three services:"
  38193. msgstr ""
  38194. #. type: item
  38195. #: doc/guix.texi:20944
  38196. #, no-wrap
  38197. msgid "shepherd-root-service-type"
  38198. msgstr ""
  38199. #. type: table
  38200. #: doc/guix.texi:20949
  38201. msgid ""
  38202. "The @var{guix-shepherd-service} procedure defines how the Shepherd service "
  38203. "is extended. Namely, it returns a @code{<shepherd-service>} object that "
  38204. "defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd "
  38205. "Services})."
  38206. msgstr ""
  38207. #. type: item
  38208. #: doc/guix.texi:20950
  38209. #, no-wrap
  38210. msgid "account-service-type"
  38211. msgstr ""
  38212. #. type: table
  38213. #: doc/guix.texi:20955
  38214. msgid ""
  38215. "This extension for this service is computed by @var{guix-accounts}, which "
  38216. "returns a list of @code{user-group} and @code{user-account} objects "
  38217. "representing the build user accounts (@pxref{Invoking guix-daemon})."
  38218. msgstr ""
  38219. #. type: item
  38220. #: doc/guix.texi:20956
  38221. #, no-wrap
  38222. msgid "activation-service-type"
  38223. msgstr ""
  38224. #. type: table
  38225. #: doc/guix.texi:20960
  38226. msgid ""
  38227. "Here @var{guix-activation} is a procedure that returns a gexp, which is a "
  38228. "code snippet to run at ``activation time''---e.g., when the service is "
  38229. "booted."
  38230. msgstr ""
  38231. #. type: Plain text
  38232. #: doc/guix.texi:20963
  38233. msgid "A service of this type is instantiated like this:"
  38234. msgstr ""
  38235. #. type: example
  38236. #: doc/guix.texi:20969
  38237. #, no-wrap
  38238. msgid ""
  38239. "(service guix-service-type\n"
  38240. " (guix-configuration\n"
  38241. " (build-accounts 5)\n"
  38242. " (use-substitutes? #f)))\n"
  38243. msgstr ""
  38244. #. type: Plain text
  38245. #: doc/guix.texi:20977
  38246. msgid ""
  38247. "The second argument to the @code{service} form is a value representing the "
  38248. "parameters of this specific service instance. @xref{guix-configuration-"
  38249. "type, @code{guix-configuration}}, for information about the @code{guix-"
  38250. "configuration} data type. When the value is omitted, the default value "
  38251. "specified by @code{guix-service-type} is used:"
  38252. msgstr ""
  38253. #. type: example
  38254. #: doc/guix.texi:20980
  38255. #, no-wrap
  38256. msgid "(service guix-service-type)\n"
  38257. msgstr ""
  38258. #. type: Plain text
  38259. #: doc/guix.texi:20984
  38260. msgid ""
  38261. "@var{guix-service-type} is quite simple because it extends other services "
  38262. "but is not extensible itself."
  38263. msgstr ""
  38264. #. type: Plain text
  38265. #: doc/guix.texi:20988
  38266. msgid "The service type for an @emph{extensible} service looks like this:"
  38267. msgstr ""
  38268. #. type: example
  38269. #: doc/guix.texi:20995
  38270. #, no-wrap
  38271. msgid ""
  38272. "(define udev-service-type\n"
  38273. " (service-type (name 'udev)\n"
  38274. " (extensions\n"
  38275. " (list (service-extension shepherd-root-service-type\n"
  38276. " udev-shepherd-service)))\n"
  38277. "\n"
  38278. msgstr ""
  38279. #. type: example
  38280. #: doc/guix.texi:21003
  38281. #, no-wrap
  38282. msgid ""
  38283. " (compose concatenate) ;concatenate the list of rules\n"
  38284. " (extend (lambda (config rules)\n"
  38285. " (match config\n"
  38286. " (($ <udev-configuration> udev initial-rules)\n"
  38287. " (udev-configuration\n"
  38288. " (udev udev) ;the udev package to use\n"
  38289. " (rules (append initial-rules rules)))))))))\n"
  38290. msgstr ""
  38291. #. type: Plain text
  38292. #: doc/guix.texi:21009
  38293. msgid ""
  38294. "This is the service type for the @uref{https://wiki.gentoo.org/wiki/Project:"
  38295. "Eudev, eudev device management daemon}. Compared to the previous example, "
  38296. "in addition to an extension of @var{shepherd-root-service-type}, we see two "
  38297. "new fields:"
  38298. msgstr ""
  38299. #. type: item
  38300. #: doc/guix.texi:21011
  38301. #, no-wrap
  38302. msgid "compose"
  38303. msgstr ""
  38304. #. type: table
  38305. #: doc/guix.texi:21014
  38306. msgid ""
  38307. "This is the procedure to @dfn{compose} the list of extensions to services of "
  38308. "this type."
  38309. msgstr ""
  38310. #. type: table
  38311. #: doc/guix.texi:21017
  38312. msgid ""
  38313. "Services can extend the udev service by passing it lists of rules; we "
  38314. "compose those extensions simply by concatenating them."
  38315. msgstr ""
  38316. #. type: item
  38317. #: doc/guix.texi:21018
  38318. #, no-wrap
  38319. msgid "extend"
  38320. msgstr ""
  38321. #. type: table
  38322. #: doc/guix.texi:21021
  38323. msgid ""
  38324. "This procedure defines how the value of the service is @dfn{extended} with "
  38325. "the composition of the extensions."
  38326. msgstr ""
  38327. #. type: table
  38328. #: doc/guix.texi:21026
  38329. msgid ""
  38330. "Udev extensions are composed into a list of rules, but the udev service "
  38331. "value is itself a @code{<udev-configuration>} record. So here, we extend "
  38332. "that record by appending the list of rules it contains to the list of "
  38333. "contributed rules."
  38334. msgstr ""
  38335. #. type: table
  38336. #: doc/guix.texi:21032
  38337. msgid ""
  38338. "This is a string giving an overview of the service type. The string can "
  38339. "contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}). The "
  38340. "@command{guix system search} command searches these strings and displays "
  38341. "them (@pxref{Invoking guix system})."
  38342. msgstr ""
  38343. #. type: Plain text
  38344. #: doc/guix.texi:21037
  38345. msgid ""
  38346. "There can be only one instance of an extensible service type such as "
  38347. "@var{udev-service-type}. If there were more, the @code{service-extension} "
  38348. "specifications would be ambiguous."
  38349. msgstr ""
  38350. #. type: Plain text
  38351. #: doc/guix.texi:21040
  38352. msgid ""
  38353. "Still here? The next section provides a reference of the programming "
  38354. "interface for services."
  38355. msgstr ""
  38356. #. type: Plain text
  38357. #: doc/guix.texi:21048
  38358. msgid ""
  38359. "We have seen an overview of service types (@pxref{Service Types and "
  38360. "Services}). This section provides a reference on how to manipulate services "
  38361. "and service types. This interface is provided by the @code{(gnu services)} "
  38362. "module."
  38363. msgstr ""
  38364. #. type: deffn
  38365. #: doc/guix.texi:21049
  38366. #, no-wrap
  38367. msgid "{Scheme Procedure} service @var{type} [@var{value}]"
  38368. msgstr ""
  38369. #. type: deffn
  38370. #: doc/guix.texi:21053
  38371. msgid ""
  38372. "Return a new service of @var{type}, a @code{<service-type>} object (see "
  38373. "below.) @var{value} can be any object; it represents the parameters of this "
  38374. "particular service instance."
  38375. msgstr ""
  38376. #. type: deffn
  38377. #: doc/guix.texi:21057
  38378. msgid ""
  38379. "When @var{value} is omitted, the default value specified by @var{type} is "
  38380. "used; if @var{type} does not specify a default value, an error is raised."
  38381. msgstr ""
  38382. #. type: deffn
  38383. #: doc/guix.texi:21059
  38384. msgid "For instance, this:"
  38385. msgstr ""
  38386. #. type: example
  38387. #: doc/guix.texi:21062
  38388. #, no-wrap
  38389. msgid "(service openssh-service-type)\n"
  38390. msgstr ""
  38391. #. type: deffn
  38392. #: doc/guix.texi:21066
  38393. msgid "is equivalent to this:"
  38394. msgstr ""
  38395. #. type: example
  38396. #: doc/guix.texi:21070
  38397. #, no-wrap
  38398. msgid ""
  38399. "(service openssh-service-type\n"
  38400. " (openssh-configuration))\n"
  38401. msgstr ""
  38402. #. type: deffn
  38403. #: doc/guix.texi:21074
  38404. msgid ""
  38405. "In both cases the result is an instance of @code{openssh-service-type} with "
  38406. "the default configuration."
  38407. msgstr ""
  38408. #. type: deffn
  38409. #: doc/guix.texi:21076
  38410. #, no-wrap
  38411. msgid "{Scheme Procedure} service? @var{obj}"
  38412. msgstr ""
  38413. #. type: deffn
  38414. #: doc/guix.texi:21078
  38415. msgid "Return true if @var{obj} is a service."
  38416. msgstr ""
  38417. #. type: deffn
  38418. #: doc/guix.texi:21080
  38419. #, no-wrap
  38420. msgid "{Scheme Procedure} service-kind @var{service}"
  38421. msgstr ""
  38422. #. type: deffn
  38423. #: doc/guix.texi:21082
  38424. msgid ""
  38425. "Return the type of @var{service}---i.e., a @code{<service-type>} object."
  38426. msgstr ""
  38427. #. type: deffn
  38428. #: doc/guix.texi:21084
  38429. #, no-wrap
  38430. msgid "{Scheme Procedure} service-value @var{service}"
  38431. msgstr ""
  38432. #. type: deffn
  38433. #: doc/guix.texi:21087
  38434. msgid ""
  38435. "Return the value associated with @var{service}. It represents its "
  38436. "parameters."
  38437. msgstr ""
  38438. #. type: Plain text
  38439. #: doc/guix.texi:21090
  38440. msgid "Here is an example of how a service is created and manipulated:"
  38441. msgstr ""
  38442. #. type: example
  38443. #: doc/guix.texi:21099
  38444. #, no-wrap
  38445. msgid ""
  38446. "(define s\n"
  38447. " (service nginx-service-type\n"
  38448. " (nginx-configuration\n"
  38449. " (nginx nginx)\n"
  38450. " (log-directory log-directory)\n"
  38451. " (run-directory run-directory)\n"
  38452. " (file config-file))))\n"
  38453. "\n"
  38454. msgstr ""
  38455. #. type: example
  38456. #: doc/guix.texi:21102
  38457. #, no-wrap
  38458. msgid ""
  38459. "(service? s)\n"
  38460. "@result{} #t\n"
  38461. "\n"
  38462. msgstr ""
  38463. #. type: example
  38464. #: doc/guix.texi:21105
  38465. #, no-wrap
  38466. msgid ""
  38467. "(eq? (service-kind s) nginx-service-type)\n"
  38468. "@result{} #t\n"
  38469. msgstr ""
  38470. #. type: Plain text
  38471. #: doc/guix.texi:21115
  38472. msgid ""
  38473. "The @code{modify-services} form provides a handy way to change the "
  38474. "parameters of some of the services of a list such as @var{%base-services} "
  38475. "(@pxref{Base Services, @code{%base-services}}). It evaluates to a list of "
  38476. "services. Of course, you could always use standard list combinators such as "
  38477. "@code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, "
  38478. "GNU Guile Reference Manual}); @code{modify-services} simply provides a more "
  38479. "concise form for this common pattern."
  38480. msgstr ""
  38481. #. type: deffn
  38482. #: doc/guix.texi:21116
  38483. #, no-wrap
  38484. msgid "{Scheme Syntax} modify-services @var{services} @"
  38485. msgstr ""
  38486. #. type: deffn
  38487. #: doc/guix.texi:21118
  38488. msgid "(@var{type} @var{variable} => @var{body}) @dots{}"
  38489. msgstr ""
  38490. #. type: deffn
  38491. #: doc/guix.texi:21121
  38492. msgid ""
  38493. "Modify the services listed in @var{services} according to the given "
  38494. "clauses. Each clause has the form:"
  38495. msgstr ""
  38496. #. type: example
  38497. #: doc/guix.texi:21124
  38498. #, no-wrap
  38499. msgid "(@var{type} @var{variable} => @var{body})\n"
  38500. msgstr ""
  38501. #. type: deffn
  38502. #: doc/guix.texi:21131
  38503. msgid ""
  38504. "where @var{type} is a service type---e.g., @code{guix-service-type}---and "
  38505. "@var{variable} is an identifier that is bound within the @var{body} to the "
  38506. "service parameters---e.g., a @code{guix-configuration} instance---of the "
  38507. "original service of that @var{type}."
  38508. msgstr ""
  38509. #. type: deffn
  38510. #: doc/guix.texi:21138
  38511. msgid ""
  38512. "The @var{body} should evaluate to the new service parameters, which will be "
  38513. "used to configure the new service. This new service will replace the "
  38514. "original in the resulting list. Because a service's service parameters are "
  38515. "created using @code{define-record-type*}, you can write a succinct "
  38516. "@var{body} that evaluates to the new service parameters by using the "
  38517. "@code{inherit} feature that @code{define-record-type*} provides."
  38518. msgstr ""
  38519. #. type: deffn
  38520. #: doc/guix.texi:21140
  38521. msgid "@xref{Using the Configuration System}, for example usage."
  38522. msgstr ""
  38523. #. type: Plain text
  38524. #: doc/guix.texi:21147
  38525. msgid ""
  38526. "Next comes the programming interface for service types. This is something "
  38527. "you want to know when writing new service definitions, but not necessarily "
  38528. "when simply looking for ways to customize your @code{operating-system} "
  38529. "declaration."
  38530. msgstr ""
  38531. #. type: deftp
  38532. #: doc/guix.texi:21148
  38533. #, no-wrap
  38534. msgid "{Data Type} service-type"
  38535. msgstr ""
  38536. #. type: cindex
  38537. #: doc/guix.texi:21149
  38538. #, no-wrap
  38539. msgid "service type"
  38540. msgstr ""
  38541. #. type: deftp
  38542. #: doc/guix.texi:21152
  38543. msgid ""
  38544. "This is the representation of a @dfn{service type} (@pxref{Service Types and "
  38545. "Services})."
  38546. msgstr ""
  38547. #. type: table
  38548. #: doc/guix.texi:21156
  38549. msgid "This is a symbol, used only to simplify inspection and debugging."
  38550. msgstr ""
  38551. #. type: code{#1}
  38552. #: doc/guix.texi:21157
  38553. #, no-wrap
  38554. msgid "extensions"
  38555. msgstr ""
  38556. #. type: table
  38557. #: doc/guix.texi:21159
  38558. msgid "A non-empty list of @code{<service-extension>} objects (see below)."
  38559. msgstr ""
  38560. #. type: item
  38561. #: doc/guix.texi:21160
  38562. #, no-wrap
  38563. msgid "@code{compose} (default: @code{#f})"
  38564. msgstr ""
  38565. #. type: table
  38566. #: doc/guix.texi:21164
  38567. msgid ""
  38568. "If this is @code{#f}, then the service type denotes services that cannot be "
  38569. "extended---i.e., services that do not receive ``values'' from other services."
  38570. msgstr ""
  38571. #. type: table
  38572. #: doc/guix.texi:21168
  38573. msgid ""
  38574. "Otherwise, it must be a one-argument procedure. The procedure is called by "
  38575. "@code{fold-services} and is passed a list of values collected from "
  38576. "extensions. It may return any single value."
  38577. msgstr ""
  38578. #. type: item
  38579. #: doc/guix.texi:21169
  38580. #, no-wrap
  38581. msgid "@code{extend} (default: @code{#f})"
  38582. msgstr ""
  38583. #. type: table
  38584. #: doc/guix.texi:21171
  38585. msgid "If this is @code{#f}, services of this type cannot be extended."
  38586. msgstr ""
  38587. #. type: table
  38588. #: doc/guix.texi:21177
  38589. msgid ""
  38590. "Otherwise, it must be a two-argument procedure: @code{fold-services} calls "
  38591. "it, passing it the initial value of the service as the first argument and "
  38592. "the result of applying @code{compose} to the extension values as the second "
  38593. "argument. It must return a value that is a valid parameter value for the "
  38594. "service instance."
  38595. msgstr ""
  38596. #. type: deftp
  38597. #: doc/guix.texi:21180
  38598. msgid "@xref{Service Types and Services}, for examples."
  38599. msgstr ""
  38600. #. type: deffn
  38601. #: doc/guix.texi:21182
  38602. #, no-wrap
  38603. msgid "{Scheme Procedure} service-extension @var{target-type} @"
  38604. msgstr ""
  38605. #. type: deffn
  38606. #: doc/guix.texi:21188
  38607. msgid ""
  38608. "@var{compute} Return a new extension for services of type @var{target-"
  38609. "type}. @var{compute} must be a one-argument procedure: @code{fold-services} "
  38610. "calls it, passing it the value associated with the service that provides the "
  38611. "extension; it must return a valid value for the target service."
  38612. msgstr ""
  38613. #. type: deffn
  38614. #: doc/guix.texi:21190
  38615. #, no-wrap
  38616. msgid "{Scheme Procedure} service-extension? @var{obj}"
  38617. msgstr ""
  38618. #. type: deffn
  38619. #: doc/guix.texi:21192
  38620. msgid "Return true if @var{obj} is a service extension."
  38621. msgstr ""
  38622. #. type: Plain text
  38623. #: doc/guix.texi:21198
  38624. msgid ""
  38625. "Occasionally, you might want to simply extend an existing service. This "
  38626. "involves creating a new service type and specifying the extension of "
  38627. "interest, which can be verbose; the @code{simple-service} procedure provides "
  38628. "a shorthand for this."
  38629. msgstr ""
  38630. #. type: deffn
  38631. #: doc/guix.texi:21199
  38632. #, no-wrap
  38633. msgid "{Scheme Procedure} simple-service @var{name} @var{target} @var{value}"
  38634. msgstr ""
  38635. #. type: deffn
  38636. #: doc/guix.texi:21203
  38637. msgid ""
  38638. "Return a service that extends @var{target} with @var{value}. This works by "
  38639. "creating a singleton service type @var{name}, of which the returned service "
  38640. "is an instance."
  38641. msgstr ""
  38642. #. type: deffn
  38643. #: doc/guix.texi:21206
  38644. msgid ""
  38645. "For example, this extends mcron (@pxref{Scheduled Job Execution}) with an "
  38646. "additional job:"
  38647. msgstr ""
  38648. #. type: example
  38649. #: doc/guix.texi:21210
  38650. #, no-wrap
  38651. msgid ""
  38652. "(simple-service 'my-mcron-job mcron-service-type\n"
  38653. " #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n"
  38654. msgstr ""
  38655. #. type: Plain text
  38656. #: doc/guix.texi:21220
  38657. msgid ""
  38658. "At the core of the service abstraction lies the @code{fold-services} "
  38659. "procedure, which is responsible for ``compiling'' a list of services down to "
  38660. "a single directory that contains everything needed to boot and run the "
  38661. "system---the directory shown by the @command{guix system build} command "
  38662. "(@pxref{Invoking guix system}). In essence, it propagates service "
  38663. "extensions down the service graph, updating each node parameters on the way, "
  38664. "until it reaches the root node."
  38665. msgstr ""
  38666. #. type: deffn
  38667. #: doc/guix.texi:21221
  38668. #, no-wrap
  38669. msgid "{Scheme Procedure} fold-services @var{services} @"
  38670. msgstr ""
  38671. #. type: deffn
  38672. #: doc/guix.texi:21225
  38673. msgid ""
  38674. "[#:target-type @var{system-service-type}] Fold @var{services} by propagating "
  38675. "their extensions down to the root of type @var{target-type}; return the root "
  38676. "service adjusted accordingly."
  38677. msgstr ""
  38678. #. type: Plain text
  38679. #: doc/guix.texi:21229
  38680. msgid ""
  38681. "Lastly, the @code{(gnu services)} module also defines several essential "
  38682. "service types, some of which are listed below."
  38683. msgstr ""
  38684. #. type: defvr
  38685. #: doc/guix.texi:21230
  38686. #, no-wrap
  38687. msgid "{Scheme Variable} system-service-type"
  38688. msgstr ""
  38689. #. type: defvr
  38690. #: doc/guix.texi:21233
  38691. msgid ""
  38692. "This is the root of the service graph. It produces the system directory as "
  38693. "returned by the @command{guix system build} command."
  38694. msgstr ""
  38695. #. type: defvr
  38696. #: doc/guix.texi:21235
  38697. #, no-wrap
  38698. msgid "{Scheme Variable} boot-service-type"
  38699. msgstr ""
  38700. #. type: defvr
  38701. #: doc/guix.texi:21238
  38702. msgid ""
  38703. "The type of the ``boot service'', which produces the @dfn{boot script}. The "
  38704. "boot script is what the initial RAM disk runs when booting."
  38705. msgstr ""
  38706. #. type: defvr
  38707. #: doc/guix.texi:21240
  38708. #, no-wrap
  38709. msgid "{Scheme Variable} etc-service-type"
  38710. msgstr ""
  38711. #. type: defvr
  38712. #: doc/guix.texi:21244
  38713. msgid ""
  38714. "The type of the @file{/etc} service. This service is used to create files "
  38715. "under @file{/etc} and can be extended by passing it name/file tuples such as:"
  38716. msgstr ""
  38717. #. type: example
  38718. #: doc/guix.texi:21247
  38719. #, no-wrap
  38720. msgid "(list `(\"issue\" ,(plain-file \"issue\" \"Welcome!\\n\")))\n"
  38721. msgstr ""
  38722. #. type: defvr
  38723. #: doc/guix.texi:21251
  38724. msgid ""
  38725. "In this example, the effect would be to add an @file{/etc/issue} file "
  38726. "pointing to the given file."
  38727. msgstr ""
  38728. #. type: defvr
  38729. #: doc/guix.texi:21253
  38730. #, no-wrap
  38731. msgid "{Scheme Variable} setuid-program-service-type"
  38732. msgstr ""
  38733. #. type: defvr
  38734. #: doc/guix.texi:21257
  38735. msgid ""
  38736. "Type for the ``setuid-program service''. This service collects lists of "
  38737. "executable file names, passed as gexps, and adds them to the set of setuid-"
  38738. "root programs on the system (@pxref{Setuid Programs})."
  38739. msgstr ""
  38740. #. type: defvr
  38741. #: doc/guix.texi:21259
  38742. #, no-wrap
  38743. msgid "{Scheme Variable} profile-service-type"
  38744. msgstr ""
  38745. #. type: defvr
  38746. #: doc/guix.texi:21263
  38747. msgid ""
  38748. "Type of the service that populates the @dfn{system profile}---i.e., the "
  38749. "programs under @file{/run/current-system/profile}. Other services can "
  38750. "extend it by passing it lists of packages to add to the system profile."
  38751. msgstr ""
  38752. #. type: cindex
  38753. #: doc/guix.texi:21269
  38754. #, no-wrap
  38755. msgid "shepherd services"
  38756. msgstr ""
  38757. #. type: cindex
  38758. #: doc/guix.texi:21270
  38759. #, no-wrap
  38760. msgid "PID 1"
  38761. msgstr ""
  38762. #. type: cindex
  38763. #: doc/guix.texi:21271
  38764. #, no-wrap
  38765. msgid "init system"
  38766. msgstr ""
  38767. #. type: Plain text
  38768. #: doc/guix.texi:21277
  38769. msgid ""
  38770. "The @code{(gnu services shepherd)} module provides a way to define services "
  38771. "managed by the GNU@tie{}Shepherd, which is the GuixSD initialization "
  38772. "system---the first process that is started when the system boots, also known "
  38773. "as PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual})."
  38774. msgstr ""
  38775. #. type: Plain text
  38776. #: doc/guix.texi:21283
  38777. msgid ""
  38778. "Services in the Shepherd can depend on each other. For instance, the SSH "
  38779. "daemon may need to be started after the syslog daemon has been started, "
  38780. "which in turn can only happen once all the file systems have been mounted. "
  38781. "The simple operating system defined earlier (@pxref{Using the Configuration "
  38782. "System}) results in a service graph like this:"
  38783. msgstr ""
  38784. #. type: Plain text
  38785. #: doc/guix.texi:21285
  38786. msgid "@image{images/shepherd-graph,,5in,Typical shepherd service graph.}"
  38787. msgstr ""
  38788. #. type: Plain text
  38789. #: doc/guix.texi:21289
  38790. msgid ""
  38791. "You can actually generate such a graph for any operating system definition "
  38792. "using the @command{guix system shepherd-graph} command (@pxref{system-"
  38793. "shepherd-graph, @command{guix system shepherd-graph}})."
  38794. msgstr ""
  38795. #. type: Plain text
  38796. #: doc/guix.texi:21293
  38797. msgid ""
  38798. "The @var{%shepherd-root-service} is a service object representing PID@tie{}"
  38799. "1, of type @var{shepherd-root-service-type}; it can be extended by passing "
  38800. "it lists of @code{<shepherd-service>} objects."
  38801. msgstr ""
  38802. #. type: deftp
  38803. #: doc/guix.texi:21294
  38804. #, no-wrap
  38805. msgid "{Data Type} shepherd-service"
  38806. msgstr ""
  38807. #. type: deftp
  38808. #: doc/guix.texi:21296
  38809. msgid "The data type representing a service managed by the Shepherd."
  38810. msgstr ""
  38811. #. type: code{#1}
  38812. #: doc/guix.texi:21298
  38813. #, no-wrap
  38814. msgid "provision"
  38815. msgstr ""
  38816. #. type: table
  38817. #: doc/guix.texi:21300
  38818. msgid "This is a list of symbols denoting what the service provides."
  38819. msgstr ""
  38820. #. type: table
  38821. #: doc/guix.texi:21305
  38822. msgid ""
  38823. "These are the names that may be passed to @command{herd start}, "
  38824. "@command{herd status}, and similar commands (@pxref{Invoking herd,,, "
  38825. "shepherd, The GNU Shepherd Manual}). @xref{Slots of services, the "
  38826. "@code{provides} slot,, shepherd, The GNU Shepherd Manual}, for details."
  38827. msgstr ""
  38828. #. type: item
  38829. #: doc/guix.texi:21306
  38830. #, no-wrap
  38831. msgid "@code{requirements} (default: @code{'()})"
  38832. msgstr ""
  38833. #. type: table
  38834. #: doc/guix.texi:21308
  38835. msgid "List of symbols denoting the Shepherd services this one depends on."
  38836. msgstr ""
  38837. #. type: item
  38838. #: doc/guix.texi:21309
  38839. #, no-wrap
  38840. msgid "@code{respawn?} (default: @code{#t})"
  38841. msgstr ""
  38842. #. type: table
  38843. #: doc/guix.texi:21312
  38844. msgid ""
  38845. "Whether to restart the service when it stops, for instance when the "
  38846. "underlying process dies."
  38847. msgstr ""
  38848. #. type: code{#1}
  38849. #: doc/guix.texi:21313
  38850. #, no-wrap
  38851. msgid "start"
  38852. msgstr ""
  38853. #. type: itemx
  38854. #: doc/guix.texi:21314
  38855. #, no-wrap
  38856. msgid "@code{stop} (default: @code{#~(const #f)})"
  38857. msgstr ""
  38858. #. type: table
  38859. #: doc/guix.texi:21320
  38860. msgid ""
  38861. "The @code{start} and @code{stop} fields refer to the Shepherd's facilities "
  38862. "to start and stop processes (@pxref{Service De- and Constructors,,, "
  38863. "shepherd, The GNU Shepherd Manual}). They are given as G-expressions that "
  38864. "get expanded in the Shepherd configuration file (@pxref{G-Expressions})."
  38865. msgstr ""
  38866. #. type: table
  38867. #: doc/guix.texi:21323
  38868. msgid "A documentation string, as shown when running:"
  38869. msgstr ""
  38870. #. type: example
  38871. #: doc/guix.texi:21326
  38872. #, no-wrap
  38873. msgid "herd doc @var{service-name}\n"
  38874. msgstr ""
  38875. #. type: table
  38876. #: doc/guix.texi:21330
  38877. msgid ""
  38878. "where @var{service-name} is one of the symbols in @var{provision} "
  38879. "(@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})."
  38880. msgstr ""
  38881. #. type: item
  38882. #: doc/guix.texi:21331
  38883. #, no-wrap
  38884. msgid "@code{modules} (default: @var{%default-modules})"
  38885. msgstr ""
  38886. #. type: table
  38887. #: doc/guix.texi:21334
  38888. msgid ""
  38889. "This is the list of modules that must be in scope when @code{start} and "
  38890. "@code{stop} are evaluated."
  38891. msgstr ""
  38892. #. type: defvr
  38893. #: doc/guix.texi:21338
  38894. #, no-wrap
  38895. msgid "{Scheme Variable} shepherd-root-service-type"
  38896. msgstr ""
  38897. #. type: defvr
  38898. #: doc/guix.texi:21340
  38899. msgid "The service type for the Shepherd ``root service''---i.e., PID@tie{}1."
  38900. msgstr ""
  38901. #. type: defvr
  38902. #: doc/guix.texi:21344
  38903. msgid ""
  38904. "This is the service type that extensions target when they want to create "
  38905. "shepherd services (@pxref{Service Types and Services}, for an example). "
  38906. "Each extension must pass a list of @code{<shepherd-service>}."
  38907. msgstr ""
  38908. #. type: defvr
  38909. #: doc/guix.texi:21346
  38910. #, no-wrap
  38911. msgid "{Scheme Variable} %shepherd-root-service"
  38912. msgstr ""
  38913. #. type: defvr
  38914. #: doc/guix.texi:21348
  38915. msgid "This service represents PID@tie{}1."
  38916. msgstr ""
  38917. #. type: cindex
  38918. #: doc/guix.texi:21354
  38919. #, no-wrap
  38920. msgid "documentation, searching for"
  38921. msgstr ""
  38922. #. type: cindex
  38923. #: doc/guix.texi:21355
  38924. #, no-wrap
  38925. msgid "searching for documentation"
  38926. msgstr ""
  38927. #. type: cindex
  38928. #: doc/guix.texi:21356
  38929. #, no-wrap
  38930. msgid "Info, documentation format"
  38931. msgstr ""
  38932. #. type: cindex
  38933. #: doc/guix.texi:21357
  38934. #, no-wrap
  38935. msgid "man pages"
  38936. msgstr ""
  38937. #. type: cindex
  38938. #: doc/guix.texi:21358
  38939. #, no-wrap
  38940. msgid "manual pages"
  38941. msgstr ""
  38942. #. type: Plain text
  38943. #: doc/guix.texi:21365
  38944. msgid ""
  38945. "In most cases packages installed with Guix come with documentation. There "
  38946. "are two main documentation formats: ``Info'', a browseable hypertext format "
  38947. "used for GNU software, and ``manual pages'' (or ``man pages''), the linear "
  38948. "documentation format traditionally found on Unix. Info manuals are accessed "
  38949. "with the @command{info} command or with Emacs, and man pages are accessed "
  38950. "using @command{man}."
  38951. msgstr ""
  38952. #. type: Plain text
  38953. #: doc/guix.texi:21369
  38954. msgid ""
  38955. "You can look for documentation of software installed on your system by "
  38956. "keyword. For example, the following command searches for information about "
  38957. "``TLS'' in Info manuals:"
  38958. msgstr ""
  38959. #. type: example
  38960. #: doc/guix.texi:21377
  38961. #, no-wrap
  38962. msgid ""
  38963. "$ info -k TLS\n"
  38964. "\"(emacs)Network Security\" -- STARTTLS\n"
  38965. "\"(emacs)Network Security\" -- TLS\n"
  38966. "\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_flags\n"
  38967. "\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_function\n"
  38968. "@dots{}\n"
  38969. msgstr ""
  38970. #. type: Plain text
  38971. #: doc/guix.texi:21381
  38972. msgid "The command below searches for the same keyword in man pages:"
  38973. msgstr ""
  38974. #. type: example
  38975. #: doc/guix.texi:21387
  38976. #, no-wrap
  38977. msgid ""
  38978. "$ man -k TLS\n"
  38979. "SSL (7) - OpenSSL SSL/TLS library\n"
  38980. "certtool (1) - GnuTLS certificate tool\n"
  38981. "@dots {}\n"
  38982. msgstr ""
  38983. #. type: Plain text
  38984. #: doc/guix.texi:21393
  38985. msgid ""
  38986. "These searches are purely local to your computer so you have the guarantee "
  38987. "that documentation you find corresponds to what you have actually installed, "
  38988. "you can access it off-line, and your privacy is respected."
  38989. msgstr ""
  38990. #. type: Plain text
  38991. #: doc/guix.texi:21396
  38992. msgid ""
  38993. "Once you have these results, you can view the relevant documentation by "
  38994. "running, say:"
  38995. msgstr ""
  38996. #. type: example
  38997. #: doc/guix.texi:21399
  38998. #, no-wrap
  38999. msgid "$ info \"(gnutls)Core TLS API\"\n"
  39000. msgstr ""
  39001. #. type: Plain text
  39002. #: doc/guix.texi:21403
  39003. msgid "or:"
  39004. msgstr ""
  39005. #. type: example
  39006. #: doc/guix.texi:21406
  39007. #, no-wrap
  39008. msgid "$ man certtool\n"
  39009. msgstr ""
  39010. #. type: Plain text
  39011. #: doc/guix.texi:21414
  39012. msgid ""
  39013. "Info manuals contain sections and indices as well as hyperlinks like those "
  39014. "found in Web pages. The @command{info} reader (@pxref{Top, Info reader,, "
  39015. "info-stnd, Stand-alone GNU Info}) and its Emacs counterpart (@pxref{Misc "
  39016. "Help,,, emacs, The GNU Emacs Manual}) provide intuitive key bindings to "
  39017. "navigate manuals. @xref{Getting Started,,, info, Info: An Introduction}, "
  39018. "for an introduction to Info navigation."
  39019. msgstr ""
  39020. #. type: cindex
  39021. #: doc/guix.texi:21418
  39022. #, no-wrap
  39023. msgid "debugging files"
  39024. msgstr ""
  39025. #. type: Plain text
  39026. #: doc/guix.texi:21424
  39027. msgid ""
  39028. "Program binaries, as produced by the GCC compilers for instance, are "
  39029. "typically written in the ELF format, with a section containing "
  39030. "@dfn{debugging information}. Debugging information is what allows the "
  39031. "debugger, GDB, to map binary code to source code; it is required to debug a "
  39032. "compiled program in good conditions."
  39033. msgstr ""
  39034. #. type: Plain text
  39035. #: doc/guix.texi:21432
  39036. msgid ""
  39037. "The problem with debugging information is that is takes up a fair amount of "
  39038. "disk space. For example, debugging information for the GNU C Library weighs "
  39039. "in at more than 60 MiB. Thus, as a user, keeping all the debugging info of "
  39040. "all the installed programs is usually not an option. Yet, space savings "
  39041. "should not come at the cost of an impediment to debugging---especially in "
  39042. "the GNU system, which should make it easier for users to exert their "
  39043. "computing freedom (@pxref{GNU Distribution})."
  39044. msgstr ""
  39045. #. type: Plain text
  39046. #: doc/guix.texi:21439
  39047. msgid ""
  39048. "Thankfully, the GNU Binary Utilities (Binutils) and GDB provide a mechanism "
  39049. "that allows users to get the best of both worlds: debugging information can "
  39050. "be stripped from the binaries and stored in separate files. GDB is then "
  39051. "able to load debugging information from those files, when they are available "
  39052. "(@pxref{Separate Debug Files,,, gdb, Debugging with GDB})."
  39053. msgstr ""
  39054. #. type: Plain text
  39055. #: doc/guix.texi:21447
  39056. msgid ""
  39057. "The GNU distribution takes advantage of this by storing debugging "
  39058. "information in the @code{lib/debug} sub-directory of a separate package "
  39059. "output unimaginatively called @code{debug} (@pxref{Packages with Multiple "
  39060. "Outputs}). Users can choose to install the @code{debug} output of a package "
  39061. "when they need it. For instance, the following command installs the "
  39062. "debugging information for the GNU C Library and for GNU Guile:"
  39063. msgstr ""
  39064. #. type: example
  39065. #: doc/guix.texi:21450
  39066. #, no-wrap
  39067. msgid "guix package -i glibc:debug guile:debug\n"
  39068. msgstr ""
  39069. #. type: Plain text
  39070. #: doc/guix.texi:21456
  39071. msgid ""
  39072. "GDB must then be told to look for debug files in the user's profile, by "
  39073. "setting the @code{debug-file-directory} variable (consider setting it from "
  39074. "the @file{~/.gdbinit} file, @pxref{Startup,,, gdb, Debugging with GDB}):"
  39075. msgstr ""
  39076. #. type: example
  39077. #: doc/guix.texi:21459
  39078. #, no-wrap
  39079. msgid "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n"
  39080. msgstr ""
  39081. #. type: Plain text
  39082. #: doc/guix.texi:21463
  39083. msgid ""
  39084. "From there on, GDB will pick up debugging information from the @code{.debug} "
  39085. "files under @file{~/.guix-profile/lib/debug}."
  39086. msgstr ""
  39087. #. type: Plain text
  39088. #: doc/guix.texi:21470
  39089. msgid ""
  39090. "In addition, you will most likely want GDB to be able to show the source "
  39091. "code being debugged. To do that, you will have to unpack the source code of "
  39092. "the package of interest (obtained with @code{guix build --source}, "
  39093. "@pxref{Invoking guix build}), and to point GDB to that source directory "
  39094. "using the @code{directory} command (@pxref{Source Path, @code{directory},, "
  39095. "gdb, Debugging with GDB})."
  39096. msgstr ""
  39097. #. type: Plain text
  39098. #: doc/guix.texi:21479
  39099. msgid ""
  39100. "The @code{debug} output mechanism in Guix is implemented by the @code{gnu-"
  39101. "build-system} (@pxref{Build Systems}). Currently, it is opt-in---debugging "
  39102. "information is available only for the packages with definitions explicitly "
  39103. "declaring a @code{debug} output. This may be changed to opt-out in the "
  39104. "future if our build farm servers can handle the load. To check whether a "
  39105. "package has a @code{debug} output, use @command{guix package --list-"
  39106. "available} (@pxref{Invoking guix package})."
  39107. msgstr ""
  39108. #. type: cindex
  39109. #: doc/guix.texi:21484
  39110. #, no-wrap
  39111. msgid "security updates"
  39112. msgstr ""
  39113. #. type: Plain text
  39114. #: doc/guix.texi:21493
  39115. msgid ""
  39116. "Occasionally, important security vulnerabilities are discovered in software "
  39117. "packages and must be patched. Guix developers try hard to keep track of "
  39118. "known vulnerabilities and to apply fixes as soon as possible in the "
  39119. "@code{master} branch of Guix (we do not yet provide a ``stable'' branch "
  39120. "containing only security updates.) The @command{guix lint} tool helps "
  39121. "developers find out about vulnerable versions of software packages in the "
  39122. "distribution:"
  39123. msgstr ""
  39124. #. type: smallexample
  39125. #: doc/guix.texi:21500
  39126. #, no-wrap
  39127. msgid ""
  39128. "$ guix lint -c cve\n"
  39129. "gnu/packages/base.scm:652:2: glibc@@2.21: probably vulnerable to CVE-2015-1781, CVE-2015-7547\n"
  39130. "gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probably vulnerable to CVE-2015-5276\n"
  39131. "gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probably vulnerable to CVE-2016-1923, CVE-2016-1924\n"
  39132. "@dots{}\n"
  39133. msgstr ""
  39134. #. type: Plain text
  39135. #: doc/guix.texi:21503
  39136. msgid "@xref{Invoking guix lint}, for more information."
  39137. msgstr ""
  39138. #. type: quotation
  39139. #: doc/guix.texi:21507
  39140. msgid ""
  39141. "As of version @value{VERSION}, the feature described below is considered "
  39142. "``beta''."
  39143. msgstr ""
  39144. #. type: Plain text
  39145. #: doc/guix.texi:21517
  39146. msgid ""
  39147. "Guix follows a functional package management discipline "
  39148. "(@pxref{Introduction}), which implies that, when a package is changed, "
  39149. "@emph{every package that depends on it} must be rebuilt. This can "
  39150. "significantly slow down the deployment of fixes in core packages such as "
  39151. "libc or Bash, since basically the whole distribution would need to be "
  39152. "rebuilt. Using pre-built binaries helps (@pxref{Substitutes}), but "
  39153. "deployment may still take more time than desired."
  39154. msgstr ""
  39155. #. type: cindex
  39156. #: doc/guix.texi:21518
  39157. #, no-wrap
  39158. msgid "grafts"
  39159. msgstr ""
  39160. #. type: Plain text
  39161. #: doc/guix.texi:21526
  39162. msgid ""
  39163. "To address this, Guix implements @dfn{grafts}, a mechanism that allows for "
  39164. "fast deployment of critical updates without the costs associated with a "
  39165. "whole-distribution rebuild. The idea is to rebuild only the package that "
  39166. "needs to be patched, and then to ``graft'' it onto packages explicitly "
  39167. "installed by the user and that were previously referring to the original "
  39168. "package. The cost of grafting is typically very low, and order of "
  39169. "magnitudes lower than a full rebuild of the dependency chain."
  39170. msgstr ""
  39171. #. type: cindex
  39172. #: doc/guix.texi:21527
  39173. #, no-wrap
  39174. msgid "replacements of packages, for grafts"
  39175. msgstr ""
  39176. #. type: Plain text
  39177. #: doc/guix.texi:21533
  39178. msgid ""
  39179. "For instance, suppose a security update needs to be applied to Bash. Guix "
  39180. "developers will provide a package definition for the ``fixed'' Bash, say "
  39181. "@var{bash-fixed}, in the usual way (@pxref{Defining Packages}). Then, the "
  39182. "original package definition is augmented with a @code{replacement} field "
  39183. "pointing to the package containing the bug fix:"
  39184. msgstr ""
  39185. #. type: example
  39186. #: doc/guix.texi:21540
  39187. #, no-wrap
  39188. msgid ""
  39189. "(define bash\n"
  39190. " (package\n"
  39191. " (name \"bash\")\n"
  39192. " ;; @dots{}\n"
  39193. " (replacement bash-fixed)))\n"
  39194. msgstr ""
  39195. #. type: Plain text
  39196. #: doc/guix.texi:21550
  39197. msgid ""
  39198. "From there on, any package depending directly or indirectly on Bash---as "
  39199. "reported by @command{guix gc --requisites} (@pxref{Invoking guix gc})---that "
  39200. "is installed is automatically ``rewritten'' to refer to @var{bash-fixed} "
  39201. "instead of @var{bash}. This grafting process takes time proportional to the "
  39202. "size of the package, usually less than a minute for an ``average'' package "
  39203. "on a recent machine. Grafting is recursive: when an indirect dependency "
  39204. "requires grafting, then grafting ``propagates'' up to the package that the "
  39205. "user is installing."
  39206. msgstr ""
  39207. #. type: Plain text
  39208. #: doc/guix.texi:21558
  39209. msgid ""
  39210. "Currently, the length of the name and version of the graft and that of the "
  39211. "package it replaces (@var{bash-fixed} and @var{bash} in the example above) "
  39212. "must be equal. This restriction mostly comes from the fact that grafting "
  39213. "works by patching files, including binary files, directly. Other "
  39214. "restrictions may apply: for instance, when adding a graft to a package "
  39215. "providing a shared library, the original shared library and its replacement "
  39216. "must have the same @code{SONAME} and be binary-compatible."
  39217. msgstr ""
  39218. #. type: Plain text
  39219. #: doc/guix.texi:21562
  39220. msgid ""
  39221. "The @option{--no-grafts} command-line option allows you to forcefully avoid "
  39222. "grafting (@pxref{Common Build Options, @option{--no-grafts}}). Thus, the "
  39223. "command:"
  39224. msgstr ""
  39225. #. type: example
  39226. #: doc/guix.texi:21565
  39227. #, no-wrap
  39228. msgid "guix build bash --no-grafts\n"
  39229. msgstr ""
  39230. #. type: Plain text
  39231. #: doc/guix.texi:21569
  39232. msgid "returns the store file name of the original Bash, whereas:"
  39233. msgstr ""
  39234. #. type: example
  39235. #: doc/guix.texi:21572
  39236. #, no-wrap
  39237. msgid "guix build bash\n"
  39238. msgstr ""
  39239. #. type: Plain text
  39240. #: doc/guix.texi:21577
  39241. msgid ""
  39242. "returns the store file name of the ``fixed'', replacement Bash. This allows "
  39243. "you to distinguish between the two variants of Bash."
  39244. msgstr ""
  39245. #. type: Plain text
  39246. #: doc/guix.texi:21580
  39247. msgid ""
  39248. "To verify which Bash your whole profile refers to, you can run "
  39249. "(@pxref{Invoking guix gc}):"
  39250. msgstr ""
  39251. #. type: example
  39252. #: doc/guix.texi:21583
  39253. #, no-wrap
  39254. msgid "guix gc -R `readlink -f ~/.guix-profile` | grep bash\n"
  39255. msgstr ""
  39256. #. type: Plain text
  39257. #: doc/guix.texi:21588
  39258. msgid ""
  39259. "@dots{} and compare the store file names that you get with those above. "
  39260. "Likewise for a complete GuixSD system generation:"
  39261. msgstr ""
  39262. #. type: example
  39263. #: doc/guix.texi:21591
  39264. #, no-wrap
  39265. msgid "guix gc -R `guix system build my-config.scm` | grep bash\n"
  39266. msgstr ""
  39267. #. type: Plain text
  39268. #: doc/guix.texi:21595
  39269. msgid ""
  39270. "Lastly, to check which Bash running processes are using, you can use the "
  39271. "@command{lsof} command:"
  39272. msgstr ""
  39273. #. type: example
  39274. #: doc/guix.texi:21598
  39275. #, no-wrap
  39276. msgid "lsof | grep /gnu/store/.*bash\n"
  39277. msgstr ""
  39278. #. type: Plain text
  39279. #: doc/guix.texi:21615
  39280. msgid ""
  39281. "From a programming viewpoint, the package definitions of the GNU "
  39282. "distribution are provided by Guile modules in the @code{(gnu packages "
  39283. "@dots{})} name space@footnote{Note that packages under the @code{(gnu "
  39284. "packages @dots{})} module name space are not necessarily ``GNU packages''. "
  39285. "This module naming scheme follows the usual Guile module naming convention: "
  39286. "@code{gnu} means that these modules are distributed as part of the GNU "
  39287. "system, and @code{packages} identifies modules that define packages.} "
  39288. "(@pxref{Modules, Guile modules,, guile, GNU Guile Reference Manual}). For "
  39289. "instance, the @code{(gnu packages emacs)} module exports a variable named "
  39290. "@code{emacs}, which is bound to a @code{<package>} object (@pxref{Defining "
  39291. "Packages})."
  39292. msgstr ""
  39293. #. type: Plain text
  39294. #: doc/guix.texi:21622
  39295. msgid ""
  39296. "The @code{(gnu packages @dots{})} module name space is automatically scanned "
  39297. "for packages by the command-line tools. For instance, when running "
  39298. "@code{guix package -i emacs}, all the @code{(gnu packages @dots{})} modules "
  39299. "are scanned until one that exports a package object whose name is "
  39300. "@code{emacs} is found. This package search facility is implemented in the "
  39301. "@code{(gnu packages)} module."
  39302. msgstr ""
  39303. #. type: cindex
  39304. #: doc/guix.texi:21624
  39305. #, no-wrap
  39306. msgid "package module search path"
  39307. msgstr ""
  39308. #. type: Plain text
  39309. #: doc/guix.texi:21641
  39310. msgid ""
  39311. "Users can store package definitions in modules with different names---e.g., "
  39312. "@code{(my-packages emacs)}@footnote{Note that the file name and module name "
  39313. "must match. For instance, the @code{(my-packages emacs)} module must be "
  39314. "stored in a @file{my-packages/emacs.scm} file relative to the load path "
  39315. "specified with @option{--load-path} or @code{GUIX_PACKAGE_PATH}. "
  39316. "@xref{Modules and the File System,,, guile, GNU Guile Reference Manual}, for "
  39317. "details.}. These package definitions will not be visible by default. Users "
  39318. "can invoke commands such as @command{guix package} and @command{guix build} "
  39319. "with the @code{-e} option so that they know where to find the package. "
  39320. "Better yet, they can use the @code{-L} option of these commands to make "
  39321. "those modules visible (@pxref{Invoking guix build, @code{--load-path}}), or "
  39322. "define the @code{GUIX_PACKAGE_PATH} environment variable. This environment "
  39323. "variable makes it easy to extend or customize the distribution and is "
  39324. "honored by all the user interfaces."
  39325. msgstr ""
  39326. #. type: defvr
  39327. #: doc/guix.texi:21642
  39328. #, no-wrap
  39329. msgid "{Environment Variable} GUIX_PACKAGE_PATH"
  39330. msgstr ""
  39331. #. type: defvr
  39332. #: doc/guix.texi:21646
  39333. msgid ""
  39334. "This is a colon-separated list of directories to search for additional "
  39335. "package modules. Directories listed in this variable take precedence over "
  39336. "the own modules of the distribution."
  39337. msgstr ""
  39338. #. type: Plain text
  39339. #: doc/guix.texi:21654
  39340. msgid ""
  39341. "The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: each "
  39342. "package is built based solely on other packages in the distribution. The "
  39343. "root of this dependency graph is a small set of @dfn{bootstrap binaries}, "
  39344. "provided by the @code{(gnu packages bootstrap)} module. For more "
  39345. "information on bootstrapping, @pxref{Bootstrapping}."
  39346. msgstr ""
  39347. #. type: cindex
  39348. #: doc/guix.texi:21658
  39349. #, no-wrap
  39350. msgid "packages, creating"
  39351. msgstr ""
  39352. #. type: Plain text
  39353. #: doc/guix.texi:21663
  39354. msgid ""
  39355. "The GNU distribution is nascent and may well lack some of your favorite "
  39356. "packages. This section describes how you can help make the distribution "
  39357. "grow. @xref{Contributing}, for additional information on how you can help."
  39358. msgstr ""
  39359. #. type: Plain text
  39360. #: doc/guix.texi:21671
  39361. msgid ""
  39362. "Free software packages are usually distributed in the form of @dfn{source "
  39363. "code tarballs}---typically @file{tar.gz} files that contain all the source "
  39364. "files. Adding a package to the distribution means essentially two things: "
  39365. "adding a @dfn{recipe} that describes how to build the package, including a "
  39366. "list of other packages required to build it, and adding @dfn{package "
  39367. "metadata} along with that recipe, such as a description and licensing "
  39368. "information."
  39369. msgstr ""
  39370. #. type: Plain text
  39371. #: doc/guix.texi:21680
  39372. msgid ""
  39373. "In Guix all this information is embodied in @dfn{package definitions}. "
  39374. "Package definitions provide a high-level view of the package. They are "
  39375. "written using the syntax of the Scheme programming language; in fact, for "
  39376. "each package we define a variable bound to the package definition, and "
  39377. "export that variable from a module (@pxref{Package Modules}). However, in-"
  39378. "depth Scheme knowledge is @emph{not} a prerequisite for creating packages. "
  39379. "For more information on package definitions, @pxref{Defining Packages}."
  39380. msgstr ""
  39381. #. type: Plain text
  39382. #: doc/guix.texi:21686
  39383. msgid ""
  39384. "Once a package definition is in place, stored in a file in the Guix source "
  39385. "tree, it can be tested using the @command{guix build} command "
  39386. "(@pxref{Invoking guix build}). For example, assuming the new package is "
  39387. "called @code{gnew}, you may run this command from the Guix build tree "
  39388. "(@pxref{Running Guix Before It Is Installed}):"
  39389. msgstr ""
  39390. #. type: example
  39391. #: doc/guix.texi:21689
  39392. #, no-wrap
  39393. msgid "./pre-inst-env guix build gnew --keep-failed\n"
  39394. msgstr ""
  39395. #. type: Plain text
  39396. #: doc/guix.texi:21695
  39397. msgid ""
  39398. "Using @code{--keep-failed} makes it easier to debug build failures since it "
  39399. "provides access to the failed build tree. Another useful command-line "
  39400. "option when debugging is @code{--log-file}, to access the build log."
  39401. msgstr ""
  39402. #. type: Plain text
  39403. #: doc/guix.texi:21700
  39404. msgid ""
  39405. "If the package is unknown to the @command{guix} command, it may be that the "
  39406. "source file contains a syntax error, or lacks a @code{define-public} clause "
  39407. "to export the package variable. To figure it out, you may load the module "
  39408. "from Guile to get more information about the actual error:"
  39409. msgstr ""
  39410. #. type: example
  39411. #: doc/guix.texi:21703
  39412. #, no-wrap
  39413. msgid "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n"
  39414. msgstr ""
  39415. #. type: Plain text
  39416. #: doc/guix.texi:21711
  39417. msgid ""
  39418. "Once your package builds correctly, please send us a patch "
  39419. "(@pxref{Contributing}). Well, if you need help, we will be happy to help "
  39420. "you too. Once the patch is committed in the Guix repository, the new "
  39421. "package automatically gets built on the supported platforms by @url{http://"
  39422. "hydra.gnu.org/jobset/gnu/master, our continuous integration system}."
  39423. msgstr ""
  39424. #. type: cindex
  39425. #: doc/guix.texi:21712
  39426. #, no-wrap
  39427. msgid "substituter"
  39428. msgstr ""
  39429. #. type: Plain text
  39430. #: doc/guix.texi:21719
  39431. msgid ""
  39432. "Users can obtain the new package definition simply by running @command{guix "
  39433. "pull} (@pxref{Invoking guix pull}). When @code{hydra.gnu.org} is done "
  39434. "building the package, installing the package automatically downloads "
  39435. "binaries from there (@pxref{Substitutes}). The only place where human "
  39436. "intervention is needed is to review and apply the patch."
  39437. msgstr ""
  39438. #. type: cindex
  39439. #: doc/guix.texi:21736
  39440. #, no-wrap
  39441. msgid "free software"
  39442. msgstr ""
  39443. #. type: Plain text
  39444. #: doc/guix.texi:21744
  39445. msgid ""
  39446. "The GNU operating system has been developed so that users can have freedom "
  39447. "in their computing. GNU is @dfn{free software}, meaning that users have the "
  39448. "@url{http://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: to "
  39449. "run the program, to study and change the program in source code form, to "
  39450. "redistribute exact copies, and to distribute modified versions. Packages "
  39451. "found in the GNU distribution provide only software that conveys these four "
  39452. "freedoms."
  39453. msgstr ""
  39454. #. type: Plain text
  39455. #: doc/guix.texi:21750
  39456. msgid ""
  39457. "In addition, the GNU distribution follow the @url{http://www.gnu.org/distros/"
  39458. "free-system-distribution-guidelines.html,free software distribution "
  39459. "guidelines}. Among other things, these guidelines reject non-free firmware, "
  39460. "recommendations of non-free software, and discuss ways to deal with "
  39461. "trademarks and patents."
  39462. msgstr ""
  39463. #. type: Plain text
  39464. #: doc/guix.texi:21758
  39465. msgid ""
  39466. "Some otherwise free upstream package sources contain a small and optional "
  39467. "subset that violates the above guidelines, for instance because this subset "
  39468. "is itself non-free code. When that happens, the offending items are removed "
  39469. "with appropriate patches or code snippets in the @code{origin} form of the "
  39470. "package (@pxref{Defining Packages}). This way, @code{guix build --source} "
  39471. "returns the ``freed'' source rather than the unmodified upstream source."
  39472. msgstr ""
  39473. #. type: cindex
  39474. #: doc/guix.texi:21763
  39475. #, no-wrap
  39476. msgid "package name"
  39477. msgstr ""
  39478. #. type: Plain text
  39479. #: doc/guix.texi:21771
  39480. msgid ""
  39481. "A package has actually two names associated with it: First, there is the "
  39482. "name of the @emph{Scheme variable}, the one following @code{define-public}. "
  39483. "By this name, the package can be made known in the Scheme code, for instance "
  39484. "as input to another package. Second, there is the string in the @code{name} "
  39485. "field of a package definition. This name is used by package management "
  39486. "commands such as @command{guix package} and @command{guix build}."
  39487. msgstr ""
  39488. #. type: Plain text
  39489. #: doc/guix.texi:21776
  39490. msgid ""
  39491. "Both are usually the same and correspond to the lowercase conversion of the "
  39492. "project name chosen upstream, with underscores replaced with hyphens. For "
  39493. "instance, GNUnet is available as @code{gnunet}, and SDL_net as @code{sdl-"
  39494. "net}."
  39495. msgstr ""
  39496. #. type: Plain text
  39497. #: doc/guix.texi:21781
  39498. msgid ""
  39499. "We do not add @code{lib} prefixes for library packages, unless these are "
  39500. "already part of the official project name. But @pxref{Python Modules} and "
  39501. "@ref{Perl Modules} for special rules concerning modules for the Python and "
  39502. "Perl languages."
  39503. msgstr ""
  39504. #. type: Plain text
  39505. #: doc/guix.texi:21783
  39506. msgid "Font package names are handled differently, @pxref{Fonts}."
  39507. msgstr ""
  39508. #. type: cindex
  39509. #: doc/guix.texi:21788
  39510. #, no-wrap
  39511. msgid "package version"
  39512. msgstr ""
  39513. #. type: Plain text
  39514. #: doc/guix.texi:21797
  39515. msgid ""
  39516. "We usually package only the latest version of a given free software "
  39517. "project. But sometimes, for instance for incompatible library versions, two "
  39518. "(or more) versions of the same package are needed. These require different "
  39519. "Scheme variable names. We use the name as defined in @ref{Package Naming} "
  39520. "for the most recent version; previous versions use the same name, suffixed "
  39521. "by @code{-} and the smallest prefix of the version number that may "
  39522. "distinguish the two versions."
  39523. msgstr ""
  39524. #. type: Plain text
  39525. #: doc/guix.texi:21800
  39526. msgid ""
  39527. "The name inside the package definition is the same for all versions of a "
  39528. "package and does not contain any version number."
  39529. msgstr ""
  39530. #. type: Plain text
  39531. #: doc/guix.texi:21802
  39532. msgid ""
  39533. "For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as "
  39534. "follows:"
  39535. msgstr ""
  39536. #. type: example
  39537. #: doc/guix.texi:21814
  39538. #, no-wrap
  39539. msgid ""
  39540. "(define-public gtk+\n"
  39541. " (package\n"
  39542. " (name \"gtk+\")\n"
  39543. " (version \"3.9.12\")\n"
  39544. " ...))\n"
  39545. "(define-public gtk+-2\n"
  39546. " (package\n"
  39547. " (name \"gtk+\")\n"
  39548. " (version \"2.24.20\")\n"
  39549. " ...))\n"
  39550. msgstr ""
  39551. #. type: Plain text
  39552. #: doc/guix.texi:21816
  39553. msgid "If we also wanted GTK+ 3.8.2, this would be packaged as"
  39554. msgstr ""
  39555. #. type: example
  39556. #: doc/guix.texi:21822
  39557. #, no-wrap
  39558. msgid ""
  39559. "(define-public gtk+-3.8\n"
  39560. " (package\n"
  39561. " (name \"gtk+\")\n"
  39562. " (version \"3.8.2\")\n"
  39563. " ...))\n"
  39564. msgstr ""
  39565. #. type: cindex
  39566. #: doc/guix.texi:21826
  39567. #, no-wrap
  39568. msgid "version number, for VCS snapshots"
  39569. msgstr ""
  39570. #. type: Plain text
  39571. #: doc/guix.texi:21832
  39572. msgid ""
  39573. "Occasionally, we package snapshots of upstream's version control system "
  39574. "(VCS) instead of formal releases. This should remain exceptional, because "
  39575. "it is up to upstream developers to clarify what the stable release is. Yet, "
  39576. "it is sometimes necessary. So, what should we put in the @code{version} "
  39577. "field?"
  39578. msgstr ""
  39579. #. type: Plain text
  39580. #: doc/guix.texi:21840
  39581. msgid ""
  39582. "Clearly, we need to make the commit identifier of the VCS snapshot visible "
  39583. "in the version string, but we also need to make sure that the version string "
  39584. "is monotonically increasing so that @command{guix package --upgrade} can "
  39585. "determine which version is newer. Since commit identifiers, notably with "
  39586. "Git, are not monotonically increasing, we add a revision number that we "
  39587. "increase each time we upgrade to a newer snapshot. The resulting version "
  39588. "string looks like this:"
  39589. msgstr ""
  39590. #. type: example
  39591. #: doc/guix.texi:21849
  39592. #, no-wrap
  39593. msgid ""
  39594. "2.0.11-3.cabba9e\n"
  39595. " ^ ^ ^\n"
  39596. " | | `-- upstream commit ID\n"
  39597. " | |\n"
  39598. " | `--- Guix package revision\n"
  39599. " |\n"
  39600. "latest upstream version\n"
  39601. msgstr ""
  39602. #. type: Plain text
  39603. #: doc/guix.texi:21858
  39604. msgid ""
  39605. "It is a good idea to strip commit identifiers in the @code{version} field "
  39606. "to, say, 7 digits. It avoids an aesthetic annoyance (assuming aesthetics "
  39607. "have a role to play here) as well as problems related to OS limits such as "
  39608. "the maximum shebang length (127 bytes for the Linux kernel.) It is best to "
  39609. "use the full commit identifiers in @code{origin}s, though, to avoid "
  39610. "ambiguities. A typical package definition may look like this:"
  39611. msgstr ""
  39612. #. type: example
  39613. #: doc/guix.texi:21874
  39614. #, no-wrap
  39615. msgid ""
  39616. "(define my-package\n"
  39617. " (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n"
  39618. " (revision \"1\")) ;Guix package revision\n"
  39619. " (package\n"
  39620. " (version (git-version \"0.9\" revision commit))\n"
  39621. " (source (origin\n"
  39622. " (method git-fetch)\n"
  39623. " (uri (git-reference\n"
  39624. " (url \"git://example.org/my-package.git\")\n"
  39625. " (commit commit)))\n"
  39626. " (sha256 (base32 \"1mbikn@dots{}\"))\n"
  39627. " (file-name (git-file-name name version))))\n"
  39628. " ;; @dots{}\n"
  39629. " )))\n"
  39630. msgstr ""
  39631. #. type: cindex
  39632. #: doc/guix.texi:21879
  39633. #, no-wrap
  39634. msgid "package description"
  39635. msgstr ""
  39636. #. type: cindex
  39637. #: doc/guix.texi:21880
  39638. #, no-wrap
  39639. msgid "package synopsis"
  39640. msgstr ""
  39641. #. type: Plain text
  39642. #: doc/guix.texi:21887
  39643. msgid ""
  39644. "As we have seen before, each package in GNU@tie{}Guix includes a synopsis "
  39645. "and a description (@pxref{Defining Packages}). Synopses and descriptions "
  39646. "are important: They are what @command{guix package --search} searches, and a "
  39647. "crucial piece of information to help users determine whether a given package "
  39648. "suits their needs. Consequently, packagers should pay attention to what "
  39649. "goes into them."
  39650. msgstr ""
  39651. #. type: Plain text
  39652. #: doc/guix.texi:21895
  39653. msgid ""
  39654. "Synopses must start with a capital letter and must not end with a period. "
  39655. "They must not start with ``a'' or ``the'', which usually does not bring "
  39656. "anything; for instance, prefer ``File-frobbing tool'' over ``A tool that "
  39657. "frobs files''. The synopsis should say what the package is---e.g., ``Core "
  39658. "GNU utilities (file, text, shell)''---or what it is used for---e.g., the "
  39659. "synopsis for GNU@tie{}grep is ``Print lines matching a pattern''."
  39660. msgstr ""
  39661. #. type: Plain text
  39662. #: doc/guix.texi:21905
  39663. msgid ""
  39664. "Keep in mind that the synopsis must be meaningful for a very wide audience. "
  39665. "For example, ``Manipulate alignments in the SAM format'' might make sense "
  39666. "for a seasoned bioinformatics researcher, but might be fairly unhelpful or "
  39667. "even misleading to a non-specialized audience. It is a good idea to come up "
  39668. "with a synopsis that gives an idea of the application domain of the "
  39669. "package. In this example, this might give something like ``Manipulate "
  39670. "nucleotide sequence alignments'', which hopefully gives the user a better "
  39671. "idea of whether this is what they are looking for."
  39672. msgstr ""
  39673. #. type: Plain text
  39674. #: doc/guix.texi:21913
  39675. msgid ""
  39676. "Descriptions should take between five and ten lines. Use full sentences, "
  39677. "and avoid using acronyms without first introducing them. Please avoid "
  39678. "marketing phrases such as ``world-leading'', ``industrial-strength'', and "
  39679. "``next-generation'', and avoid superlatives like ``the most advanced''---"
  39680. "they are not helpful to users looking for a package and may even sound "
  39681. "suspicious. Instead, try to be factual, mentioning use cases and features."
  39682. msgstr ""
  39683. #. type: cindex
  39684. #: doc/guix.texi:21914
  39685. #, no-wrap
  39686. msgid "Texinfo markup, in package descriptions"
  39687. msgstr ""
  39688. #. type: Plain text
  39689. #: doc/guix.texi:21923
  39690. msgid ""
  39691. "Descriptions can include Texinfo markup, which is useful to introduce "
  39692. "ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks "
  39693. "(@pxref{Overview,,, texinfo, GNU Texinfo}). However you should be careful "
  39694. "when using some characters for example @samp{@@} and curly braces which are "
  39695. "the basic special characters in Texinfo (@pxref{Special Characters,,, "
  39696. "texinfo, GNU Texinfo}). User interfaces such as @command{guix package --"
  39697. "show} take care of rendering it appropriately."
  39698. msgstr ""
  39699. #. type: Plain text
  39700. #: doc/guix.texi:21929
  39701. msgid ""
  39702. "Synopses and descriptions are translated by volunteers @uref{http://"
  39703. "translationproject.org/domain/guix-packages.html, at the Translation "
  39704. "Project} so that as many users as possible can read them in their native "
  39705. "language. User interfaces search them and display them in the language "
  39706. "specified by the current locale."
  39707. msgstr ""
  39708. #. type: Plain text
  39709. #: doc/guix.texi:21934
  39710. msgid ""
  39711. "To allow @command{xgettext} to extract them as translatable strings, "
  39712. "synopses and descriptions @emph{must be literal strings}. This means that "
  39713. "you cannot use @code{string-append} or @code{format} to construct these "
  39714. "strings:"
  39715. msgstr ""
  39716. #. type: lisp
  39717. #: doc/guix.texi:21940
  39718. #, no-wrap
  39719. msgid ""
  39720. "(package\n"
  39721. " ;; @dots{}\n"
  39722. " (synopsis \"This is translatable\")\n"
  39723. " (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n"
  39724. msgstr ""
  39725. #. type: Plain text
  39726. #: doc/guix.texi:21948
  39727. msgid ""
  39728. "Translation is a lot of work so, as a packager, please pay even more "
  39729. "attention to your synopses and descriptions as every change may entail "
  39730. "additional work for translators. In order to help them, it is possible to "
  39731. "make recommendations or instructions visible to them by inserting special "
  39732. "comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):"
  39733. msgstr ""
  39734. #. type: example
  39735. #: doc/guix.texi:21953
  39736. #, no-wrap
  39737. msgid ""
  39738. ";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n"
  39739. "(description \"ARandR is designed to provide a simple visual front end\n"
  39740. "for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n"
  39741. msgstr ""
  39742. #. type: cindex
  39743. #: doc/guix.texi:21959
  39744. #, no-wrap
  39745. msgid "python"
  39746. msgstr ""
  39747. #. type: Plain text
  39748. #: doc/guix.texi:21965
  39749. msgid ""
  39750. "We currently package Python 2 and Python 3, under the Scheme variable names "
  39751. "@code{python-2} and @code{python} as explained in @ref{Version Numbers}. To "
  39752. "avoid confusion and naming clashes with other programming languages, it "
  39753. "seems desirable that the name of a package for a Python module contains the "
  39754. "word @code{python}."
  39755. msgstr ""
  39756. #. type: Plain text
  39757. #: doc/guix.texi:21971
  39758. msgid ""
  39759. "Some modules are compatible with only one version of Python, others with "
  39760. "both. If the package Foo compiles only with Python 3, we name it "
  39761. "@code{python-foo}; if it compiles only with Python 2, we name it "
  39762. "@code{python2-foo}. If it is compatible with both versions, we create two "
  39763. "packages with the corresponding names."
  39764. msgstr ""
  39765. #. type: Plain text
  39766. #: doc/guix.texi:21977
  39767. msgid ""
  39768. "If a project already contains the word @code{python}, we drop this; for "
  39769. "instance, the module python-dateutil is packaged under the names "
  39770. "@code{python-dateutil} and @code{python2-dateutil}. If the project name "
  39771. "starts with @code{py} (e.g. @code{pytz}), we keep it and prefix it as "
  39772. "described above."
  39773. msgstr ""
  39774. #. type: subsubsection
  39775. #: doc/guix.texi:21978
  39776. #, no-wrap
  39777. msgid "Specifying Dependencies"
  39778. msgstr ""
  39779. #. type: cindex
  39780. #: doc/guix.texi:21979
  39781. #, no-wrap
  39782. msgid "inputs, for Python packages"
  39783. msgstr ""
  39784. #. type: Plain text
  39785. #: doc/guix.texi:21984
  39786. msgid ""
  39787. "Dependency information for Python packages is usually available in the "
  39788. "package source tree, with varying degrees of accuracy: in the @file{setup."
  39789. "py} file, in @file{requirements.txt}, or in @file{tox.ini}."
  39790. msgstr ""
  39791. #. type: Plain text
  39792. #: doc/guix.texi:21990
  39793. msgid ""
  39794. "Your mission, when writing a recipe for a Python package, is to map these "
  39795. "dependencies to the appropriate type of ``input'' (@pxref{package Reference, "
  39796. "inputs}). Although the @code{pypi} importer normally does a good job "
  39797. "(@pxref{Invoking guix import}), you may want to check the following check "
  39798. "list to determine which dependency goes where."
  39799. msgstr ""
  39800. #. type: itemize
  39801. #: doc/guix.texi:21998
  39802. msgid ""
  39803. "We currently package Python 2 with @code{setuptools} and @code{pip} "
  39804. "installed like Python 3.4 has per default. Thus you don't need to specify "
  39805. "either of these as an input. @command{guix lint} will warn you if you do."
  39806. msgstr ""
  39807. #. type: itemize
  39808. #: doc/guix.texi:22004
  39809. msgid ""
  39810. "Python dependencies required at run time go into @code{propagated-inputs}. "
  39811. "They are typically defined with the @code{install_requires} keyword in "
  39812. "@file{setup.py}, or in the @file{requirements.txt} file."
  39813. msgstr ""
  39814. #. type: itemize
  39815. #: doc/guix.texi:22012
  39816. msgid ""
  39817. "Python packages required only at build time---e.g., those listed with the "
  39818. "@code{setup_requires} keyword in @file{setup.py}---or only for testing---e."
  39819. "g., those in @code{tests_require}---go into @code{native-inputs}. The "
  39820. "rationale is that (1) they do not need to be propagated because they are not "
  39821. "needed at run time, and (2) in a cross-compilation context, it's the "
  39822. "``native'' input that we'd want."
  39823. msgstr ""
  39824. #. type: itemize
  39825. #: doc/guix.texi:22016
  39826. msgid ""
  39827. "Examples are the @code{pytest}, @code{mock}, and @code{nose} test "
  39828. "frameworks. Of course if any of these packages is also required at run-"
  39829. "time, it needs to go to @code{propagated-inputs}."
  39830. msgstr ""
  39831. #. type: itemize
  39832. #: doc/guix.texi:22021
  39833. msgid ""
  39834. "Anything that does not fall in the previous categories goes to "
  39835. "@code{inputs}, for example programs or C libraries required for building "
  39836. "Python packages containing C extensions."
  39837. msgstr ""
  39838. #. type: itemize
  39839. #: doc/guix.texi:22027
  39840. msgid ""
  39841. "If a Python package has optional dependencies (@code{extras_require}), it is "
  39842. "up to you to decide whether to add them or not, based on their usefulness/"
  39843. "overhead ratio (@pxref{Submitting Patches, @command{guix size}})."
  39844. msgstr ""
  39845. #. type: cindex
  39846. #: doc/guix.texi:22034
  39847. #, no-wrap
  39848. msgid "perl"
  39849. msgstr ""
  39850. #. type: Plain text
  39851. #: doc/guix.texi:22045
  39852. msgid ""
  39853. "Perl programs standing for themselves are named as any other package, using "
  39854. "the lowercase upstream name. For Perl packages containing a single class, "
  39855. "we use the lowercase class name, replace all occurrences of @code{::} by "
  39856. "dashes and prepend the prefix @code{perl-}. So the class @code{XML::Parser} "
  39857. "becomes @code{perl-xml-parser}. Modules containing several classes keep "
  39858. "their lowercase upstream name and are also prepended by @code{perl-}. Such "
  39859. "modules tend to have the word @code{perl} somewhere in their name, which "
  39860. "gets dropped in favor of the prefix. For instance, @code{libwww-perl} "
  39861. "becomes @code{perl-libwww}."
  39862. msgstr ""
  39863. #. type: cindex
  39864. #: doc/guix.texi:22050
  39865. #, no-wrap
  39866. msgid "java"
  39867. msgstr ""
  39868. #. type: Plain text
  39869. #: doc/guix.texi:22053
  39870. msgid ""
  39871. "Java programs standing for themselves are named as any other package, using "
  39872. "the lowercase upstream name."
  39873. msgstr ""
  39874. #. type: Plain text
  39875. #: doc/guix.texi:22059
  39876. msgid ""
  39877. "To avoid confusion and naming clashes with other programming languages, it "
  39878. "is desirable that the name of a package for a Java package is prefixed with "
  39879. "@code{java-}. If a project already contains the word @code{java}, we drop "
  39880. "this; for instance, the package @code{ngsjava} is packaged under the name "
  39881. "@code{java-ngs}."
  39882. msgstr ""
  39883. #. type: Plain text
  39884. #: doc/guix.texi:22065
  39885. msgid ""
  39886. "For Java packages containing a single class or a small class hierarchy, we "
  39887. "use the lowercase class name, replace all occurrences of @code{.} by dashes "
  39888. "and prepend the prefix @code{java-}. So the class @code{apache.commons.cli} "
  39889. "becomes package @code{java-apache-commons-cli}."
  39890. msgstr ""
  39891. #. type: Plain text
  39892. #: doc/guix.texi:22076
  39893. msgid ""
  39894. "For fonts that are in general not installed by a user for typesetting "
  39895. "purposes, or that are distributed as part of a larger software package, we "
  39896. "rely on the general packaging rules for software; for instance, this applies "
  39897. "to the fonts delivered as part of the X.Org system or fonts that are part of "
  39898. "TeX Live."
  39899. msgstr ""
  39900. #. type: Plain text
  39901. #: doc/guix.texi:22080
  39902. msgid ""
  39903. "To make it easier for a user to search for fonts, names for other packages "
  39904. "containing only fonts are constructed as follows, independently of the "
  39905. "upstream package name."
  39906. msgstr ""
  39907. #. type: Plain text
  39908. #: doc/guix.texi:22088
  39909. msgid ""
  39910. "The name of a package containing only one font family starts with "
  39911. "@code{font-}; it is followed by the foundry name and a dash @code{-} if the "
  39912. "foundry is known, and the font family name, in which spaces are replaced by "
  39913. "dashes (and as usual, all upper case letters are transformed to lower "
  39914. "case). For example, the Gentium font family by SIL is packaged under the "
  39915. "name @code{font-sil-gentium}."
  39916. msgstr ""
  39917. #. type: Plain text
  39918. #: doc/guix.texi:22097
  39919. msgid ""
  39920. "For a package containing several font families, the name of the collection "
  39921. "is used in the place of the font family name. For instance, the Liberation "
  39922. "fonts consist of three families, Liberation Sans, Liberation Serif and "
  39923. "Liberation Mono. These could be packaged separately under the names "
  39924. "@code{font-liberation-sans} and so on; but as they are distributed together "
  39925. "under a common name, we prefer to package them together as @code{font-"
  39926. "liberation}."
  39927. msgstr ""
  39928. #. type: Plain text
  39929. #: doc/guix.texi:22103
  39930. msgid ""
  39931. "In the case where several formats of the same font family or font collection "
  39932. "are packaged separately, a short form of the format, prepended by a dash, is "
  39933. "added to the package name. We use @code{-ttf} for TrueType fonts, @code{-"
  39934. "otf} for OpenType fonts and @code{-type1} for PostScript Type 1 fonts."
  39935. msgstr ""
  39936. #. type: cindex
  39937. #: doc/guix.texi:22111
  39938. #, no-wrap
  39939. msgid "bootstrapping"
  39940. msgstr ""
  39941. #. type: Plain text
  39942. #: doc/guix.texi:22121
  39943. msgid ""
  39944. "Bootstrapping in our context refers to how the distribution gets built "
  39945. "``from nothing''. Remember that the build environment of a derivation "
  39946. "contains nothing but its declared inputs (@pxref{Introduction}). So there's "
  39947. "an obvious chicken-and-egg problem: how does the first package get built? "
  39948. "How does the first compiler get compiled? Note that this is a question of "
  39949. "interest only to the curious hacker, not to the regular user, so you can "
  39950. "shamelessly skip this section if you consider yourself a ``regular user''."
  39951. msgstr ""
  39952. #. type: cindex
  39953. #: doc/guix.texi:22122 doc/guix.texi:22244
  39954. #, no-wrap
  39955. msgid "bootstrap binaries"
  39956. msgstr ""
  39957. #. type: Plain text
  39958. #: doc/guix.texi:22132
  39959. msgid ""
  39960. "The GNU system is primarily made of C code, with libc at its core. The GNU "
  39961. "build system itself assumes the availability of a Bourne shell and command-"
  39962. "line tools provided by GNU Coreutils, Awk, Findutils, `sed', and `grep'. "
  39963. "Furthermore, build programs---programs that run @code{./configure}, "
  39964. "@code{make}, etc.---are written in Guile Scheme (@pxref{Derivations}). "
  39965. "Consequently, to be able to build anything at all, from scratch, Guix relies "
  39966. "on pre-built binaries of Guile, GCC, Binutils, libc, and the other packages "
  39967. "mentioned above---the @dfn{bootstrap binaries}."
  39968. msgstr ""
  39969. #. type: Plain text
  39970. #: doc/guix.texi:22135
  39971. msgid ""
  39972. "These bootstrap binaries are ``taken for granted'', though we can also re-"
  39973. "create them if needed (more on that later)."
  39974. msgstr ""
  39975. #. type: unnumberedsubsec
  39976. #: doc/guix.texi:22136
  39977. #, no-wrap
  39978. msgid "Preparing to Use the Bootstrap Binaries"
  39979. msgstr ""
  39980. #. type: Plain text
  39981. #: doc/guix.texi:22141
  39982. msgid ""
  39983. "@image{images/bootstrap-graph,6in,,Dependency graph of the early bootstrap "
  39984. "derivations}"
  39985. msgstr ""
  39986. #. type: Plain text
  39987. #: doc/guix.texi:22146
  39988. msgid ""
  39989. "The figure above shows the very beginning of the dependency graph of the "
  39990. "distribution, corresponding to the package definitions of the @code{(gnu "
  39991. "packages bootstrap)} module. A similar figure can be generated with "
  39992. "@command{guix graph} (@pxref{Invoking guix graph}), along the lines of:"
  39993. msgstr ""
  39994. #. type: example
  39995. #: doc/guix.texi:22151
  39996. #, no-wrap
  39997. msgid ""
  39998. "guix graph -t derivation \\\n"
  39999. " -e '(@@@@ (gnu packages bootstrap) %bootstrap-gcc)' \\\n"
  40000. " | dot -Tps > t.ps\n"
  40001. msgstr ""
  40002. #. type: Plain text
  40003. #: doc/guix.texi:22160
  40004. msgid ""
  40005. "At this level of detail, things are slightly complex. First, Guile itself "
  40006. "consists of an ELF executable, along with many source and compiled Scheme "
  40007. "files that are dynamically loaded when it runs. This gets stored in the "
  40008. "@file{guile-2.0.7.tar.xz} tarball shown in this graph. This tarball is part "
  40009. "of Guix's ``source'' distribution, and gets inserted into the store with "
  40010. "@code{add-to-store} (@pxref{The Store})."
  40011. msgstr ""
  40012. #. type: Plain text
  40013. #: doc/guix.texi:22169
  40014. msgid ""
  40015. "But how do we write a derivation that unpacks this tarball and adds it to "
  40016. "the store? To solve this problem, the @code{guile-bootstrap-2.0.drv} "
  40017. "derivation---the first one that gets built---uses @code{bash} as its "
  40018. "builder, which runs @code{build-bootstrap-guile.sh}, which in turn calls "
  40019. "@code{tar} to unpack the tarball. Thus, @file{bash}, @file{tar}, @file{xz}, "
  40020. "and @file{mkdir} are statically-linked binaries, also part of the Guix "
  40021. "source distribution, whose sole purpose is to allow the Guile tarball to be "
  40022. "unpacked."
  40023. msgstr ""
  40024. #. type: Plain text
  40025. #: doc/guix.texi:22181
  40026. msgid ""
  40027. "Once @code{guile-bootstrap-2.0.drv} is built, we have a functioning Guile "
  40028. "that can be used to run subsequent build programs. Its first task is to "
  40029. "download tarballs containing the other pre-built binaries---this is what the "
  40030. "@code{.tar.xz.drv} derivations do. Guix modules such as @code{ftp-client."
  40031. "scm} are used for this purpose. The @code{module-import.drv} derivations "
  40032. "import those modules in a directory in the store, using the original "
  40033. "layout. The @code{module-import-compiled.drv} derivations compile those "
  40034. "modules, and write them in an output directory with the right layout. This "
  40035. "corresponds to the @code{#:modules} argument of @code{build-expression-"
  40036. ">derivation} (@pxref{Derivations})."
  40037. msgstr ""
  40038. #. type: Plain text
  40039. #: doc/guix.texi:22185
  40040. msgid ""
  40041. "Finally, the various tarballs are unpacked by the derivations @code{gcc-"
  40042. "bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, etc., at which point we have "
  40043. "a working C tool chain."
  40044. msgstr ""
  40045. #. type: unnumberedsubsec
  40046. #: doc/guix.texi:22187
  40047. #, no-wrap
  40048. msgid "Building the Build Tools"
  40049. msgstr ""
  40050. #. type: Plain text
  40051. #: doc/guix.texi:22196
  40052. msgid ""
  40053. "Bootstrapping is complete when we have a full tool chain that does not "
  40054. "depend on the pre-built bootstrap tools discussed above. This no-dependency "
  40055. "requirement is verified by checking whether the files of the final tool "
  40056. "chain contain references to the @file{/gnu/store} directories of the "
  40057. "bootstrap inputs. The process that leads to this ``final'' tool chain is "
  40058. "described by the package definitions found in the @code{(gnu packages "
  40059. "commencement)} module."
  40060. msgstr ""
  40061. #. type: Plain text
  40062. #: doc/guix.texi:22203
  40063. msgid ""
  40064. "The @command{guix graph} command allows us to ``zoom out'' compared to the "
  40065. "graph above, by looking at the level of package objects instead of "
  40066. "individual derivations---remember that a package may translate to several "
  40067. "derivations, typically one derivation to download its source, one to build "
  40068. "the Guile modules it needs, and one to actually build the package from "
  40069. "source. The command:"
  40070. msgstr ""
  40071. #. type: example
  40072. #: doc/guix.texi:22208
  40073. #, no-wrap
  40074. msgid ""
  40075. "guix graph -t bag \\\n"
  40076. " -e '(@@@@ (gnu packages commencement)\n"
  40077. " glibc-final-with-bootstrap-bash)' | dot -Tps > t.ps\n"
  40078. msgstr ""
  40079. #. type: Plain text
  40080. #: doc/guix.texi:22215
  40081. msgid ""
  40082. "produces the dependency graph leading to the ``final'' C "
  40083. "library@footnote{You may notice the @code{glibc-intermediate} label, "
  40084. "suggesting that it is not @emph{quite} final, but as a good approximation, "
  40085. "we will consider it final.}, depicted below."
  40086. msgstr ""
  40087. #. type: Plain text
  40088. #: doc/guix.texi:22217
  40089. msgid ""
  40090. "@image{images/bootstrap-packages,6in,,Dependency graph of the early packages}"
  40091. msgstr ""
  40092. #. type: Plain text
  40093. #: doc/guix.texi:22223
  40094. msgid ""
  40095. "The first tool that gets built with the bootstrap binaries is GNU@tie{}"
  40096. "Make---noted @code{make-boot0} above---which is a prerequisite for all the "
  40097. "following packages. From there Findutils and Diffutils get built."
  40098. msgstr ""
  40099. #. type: Plain text
  40100. #: doc/guix.texi:22228
  40101. msgid ""
  40102. "Then come the first-stage Binutils and GCC, built as pseudo cross tools---i."
  40103. "e., with @code{--target} equal to @code{--host}. They are used to build "
  40104. "libc. Thanks to this cross-build trick, this libc is guaranteed not to hold "
  40105. "any reference to the initial tool chain."
  40106. msgstr ""
  40107. #. type: Plain text
  40108. #: doc/guix.texi:22234
  40109. msgid ""
  40110. "From there the final Binutils and GCC (not shown above) are built. GCC uses "
  40111. "@code{ld} from the final Binutils, and links programs against the just-built "
  40112. "libc. This tool chain is used to build the other packages used by Guix and "
  40113. "by the GNU Build System: Guile, Bash, Coreutils, etc."
  40114. msgstr ""
  40115. #. type: Plain text
  40116. #: doc/guix.texi:22240
  40117. msgid ""
  40118. "And voilà! At this point we have the complete set of build tools that the "
  40119. "GNU Build System expects. These are in the @code{%final-inputs} variable of "
  40120. "the @code{(gnu packages commencement)} module, and are implicitly used by "
  40121. "any package that uses @code{gnu-build-system} (@pxref{Build Systems, "
  40122. "@code{gnu-build-system}})."
  40123. msgstr ""
  40124. #. type: unnumberedsubsec
  40125. #: doc/guix.texi:22242
  40126. #, no-wrap
  40127. msgid "Building the Bootstrap Binaries"
  40128. msgstr ""
  40129. #. type: Plain text
  40130. #: doc/guix.texi:22249
  40131. msgid ""
  40132. "Because the final tool chain does not depend on the bootstrap binaries, "
  40133. "those rarely need to be updated. Nevertheless, it is useful to have an "
  40134. "automated way to produce them, should an update occur, and this is what the "
  40135. "@code{(gnu packages make-bootstrap)} module provides."
  40136. msgstr ""
  40137. #. type: Plain text
  40138. #: doc/guix.texi:22253
  40139. msgid ""
  40140. "The following command builds the tarballs containing the bootstrap binaries "
  40141. "(Guile, Binutils, GCC, libc, and a tarball containing a mixture of Coreutils "
  40142. "and other basic command-line tools):"
  40143. msgstr ""
  40144. #. type: example
  40145. #: doc/guix.texi:22256
  40146. #, no-wrap
  40147. msgid "guix build bootstrap-tarballs\n"
  40148. msgstr ""
  40149. #. type: Plain text
  40150. #: doc/guix.texi:22261
  40151. msgid ""
  40152. "The generated tarballs are those that should be referred to in the "
  40153. "@code{(gnu packages bootstrap)} module mentioned at the beginning of this "
  40154. "section."
  40155. msgstr ""
  40156. #. type: Plain text
  40157. #: doc/guix.texi:22267
  40158. msgid ""
  40159. "Still here? Then perhaps by now you've started to wonder: when do we reach a "
  40160. "fixed point? That is an interesting question! The answer is unknown, but if "
  40161. "you would like to investigate further (and have significant computational "
  40162. "and storage resources to do so), then let us know."
  40163. msgstr ""
  40164. #. type: unnumberedsubsec
  40165. #: doc/guix.texi:22268
  40166. #, no-wrap
  40167. msgid "Reducing the Set of Bootstrap Binaries"
  40168. msgstr ""
  40169. #. type: Plain text
  40170. #: doc/guix.texi:22276
  40171. msgid ""
  40172. "Our bootstrap binaries currently include GCC, Guile, etc. That's a lot of "
  40173. "binary code! Why is that a problem? It's a problem because these big chunks "
  40174. "of binary code are practically non-auditable, which makes it hard to "
  40175. "establish what source code produced them. Every unauditable binary also "
  40176. "leaves us vulnerable to compiler backdoors as described by Ken Thompson in "
  40177. "the 1984 paper @emph{Reflections on Trusting Trust}."
  40178. msgstr ""
  40179. #. type: Plain text
  40180. #: doc/guix.texi:22282
  40181. msgid ""
  40182. "This is mitigated by the fact that our bootstrap binaries were generated "
  40183. "from an earlier Guix revision. Nevertheless it lacks the level of "
  40184. "transparency that we get in the rest of the package dependency graph, where "
  40185. "Guix always gives us a source-to-binary mapping. Thus, our goal is to "
  40186. "reduce the set of bootstrap binaries to the bare minimum."
  40187. msgstr ""
  40188. #. type: Plain text
  40189. #: doc/guix.texi:22288
  40190. msgid ""
  40191. "The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists on-"
  40192. "going projects to do that. One of these is about replacing the bootstrap "
  40193. "GCC with a sequence of assemblers, interpreters, and compilers of increasing "
  40194. "complexity, which could be built from source starting from a simple and "
  40195. "auditable assembler. Your help is welcome!"
  40196. msgstr ""
  40197. #. type: section
  40198. #: doc/guix.texi:22291
  40199. #, no-wrap
  40200. msgid "Porting to a New Platform"
  40201. msgstr ""
  40202. #. type: Plain text
  40203. #: doc/guix.texi:22300
  40204. msgid ""
  40205. "As discussed above, the GNU distribution is self-contained, and self-"
  40206. "containment is achieved by relying on pre-built ``bootstrap "
  40207. "binaries'' (@pxref{Bootstrapping}). These binaries are specific to an "
  40208. "operating system kernel, CPU architecture, and application binary interface "
  40209. "(ABI). Thus, to port the distribution to a platform that is not yet "
  40210. "supported, one must build those bootstrap binaries, and update the "
  40211. "@code{(gnu packages bootstrap)} module to use them on that platform."
  40212. msgstr ""
  40213. #. type: Plain text
  40214. #: doc/guix.texi:22305
  40215. msgid ""
  40216. "Fortunately, Guix can @emph{cross compile} those bootstrap binaries. When "
  40217. "everything goes well, and assuming the GNU tool chain supports the target "
  40218. "platform, this can be as simple as running a command like this one:"
  40219. msgstr ""
  40220. #. type: example
  40221. #: doc/guix.texi:22308
  40222. #, no-wrap
  40223. msgid "guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs\n"
  40224. msgstr ""
  40225. #. type: Plain text
  40226. #: doc/guix.texi:22315
  40227. msgid ""
  40228. "For this to work, the @code{glibc-dynamic-linker} procedure in @code{(gnu "
  40229. "packages bootstrap)} must be augmented to return the right file name for "
  40230. "libc's dynamic linker on that platform; likewise, @code{system->linux-"
  40231. "architecture} in @code{(gnu packages linux)} must be taught about the new "
  40232. "platform."
  40233. msgstr ""
  40234. #. type: Plain text
  40235. #: doc/guix.texi:22324
  40236. msgid ""
  40237. "Once these are built, the @code{(gnu packages bootstrap)} module needs to be "
  40238. "updated to refer to these binaries on the target platform. That is, the "
  40239. "hashes and URLs of the bootstrap tarballs for the new platform must be added "
  40240. "alongside those of the currently supported platforms. The bootstrap Guile "
  40241. "tarball is treated specially: it is expected to be available locally, and "
  40242. "@file{gnu/local.mk} has rules do download it for the supported "
  40243. "architectures; a rule for the new platform must be added as well."
  40244. msgstr ""
  40245. #. type: Plain text
  40246. #: doc/guix.texi:22333
  40247. msgid ""
  40248. "In practice, there may be some complications. First, it may be that the "
  40249. "extended GNU triplet that specifies an ABI (like the @code{eabi} suffix "
  40250. "above) is not recognized by all the GNU tools. Typically, glibc recognizes "
  40251. "some of these, whereas GCC uses an extra @code{--with-abi} configure flag "
  40252. "(see @code{gcc.scm} for examples of how to handle this). Second, some of "
  40253. "the required packages could fail to build for that platform. Lastly, the "
  40254. "generated binaries could be broken for some reason."
  40255. msgstr ""
  40256. #. type: include
  40257. #: doc/guix.texi:22335
  40258. #, no-wrap
  40259. msgid "contributing.texi"
  40260. msgstr ""
  40261. #. type: Plain text
  40262. #: doc/guix.texi:22348
  40263. msgid ""
  40264. "Guix is based on the @uref{http://nixos.org/nix/, Nix package manager}, "
  40265. "which was designed and implemented by Eelco Dolstra, with contributions from "
  40266. "other people (see the @file{nix/AUTHORS} file in Guix.) Nix pioneered "
  40267. "functional package management, and promoted unprecedented features, such as "
  40268. "transactional package upgrades and rollbacks, per-user profiles, and "
  40269. "referentially transparent build processes. Without this work, Guix would "
  40270. "not exist."
  40271. msgstr ""
  40272. #. type: Plain text
  40273. #: doc/guix.texi:22351
  40274. msgid ""
  40275. "The Nix-based software distributions, Nixpkgs and NixOS, have also been an "
  40276. "inspiration for Guix."
  40277. msgstr ""
  40278. #. type: Plain text
  40279. #: doc/guix.texi:22357
  40280. msgid ""
  40281. "GNU@tie{}Guix itself is a collective work with contributions from a number "
  40282. "of people. See the @file{AUTHORS} file in Guix for more information on "
  40283. "these fine people. The @file{THANKS} file lists people who have helped by "
  40284. "reporting bugs, taking care of the infrastructure, providing artwork and "
  40285. "themes, making suggestions, and more---thank you!"
  40286. msgstr ""
  40287. #. type: cindex
  40288. #: doc/guix.texi:22362
  40289. #, no-wrap
  40290. msgid "license, GNU Free Documentation License"
  40291. msgstr ""
  40292. #. type: include
  40293. #: doc/guix.texi:22363
  40294. #, no-wrap
  40295. msgid "fdl-1.3.texi"
  40296. msgstr ""