Nix-Gui
Make NixOS usable for non-technical users through a settings / package management GUI.
Motives
The declarative nature of NixOS provides it the capability of being the most user friendly linux distro. No more editing dotfiles, /etc
files, manually writing timers, services, running commands to manage and create users and groups, etc. NixOS integrates all of that into a declarative system, and this project integrates NixOS’ declarative system into a GUI.
Serve Users Unfamiliar with or Learning Nix
Nix-Gui is a configuration management tool designed for those who haven’t mastered the (arguably difficult) nix language. It is also an attempt to replicate the ease of use of popular configuration systems including
- Ubuntu’s Unity System Settings
- Mint’s Cinnimon Settings
- Synaptic Package Manager
Nix-Gui is designed to gradually and comfortably teach users about the mechanics of the nix language and nixpkgs.
Serve as an Effective System Management Tool for Experienced Users
At the most advanced level, and once feature parity has been achieved. Power users should be capable of changing system configuration, creating system ISOs, deploying systems to the cloud, etc in Nix-Gui more intelligibly and faster than through their traditional means of writing a nix module.
Serve Mobile Users
An additional motive for this project is to enable system configuration for mobile devices without having to type code on your phone.
Docs
Contributing
Non-developers (and interested developers), if you want to help, please
- Run the application and submit bug report issues on GitHub.
- Contact me on matrix (details below) to help more directly with UX testing.
Developers, if you’re interested in contributing, you may
- Review the code, run the application, and point out potential improvements, flaws, and bugs by submitting issues.
- Review milestones and issues and create pull requests to address bugs and missing features.
- Contribute to important dependencies including rnix-parser and rnix-lsp.
- Contact me on matrix to discuss.
Contact
Contact me on Matrix (andrew:mtx.rew.la
)