1{ lib, pkgs, ... }:
2
3with lib;
4
5{
6 imports = [
7 (mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ])
8 (mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ])
9 (mkRenamedOptionModule [ "environment" "nix" ] [ "nix" "package" ])
10 (mkRenamedOptionModule [ "fonts" "enableFontConfig" ] [ "fonts" "fontconfig" "enable" ])
11 (mkRenamedOptionModule [ "fonts" "extraFonts" ] [ "fonts" "fonts" ])
12
13 (mkRenamedOptionModule [ "networking" "enableWLAN" ] [ "networking" "wireless" "enable" ])
14 (mkRenamedOptionModule [ "networking" "enableRT73Firmware" ] [ "networking" "enableRalinkFirmware" ])
15
16 (mkRenamedOptionModule [ "services" "cadvisor" "host" ] [ "services" "cadvisor" "listenAddress" ])
17 (mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ]
18 (config:
19 let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
20 in if enabled then [ pkgs.gutenprint ] else [ ]))
21 (mkRenamedOptionModule [ "services" "elasticsearch" "host" ] [ "services" "elasticsearch" "listenAddress" ])
22 (mkRenamedOptionModule [ "services" "graphite" "api" "host" ] [ "services" "graphite" "api" "listenAddress" ])
23 (mkRenamedOptionModule [ "services" "graphite" "web" "host" ] [ "services" "graphite" "web" "listenAddress" ])
24 (mkRenamedOptionModule [ "services" "i2pd" "extIp" ] [ "services" "i2pd" "address" ])
25 (mkRenamedOptionModule [ "services" "kibana" "host" ] [ "services" "kibana" "listenAddress" ])
26 (mkRenamedOptionModule [ "services" "logstash" "address" ] [ "services" "logstash" "listenAddress" ])
27 (mkRenamedOptionModule [ "services" "mpd" "network" "host" ] [ "services" "mpd" "network" "listenAddress" ])
28 (mkRenamedOptionModule [ "services" "neo4j" "host" ] [ "services" "neo4j" "listenAddress" ])
29 (mkRenamedOptionModule [ "services" "shout" "host" ] [ "services" "shout" "listenAddress" ])
30 (mkRenamedOptionModule [ "services" "sslh" "host" ] [ "services" "sslh" "listenAddress" ])
31 (mkRenamedOptionModule [ "services" "statsd" "host" ] [ "services" "statsd" "listenAddress" ])
32 (mkRenamedOptionModule [ "services" "subsonic" "host" ] [ "services" "subsonic" "listenAddress" ])
33 (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ])
34 (mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ])
35
36 (mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ])
37 (mkRemovedOptionModule [ "services" "gitlab" "satelliteDir" ] "")
38
39 (mkRenamedOptionModule [ "services" "clamav" "updater" "config" ] [ "services" "clamav" "updater" "extraConfig" ])
40
41 (mkRemovedOptionModule [ "security" "setuidOwners" ] "Use security.wrappers instead")
42 (mkRemovedOptionModule [ "security" "setuidPrograms" ] "Use security.wrappers instead")
43
44 (mkRemovedOptionModule [ "services" "rmilter" "bindInetSockets" ] "Use services.rmilter.bindSocket.* instead")
45 (mkRemovedOptionModule [ "services" "rmilter" "bindUnixSockets" ] "Use services.rmilter.bindSocket.* instead")
46
47 # Old Grub-related options.
48 (mkRenamedOptionModule [ "boot" "initrd" "extraKernelModules" ] [ "boot" "initrd" "kernelModules" ])
49 (mkRenamedOptionModule [ "boot" "extraKernelParams" ] [ "boot" "kernelParams" ])
50 (mkRenamedOptionModule [ "boot" "loader" "grub" "timeout" ] [ "boot" "loader" "timeout" ])
51 (mkRenamedOptionModule [ "boot" "loader" "gummiboot" "timeout" ] [ "boot" "loader" "timeout" ])
52
53 # smartd
54 (mkRenamedOptionModule [ "services" "smartd" "deviceOpts" ] [ "services" "smartd" "defaults" "monitored" ])
55
56 # OpenSSH
57 (mkRenamedOptionModule [ "services" "sshd" "ports" ] [ "services" "openssh" "ports" ])
58 (mkAliasOptionModule [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
59 (mkRenamedOptionModule [ "services" "sshd" "allowSFTP" ] [ "services" "openssh" "allowSFTP" ])
60 (mkRenamedOptionModule [ "services" "sshd" "forwardX11" ] [ "services" "openssh" "forwardX11" ])
61 (mkRenamedOptionModule [ "services" "sshd" "gatewayPorts" ] [ "services" "openssh" "gatewayPorts" ])
62 (mkRenamedOptionModule [ "services" "sshd" "permitRootLogin" ] [ "services" "openssh" "permitRootLogin" ])
63 (mkRenamedOptionModule [ "services" "xserver" "startSSHAgent" ] [ "services" "xserver" "startOpenSSHAgent" ])
64 (mkRenamedOptionModule [ "services" "xserver" "startOpenSSHAgent" ] [ "programs" "ssh" "startAgent" ])
65 (mkAliasOptionModule [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
66
67 # VirtualBox
68 (mkRenamedOptionModule [ "services" "virtualbox" "enable" ] [ "virtualisation" "virtualbox" "guest" "enable" ])
69 (mkRenamedOptionModule [ "services" "virtualboxGuest" "enable" ] [ "virtualisation" "virtualbox" "guest" "enable" ])
70 (mkRenamedOptionModule [ "programs" "virtualbox" "enable" ] [ "virtualisation" "virtualbox" "host" "enable" ])
71 (mkRenamedOptionModule [ "programs" "virtualbox" "addNetworkInterface" ] [ "virtualisation" "virtualbox" "host" "addNetworkInterface" ])
72 (mkRenamedOptionModule [ "programs" "virtualbox" "enableHardening" ] [ "virtualisation" "virtualbox" "host" "enableHardening" ])
73 (mkRenamedOptionModule [ "services" "virtualboxHost" "enable" ] [ "virtualisation" "virtualbox" "host" "enable" ])
74 (mkRenamedOptionModule [ "services" "virtualboxHost" "addNetworkInterface" ] [ "virtualisation" "virtualbox" "host" "addNetworkInterface" ])
75 (mkRenamedOptionModule [ "services" "virtualboxHost" "enableHardening" ] [ "virtualisation" "virtualbox" "host" "enableHardening" ])
76
77 # Tarsnap
78 (mkRenamedOptionModule [ "services" "tarsnap" "config" ] [ "services" "tarsnap" "archives" ])
79
80 # ibus
81 (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "inputMethod" "ibus" "engines" ])
82
83 # proxy
84 (mkRenamedOptionModule [ "nix" "proxy" ] [ "networking" "proxy" "default" ])
85
86 # sandboxing
87 (mkRenamedOptionModule [ "nix" "useChroot" ] [ "nix" "useSandbox" ])
88 (mkRenamedOptionModule [ "nix" "chrootDirs" ] [ "nix" "sandboxPaths" ])
89
90 # KDE
91 (mkRenamedOptionModule [ "kde" "extraPackages" ] [ "environment" "systemPackages" ])
92 (mkRenamedOptionModule [ "environment" "kdePackages" ] [ "environment" "systemPackages" ])
93
94 # Multiple efi bootloaders now
95 (mkRenamedOptionModule [ "boot" "loader" "efi" "efibootmgr" "enable" ] [ "boot" "loader" "efi" "canTouchEfiVariables" ])
96
97 # NixOS environment changes
98 # !!! this hardcodes bash, could we detect from config which shell is actually used?
99 (mkRenamedOptionModule [ "environment" "promptInit" ] [ "programs" "bash" "promptInit" ])
100
101 (mkRenamedOptionModule [ "services" "xserver" "driSupport" ] [ "hardware" "opengl" "driSupport" ])
102 (mkRenamedOptionModule [ "services" "xserver" "driSupport32Bit" ] [ "hardware" "opengl" "driSupport32Bit" ])
103 (mkRenamedOptionModule [ "services" "xserver" "s3tcSupport" ] [ "hardware" "opengl" "s3tcSupport" ])
104 (mkRenamedOptionModule [ "hardware" "opengl" "videoDrivers" ] [ "services" "xserver" "videoDrivers" ])
105 (mkRenamedOptionModule [ "services" "xserver" "vaapiDrivers" ] [ "hardware" "opengl" "extraPackages" ])
106
107 (mkRenamedOptionModule [ "services" "mysql55" ] [ "services" "mysql" ])
108
109 (mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
110
111 # XBMC
112 (mkRenamedOptionModule [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ])
113 (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ])
114
115 (mkRenamedOptionModule [ "services" "hostapd" "extraCfg" ] [ "services" "hostapd" "extraConfig" ])
116
117 # Enlightenment
118 (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "e19" "enable" ] [ "services" "xserver" "desktopManager" "enlightenment" "enable" ])
119
120 # Iodine
121 (mkRenamedOptionModule [ "services" "iodined" "enable" ] [ "services" "iodine" "server" "enable" ])
122 (mkRenamedOptionModule [ "services" "iodined" "domain" ] [ "services" "iodine" "server" "domain" ])
123 (mkRenamedOptionModule [ "services" "iodined" "ip" ] [ "services" "iodine" "server" "ip" ])
124 (mkRenamedOptionModule [ "services" "iodined" "extraConfig" ] [ "services" "iodine" "server" "extraConfig" ])
125 (mkRemovedOptionModule [ "services" "iodined" "client" ] "")
126
127 # Grsecurity
128 (mkRemovedOptionModule [ "security" "grsecurity" "kernelPatch" ] "")
129 (mkRemovedOptionModule [ "security" "grsecurity" "config" "mode" ] "")
130 (mkRemovedOptionModule [ "security" "grsecurity" "config" "priority" ] "")
131 (mkRemovedOptionModule [ "security" "grsecurity" "config" "system" ] "")
132 (mkRemovedOptionModule [ "security" "grsecurity" "config" "virtualisationConfig" ] "")
133 (mkRemovedOptionModule [ "security" "grsecurity" "config" "hardwareVirtualisation" ] "")
134 (mkRemovedOptionModule [ "security" "grsecurity" "config" "virtualisationSoftware" ] "")
135 (mkRemovedOptionModule [ "security" "grsecurity" "config" "sysctl" ] "")
136 (mkRemovedOptionModule [ "security" "grsecurity" "config" "denyChrootChmod" ] "")
137 (mkRemovedOptionModule [ "security" "grsecurity" "config" "denyChrootCaps" ] "")
138 (mkRemovedOptionModule [ "security" "grsecurity" "config" "denyUSB" ] "")
139 (mkRemovedOptionModule [ "security" "grsecurity" "config" "restrictProc" ] "")
140 (mkRemovedOptionModule [ "security" "grsecurity" "config" "restrictProcWithGroup" ] "")
141 (mkRemovedOptionModule [ "security" "grsecurity" "config" "unrestrictProcGid" ] "")
142 (mkRemovedOptionModule [ "security" "grsecurity" "config" "disableRBAC" ] "")
143 (mkRemovedOptionModule [ "security" "grsecurity" "config" "disableSimultConnect" ] "")
144 (mkRemovedOptionModule [ "security" "grsecurity" "config" "verboseVersion" ] "")
145 (mkRemovedOptionModule [ "security" "grsecurity" "config" "kernelExtraConfig" ] "")
146
147 # Unity3D
148 (mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ])
149
150 # murmur
151 (mkRenamedOptionModule [ "services" "murmur" "welcome" ] [ "services" "murmur" "welcometext" ])
152
153 # parsoid
154 (mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] [ "services" "parsoid" "wikis" ])
155
156 # tarsnap
157 (mkRemovedOptionModule [ "services" "tarsnap" "cachedir" ] "Use services.tarsnap.archives.<name>.cachedir")
158
159 # alsa
160 (mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ])
161
162 # postgrey
163 (mkMergedOptionModule [ [ "services" "postgrey" "inetAddr" ] [ "services" "postgrey" "inetPort" ] ] [ "services" "postgrey" "socket" ] (config: let
164 value = p: getAttrFromPath p config;
165 inetAddr = [ "services" "postgrey" "inetAddr" ];
166 inetPort = [ "services" "postgrey" "inetPort" ];
167 in
168 if value inetAddr == null
169 then { path = "/var/run/postgrey.sock"; }
170 else { addr = value inetAddr; port = value inetPort; }
171 ))
172
173 # dhcpd
174 (mkRenamedOptionModule [ "services" "dhcpd" ] [ "services" "dhcpd4" ])
175
176 # locate
177 (mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
178 (mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths" )
179
180 # nfs
181 (mkRenamedOptionModule [ "services" "nfs" "lockdPort" ] [ "services" "nfs" "server" "lockdPort" ])
182 (mkRenamedOptionModule [ "services" "nfs" "statdPort" ] [ "services" "nfs" "server" "statdPort" ])
183
184 # KDE Plasma 5
185 (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "kde5" ] [ "services" "xserver" "desktopManager" "plasma5" ])
186
187 # Fontconfig
188 (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "allowBitmaps" ] [ "config" "fonts" "fontconfig" "allowBitmaps" ])
189 (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "allowType1" ] [ "config" "fonts" "fontconfig" "allowType1" ])
190 (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "config" "fonts" "fontconfig" "useEmbeddedBitmaps" ])
191 (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "config" "fonts" "fontconfig" "forceAutohint" ])
192 (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "config" "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
193
194 # Options that are obsolete and have no replacement.
195 (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
196 (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
197 (mkRemovedOptionModule [ "services" "samba" "defaultShare" ] "")
198 (mkRemovedOptionModule [ "services" "syslog-ng" "serviceName" ] "")
199 (mkRemovedOptionModule [ "services" "syslog-ng" "listenToJournal" ] "")
200 (mkRemovedOptionModule [ "ec2" "metadata" ] "")
201 (mkRemovedOptionModule [ "services" "openvpn" "enable" ] "")
202 (mkRemovedOptionModule [ "services" "printing" "cupsFilesConf" ] "")
203 (mkRemovedOptionModule [ "services" "printing" "cupsdConf" ] "")
204 (mkRemovedOptionModule [ "services" "tor" "relay" "isBridge" ] "Use services.tor.relay.role instead.")
205 (mkRemovedOptionModule [ "services" "tor" "relay" "isExit" ] "Use services.tor.relay.role instead.")
206 (mkRemovedOptionModule [ "services" "xserver" "startGnuPGAgent" ]
207 "See the 16.09 release notes for more information.")
208 (mkRemovedOptionModule [ "services" "phpfpm" "phpIni" ] "")
209 (mkRemovedOptionModule [ "services" "dovecot2" "package" ] "")
210 (mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "")
211 (mkRemovedOptionModule [ "services" "xserver" "displayManager" "sddm" "themes" ]
212 "Set the option `services.xserver.displayManager.sddm.package' instead.")
213 (mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
214 (mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
215 (mkRemovedOptionModule [ "boot" "zfs" "enableUnstable" ] "0.7.0 is now the default")
216
217 # ZSH
218 (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
219 (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "enable" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
220 (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "highlighters" ] [ "programs" "zsh" "syntaxHighlighting" "highlighters" ])
221 (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "patterns" ] [ "programs" "zsh" "syntaxHighlighting" "patterns" ])
222 (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "enable" ] [ "programs" "zsh" "ohMyZsh" "enable" ])
223 (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ])
224 (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ])
225 (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ])
226 ];
227}