As we add more and more files, move to set with curly braces.
Maybe home-files is a better approach, but not documented and I don't
understand it to well yet. I guess I've to create a derivation which
"builds" all the files. Maybe to complicated right now.
Might also make sense to build modules for such tools in future where I
can configure within nix, just like git.nix, and it will generate the
config. Might be cool for some things where configs might change, but
the actual things to configure might not. The generation of the file can
change within nix, while configuration within nix stays the same?! ;)
Do not hard code all values, instead configure them within home.nix.
This is more for learning purposes.
But port and allow might also be changed more frequently in general.
home-manager doesn't provide a systemd service itself.
That's why we build one ourself.
That also revealed a change in our directory structure.
The structure is now documented within readme.
Move all packages to home.nix and remove `my-packages` derivate.
Also define dunst service and remove readme entry related to
configuration and services. Those are now maintained via home-manager.
The "update" section in readme got updated to reflect new home-manager.
The service can not be enabled, as it doesn't contain the ``[Install]``.
The overlay patches that two lines to the service.
That's to my current knowledge.
In order to document the contents of the folder.
How to install and run daily tasks like updating.
Also might increase in future to include further info.
Right now I've a custom service in
~/.config/systemd/user/languagetool-server.service:
[Unit]
Description=LanguateTool Server
StartLimitBurst=3
StartLimitInterval=400
[Service]
Restart=on-failure
RestartSec=2s
; This should work, but doesn't seem to work: https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html
; Maybe due to legacy control group hierarchy version 1?
; MemoryMax=3%
Environment="JAVA_TOOL_OPTIONS=-Xmx256m"
ExecStart=/home/daniels/.nix-profile/bin/languagetool-http-server --port 8081 --allow-origin "*"
[Install]
WantedBy=default.target
Unsure how I can generate the service file.
That should be more modern then the manual entry.
It actually allows to reference the "current" package states, e.g. from
other overlays with applied patches.
Installation is now not different from any other derivation:
nix-env -i my-packages
Follow Thibaut advice, see: https://mamot.fr/@Thib/107717286778025122
and following posts
This allows to have a list the current installed set of derivations.
Instead of using nix-env like apt.
Use `nix-env -i -f configuration.nix` to install this derivation.
It will then install defined "packages".
This eases to maintain current system and port to NixOS or something
else in the future.