This commit deprecates profile management from the activation script.
The profile management is instead the responsibility of the driving
software, for example, the `home-manager` tool in the case of
standalone installs.
The legacy behavior is still available for backwards compatibility but
may be removed in the future.
The new behavior resolves (or moves us closer to resolving) a number
of long standing open issues:
- `home-manager switch --rollback`, which performs a rollback to the
previous Home Manager generation before activating. While it was
previously possible to accomplish this by activating an old
generation, it did always create a new profile generation.
This option has been implemented as part of this commit.
- `home-manager switch --test`, which activates the configuration but
does not create a new profile generation.
This option has _not_ been implemented here since it relies on the
current configuration being activated on login, which we do not
currently do.
- When using the "Home Manager as a NixOS module" installation method
we previously created an odd `home-manager` per-user "shadow
profile" for the user. This is no longer necessary.
This has been implemented as part of this commit.
Fixes#3450
Currently the following, will produce `some_opt=false` in the
rendered config:
```nix
programs.mangohud.settings = {
some_opt = false;
};
```
With the intention being to disable the option, this would be
incorrect, as per the following stated at:
<0575c8eb1f/data/MangoHud.conf (L3C5-L4C1)>
> Use some_parameter=0 to disable a parameter (only works with on/off
> parameters)
As such, I changed the rendering to follow this.
This will be output instead: `some_opt=0`
* todoman: add todoman module
Adds Mikilio as maintainer for new module for todoman a standards-based
task manager based on iCalendar
Apply suggestions from code review
Co-authored-by: Robert Helgesson <robert@rycee.net>
Update modules/programs/todoman.nix
Co-authored-by: Robert Helgesson <robert@rycee.net>
* fix: correct config name
* chore: add test
---------
Co-authored-by: Robert Helgesson <robert@rycee.net>
This commit separates profile management (setting profile and creating
GC root) from file management (removing and adding managed files
within the user's home directory).
This is a step towards deprecating profile management within the
activation script, instead relying on the caller of the activation
script managing the profile.
bacon reads its preferences from a different directory on Darwin.
Fix the path to read out of:
~/Library/Application\ Support/org.dystroy.bacon/prefs.toml
Linux behavior should be unchanged.
When the user changes which addresses mu should consider 'personal',
mu's store should be reinitialized.
After this change, the activation script parses the previously
configured list of addresses and compares it with the new one. If they
differ, it runs the init command even when the store has already been
initialized.
Else I get a
===
… while calling the 'throw' builtin
at /nix/store/afpmddfrmx5df3h16bdh00yy8i7db8w4-source/pkgs/desktops/gnome/default.nix:96:28:
95| gnome-shell = throw "The ‘gnome.gnome-shell’ was moved to top-level. Please use ‘pkgs.gnome-shell’ directly."; # Added on 2024-08-28.
96| gnome-shell-extensions = throw "The ‘gnome.gnome-shell-extensions’ was moved to top-level. Please use ‘pkgs.gnome-shell-extensions’ directly."; # Added on 2024-08-11.
| ^
97| gnome-software = throw "The ‘gnome.gnome-software’ was moved to top-level. Please use ‘pkgs.gnome-software’ directly."; # Added on 2024-08-11.
error: The ‘gnome.gnome-shell-extensions’ was moved to top-level. Please use ‘pkgs.gnome-shell-extensions’ directly.
===
on rebuild
Previously, only the main identity of an account would get the proper SMTP
server assigned. Identities corresponding to aliases would not get an SMTP
server assigned at all, leading to a (Thunderbird-internal) fallback to the
SMTP server associated to the primary account. This is obviously wrong for
non-primary accounts having aliases associated to them. Fix it by specifying
the SMTP server explicitly for all identities.
* mbsync: Add NEWS entry about isync 1.5.0 changes
* mbsync: Place config file in $XDG_CONFIG_HOME
mbsync 1.5.0 supports placing isync's configuration file in
$XDG_CONFIG_HOME/isyncrc [1].
[1] https://sourceforge.net/projects/isync/files/isync/1.5.0/
* mbsync: Replace SSLType with TLSType
mbsync 1.5.0 replaced the name of the configuration option [1].
Also update SSLVersions to TLSVersions for the same reason. Inform the
user if the option was renamed.
[1] https://sourceforge.net/projects/isync/files/isync/1.5.0/
* mbsync: Replace SSLVersions with TLSVerisons
* mbsync: Update extraConfig.account example with SSL->TLS changes
Some fish plugins such as https://github.com/acomagu/fish-async-prompt
require that starship be initialized as non-interactive.
When the `programs.starship.enableInteractive` option is enabled,
starship is initialized at the end of the init script, outside the
interactive block.