arroyo/arroyo-home-manager.org

28 lines
1.4 KiB
Org Mode

:PROPERTIES:
:ID: arroyo/home-manager
:END:
#+TITLE: Arroyo Home Manager
#+filetags: :Project:
#+ARCOLOGY_KEY: cce/arroyo/home-manager
#+ARCOLOGY_ALLOW_CRAWL: t
Arroyo can construct a configuration for [[https://github.com/nix-community/home-manager][nix-community/home-manager]] from any number of [[id:cce/org-roam][org-roam]] files using the [[id:arroyo/system-cache][Arroyo System Cache]] and [[id:cce/literate_programming][Org Babel]]. There is a colloquial "nixlib" directory, currently [[file:~/arroyo-nix/]] which all [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711][Nix]] files are relative to. By adding a keyword =#+ARROYO_HOME_MODULE: hm/import-file.nix= and then tangling to e.g. =~/nix/hm/import-file.nix= you can generate a modular [[id:cce/home-manager][home-manager configuration]] like I do.
#+PROPERTY: header-args :mkdirp yes
#+PROPERTY: header-args:emacs-lisp :tangle arroyo-home-manager.el :results none
#+AUTO_TANGLE: t
=arroyo-home-manager-imports= returns a string suitable for =import='ing in [[id:f32b616e-ede6-461e-8bae-b5f1c717a05e][home-manager's literate helpers]].
#+NAME: arroyo-home-manager-imports
#+begin_src emacs-lisp
(defun arroyo-home-manager-imports (&optional role)
(arroyo-generate-imports "home-manager" role))
#+end_src
#+begin_src emacs-lisp
(provide 'arroyo-home-manager)
#+end_src
* NEXT refactor =arroyo-home-manager-imports= and =arroyo-nixos-imports= to compose together more-well....