More self-descriptive == better. Plus it does imply that themes only
change aesthetics which is not often the case with the usual modules
that are defined here.
This is primarily intended to centralize where we define our
filesystems. This way, it would also avoid potential misconfiguration
with the mount options.
This is to easily install launcher plugins and scripts in NixOS. I don't
know if this is also possible on home-manager (which I think it could be
since it also has the capability to set files).
I didn't realize `network.target` is very ambiguous. The next best thing
for booting up the service after the system is up is `default.target`
but we're being explicit here for NixOS services just to make sure.
There's not much use for it since custom keyboard shortcuts are not
possible to set as a system-wide config. This could easily be added into
the list of packages so RIP... :(
It was supposed to create the directory if it wasn't found which is
self-defeating. In any case, it will still fail if the directory is in
the way of an unmounted device.
It is no more than a safety net and an expensive one at that. A
dedicated external storage media would be better. Ideally, hosts should
have a snapshotting system with btrfs or similar but it is what it is
for now.
Now that I have time, I've learnt that Git submodules are not supported
well with flake-based setup. Instead, I'll use my dotfiles repo as one
of the inputs as a non-flake which is exactly what I want. NICE!
Now, it properly integrates installed extensions by automatically
generating a separate dconf keyfile and enabling them individually.
There is also an additional option for setting the preferred terminal
emulator instead of manually setting certain things on the appropriate
keyfile (though, it doesn't work so...).
It is broken though because it cannot set things correctly. That may
have something to do with the lack of setup like certain services are
disabled or something. I'll just need help from the Cardboard
maintainers for this.
It now includes a yt-dlp script that includes the arguments as an extra
package. This is nice for custom downloads with the same preferences for
downloading.
There is the `--paths` option for that purpose. It also eliminates the
workaround for creating the directory before starting the service for
newly-bootstrapped systems.
The several hardening options have also been corrected.
Finally decided to try out KDE Plasma for a little while (at least a
week from now). It is said to be flexible so I'll attempt to recreate my
workflow from GNOME as closely as possible.
Structure-wise, it is pretty similar to the gallery-dl service. It was
about to be combined into a bigger service module as a dedicated service
for multimedia archiving but it is better to have them modularized in
the long run.
While Borgmatic is great, the NixOS module does have easier
configuration for various use cases such as backups in removable
devices. To make this possible in Borgmatic, you have to go through some
loops.
Borgmatic does have easier way of indicating paths. However, in recent
versions of Borg, they have the experimental feature of indicate both
include and exclude through patterns which is close enough.
Also, because of this, we'll be deprecating the custom borgmatic service
at this point. It'll be removed once all of my NixOS-related backup
setups are not using it.
While it is easier to maintain the modules by prefixing them all with
`modules`, it is not easy when used from other flakes and/or modules.
This is my attempt on making it easier with appropriate namespaces.
Update home-manager user from the restructure
The dedicated editor module for NixOS has been removed seeing as it is
barely used. The only exception is Neovim which is moved into
`modules.dev.neovim`.
Now, it allows for fine-grained configuration for specific users. I also
managed to fix the infinite recursion error by directly assigning the
values to the keys instead of creating a merged module value in
`config`.
- `modules.bleachbit` for home-manager.
- `modules.hardware-setup.backup-archive` for NixOS. This might be
converted to a generic backup service for removable devices.
- Add `modules.desktop.cleanup` for the usual cleanup activties in
NixOS.
- Update to proper descriptions for module options added with
`lib.mkEnableOption`.
- Additional packages for various modules.
- Deleted `modules/home-manager/alacritty`. It is pretty useless though.
:(
I think this is better for separating modules explicitly. This is also
considered as there are similar objects between modules (e.g., NixOS
and home-manager modules and users).
Revert users module to old position