 6440e9bbfd
			
		
	
	
		6440e9bbfd
		
			
		
	
	
	
	
		
			
			Commit 687caeb renamed services.virtualboxHost to programs.virtualbox, but according to the discussion on the commit, it's probably a better to put it into virtualisation.virtualbox instead. The discussion can be found here: https://github.com/NixOS/nixpkgs/commit/687caeb#commitcomment-12664978 Signed-off-by: aszlig <aszlig@redmoonstudios.org>
		
			
				
	
	
		
			164 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			164 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { config, lib, options, ... }:
 | |
| 
 | |
| with lib;
 | |
| 
 | |
| let
 | |
| 
 | |
|   alias = from: to: rename {
 | |
|     inherit from to;
 | |
|     name = "Alias";
 | |
|     use = id;
 | |
|     define = id;
 | |
|     visible = true;
 | |
|   };
 | |
| 
 | |
|   # warn option was renamed
 | |
|   obsolete = from: to: rename {
 | |
|     inherit from to;
 | |
|     name = "Obsolete name";
 | |
|     use = x: builtins.trace "Obsolete option `${showOption from}' is used. It was renamed to `${showOption to}'." x;
 | |
|     define = x: builtins.trace "Obsolete option `${showOption from}' is used. It was renamed to `${showOption to}'." x;
 | |
|   };
 | |
| 
 | |
|   # abort if deprecated option is used
 | |
|   deprecated = from: to: rename {
 | |
|     inherit from to;
 | |
|     name = "Deprecated name";
 | |
|     use = x: abort "Deprecated option `${showOption from}' is used. It was renamed to `${showOption to}'.";
 | |
|     define = x: abort "Deprecated option `${showOption from}' is used. It was renamed to `${showOption to}'.";
 | |
|   };
 | |
| 
 | |
|   showOption = concatStringsSep ".";
 | |
| 
 | |
|   zipModules = list:
 | |
|     zipAttrsWith (n: v:
 | |
|       if tail v != [] then
 | |
|         if all (o: isAttrs o && o ? _type) v then mkMerge v
 | |
|         else if n == "_type" then head v
 | |
|         else if n == "warnings" then concatLists v
 | |
|         else if n == "description" || n == "apply" then
 | |
|           abort "Cannot rename an option to multiple options."
 | |
|         else zipModules v
 | |
|       else head v
 | |
|     ) list;
 | |
| 
 | |
|   rename = { from, to, name, use, define, visible ? false }:
 | |
|     let
 | |
|       setTo = setAttrByPath to;
 | |
|       setFrom = setAttrByPath from;
 | |
|       toOf = attrByPath to
 | |
|         (abort "Renaming error: option `${showOption to}' does not exists.");
 | |
|       fromOf = attrByPath from
 | |
|         (abort "Internal error: option `${showOption from}' should be declared.");
 | |
|     in
 | |
|       [ { options = setFrom (mkOption {
 | |
|             description = "${name} of <option>${showOption to}</option>.";
 | |
|             apply = x: use (toOf config);
 | |
|             inherit visible;
 | |
|           });
 | |
| 
 | |
|           config = setTo (mkAliasAndWrapDefinitions define (fromOf options));
 | |
|         }
 | |
|       ];
 | |
| 
 | |
|   obsolete' = option: singleton
 | |
|     { options = setAttrByPath option (mkOption {
 | |
|         default = null;
 | |
|         visible = false;
 | |
|       });
 | |
|       config.warnings = optional (getAttrFromPath option config != null)
 | |
|         "The option `${showOption option}' defined in your configuration no longer has any effect; please remove it.";
 | |
|     };
 | |
| 
 | |
