Emacs Orgmode
Emacs Orgmode
emacs org-mode publish
https://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html
emacs org-mode meets all of these criteria
M-% NixOS RET Guix RET !
But yes 80% of my comment applies to Nix as well, as of course Nix is older and Guix is (conceptually) based on Nix. Though I personally use/prefer Guix.
Yes GNU Guix is a linux distro.
The package manager for Guix (also called guix) is also a portable package manager which works on any linux distro, similar to flatpak, nix, homebrew, etc.
Guix’s claim to fame is that it is a functional distro/package manager, meaning that all changes are atomic, so installing/upgrading/deleting packages never leaves your system in a broken state.
Not only that, but if you make some change to your system and it breaks for normal reasons (e.g. newest software version has a bug), you can roll back to your previous system state with all your previous packages and their versions, and this roll-back operation is also atomic.
Guix the distro not only let’s you do package management this way, but also let’s you do declarative system configuration. This means rather than manually rummaging around /etc changing files and hoping nothing breaks, there’s simply a single config file which declares all of your system configuration. From your kernel to users, partitions, system services, and just about anything else, all the configuration is declaratively done in one place with one language (Guile Scheme). Any changes you make to your system this way are also of course atomic and can be rolled back.
It even comes with a built in system called guix home which lets you bring that same level of declarative, atomic configuration to your user’s home environment, letting you manage user level packages, dotfiles, env variables, and more with a single home configuration file.
There are other goodies too, such as the ability to spawn one-off shell environments with the guix shell command, dropping you in a shell with all the packages and env variables you declare, keeping your regular user environment clean (very nice for development).
There’s even more, but at this point if you’re still interested just head over to the site and the docs.
codeberg
it’s like github but non-corporate free software
it’s very polished and featurful
it’s built upon/by the same devs as forgejo, which is open tech to self host your own git server (with federation potentially coming), so supporting one supports the other
If I understand you correctly, this is trivial in emacs:
(defun insert-text ()
(interactive)
(insert "your text here"))
(global-set-key your-keybind-here #'insert-text)
You could make it a format string if it relies on data specific to some file or parameter. You could also make the keybind local to certain modes/files rather than a global keybind if you don’t want to pollute your keybind space.
emacs org-mode
guix home reconfigure home-config.scm
edit: I do feel norawibb’s point, the slippery mutability of Void is something I am a lot less comfortable with than I used to be. Apparently Guix has spoiled me.
Obsidian is not free software?! How could anybody even browsing this community consider obsidian?
I have never used nix or nixos. I liked their shared idea (functional, atomic, reproducible systems), and so when I looked at their differences they seemed to all be pros for guix:
The only bittersweet aspect of guix compared to nix was the foss only stuff, as I do need some proprietary drivers, but nonguix is so easy it hasn’t been a practical issue. And of course I am big advocate of free software so I like that guix is pushing that forward.
There’s also a theoretical issue that guix has less packages, but the standard channel + nonguix has had everyhing I use.
I quite enjoy it!
Being able to rollback any change I make to the system, either package changes or system configuration, makes it completely unbreakable and provides great peace of mind. It means I can fully enjoy its rolling-release nature without worrying.
Having my entire system configuration declared in a single, robust programming language (Guile) across a small number of files makes it very easy to understand and just stick into source control to reproduce.
Being able to hack on it in a lisp (scheme) is the cherry on top, along with the great emacs integration. I would highly recommend it to any lisp/emacs/gnu enthusiasts.
Try Orgzly with Emacs Orgmode