Class: VagrantPlugins::Nixos::Config
- Inherits:
-
Object
- Object
- VagrantPlugins::Nixos::Config
- Defined in:
- lib/vagrant-nixos/config.rb
Instance Attribute Summary collapse
-
#expression ⇒ Hash?
Some inline ruby DSL that generates nix configuration data.
-
#include ⇒ true, false
Include /etc/nixos/vagrant.nix in the build.
-
#inline ⇒ String?
Some inline nix configuration data.
-
#NIX_PATH ⇒ String?
Override the default NIX_PATH.
-
#path ⇒ String?
The path to some nix configuration file.
-
#verbose ⇒ true, false
Show debug information during the build.
Instance Method Summary collapse
- #finalize! ⇒ Object
-
#initialize ⇒ Config
constructor
A new instance of Config.
- #validate(machine) ⇒ Object
Constructor Details
#initialize ⇒ Config
Returns a new instance of Config.
28 29 30 31 32 33 34 35 |
# File 'lib/vagrant-nixos/config.rb', line 28 def initialize @inline = UNSET_VALUE @path = UNSET_VALUE @expression = UNSET_VALUE @include = UNSET_VALUE @verbose = UNSET_VALUE @NIX_PATH = UNSET_VALUE end |
Instance Attribute Details
#expression ⇒ Hash?
Some inline ruby DSL that generates nix configuration data
14 15 16 |
# File 'lib/vagrant-nixos/config.rb', line 14 def expression @expression end |
#include ⇒ true, false
Include /etc/nixos/vagrant.nix in the build
18 19 20 |
# File 'lib/vagrant-nixos/config.rb', line 18 def include @include end |
#inline ⇒ String?
Some inline nix configuration data
6 7 8 |
# File 'lib/vagrant-nixos/config.rb', line 6 def inline @inline end |
#NIX_PATH ⇒ String?
Override the default NIX_PATH
26 27 28 |
# File 'lib/vagrant-nixos/config.rb', line 26 def NIX_PATH @NIX_PATH end |
#path ⇒ String?
The path to some nix configuration file
10 11 12 |
# File 'lib/vagrant-nixos/config.rb', line 10 def path @path end |
#verbose ⇒ true, false
Show debug information during the build
22 23 24 |
# File 'lib/vagrant-nixos/config.rb', line 22 def verbose @verbose end |
Instance Method Details
#finalize! ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/vagrant-nixos/config.rb', line 37 def finalize! @inline = nil if @inline == UNSET_VALUE @path = nil if @path == UNSET_VALUE @expression = nil if @expression == UNSET_VALUE @include = false if @include == UNSET_VALUE @verbose = false if @verbose == UNSET_VALUE @NIX_PATH = nil if @NIX_PATH == UNSET_VALUE end |
#validate(machine) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/vagrant-nixos/config.rb', line 50 def validate(machine) errors = _detected_errors if (path && inline) or (path && expression) or (inline && expression) errors << "You can have one and only one of :path, :expression or :inline for nixos provisioner" end if path && !File.exist?(path) errors << "Invalid path #{path}" end { "nixos provisioner" => errors } end |