2024-11-20 10:20:49 +01:00
|
|
|
(define-module (fox packages)
|
|
|
|
#:use-module (guix licenses)
|
|
|
|
#:use-module (guix packages)
|
|
|
|
#:use-module (guix download)
|
|
|
|
#:use-module (guix gexp)
|
|
|
|
#:use-module (guix git-download)
|
|
|
|
#:use-module (guix utils)
|
|
|
|
#:use-module (gnu packages)
|
|
|
|
#:use-module (gnu packages emacs)
|
|
|
|
#:use-module (gnu home services)
|
|
|
|
#:use-module (gnu home services shepherd)
|
|
|
|
#:use-module (guix build-system copy)
|
|
|
|
#:use-module (gnu services)
|
|
|
|
#:export (zellij
|
|
|
|
oh-my-zsh-service-type
|
|
|
|
home-emacs-service-type))
|
2024-11-15 09:54:03 +01:00
|
|
|
|
|
|
|
(define-public oh-my-zsh
|
2024-11-25 08:59:14 +01:00
|
|
|
(let ((commit "366d25435229bfa725109a147d6cb2fef8011b3c")
|
2024-11-15 09:54:03 +01:00
|
|
|
(url "https://github.com/ohmyzsh/ohmyzsh.git"))
|
|
|
|
(package
|
|
|
|
(name "oh-my-zsh")
|
2024-11-25 08:59:14 +01:00
|
|
|
(version "241125")
|
2024-11-15 09:54:03 +01:00
|
|
|
(source (origin
|
|
|
|
(method git-fetch)
|
|
|
|
(uri (git-reference
|
|
|
|
(url url)
|
|
|
|
(commit commit)))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2024-11-25 08:59:14 +01:00
|
|
|
"1w339zy12mnszdbh9gfpym39bhx5klrfpqaqbgh7vc2gw4m6slrc"))))
|
2024-11-15 09:54:03 +01:00
|
|
|
(build-system copy-build-system)
|
|
|
|
(synopsis "Oh My Zsh is an open source, community-driven framework for managing your zsh configuration.")
|
|
|
|
(description "🙃A delightful community-driven (with 2,400+ contributors) framework for managing
|
|
|
|
your zsh configuration. Includes 300+ optional plugins
|
|
|
|
(rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up
|
|
|
|
your morning, and an auto-update tool that makes it easy to keep up with the latest updates from the community. ")
|
|
|
|
(home-page "https://ohmyz.sh/")
|
|
|
|
(license expat))))
|
|
|
|
|
|
|
|
(define oh-my-zsh-service-type
|
|
|
|
(service-type (name 'oh-my-zsh)
|
|
|
|
(description "oh my zsh")
|
|
|
|
(extensions
|
|
|
|
(list (service-extension
|
|
|
|
home-files-service-type
|
2024-11-18 10:17:08 +01:00
|
|
|
(lambda (_) (list `(".oh-my-zsh" ,oh-my-zsh))))))
|
|
|
|
(default-value '())))
|
2024-11-18 08:02:16 +01:00
|
|
|
|
|
|
|
(define-public zellij
|
|
|
|
(package
|
|
|
|
(name "zellij")
|
2024-11-25 08:34:55 +01:00
|
|
|
(version "0.41.2")
|
2024-11-18 08:02:16 +01:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
|
|
|
"https://github.com/zellij-org/zellij/releases/download/v"
|
|
|
|
version "/zellij-x86_64-unknown-linux-musl.tar.gz"))
|
|
|
|
(sha256
|
2024-11-25 08:34:55 +01:00
|
|
|
(base32 "0y3cpy20g984jrz8gnc6sqjskfwmfjngd617bksvm9fq2yl23hxi"))))
|
2024-11-18 08:02:16 +01:00
|
|
|
(build-system copy-build-system)
|
|
|
|
(arguments
|
|
|
|
(list
|
|
|
|
#:substitutable? #f
|
|
|
|
#:install-plan
|
|
|
|
#~'(("zellij" "bin/"))
|
|
|
|
#:phases
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
(replace 'unpack
|
|
|
|
(lambda* (#:key source #:allow-other-keys)
|
|
|
|
(invoke "tar" "-xvf" source))))))
|
|
|
|
(home-page "https://github.com/zellij-org/zellij")
|
|
|
|
(synopsis "A terminal workspace with batteries included.")
|
|
|
|
(description
|
|
|
|
"A terminal workspace with batteries included.")
|
|
|
|
(license expat)))
|
2024-11-18 10:15:37 +01:00
|
|
|
|
|
|
|
(define (home-emacs-shepherd-service config)
|
|
|
|
(list
|
|
|
|
(shepherd-service
|
|
|
|
(documentation "Start Emacs")
|
|
|
|
(provision '(emacs))
|
|
|
|
(auto-start? #t)
|
|
|
|
(start
|
|
|
|
#~(make-forkexec-constructor
|
2024-11-18 14:23:52 +01:00
|
|
|
(list "/usr/bin/emacs"
|
2024-11-18 10:15:37 +01:00
|
|
|
"--fg-daemon")
|
|
|
|
#:log-file (format #f "~a/.local/var/log/emacs.log" (getenv "HOME"))))
|
|
|
|
(stop #~(make-kill-destructor)))))
|
|
|
|
|
|
|
|
(define home-emacs-service-type
|
|
|
|
(service-type (name 'emacs-configuration)
|
|
|
|
(extensions
|
|
|
|
(list (service-extension
|
|
|
|
home-shepherd-service-type
|
|
|
|
home-emacs-shepherd-service)))
|
|
|
|
(default-value '())
|
|
|
|
(description "Configures Emacs and installs packages to home-profile.")))
|