guix-channel

A channel for the Guix package manager

git clone https://git.8pit.net/guix-channel.git

  1(define-module (nmeum packages misc)
  2  #:use-module (guix)
  3  #:use-module (guix build-system gnu)
  4  #:use-module (guix build-system go)
  5  #:use-module (guix git-download)
  6  #:use-module ((guix licenses) #:prefix license:)
  7  #:use-module (gnu packages gnupg)
  8  #:use-module (gnu packages golang-xyz)
  9  #:use-module (gnu packages mail)
 10  #:use-module (gnu packages perl)
 11  #:use-module (gnu packages pkg-config)
 12  #:use-module (gnu packages shells)
 13  #:use-module (gnu packages version-control)
 14  #:use-module (srfi srfi-26))
 15
 16(define-public mblaze-ui
 17  (package
 18    (name "mblaze-ui")
 19    (version "0.0.0-20250423085554-54f778f3d6a8")
 20    (source
 21     (origin
 22       (method git-fetch)
 23       (uri (git-reference
 24             (url "https://git.8pit.net/mblaze-ui.git")
 25             (commit (go-version->git-ref version))))
 26       (file-name (git-file-name name version))
 27       (sha256
 28        (base32 "104fjj7da2cp2f6g8h4y6ycs68ml8smiq11clx3dc07y191mnzf1"))))
 29    (build-system go-build-system)
 30    (arguments
 31     (list
 32      #:install-source? #f
 33      #:import-path "github.com/nmeum/mblaze-ui"))
 34    (propagated-inputs (list mblaze
 35                             go-github-com-mattn-go-runewidth
 36                             go-github-com-gdamore-tcell-v2))
 37    (home-page "https://github.com/nmeum/mblaze-ui")
 38    (synopsis "mblaze-ui")
 39    (description "")
 40    (license license:gpl3+)))
 41
 42(define-public git-shuffle
 43  (let ((commit "06ac27513a275c979aa57cd8c932b90c8cb689eb")
 44        (revision "1"))
 45    (package
 46      (name "git-shuffle")
 47      (version (git-version "20251025" revision commit))
 48      (source
 49       (origin
 50         (method git-fetch)
 51         (uri (git-reference
 52               (url "https://git.8pit.net/git-shuffle.git")
 53               (commit commit)))
 54         (file-name (git-file-name name version))
 55         (sha256
 56          (base32 "1say9ap60l04i3lj4gbf0dn6zbf457cf5fdvlwdh4y7rfi8hq3m0"))))
 57      (build-system gnu-build-system)
 58      (arguments
 59       (list
 60        #:tests? #f
 61        #:make-flags
 62        #~(list "CFLAGS=-O2"
 63                "PREFIX=/"
 64                (string-append "DESTDIR=" #$output)
 65                (string-append "CC=" #$(cc-for-target)))
 66        #:phases
 67        #~(modify-phases %standard-phases
 68            (delete 'configure))))
 69      (inputs (list pkg-config))
 70      (native-inputs (list libgit2))
 71      (home-page "https://git.8pit.net/git-shuffle")
 72      (synopsis "Randomize timestamps associated with Git commits to enhance privacy")
 73      (description "")
 74      (license license:gpl3))))
 75
 76;; TODO: Use package-with-extra-patches somehow, however, we need to change
 77;; the package name somehow as loksh would otherwise be ambiguous and not
 78;; sure how do that on a package returned by package-with-extra-patches.
 79(define-public loksh-8pit
 80  (package
 81    (inherit loksh)
 82    (name "loksh-8pit")
 83    (source
 84     (origin
 85       (inherit (package-source loksh))
 86       (patches (map (lambda (patch)
 87                       (search-path (map (cut string-append <>
 88                                              "/nmeum/packages/patches")
 89                                         %load-path) patch))
 90                     '("loksh-bracketed-paste-mode.patch"
 91                       "loksh-kshbasename.patch")))))))
 92
 93(define-public tpm
 94  (package
 95    (name "tpm")
 96    (version "1.3.3")
 97    (source
 98     (origin
 99       (method git-fetch)
100       (uri (git-reference
101             (url "https://git.8pit.net/tpm.git")
102             (commit version)))
103       (file-name (git-file-name name version))
104       (sha256
105        (base32 "109q5ag4cbrxbr2slnb3ii9zkjnim5yxfb3j34yf3r32yd6kmjlg"))))
106    (build-system gnu-build-system)
107    (arguments
108     (list
109      #:tests? #f
110      #:make-flags
111      #~(list "PREFIX=/"
112              (string-append "DESTDIR=" #$output))
113      #:phases
114      #~(modify-phases %standard-phases
115          (add-after 'unpack 'fix-paths
116            (lambda* (#:key inputs outputs #:allow-other-keys)
117              (substitute* "tpm"
118                (("gpg2")
119                 (search-input-file inputs "/bin/gpg")))))
120          (delete 'configure))))
121    (inputs (list gnupg))
122    (native-inputs (list perl))
123    (home-page "https://git.8pit.net/tpm")
124    (synopsis "Tiny password manager")
125    (description
126     "Tiny shell script which is heavily inspired and largely
127compatible with @code{pass}.  Just like pass it uses @code{gnupg} to securely
128store your passwords, the major difference between pass and tpm is that the
129latter is a lot more minimal.")
130    (license license:gpl3)))