metznet-channel/homelab.scm

187 lines
6.5 KiB
Scheme

(define-module (homelab)
#:use-module ((guix licenses) #:prefix licenses:)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages autotools)
#:use-module (gnu packages java)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages audio)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages tls)
#:use-module (gnu packages crypto)
#:use-module (gnu services)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix git)
#:use-module (guix gexp)
#:use-module (guix build-system cmake)
#:use-module (guix download)
#:use-module (guix records)
#:use-module (gnu packages vim)
#:use-module (guix build-system gnu)
#:use-module (guix build-system copy)
#:use-module (gnu packages compression)
#:use-module (guix packages)
#:use-module (ice-9 ftw)
#:use-module (ice-9 match))
(define-public metznet-system
(package
(name "metznet-system")
(version "0.3")
(source
(git-checkout
(url "git://git.metznet.ca/system.git")
(commit (string-append "v" version))))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("." "etc/system"))))
(synopsis "metznet GUIX system definitions")
(description "metznet GUIX system definitions")
(home-page "http://home.metznet.ca")
(license licenses:gpl3+)))
(define-record-type* <metznet-system-configuration>
metznet-system-configuration make-metznet-system-configuration
metznet-system-configuration?
(repo metznet-system-configuration-repo
(default metznet-system))
(directory metznet-system-configuration-directory
(default "/etc/system")))
(define-public metznet-system-activation
(match-lambda
(($ <metznet-system-configuration> repo directory)
#~(begin
(use-modules (guix build utils))
(symlink #$repo #$directory)))))
(define-public metznet-system-service-type
(service-type
(name 'metznet-system)
(description "GUIX System service using metznet files")
(extensions (list
(service-extension activation-service-type metznet-system-activation)))
(default-value (metznet-system-configuration))))
(define-public nvim-vimtex
(package
(name "nvim-vimtex")
(version "2.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lervag/vimtex")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1d16rlnp3rszx451nqrax15z46swa7cg4krbn840dcsspigx3ybl"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("." "share/nvim/site/pack/lervag/start/vimtex"))))
(home-page "")
(synopsis "LaTeX plugin for neovim")
(description "Neovim plugin which provides highlighting for latex, along with bindings for auto-compilation")
(license licenses:gpl3+)))
(define-public lib-ledger-core
(package
(name "lib-ledger-core")
(version "4.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LedgerHQ/lib-ledger-core.git")
(commit version)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1qmn8ivysdx2j9y65y6alfmd57f7xnh9j6i6fjwijadj2lgxwxza"))
(patches (search-patches "ledger-secp256k1.patch"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~`("-DSYS_OPENSSL=ON"
,(string-append "-DOPENSSL_ROOT_DIR=" #$openssl)
,(string-append "-DOPENSSL_INCLUDE_DIR=" #$openssl "/include")
,(string-append "-DOPENSSL_SSL_LIBRARIES=" #$openssl "/lib"))
#:tests? #f))
(inputs (list (list openssl "static") (list openssl "out") libsecp256k1 mit-krb5))
(synopsis "C++ Library for Ledger Hardware Wallets")
(description "C++ Library for Ledger Hardware Wallets")
(home-page "https://www.ledger.com/")
(license licenses:gpl3+)))
(define-public vim-guile
(package
(name "vim-guile")
(version "1.0")
(source
(git-checkout
(url "https://gitlab.com/HiPhish/guile.vim.git")
(commit "f76959a9dbdc69cde018901de82ac5a3d443843c")))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("ftdetect" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/")
("test" "share/vim/vimfiles/"))))
(synopsis "Syntax highlighting and file type detect of GNU Guile code in Vim")
(description "Provides syntax highlighting and file type detection for GNU Guile files with the .scm extension.")
(home-page "https://gitlab.com/HiPhish/guile.vim")
(license licenses:gpl3+)))
(define-public vimwiki
(package
(name "vimwiki")
(version "2.5")
(source
(git-checkout
(url "https://github.com/vimwiki/vimwiki")
(commit (string-append "v" version))))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("ftplugin" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/")
("test" "share/vim/vimfiles/"))))
(synopsis "A personal wiki plugin for vim")
(license licenses:gpl3+)
(home-page "https://github.com/vimwiki/vimwiki")
(description "VimWiki is a personal wiki for Vim -- a number of linked text files that have their own syntax highlighting. With VimWiki, you can:
- Organize notes and ideas
- Manage to-do lists
- Write documentation
- Maintain a diary
- Export everything to HTML")))
(define-public starsector
(package
(name "starsector")
(version "0.95.1a-RC6")
(source (origin
(method url-fetch)
(uri (string-append "https://s3.amazonaws.com/fractalsoftworks/starsector/starsector_linux-" version ".zip"))
(sha256
(base32 "14zxzs7xfrrq3apiyslk2cy29yp6qirikwbzanmka74a37aqpa1x"))))
(native-inputs (list unzip))
(inputs (list openjdk17 libxcursor libxrandr libxxf86vm mesa openal))
(propagated-inputs (list xrandr))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("." "share/starsector"))))
(synopsis "A space game.")
(description "A very good space game. You will spend hours playing.")
(home-page "https://fractalsoftworks.com")
(license licenses:gpl3+)))