>From d48b3bf9915e4d161eec98a3d52df8644a0b2bfa Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov
Date: Tue, 12 Dec 2017 02:13:55 +0300 Subject: [PATCH] services: cgit: Add more configuration fields. * gnu/services/version-control.scm (cgit-service-type): Move to separate file. * gnu/services/cgit.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add this. * gnu/tests/version-control.scm (gnu): Add this. * doc/guix.texi (Cgit Service): Document this. --- doc/guix.texi | 942 +++++++++++++++++++++++++++++++++++++-- gnu/local.mk | 1 + gnu/services/cgit.scm | 658 +++++++++++++++++++++++++++ gnu/services/version-control.scm | 118 ----- gnu/tests/version-control.scm | 1 + 5 files changed, 1568 insertions(+), 152 deletions(-) create mode 100644 gnu/services/cgit.scm diff --git a/doc/guix.texi b/doc/guix.texi index 94d4d8f92..19ba6b5a6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17897,57 +17897,931 @@ By default, Cgit can be accessed on port 80 (@code{http://localhost:80}). @example (service nginx-service-type) (service fcgiwrap-service-type) -(service cgit-service-type) +(service cgit-service-type + (cgit-configuration + (branch-sort "age") + (enable-commit-graph? #t) + (enable-follow-links? #t) + (enable-index-links? #t) + (enable-log-filecount? #t) + (enable-log-linecount? #t) + (enable-remote-branches? #t) + (enable-subject-links? #t) + (remove-suffix? #t) + (enable-index-owner? #f) + (snapshots (list "tar.gz")))) @end example address@hidden {Data Type} cgit-configuration -Data type representing the configuration of Cgit. -This type has the following parameters: address@hidden The following documentation was initially generated by address@hidden (generate-cgit-documentation) in (gnu services cgit). Manually address@hidden maintained documentation is better, so we shouldn't hesitate to edit address@hidden below as needed. However if the change you want to make to this address@hidden documentation can be done in an automated way, it's probably easier address@hidden to change (generate-documentation) than to make it below and have to address@hidden deal with the churn as Cgit updates. address@hidden @asis address@hidden @code{config-file} (default: @code{(cgit-configuration-file)}) -The configuration file to use for Cgit. This can be set to a address@hidden record value, or any gexp -(@pxref{G-Expressions}). +Available @code{cgit-configuration} fields are: -For example, to instead use a local file, the @code{local-file} function -can be used: address@hidden address@hidden parameter} package package +The CGIT package. address@hidden -(service cgit-service-type - (cgit-configuration - (config-file (local-file "./my-cgitrc.conf")))) address@hidden example address@hidden deftypevr address@hidden @code{package} (default: @code{cgit}) -The Cgit package to use. address@hidden address@hidden parameter} nginx-server-configuration-list nginx +NGINX configuration. address@hidden table address@hidden deftp address@hidden deftypevr address@hidden {Data Type} cgit-configuration-file -Data type representing the configuration options for Cgit. -This type has the following parameters: address@hidden address@hidden parameter} string about-filter +Specifies a command which will be invoked to format the content of about +pages (both top-level and for each repository). address@hidden @asis address@hidden @code{css} (default: @code{"/share/cgit/cgit.css"}) +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string agefile +Specifies a path, relative to each repository path, which can be used to +specify the date and time of the youngest commit in the repository. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string auth-filter +Specifies a command that will be invoked for authenticating repository +access. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string branch-sort +Flag which, when set to @samp{age}, enables date ordering in the branch +ref list, and when set @samp{name} enables ordering by branch name. + +Defaults to @samp{"name"}. + address@hidden deftypevr + address@hidden address@hidden parameter} string cache-root +Path used to store the Cgit cache entries. + +Defaults to @samp{"/var/cache/cgit"}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer cache-static-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of repository pages accessed with a fixed SHA1. + +Defaults to @samp{-1}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer cache-dynamic-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of repository pages accessed without a fixed SHA1. + +Defaults to @samp{5}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer cache-repo-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of the repository summary page. + +Defaults to @samp{5}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer cache-root-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of the repository index page. + +Defaults to @samp{5}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer cache-scanrc-ttl +Number which specifies the time-to-live, in minutes, for the result of +scanning a path for Git repositories. + +Defaults to @samp{15}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer cache-about-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of the repository about page. + +Defaults to @samp{15}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer cache-snapshot-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of snapshots. + +Defaults to @samp{5}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer cache-size +The maximum number of entries in the cgit cache. When set to @samp{0}, +caching is disabled. + +Defaults to @samp{0}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean case-sensitive-sort? +Sort items in the repo list case sensitively. + +Defaults to @samp{#t}. + address@hidden deftypevr + address@hidden address@hidden parameter} list clone-prefix +List of common prefixes which, when combined with a repository URL, +generates valid clone URLs for the repository. + +Defaults to @samp{()}. + address@hidden deftypevr + address@hidden address@hidden parameter} list clone-url +List of @code{clone-url} templates. + +Defaults to @samp{()}. + address@hidden deftypevr + address@hidden address@hidden parameter} string commit-filter +Command which will be invoked to format commit messages. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string commit-sort +Flag which, when set to @samp{date}, enables strict date ordering in the +commit log, and when set to @samp{topo} enables strict topological +ordering. + +Defaults to @samp{"git log"}. + address@hidden deftypevr + address@hidden address@hidden parameter} string css URL which specifies the css document to include in all Cgit pages. address@hidden @code{logo} (default: @code{"/share/cgit/cgit.png"}) +Defaults to @samp{"/share/cgit/cgit.css"}. + address@hidden deftypevr + address@hidden address@hidden parameter} string email-filter +Specifies a command which will be invoked to format names and email +address of committers, authors, and taggers, as represented in various +places throughout the Cgit interface. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean embedded? +Flag which, when set to @samp{#t}, will make Cgit generate a HTML +fragment suitable for embedding in other HTML pages. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-commit-graph? +Flag which, when set to @samp{#t}, will make Cgit print an ASCII-art +commit history graph to the left of the commit messages in the +repository log page. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-filter-overrides? +Flag which, when set to @samp{#t}, allows all filter settings to be +overridden in repository-specific cgitrc files. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-follow-links? +Flag which, when set to @samp{#t}, allows users to follow a file in the +log view. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-http-clone? +If set to @samp{#t}, Cgit will act as an dumb HTTP endpoint for Git +clones. + +Defaults to @samp{#t}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-index-links? +Flag which, when set to @samp{#t}, will make Cgit generate extra links +"summary", "commit", "tree" for each repo in the repository index. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-index-owner? +Flag which, when set to @samp{#t}, will make Cgit display the owner of +each repo in the repository index. + +Defaults to @samp{#t}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-log-filecount? +Flag which, when set to @samp{#t}, will make Cgit print the number of +modified files for each commit on the repository log page. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-log-linecount? +Flag which, when set to @samp{#t}, will make Cgit print the number of +added and removed lines for each commit on the repository log page. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-remote-branches? +Flag which, when set to @code{#t}, will make Cgit display remote +branches in the summary and refs views. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-subject-links? +Flag which, when set to @code{1}, will make Cgit use the subject of the +parent commit as link text when generating links to parent commits in +commit view. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-html-serving? +Flag which, when set to @samp{#t}, will make Cgit use the subject of the +parent commit as link text when generating links to parent commits in +commit view. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-tree-linenumbers? +Flag which, when set to @samp{#t}, will make Cgit generate linenumber +links for plaintext blobs printed in the tree view. + +Defaults to @samp{#t}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean enable-git-config? +Flag which, when set to @samp{#f}, will allow Cgit to use Git config to +set any repo specific settings. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} string favicon +URL used as link to a shortcut icon for Cgit. + +Defaults to @samp{"/favicon.ico"}. + address@hidden deftypevr + address@hidden address@hidden parameter} string footer +The content of the file specified with this option will be included +verbatim at the bottom of all pages (i.e. it replaces the standard +"generated by..." message). + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string head-include +The content of the file specified with this option will be included +verbatim in the HTML HEAD section on all pages. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string header +The content of the file specified with this option will be included +verbatim at the top of all pages. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string include +Name of a configfile to include before the rest of the current config- +file is parsed. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string index-header +The content of the file specified with this option will be included +verbatim above the repository index. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string index-info +The content of the file specified with this option will be included +verbatim below the heading on the repository index page. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean local-time? +Flag which, if set to @samp{#t}, makes Cgit print commit and tag times +in the servers timezone. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} string logo URL which specifies the source of an image which will be used as a logo on all Cgit pages. address@hidden @code{virtual-root} (default: @code{"/"}) -URL which, if specified, will be used as root for all Cgit links. +Defaults to @samp{"/share/cgit/cgit.png"}. address@hidden @code{repository-directory} (default: @code{"/srv/git"}) -Name of the directory to scan for repositories. address@hidden deftypevr address@hidden @code{robots} (default: @code{(list "noindex" "nofollow")}) -Text used as content for the ``robots'' meta-tag. address@hidden address@hidden parameter} string logo-link +URL loaded when clicking on the Cgit logo image. address@hidden table address@hidden deftp +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string owner-filter +Command which will be invoked to format the Owner column of the main +page. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer max-atom-items +Number of items to display in atom feeds view. + +Defaults to @samp{10}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer max-commit-count +Number of entries to list per page in "log" view. + +Defaults to @samp{50}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer max-message-length +Number of commit message characters to display in "log" view. + +Defaults to @samp{80}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer max-repo-count +Specifies the number of entries to list per page on the repository index +page. + +Defaults to @samp{50}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer max-repodesc-length +Specifies the maximum number of repo description characters to display +on the repository index page. + +Defaults to @samp{80}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer max-blob-size +Specifies the maximum size of a blob to display HTML for in KBytes. + +Defaults to @samp{0}. + address@hidden deftypevr + address@hidden address@hidden parameter} string max-stats +Maximum statistics period. Valid values are @samp{week},@samp{month}, address@hidden and @samp{year}. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} mimetype-alist mimetype +Mimetype for the specified filename extension. + +Defaults to @samp{((gif "image/gif") (html "text/html") (jpg +"image/jpeg") (jpeg "image/jpeg") (pdf "application/pdf") (png +"image/png") (svg "image/svg+xml"))}. + address@hidden deftypevr + address@hidden address@hidden parameter} string mimetype-file +Specifies the file to use for automatic mimetype lookup. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string module-link +Text which will be used as the formatstring for a hyperlink when a +submodule is printed in a directory listing. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean nocache? +If set to the value @samp{#t} caching will be disabled. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean noplainemail? +If set to @samp{#t} showing full author email addresses will be +disabled. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean noheader? +Flag which, when set to @samp{#t}, will make Cgit omit the standard +header on all pages. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} string project-list +A list of subdirectories inside of @code{repository-directory}, relative +to it, that should loaded as Git repositories. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string readme +Text which will be used as default value for @code{cgit-repo-readme}. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean remove-suffix? +If set to @code{#t} and @code{repository-directory} is enabled, if any +repositories are found with a suffix of @code{.git}, this suffix will be +removed for the URL and name. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer renamelimit +Maximum number of files to consider when detecting renames. + +Defaults to @samp{-1}. + address@hidden deftypevr + address@hidden address@hidden parameter} string repository-sort +The way in which repositories in each section are sorted. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} robots-list robots +Text used as content for the @code{robots} meta-tag. + +Defaults to @samp{("noindex" "nofollow")}. + address@hidden deftypevr + address@hidden address@hidden parameter} string root-desc +Text printed below the heading on the repository index page. + +Defaults to @samp{"a fast webinterface for the git dscm"}. + address@hidden deftypevr + address@hidden address@hidden parameter} string root-readme +The content of the file specified with this option will be included +verbatim below thef "about" link on the repository index page. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string root-title +Text printed as heading on the repository index page. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean scan-hidden-path +If set to @samp{#t} and repository-directory is enabled, +repository-directory will recurse into directories whose name starts +with a period. Otherwise, repository-directory will stay away from such +directories, considered as "hidden". Note that this does not apply to +the ".git" directory in non-bare repos. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} list snapshots +Text which specifies the default set of snapshot formats that cgit +generates links for. + +Defaults to @samp{()}. + address@hidden deftypevr + address@hidden address@hidden parameter} repository-directory repository-directory +Name of the directory to scan for repositories. + +Defaults to @samp{"/srv/git"}. + address@hidden deftypevr + address@hidden address@hidden parameter} string section +The name of the current repository section - all repositories defined +after this option will inherit the current section name. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string section-sort +Flag which, when set to @samp{1}, will sort the sections on the +repository listing by name. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer section-from-path +A number which, if defined prior to repository-directory, specifies how +many path elements from each repo path to use as a default section name. + +Defaults to @samp{0}. + address@hidden deftypevr + address@hidden address@hidden parameter} boolean side-by-side-diffs? +If set to @samp{#t} shows side-by-side diffs instead of unidiffs per +default. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} string source-filter +Specifies a command which will be invoked to format plaintext blobs in +the tree view. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer summary-branches +Specifies the number of branches to display in the repository "summary" +view. + +Defaults to @samp{10}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer summary-log +Specifies the number of log entries to display in the repository +"summary" view. + +Defaults to @samp{10}. + address@hidden deftypevr + address@hidden address@hidden parameter} integer summary-tags +Specifies the number of tags to display in the repository "summary" +view. + +Defaults to @samp{10}. + address@hidden deftypevr + address@hidden address@hidden parameter} string strict-export +Filename which, if specified, needs to be present within the repository +for Cgit to allow access to that repository. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} string virtual-root +URL which, if specified, will be used as root for all Cgit links. + +Defaults to @samp{"/"}. + address@hidden deftypevr + address@hidden address@hidden parameter} repository-cgit-configuration-list repositories +A list of @dfn{cgit-repo} records to use with config. + +Defaults to @samp{()}. + +Available @code{repository-cgit-configuration} fields are: + address@hidden address@hidden parameter} repo-list snapshots +A mask of snapshot formats for this repo that cgit generates links for, +restricted by the global @code{snapshots} setting. + +Defaults to @samp{()}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string source-filter +Override the default @code{source-filter}. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string url +The relative URL used to access the repository. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string about-filter +Override the default @code{about-filter}. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string branch-sort +Flag which, when set to @samp{age}, enables date ordering in the branch +ref list, and when set to @samp{name} enables ordering by branch name. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-list clone-url +A list of URLs which can be used to clone repo. + +Defaults to @samp{()}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string commit-filter +Override the default @code{commit-filter}. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string commit-sort +Flag which, when set to @samp{date}, enables strict date ordering in the +commit log, and when set to @samp{topo} enables strict topological +ordering. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string defbranch +The name of the default branch for this repository. If no such branch +exists in the repository, the first branch name (when sorted) is used as +default instead. By default branch pointed to by HEAD, or "master" if +there is no suitable HEAD. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string desc +The value to show as repository description. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string homepage +The value to show as repository homepage. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string email-filter +Override the default @code{email-filter}. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-boolean enable-commit-graph? +A flag which can be used to disable the global setting address@hidden + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-boolean enable-log-filecount? +A flag which can be used to disable the global setting address@hidden + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-boolean enable-log-linecount? +A flag which can be used to disable the global setting address@hidden + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-boolean enable-remote-branches? +Flag which, when set to @code{#t}, will make Cgit display remote +branches in the summary and refs views. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-boolean enable-subject-links? +A flag which can be used to override the global setting address@hidden + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-boolean enable-html-serving? +A flag which can be used to override the global setting address@hidden + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-boolean hide? +Flag which, when set to @code{#t}, hides the repository from the +repository index. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-boolean ignore? +Flag which, when set to @samp{#t}, ignores the repository. + +Defaults to @samp{#f}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string logo +URL which specifies the source of an image which will be used as a logo +on this repo’s pages. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string logo-link +URL loaded when clicking on the Cgit logo image. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string owner-filter +Override the default @code{owner-filter}. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string module-link +Text which will be used as the formatstring for a hyperlink when a +submodule is printed in a directory listing. The arguments for the +formatstring are the path and SHA1 of the submodule commit. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} module-link-path module-link-path +Text which will be used as the formatstring for a hyperlink when a +submodule with the specified subdirectory path is printed in a directory +listing. + +Defaults to @samp{()}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string max-stats +Override the default maximum statistics period. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string name +The value to show as repository name. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string owner +A value used to identify the owner of the repository. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string path +An absolute path to the repository directory. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string readme +A path (relative to repo) which specifies a file to include verbatim as +the "About" page for this repo. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-string section +The name of the current repository section - all repositories defined +after this option will inherit the current section name. + +Defaults to @samp{""}. + address@hidden deftypevr + address@hidden address@hidden parameter} repo-list extra-options +Extra options will be appended to cgitrc file. + +Defaults to @samp{()}. + address@hidden deftypevr + address@hidden deftypevr + address@hidden address@hidden parameter} list extra-options +Extra options will be appended to cgitrc file. + +Defaults to @samp{()}. + address@hidden deftypevr @node Setuid Programs @subsection Setuid Programs diff --git a/gnu/local.mk b/gnu/local.mk index b1cf3c3de..9c2f91b91 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -445,6 +445,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/avahi.scm \ %D%/services/base.scm \ %D%/services/certbot.scm \ + %D%/services/cgit.scm \ %D%/services/configuration.scm \ %D%/services/cuirass.scm \ %D%/services/cups.scm \ diff --git a/gnu/services/cgit.scm b/gnu/services/cgit.scm new file mode 100644 index 000000000..c45124b7a --- /dev/null +++ b/gnu/services/cgit.scm @@ -0,0 +1,658 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Oleg Pykhalov +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see