diff options
-rw-r--r-- | homes/daeva.scm | 2 | ||||
-rw-r--r-- | kbg/packages/nix-xyz.scm | 35 | ||||
-rw-r--r-- | kbg/services/config/direnv.scm | 16 |
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)))))) |