Replies: 5 comments 10 replies
-
Opinion 1: If a value is set explicitely, it should be immutable (by default)The nix config is an abstraction layer between the user and plasma config files. I expect users to interact with the nix config, and not with the plasma config files directly. Making all key immutable means that a setting can not be inconstent between the two configs, except if explicitely configured as |
Beta Was this translation helpful? Give feedback.
-
Opinion 2: Mutable variables should not have an explicit value in the nix configA key being Some kind of explicit |
Beta Was this translation helpful? Give feedback.
-
Opinion 3: All keys should be mutable and persistent by defaultA key being mutable means: plasma can change its value. A key being persistent means: it isn't changed on activation of a new nix configuration. Without plasma-manager, all keys are mutable and persistent. This is what plasma expects. That is what our default settings should match. |
Beta Was this translation helpful? Give feedback.
-
Opinion 4: Allow reset by keyplasma sometimes explicitely uses the "mutable and persistent" behaviour, e.g. for storing paths to recently accessed files. Even when resetting all (not expclitely defined) keys is desirable, it would be good to be able to define some keys that shall not be reset. I imagine either having a list (per config file) containing all the keys that should not be reset, or setting something like From the technical side, I think changing the reset script should do the trick. |
Beta Was this translation helpful? Give feedback.
-
I was really glad when I found options for immutability (immutableByDefault) & declarativity (overrideConfig) but even with both enabled , the immutable behavior is missing something I think is very important, regular nix config options symlinks files from nix store , plasma manager never does so even with both options enabled , I get why each option alone is not implemented to do so , but I think if both options are enabled , all config files should be symlinked from nix store as any other home-manager option, that would make the environment pure & avoid issues as permission errors & would align better with most nix environment (in my case I wanted to configure an InRAM-Home environment with the only home-manager option not working after enabling are plasma manager one's), maybe there should be a 3rd option that does so |
Beta Was this translation helpful? Give feedback.
-
I know I'm late to the party – #94 was merged quite a while ago – but it took me some time to make up my mind on this topic. (My first thoughts were in #92.)
In my opinion, the general topic of (im)mutability in the config files is handled inconstently at different points in this project. I want to share my opinions and understand yours so that we (hopefully) can reach a consensus before the next breaking changes on this topic.
I will post each of my opinions as single posts below so that you can respond to each one separately if you want.
We handle
immutable
setting for each keyShort notice on the words use to describe specific things:
A config file is any file managed through
config.programs.plasma.configFile
.A key is any
config.programs.plasma.configFile. ...
. See the description of #93 for reference. It uses the wordkey
in the same sense as here.The nix config is the entire configuration (written in nix) whose activation installs plasma-manager.
A plasma config file is a file created and used by KDE plasma, e.g.
dolphinrc
.Beta Was this translation helpful? Give feedback.
All reactions