1
0
Fork 0

Initial commit

main
Ethan Reece 2024-09-22 05:15:34 +00:00
commit 862bb132fa
7 changed files with 77 additions and 0 deletions

14
.gitignore vendored 100644
View File

@ -0,0 +1,14 @@
*.eps
*.go
*.log
*.mo
*.pdf
*.png
*.tar.xz
*.tmp
*~
.#*
\#*\#
,*
.DS_Store
out

3
.guix-channel 100644
View File

@ -0,0 +1,3 @@
(channel
(version 0)
(directory ".guix/modules"))

View File

@ -0,0 +1,26 @@
(add-to-load-path ".")
(define-module (template-package)
#:use-module (guix)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix git-download))
(define vcs-file?
;; Return true if the given file is under version control.
(or (git-predicate (current-source-directory))
(const #t)))
(define-public template
(package
(name "template")
(version "0.1-git")
(source (local-file "../.." "template-checkout"
#:recursive? #t
#:select? vcs-file?))
(build-system gnu-build-system)
(native-inputs
`())
(synopsis "Guix template for projects")
(description "Guix template for projects")
(home-page "https://git.sudoer777.dev/me/guix-template")
(license license:expat)))

11
Justfile 100644
View File

@ -0,0 +1,11 @@
default:
guix time-machine --channels=./channels.scm.lock -- shell --container --emulate-fhs --manifest=./manifest.scm -- echo "Compile step..."
dev:
guix time-machine --channels=./channels.scm.lock -- shell --manifest=./manifest.scm
update:
guix time-machine --channels=./channels.scm -- describe --format=channels > ./channels.scm.lock
run: default
echo "Run step..."

9
README.md 100644
View File

@ -0,0 +1,9 @@
# Guix project template
1. Modify `./guix/modules/template-package.scm` (defines the project), `./channels.scm` (for project dependencies), and `./manifest.scm` (for development environment) to your requirements.
1. Install `just` by adding to your Guix Home configuration or running `guix install just`.
1. Run `just update` to update the dependencies.
1. Run `just` to compile the program. Run `just run` to compile then run the program. Run `just dev` to open a shell environment with the program's dependencies.

9
channels.scm 100644
View File

@ -0,0 +1,9 @@
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(branch "master")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))

5
manifest.scm 100644
View File

@ -0,0 +1,5 @@
(add-to-load-path ".guix/modules")
(use-modules (template-package)
(gnu packages fontutils))
(packages->manifest (list coreutils))