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.
Now, the configuration is made into a proper Nix configuration with the
output being converted to INI format.
For mapping the types, look for `mopidy/config/types.py`. The only
quirky mapping so far is the list type.
It is just an adapted version from the NixOS module. I'll eventually
figure out how to be 'properly configured' with the Nix language through
the `lib.generator`.
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
Now the browser-related cleaners are separated from the default cleaner
lists and has to be activated with `withBrowserCleanup` option.
Browser caches cleanup are also added as part of the updated module.
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
- Add custom GNOME configurations with dconf keyfiles.
- Refactoring in certain parts of files especially with handling merging
and importing of modules.
Welp, that's one step for more convenient and separate user-specific
configuration. It's a tad simpler than
https://github.com/divnix/devos but I want to work my way towards a
similar setup. It's just a little overwhelming starting with that
framework.
I revisited NixOS this week and I've rewritten my NixOS config from
scratch. I must say I really like Nix flakes. For whatever reason it
just clicked and I understood more programming with Nix despite my
previous experience which is not good. Could be just the fact I had a
break for a long time from completely using Nix (I still used it on
non-NixOS distros).
Eh... I still took some things from the original inspiration of this
configuration so there's that.
* Python module now has an additional option for the package to be
installed for easier installation of other versions.
* The Python module also has a restriction of installing version 3 and
above.
* The JavaScript module has been moved into a more general module for
web-based tools (including PHP).
This commit includes a bunch of minor updates of some Nix modules but
the focus here is the update of the theme template. The renaming of the
Cookiecutter template will now make backups and migration between
different filesystems very easy especially with NTFS-based filesystems
often found on external hard drives.
I also fixed the long-time occuring error when using the newest version
of the channel (or the unstable one). It turns out to be a simple type
error with the `my.user' attribute. (To be honest the error messages are
quite horrible.)
On another note, I also accidentally bricked my NixOS setup after a
garbage collection and a horrible update. The breakage includes not
being able to use any of the builtin tools of Nix (e.g., nix, nix-env,
nixos-rebuild) due to a shared library error that has been garbage
collected. Which means I have to reinstall it.
(I seem to have a talent for breaking things, if only I'm paid for it.)
One of the bigger changes is to make the setup hardware-independent
which is nice for easier (re-)installations.
Finally about time it happens.
Another big thing is the update of the README, now with some
self-reminding pitch why choose NixOS (or something similar like GuixSD)
which could be nice for other people too, provided they've come across
my NixOS config.
I made the module docstrings a bit more consistent (though still
useless, to be honest).
I've also updated config for Visual Studio Code.