| in zipModules ([]
 | |
| 
 | |
| ++ obsolete [ "environment" "x11Packages" ] [ "environment" "systemPackages" ]
 | |
| ++ obsolete [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ]
 | |
| ++ obsolete [ "environment" "nix" ] [ "nix" "package" ]
 | |
| ++ obsolete [ "fonts" "enableFontConfig" ] [ "fonts" "fontconfig" "enable" ]
 | |
| ++ obsolete [ "fonts" "extraFonts" ] [ "fonts" "fonts" ]
 | |
| 
 | |
| ++ obsolete [ "security" "extraSetuidPrograms" ] [ "security" "setuidPrograms" ]
 | |
| ++ obsolete [ "networking" "enableWLAN" ] [ "networking" "wireless" "enable" ]
 | |
| ++ obsolete [ "networking" "enableRT73Firmware" ] [ "networking" "enableRalinkFirmware" ]
 | |
| 
 | |
| # FIXME: Remove these eventually.
 | |
| ++ obsolete [ "boot" "systemd" "sockets" ] [ "systemd" "sockets" ]
 | |
| ++ obsolete [ "boot" "systemd" "targets" ] [ "systemd" "targets" ]
 | |
| ++ obsolete [ "boot" "systemd" "services" ] [ "systemd" "services" ]
 | |
| 
 | |
| # Old Grub-related options.
 | |
| ++ obsolete [ "boot" "copyKernels" ] [ "boot" "loader" "grub" "copyKernels" ]
 | |
| ++ obsolete [ "boot" "extraGrubEntries" ] [ "boot" "loader" "grub" "extraEntries" ]
 | |
| ++ obsolete [ "boot" "extraGrubEntriesBeforeNixos" ] [ "boot" "loader" "grub" "extraEntriesBeforeNixOS" ]
 | |
| ++ obsolete [ "boot" "grubDevice" ] [ "boot" "loader" "grub" "device" ]
 | |
| ++ obsolete [ "boot" "bootMount" ] [ "boot" "loader" "grub" "bootDevice" ]
 | |
| ++ obsolete [ "boot" "grubSplashImage" ] [ "boot" "loader" "grub" "splashImage" ]
 | |
| 
 | |
| ++ obsolete [ "boot" "initrd" "extraKernelModules" ] [ "boot" "initrd" "kernelModules" ]
 | |
| ++ obsolete [ "boot" "extraKernelParams" ] [ "boot" "kernelParams" ]
 | |
| 
 | |
| # OpenSSH
 | |
| ++ obsolete [ "services" "sshd" "ports" ] [ "services" "openssh" "ports" ]
 | |
| ++ alias [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ]
 | |
| ++ obsolete [ "services" "sshd" "allowSFTP" ] [ "services" "openssh" "allowSFTP" ]
 | |
| ++ obsolete [ "services" "sshd" "forwardX11" ] [ "services" "openssh" "forwardX11" ]
 | |
| ++ obsolete [ "services" "sshd" "gatewayPorts" ] [ "services" "openssh" "gatewayPorts" ]
 | |
| ++ obsolete [ "services" "sshd" "permitRootLogin" ] [ "services" "openssh" "permitRootLogin" ]
 | |
| ++ obsolete [ "services" "xserver" "startSSHAgent" ] [ "services" "xserver" "startOpenSSHAgent" ]
 | |
| ++ obsolete [ "services" "xserver" "startOpenSSHAgent" ] [ "programs" "ssh" "startAgent" ]
 | |
| 
 | |
| # VirtualBox
 | |
| ++ obsolete [ "services" "virtualbox" "enable" ] [ "virtualisation" "virtualbox" "guest" "enable" ]
 | |
| ++ obsolete [ "services" "virtualboxGuest" "enable" ] [ "virtualisation" "virtualbox" "guest" "enable" ]
 | |
| ++ obsolete [ "programs" "virtualbox" "enable" ] [ "virtualisation" "virtualbox" "host" "enable" ]
 | |
| ++ obsolete [ "programs" "virtualbox" "addNetworkInterface" ] [ "virtualisation" "virtualbox" "host" "addNetworkInterface" ]
 | |
| ++ obsolete [ "programs" "virtualbox" "enableHardening" ] [ "virtualisation" "virtualbox" "host" "enableHardening" ]
 | |
| ++ obsolete [ "services" "virtualboxHost" "enable" ] [ "virtualisation" "virtualbox" "host" "enable" ]
 | |
| ++ obsolete [ "services" "virtualboxHost" "addNetworkInterface" ] [ "virtualisation" "virtualbox" "host" "addNetworkInterface" ]
 | |
| ++ obsolete [ "services" "virtualboxHost" "enableHardening" ] [ "virtualisation" "virtualbox" "host" "enableHardening" ]
 | |
| 
 | |
| # Tarsnap
 | |
| ++ obsolete [ "services" "tarsnap" "config" ] [ "services" "tarsnap" "archives" ]
 | |
| 
 | |
| # proxy
 | |
| ++ obsolete [ "nix" "proxy" ] [ "networking" "proxy" "default" ]
 | |
| 
 | |
| # KDE
 | |
| ++ deprecated [ "kde" "extraPackages" ] [ "environment" "systemPackages" ]
 | |
| ++ obsolete [ "environment" "kdePackages" ] [ "environment" "systemPackages" ]
 | |
| 
 | |
| # Multiple efi bootloaders now
 | |
| ++ obsolete [ "boot" "loader" "efi" "efibootmgr" "enable" ] [ "boot" "loader" "efi" "canTouchEfiVariables" ]
 | |
| 
 | |
| # NixOS environment changes
 | |
| # !!! this hardcodes bash, could we detect from config which shell is actually used?
 | |
| ++ obsolete [ "environment" "promptInit" ] [ "programs" "bash" "promptInit" ]
 | |
| 
 | |
| ++ obsolete [ "services" "xserver" "driSupport" ] [ "hardware" "opengl" "driSupport" ]
 | |
| ++ obsolete [ "services" "xserver" "driSupport32Bit" ] [ "hardware" "opengl" "driSupport32Bit" ]
 | |
| ++ obsolete [ "services" "xserver" "s3tcSupport" ] [ "hardware" "opengl" "s3tcSupport" ]
 | |
| ++ obsolete [ "hardware" "opengl" "videoDrivers" ] [ "services" "xserver" "videoDrivers" ]
 | |
| 
 | |
| ++ obsolete [ "services" "mysql55" ] [ "services" "mysql" ]
 | |
| 
 | |
| ++ alias    [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ]
 | |
| 
 | |
| # XBMC
 | |
| ++ obsolete [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]
 | |
| ++ obsolete [ "services" "xserver" "desktopManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]
 | |
| 
 | |
| # DNSCrypt-proxy
 | |
| ++ obsolete [ "services" "dnscrypt-proxy" "port" ] [ "services" "dnscrypt-proxy" "localPort" ]
 | |
| 
 | |
| # Options that are obsolete and have no replacement.
 | |
| ++ obsolete' [ "boot" "loader" "grub" "bootDevice" ]
 | |
| ++ obsolete' [ "boot" "initrd" "luks" "enable" ]
 | |
| ++ obsolete' [ "programs" "bash" "enable" ]
 | |
| ++ obsolete' [ "services" "samba" "defaultShare" ]
 | |
| ++ obsolete' [ "services" "syslog-ng" "serviceName" ]
 | |
| ++ obsolete' [ "services" "syslog-ng" "listenToJournal" ]
 | |
| ++ obsolete' [ "ec2" "metadata" ]
 | |
| 
 | |
| )
 |