aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--homes/daeva.scm2
-rw-r--r--kbg/packages/nix-xyz.scm35
-rw-r--r--kbg/services/config/direnv.scm16
3 files changed, 53 insertions, 0 deletions
diff --git a/homes/daeva.scm b/homes/daeva.scm
index 45d6f95b..f03c1be3 100644
--- a/homes/daeva.scm
+++ b/homes/daeva.scm
@@ -17,6 +17,7 @@
#:use-module (kbg packages profiles desktop)
#:use-module (kbg packages profiles fonts)
#:use-module (kbg packages emacs)
+ #:use-module (kbg services config direnv)
#:use-module (kbg services config flatpak)
#:use-module (kbg services config git)
#:use-module (kbg services config global)
@@ -42,6 +43,7 @@
(services
(append bash-service
emacs-service
+ direnv-config-service
flatpak-config-service
git-config-service
;; global-config-service
diff --git a/kbg/packages/nix-xyz.scm b/kbg/packages/nix-xyz.scm
new file mode 100644
index 00000000..a2105e53
--- /dev/null
+++ b/kbg/packages/nix-xyz.scm
@@ -0,0 +1,35 @@
+(define-module (kbg packages nix-xyz)
+ #:use-module (gnu)
+ #:use-module (guix build utils)
+ #:use-module (guix build-system copy)
+ #:use-module (guix build-system)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (guix)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module ((srfi srfi-1) #:hide (zip))
+ #:export (nix-direnv))
+
+(define nix-direnv
+ (let ((baseurl "https://github.com/nix-community/nix-direnv/archive/refs/tags/")
+ (version "1.6.0"))
+ (package
+ (name "nix-direnv")
+ (version version)
+ (source (origin
+ (method url-fetch)
+ (uri (string-append baseurl version ".tar.gz"))
+ (file-name (string-append "nix-direnv-" version ".tar.gz"))
+ (sha256
+ (base32
+ "149hs2xk56gsgwzkks9cbap36iz1l28whkwbnmb3fkffiqmrwvx0"))))
+ (build-system copy-build-system)
+ (arguments
+ '(#:install-plan '(("direnvrc" "share/direnvrc"))))
+ (synopsis "A faster, persistent implementation of `direnv's` `use_nix`, to replace the built-in one.")
+ (description "A faster, persistent implementation of `direnv's` `use_nix`, to replace the built-in one.")
+ (home-page "https://github.com/nix-community/nix-direnv")
+ (license license:expat))))
diff --git a/kbg/services/config/direnv.scm b/kbg/services/config/direnv.scm
new file mode 100644
index 00000000..0a15226a
--- /dev/null
+++ b/kbg/services/config/direnv.scm
@@ -0,0 +1,16 @@
+(define-module (kbg services config direnv)
+ #:use-module (kbg)
+ #:use-module (gnu)
+ #:use-module (guix)
+ #:use-module (kbg packages nix-xyz)
+ #:use-module (gnu home services))
+
+(define (direnv-config-text)
+ (mixed-text-file "source" nix-direnv "/share/direnvrc"
+ "\n"))
+
+(define-public direnv-config-service
+ (list (simple-service 'direnv-config
+ home-files-service-type
+ `(("config/direnv/direnvrc"
+ ,(direnv-config-text))))))