All Projects → manveru → nixos-installer

manveru / nixos-installer

Licence: MIT license
Combining the power of Nix, Guile & Elm to install NixOS

Programming Languages

elm
856 projects
javascript
184084 projects - #8 most used programming language
Nix
1067 projects
go
31211 projects - #10 most used programming language
ruby
36898 projects - #4 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to nixos-installer

digga
A flake utility library to craft shell-, home-, and hosts- environments.
Stars: ✭ 818 (+5742.86%)
Mutual labels:  nix, nixos, nixos-configuration
nix-config
My personal nix config
Stars: ✭ 32 (+128.57%)
Mutual labels:  nix, nixos, nixos-configuration
dotfiles
Dotfiles
Stars: ✭ 25 (+78.57%)
Mutual labels:  nix, nixos, nixos-configuration
elemental
Elemental, the component parts of a Nix/OS development system.
Stars: ✭ 44 (+214.29%)
Mutual labels:  nix, nixos, nixos-configuration
nix-config
NixOS configuration (also on WSL)
Stars: ✭ 51 (+264.29%)
Mutual labels:  nix, nixos, nixos-configuration
dotnix
nix stuff
Stars: ✭ 27 (+92.86%)
Mutual labels:  nix, nixos, nixos-configuration
rc
Structured system configuration (I moved from NixOS to GuixSD)
Stars: ✭ 97 (+592.86%)
Mutual labels:  nix, nixos, nixos-configuration
system
Declarative NixOS system configuration for all my machines
Stars: ✭ 14 (+0%)
Mutual labels:  nix, nixos, nixos-configuration
nyx
⚙️Nix[OS] Configuration
Stars: ✭ 50 (+257.14%)
Mutual labels:  nix, nixos, nixos-configuration
nixdots
I have no idea what the hell I'm doing
Stars: ✭ 46 (+228.57%)
Mutual labels:  nix, nixos, nixos-configuration
nixos-config
My NixOS configuration
Stars: ✭ 23 (+64.29%)
Mutual labels:  nix, nixos, nixos-configuration
dconf2nix
🐾 Convert Dconf files (e.g. Gnome Shell) to Nix, as expected by Home Manager
Stars: ✭ 51 (+264.29%)
Mutual labels:  nix, nixos, nixos-configuration
Vulnix
Vulnerability (CVE) scanner for Nix/NixOS.
Stars: ✭ 161 (+1050%)
Mutual labels:  nix, nixos
Home Manager
Manage a user environment using Nix [maintainer=@rycee]
Stars: ✭ 2,447 (+17378.57%)
Mutual labels:  nix, nixos
gradle2nix
Generate Nix expressions which build Gradle-based projects.
Stars: ✭ 71 (+407.14%)
Mutual labels:  nix, nixos
fromElisp
An Emacs Lisp reader in Nix.
Stars: ✭ 26 (+85.71%)
Mutual labels:  nix, nixos
Nix Bitcoin
A collection of Nix packages and NixOS modules for easily installing full-featured Bitcoin nodes with an emphasis on security.
Stars: ✭ 154 (+1000%)
Mutual labels:  nix, nixos
Deploy Rs
A simple multi-profile Nix-flake deploy tool.
Stars: ✭ 164 (+1071.43%)
Mutual labels:  nix, nixos
Nixos Mailserver
A complete and Simple Nixos Mailserver
Stars: ✭ 172 (+1128.57%)
Mutual labels:  nix, nixos
dotfiles
My NixOS configuration featuring awesome and neovim
Stars: ✭ 40 (+185.71%)
Mutual labels:  nix, nixos

nixos-installer

A webserver that can install NixOS for you.

Running it

The project is not ready for real use yet, but if you'd like to jump in and help, here's how:

nix-shell --pure --run ./run

Contributing

Since this is still mostly in the proof-of-concept stage, I can't promise that PRs will be promptly merged or stay mergable for long since there's still heavy refactoring going on, and nothing is set in stone yet.

However there are some things that I'd highly appreciate:

  • Additional translations (untranslated strings default to English).
  • Artwork to make the install steps look less sterile.
  • Additional Overlays for configuration.nix to support some use-case you have.
  • Ideas and/or hardware for running multiple test scenarios.
  • Donations in the form of T-Shirts ;)

I'll try to keep a log of what's going on, and you're free to contact me via IRC (#nixos-installer on freenode) or on Keybase.

Philosophy

  1. Use software to detect a problem, and tell users only when there is a problem. An error reporting system may be a manual that appears on demand.
  2. Make sure that all settings are needed. Eliminate unnecessary settings.
  3. Less configuration up front, simplify the installer. Move as much configuration to the runtime as possible.
  4. Avoid doing things in the installer that also have an UI during run time.
  5. Don’t force the user to reenter values that have already been entered.
  6. Users should be able to test settings immediately to avoid problems later.
  7. All input and output is defined and controlled by the installer. Don’t depend on external configuration.
  8. Keep the number of modes to a minimum, default new installations to a single mode.
  9. Require only the bare minimum to run. Provide additional configuration after installation.
  10. Don’t ask the user to do something that can easily be automated.
  11. Make use of provided settings across the whole system to avoid duplication.
  12. Provide links to further documentation for external technology.
  13. All settings should have a test if possible. A manual test while configuring the value, and for critical values a test when the system starts.
  14. Make manuals consistent with installation process.
  15. Don’t use the manual to fix poorly implemented software. Fix the software first.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].