desktops/i3: init module #166
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This one took me a while and I still feel more can be done. I've listed them in the first comment.
Writing a module for this was a nightmare and I lost the battle trying to make
i3.commandsbe a proper Nix type rather than just a multi-line string. It's either that or going down the HM route of defining submodule options for each command there is. A few things I wanted to note/discuss:nirimodule which only abstracts certain things likebinds,spawn-on-startup, etc. Should I do this?.xsession,.xinitrc, and friends to export env vars before i3 launches. Those should be different modules and I didn't research enough on them to confidently write a module. I also thought about usingi3.extraSessionCommandsfrom the nixpkgs nixos module to export env vars but idk if that's good practice or not. Need more folks to comment on this.Meta
Related Issue(s): #17 (see above)
AI used to generate code included in this PR?: No, but I yoinked some stuff from the
nirimoduleAll Submissions:
New Module Submissions: