Nicolas, this solution makes sense if I understand how to include private modules to local configuration. (We are discussing this in a separate thread).
Regards, Sergey 2015-11-17 17:55 GMT+03:00 Nicolas Pierron <[email protected]>: > Hi Sergey, > > If you are not using the proxy_port and proxy_host values for > selecting the modules, I suggest you use the module system instead. > This means that your previous example would become something like the > example below. This solution is a bit more verbose, but you might be > able to introspect these options with nixos-option command line tool > and NixUI. > > // configuration.nix > { > require = [ > /etc/nixos/configuration.nix > ./include/global_bash_aliases.nix > ]; > > custom.go.proxy.port = 4343; > custom.go.proxy.host = "myproxy.local"; > … > } > > // ./include/global_bash_aliases.nix > > { config, pkgs, lib, ... } : > > with lib; > { > options = { > custom.go.proxy.port = mkOption { > default = 4242; > example = 4343; > type = types.uniq types.int; > description = '' > port number used by the goproxy shell alias command. > ''; > }; > > custom.go.proxy.host = mkOption { > example = "example.com"; > type = types.uniq types.str; > description = '' > host name used by the goproxy shell alias command. > ''; > }; > }; > > config = { > environment = { > > extraInit = with config.custom.go.proxy '' > alias goproxy "nc ${port} ${host} > ''; > }; > }; > } > > > On Tue, Nov 17, 2015 at 2:17 PM, Sergey Mironov <[email protected]> wrote: >> Hi. This is a follow-up to my previous letter about Private NixOS modules. >> >> Another thing I am missing is the ability to pass arguments to >> 'required' configuration modules. Below is the illustration of the >> idea. Could you please give me some advice on this? >> >> Regards, >> Sergey >> >> >> // configuration.nix >> >> {config, pkgs, ...}: >> let >> proxy_port = "4343"; >> proxy_host = "myproxy.local"; >> in >> { >> require = [ >> /etc/nixos/hardware-configuration.nix >> .. >> (withArguments ./include/global_bash_aliases.nix { inherit >> proxy_port proxy_host; }) >> .. >> ]; >> ... >> >> } >> >> >> //./include/global_bash_aliases.nix >> >> { proxy_port, proxy_host} : >> { config, pkgs, ... } : >> { >> environment = rec { >> >> extraInit = '' >> alias goproxy "nc ${proxy_port} ${proxy_host} >> ''; >> }; >> >> } >> _______________________________________________ >> nix-dev mailing list >> [email protected] >> http://lists.science.uu.nl/mailman/listinfo/nix-dev > > > > -- > Nicolas Pierron > http://www.linkedin.com/in/nicolasbpierron - http://nbp.name/ _______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
