(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 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 (($ 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+)))