P’undrak’s dotfiles
About the Project
This repository holds my Linux dotfiles and other configuration files. The files I’m using are written in org-mode and exported in Markdown through Emacs.
These Markdown files are then compiled by Vuepress into a beautiful website available at config.phundrak.com.
Note that a few configs here are no longer up to date. I am in the process of switching over to NixOS. You can find my current NixOS configuration in this repository. It will eventually circle back to being a litterary configuration. Not every piece of software will be configured by Nix exclusively though, Emacs for instance will stay relatively free of Nix configurations aside from its basic installation.
Running the project
In order to run the project, you need to export all .org
files in the
Markdown format. To do that easily, you can use an org project setup
in Emacs, mine looks like this:
(require 'ox-gfm)
(defvar phundrak--projects-config-common-root
"~/org/config/docs/"
"Points to the common root of my source and target for my
config.phundrak.com org project.")
(setq org-publish-project-alist
`(("config-phundrak-com-md"
:base-directory ,phundrak--projects-config-common-root
:base-extension "org"
:exclude ,(rx (* print
(or "CONTRIB"
"README"
"site-map"
"temp"
"private"
"svg-ink")
(* print)))
:publishing-directory ,phundrak--projects-config-common-root
:recursive t
:language "en"
:publishing-function org-gfm-publish-to-gfm
:headline-levels 5
:auto-sitemap nil
:auto-preamble nil)
("config-phundrak-com"
:components ("config-phundrak-com-md"))))
Once you have all the Markdown files generated correctly, you can install the dependencies of the project.
yarn
# or
npm install # delete the yarn.lock file first
Once this is done, you can launch a preview of the project.
yarn dev
# or
npm run dev
You can also compile the project to a static website.
yarn build
# or
npm run build
With Nix shell
A Nix shell is available for running the project without the Emacs
part. Simply run nix-shell
in the project root. You’ll get the latest
version of yarn
installed and should be able to run the commands
above.