snowfallorg / snowfallorg/lib

Changing system configuration from home?

Open
#169 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Nix
Stars
628
Forks
64
PR merge metrics
No merged PRs in 30d

Description

First, I am aware that this can not be done directly and it's not what I'm asking for.


I would like a way of checking homeConfigurations from the nixosConfigurations side. The goal would be, to for example check if a user has a DE enabled, so that it can be added to system packages in the nixosConfiguration.

I haveoctelly.programs.mpv.enable = true; in homes/x86_64-linux/octelly@vmware-nixos (test option). I've done some probing and found that:

  • loading the flake in repl and checking nixosConfigurations.vmware-nixos.config.snowfallorg.users.octelly.home.config.octelly.programs.mpv.enable returns false
  • loading the flake in repl and checking homeConfigurations."octelly@vmware-nixos".options.octelly.programs.mpv.enable.value, however I'm not aware of a documented way of accessing self

I thought of writing per-user NixOS modules, so that a system could set options like target.graphics = true; and users could have their modules that would then for example snowfallorg.users.octelly.home.config.programs.plasma = true;, but that feels like a dirty fix.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by loading the flake in a Nix REPL and compare the homeConfigurations and nixosConfigurations expressions described in the issue. Investigate how the home configuration is exposed through snowfallorg.users and determine a documented way for the system side to inspect it. Done means the cross-configuration access pattern is defined and demonstrated for the octelly home configuration.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.