From 8f3a541a3d096e5b8cd70112632bd8a6af283010 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sun, 13 May 2018 16:59:51 -0400 Subject: nixos/grub: Updates `splashImage` description to match reality. Fixes #4911 --- nixos/modules/system/boot/loader/grub/grub.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index e2cff1c1bd94..67daaa333e5e 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -308,10 +308,22 @@ in type = types.nullOr types.path; example = literalExample "./my-background.png"; description = '' - Background image used for GRUB. It must be a 640x480, + Background image used for GRUB. + Set to null to run GRUB in text mode. + + + For grub 1: + It must be a 640x480, 14-colour image in XPM format, optionally compressed with - gzip or bzip2. Set to - null to run GRUB in text mode. + gzip or bzip2. + + + + For grub 2: + File must be one of .png, .tga, .jpg, or .jpeg. JPEG images must + not be progressive. + The image will be scaled if necessary to fit the screen. + ''; }; -- cgit 1.4.1 From 0ccfe14e25771d83460305ee09d99cb449eea15a Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sun, 13 May 2018 19:51:50 -0400 Subject: nixos/grub: Implements use of file format for splashImage. GRUB 2.0 supports png, jpeg and tga. This will use the image's suffix to load the right module. As jpeg module is named jpeg, jpg is renamed jpeg. If the user uses wrong image suffix for an image, it wouldn't work anyway. This will leave up to two additional left-over files in /boot/ if user switches through all the supported file formats. The module already left the png image if the user disabled the splash image. --- nixos/modules/system/boot/loader/grub/install-grub.pl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 8bd203106f55..1aa14729a75c 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -299,12 +299,16 @@ else { copy $font, "$bootPath/converted-font.pf2" or die "cannot copy $font to $bootPath\n"; } if ($splashImage) { - # FIXME: GRUB 1.97 doesn't resize the background image if it - # doesn't match the video resolution. - copy $splashImage, "$bootPath/background.png" or die "cannot copy $splashImage to $bootPath\n"; + # Keeps the image's extension. + my ($filename, $dirs, $suffix) = fileparse($splashImage, qr"\..[^.]*$"); + # The module for jpg is jpeg. + if ($suffix eq ".jpg") { + $suffix = ".jpeg"; + } + copy $splashImage, "$bootPath/background$suffix" or die "cannot copy $splashImage to $bootPath\n"; $conf .= " - insmod png - if background_image " . $grubBoot->path . "/background.png; then + insmod " . substr($suffix, 1) . " + if background_image " . $grubBoot->path . "/background$suffix; then set color_normal=white/black set color_highlight=black/white else -- cgit 1.4.1 From b4b3892bd11d81d4bd17f21b9a5153f30a774f56 Mon Sep 17 00:00:00 2001 From: Sebastian Jordan Date: Wed, 16 May 2018 12:46:36 +0200 Subject: nixos/kubernetes: Update kube-dns and kube-dashbashboard docker image derivations to new pullImage function signature --- nixos/modules/services/cluster/kubernetes/dashboard.nix | 3 ++- nixos/modules/services/cluster/kubernetes/dns.nix | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/cluster/kubernetes/dashboard.nix b/nixos/modules/services/cluster/kubernetes/dashboard.nix index e331889b9dd5..41655895c00d 100644 --- a/nixos/modules/services/cluster/kubernetes/dashboard.nix +++ b/nixos/modules/services/cluster/kubernetes/dashboard.nix @@ -10,8 +10,9 @@ let image = pkgs.dockerTools.pullImage { imageName = name; - imageTag = version; + finalImageTag = version; sha256 = "11h0fz3wxp0f10fsyqaxjm7l2qg7xws50dv5iwlck5gb1fjmajad"; + imageDigest = "sha256:e7984d10351601080bbc146635d51f0cfbea31ca6f0df323cf7a58cf2f6a68df"; }; in { options.services.kubernetes.addons.dashboard = { diff --git a/nixos/modules/services/cluster/kubernetes/dns.nix b/nixos/modules/services/cluster/kubernetes/dns.nix index 226fdadffd1a..939f58fc41b7 100644 --- a/nixos/modules/services/cluster/kubernetes/dns.nix +++ b/nixos/modules/services/cluster/kubernetes/dns.nix @@ -7,20 +7,23 @@ let k8s-dns-kube-dns = pkgs.dockerTools.pullImage { imageName = "gcr.io/google_containers/k8s-dns-kube-dns-amd64"; - imageTag = version; + finalImageTag = version; sha256 = "0q97xfqrigrfjl2a9cxl5in619py0zv44gch09jm8gqjkxl80imp"; + imageDigest = "sha256:40790881bbe9ef4ae4ff7fe8b892498eecb7fe6dcc22661402f271e03f7de344"; }; k8s-dns-dnsmasq-nanny = pkgs.dockerTools.pullImage { imageName = "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64"; - imageTag = version; + finalImageTag = version; sha256 = "051w5ca4qb88mwva4hbnh9xzlsvv7k1mbk3wz50lmig2mqrqqx6c"; + imageDigest = "sha256:aeeb994acbc505eabc7415187cd9edb38cbb5364dc1c2fc748154576464b3dc2"; }; k8s-dns-sidecar = pkgs.dockerTools.pullImage { imageName = "gcr.io/google_containers/k8s-dns-sidecar-amd64"; - imageTag = version; + finalImageTag = version; sha256 = "1z0d129bcm8i2cqq36x5jhnrv9hirj8c6kjrmdav8vgf7py78vsm"; + imageDigest = "sha256:97074c951046e37d3cbb98b82ae85ed15704a290cce66a8314e7f846404edde9"; }; cfg = config.services.kubernetes.addons.dns; -- cgit 1.4.1 From 1bf798b8cb1da83ebedf408115590d3d002e3609 Mon Sep 17 00:00:00 2001 From: Sebastian Jordan Date: Mon, 21 May 2018 14:15:58 +0200 Subject: nixos/ipfs: Add option to disable local port scanning for ipfs daemon --- nixos/modules/services/network-filesystems/ipfs.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix index e2122ddb8ede..b5903d113c57 100644 --- a/nixos/modules/services/network-filesystems/ipfs.nix +++ b/nixos/modules/services/network-filesystems/ipfs.nix @@ -186,6 +186,16 @@ in { default = []; }; + localDiscovery = mkOption { + type = types.bool; + description = ''Whether to enable local discovery for the ipfs daemon. + This will prevent ipfs to scan ports on your local network. Some hosting services will ban you if you do. + + This option only has an effect before you initialized ipfs your machine. + ''; + default = true; + }; + serviceFdlimit = mkOption { type = types.nullOr types.int; default = null; @@ -232,7 +242,8 @@ in { ''; script = '' if [[ ! -f ${cfg.dataDir}/config ]]; then - ipfs init ${optionalString cfg.emptyRepo "-e"} + ipfs init ${optionalString cfg.emptyRepo "-e"} \ + ${optionalString (! cfg.localDiscovery) "--profile=server"} fi ''; -- cgit 1.4.1 From 2009c76a665435f706a27768d8dba69736ae1282 Mon Sep 17 00:00:00 2001 From: Sebastian Jordan Date: Wed, 23 May 2018 16:44:31 +0200 Subject: nixos/ipfs: Improve behavior of localDiscovery option It is no longer required to change the config your ipfs repo manually if you change localDiscovery option in nixos configuration after ipfs repository initialization. --- nixos/modules/services/network-filesystems/ipfs.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix index b5903d113c57..ab6d3a3d2fa4 100644 --- a/nixos/modules/services/network-filesystems/ipfs.nix +++ b/nixos/modules/services/network-filesystems/ipfs.nix @@ -189,9 +189,7 @@ in { localDiscovery = mkOption { type = types.bool; description = ''Whether to enable local discovery for the ipfs daemon. - This will prevent ipfs to scan ports on your local network. Some hosting services will ban you if you do. - - This option only has an effect before you initialized ipfs your machine. + This will allow ipfs to scan ports on your local network. Some hosting services will ban you if you do this. ''; default = true; }; @@ -244,6 +242,11 @@ in { if [[ ! -f ${cfg.dataDir}/config ]]; then ipfs init ${optionalString cfg.emptyRepo "-e"} \ ${optionalString (! cfg.localDiscovery) "--profile=server"} + else + ${if cfg.localDiscovery + then "ipfs config profile apply local-discovery" + else "ipfs config profile apply server" + } fi ''; -- cgit 1.4.1 From 7adae10a8632213428d5b6e49d5829974b6a0102 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 20 May 2018 16:46:11 +0300 Subject: nixos/programs/shell.nix: Quote variables In practice $HOME doesn't contain spaces, but let's stick to best shell scripting practices anyway. --- nixos/modules/programs/shell.nix | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/programs/shell.nix b/nixos/modules/programs/shell.nix index 3504a8a924b0..d2928a0e6b17 100644 --- a/nixos/modules/programs/shell.nix +++ b/nixos/modules/programs/shell.nix @@ -23,39 +23,39 @@ in environment.shellInit = '' # Set up the per-user profile. - mkdir -m 0755 -p $NIX_USER_PROFILE_DIR - if test "$(stat --printf '%u' $NIX_USER_PROFILE_DIR)" != "$(id -u)"; then + mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR" + if test "$(stat --printf '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)"; then echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR" >&2 fi - if test -w $HOME; then - if ! test -L $HOME/.nix-profile; then + if test -w "$HOME"; then + if ! test -L "$HOME/.nix-profile"; then if test "$USER" != root; then - ln -s $NIX_USER_PROFILE_DIR/profile $HOME/.nix-profile + ln -s "$NIX_USER_PROFILE_DIR/profile" "$HOME/.nix-profile" else # Root installs in the system-wide profile by default. - ln -s /nix/var/nix/profiles/default $HOME/.nix-profile + ln -s /nix/var/nix/profiles/default "$HOME/.nix-profile" fi fi # Subscribe the root user to the NixOS channel by default. - if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then - echo "${config.system.nixos.defaultChannel} nixos" > $HOME/.nix-channels + if [ "$USER" = root -a ! -e "$HOME/.nix-channels" ]; then + echo "${config.system.nixos.defaultChannel} nixos" > "$HOME/.nix-channels" fi # Create the per-user garbage collector roots directory. - NIX_USER_GCROOTS_DIR=/nix/var/nix/gcroots/per-user/$USER - mkdir -m 0755 -p $NIX_USER_GCROOTS_DIR - if test "$(stat --printf '%u' $NIX_USER_GCROOTS_DIR)" != "$(id -u)"; then + NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER" + mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR" + if test "$(stat --printf '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)"; then echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR" >&2 fi # Set up a default Nix expression from which to install stuff. - if [ ! -e $HOME/.nix-defexpr -o -L $HOME/.nix-defexpr ]; then - rm -f $HOME/.nix-defexpr - mkdir -p $HOME/.nix-defexpr + if [ ! -e "$HOME/.nix-defexpr" -o -L "$HOME/.nix-defexpr" ]; then + rm -f "$HOME/.nix-defexpr" + mkdir -p "$HOME/.nix-defexpr" if [ "$USER" != root ]; then - ln -s /nix/var/nix/profiles/per-user/root/channels $HOME/.nix-defexpr/channels_root + ln -s /nix/var/nix/profiles/per-user/root/channels "$HOME/.nix-defexpr/channels_root" fi fi fi -- cgit 1.4.1 From 3cfb492c630ef51967f9c5066a806f318cc2b06b Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 20 May 2018 16:48:13 +0300 Subject: nixos/programs/shell.nix: Use [ ] instead of test Half of the script is using 'test' and other half '[ ]'. Let's stick to '[ ]' everywhere as it seems more conventional in nixpkgs. --- nixos/modules/programs/shell.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/programs/shell.nix b/nixos/modules/programs/shell.nix index d2928a0e6b17..579631c425cd 100644 --- a/nixos/modules/programs/shell.nix +++ b/nixos/modules/programs/shell.nix @@ -24,13 +24,13 @@ in '' # Set up the per-user profile. mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR" - if test "$(stat --printf '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)"; then + if [ "$(stat --printf '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)" ]; then echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR" >&2 fi - if test -w "$HOME"; then - if ! test -L "$HOME/.nix-profile"; then - if test "$USER" != root; then + if [ -w "$HOME" ]; then + if ! [ -L "$HOME/.nix-profile" ]; then + if [ "$USER" != root ]; then ln -s "$NIX_USER_PROFILE_DIR/profile" "$HOME/.nix-profile" else # Root installs in the system-wide profile by default. @@ -46,7 +46,7 @@ in # Create the per-user garbage collector roots directory. NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER" mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR" - if test "$(stat --printf '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)"; then + if [ "$(stat --printf '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR" >&2 fi -- cgit 1.4.1 From 6f1f11af4c382c73667e522b47045beab939812b Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 20 May 2018 16:48:32 +0300 Subject: nixos/programs/shell.nix: Enhance bad ownership error message Steal this from scripts/nix-profile.sh.in in Nix to keep things more consistent. --- nixos/modules/programs/shell.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/programs/shell.nix b/nixos/modules/programs/shell.nix index 579631c425cd..56fe347528bd 100644 --- a/nixos/modules/programs/shell.nix +++ b/nixos/modules/programs/shell.nix @@ -25,7 +25,7 @@ in # Set up the per-user profile. mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR" if [ "$(stat --printf '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)" ]; then - echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR" >&2 + echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR, should be $(id -u)" >&2 fi if [ -w "$HOME" ]; then @@ -47,7 +47,7 @@ in NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER" mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR" if [ "$(stat --printf '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then - echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR" >&2 + echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR, should be $(id -u)" >&2 fi # Set up a default Nix expression from which to install stuff. -- cgit 1.4.1 From e91d3c91798b8e2e5746185650418bc328536dd3 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Thu, 19 Apr 2018 12:23:00 +0200 Subject: nixos/oxidized: add module --- nixos/modules/module-list.nix | 1 + nixos/modules/services/admin/oxidized.nix | 116 ++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 nixos/modules/services/admin/oxidized.nix (limited to 'nixos/modules') diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index d5cfd87520c5..65b4cfd7e0b5 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -150,6 +150,7 @@ ./security/rtkit.nix ./security/wrappers/default.nix ./security/sudo.nix + ./services/admin/oxidized.nix ./services/admin/salt/master.nix ./services/admin/salt/minion.nix ./services/amqp/activemq/default.nix diff --git a/nixos/modules/services/admin/oxidized.nix b/nixos/modules/services/admin/oxidized.nix new file mode 100644 index 000000000000..891ca6323c3c --- /dev/null +++ b/nixos/modules/services/admin/oxidized.nix @@ -0,0 +1,116 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.oxidized; +in +{ + options.services.oxidized = { + enable = mkEnableOption "the oxidized configuation backup service."; + + user = mkOption { + type = types.str; + default = "oxidized"; + description = '' + User under which the oxidized service runs. + ''; + }; + + group = mkOption { + type = types.str; + default = "oxidized"; + description = '' + Group under which the oxidized service runs. + ''; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/oxidized"; + description = "State directory for the oxidized service."; + }; + + configFile = mkOption { + type = types.path; + example = literalExample '' + pkgs.writeText "oxidized-config.yml" ''' + --- + debug: true + use_syslog: true + input: + default: ssh + ssh: + secure: true + interval: 3600 + model_map: + dell: powerconnect + hp: procurve + source: + default: csv + csv: + delimiter: !ruby/regexp /:/ + file: "/var/lib/oxidized/.config/oxidized/router.db" + map: + name: 0 + model: 1 + username: 2 + password: 3 + pid: "/var/lib/oxidized/.config/oxidized/pid" + rest: 127.0.0.1:8888 + retries: 3 + # ... additional config + '''; + ''; + description = '' + Path to the oxidized configuration file. + ''; + }; + + routerDB = mkOption { + type = types.path; + example = literalExample '' + pkgs.writeText "oxidized-router.db" ''' + hostname-sw1:powerconnect:username1:password2 + hostname-sw2:procurve:username2:password2 + # ... additional hosts + ''' + ''; + description = '' + Path to the file/database which contains the targets for oxidized. + ''; + }; + }; + + config = mkIf cfg.enable { + users.extraGroups.${cfg.group} = { }; + users.extraUsers.${cfg.user} = { + description = "Oxidized service user"; + group = cfg.group; + home = cfg.dataDir; + createHome = true; + }; + + systemd.services.oxidized = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + preStart = '' + mkdir -p ${cfg.dataDir}/.config/oxidized + cp -v ${cfg.routerDB} ${cfg.dataDir}/.config/oxidized/router.db + cp -v ${cfg.configFile} ${cfg.dataDir}/.config/oxidized/config + ''; + + serviceConfig = { + ExecStart = "${pkgs.oxidized}/bin/oxidized"; + User = cfg.user; + Group = cfg.group; + UMask = "0077"; + NoNewPrivileges = true; + Restart = "always"; + WorkingDirectory = cfg.dataDir; + KillSignal = "SIGKILL"; + }; + }; + }; +} -- cgit 1.4.1 From 1433ec60afd44fa4daa0805e0d9f689997392848 Mon Sep 17 00:00:00 2001 From: Simon Lackerbauer Date: Thu, 3 May 2018 16:18:56 +0200 Subject: nixos/borgbackup: let borg write to disk and see /tmp, add extraArgs --- nixos/modules/services/backup/borgbackup.nix | 48 ++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 6 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix index 1b730e0c2b76..1e019827dfea 100644 --- a/nixos/modules/services/backup/borgbackup.nix +++ b/nixos/modules/services/backup/borgbackup.nix @@ -35,25 +35,26 @@ let ${cfg.preHook} '' + optionalString cfg.doInit '' # Run borg init if the repo doesn't exist yet - if ! borg list > /dev/null; then - borg init \ + if ! borg list ${cfg.extraArgs} > /dev/null; then + borg init ${cfg.extraArgs} \ --encryption ${cfg.encryption.mode} \ $extraInitArgs ${cfg.postInit} fi '' + '' - borg create \ + borg create ${cfg.extraArgs} \ --compression ${cfg.compression} \ --exclude-from ${mkExcludeFile cfg} \ $extraCreateArgs \ "::$archiveName$archiveSuffix" \ ${escapeShellArgs cfg.paths} '' + optionalString cfg.appendFailedSuffix '' - borg rename "::$archiveName$archiveSuffix" "$archiveName" + borg rename ${cfg.extraArgs} \ + "::$archiveName$archiveSuffix" "$archiveName" '' + '' ${cfg.postCreate} '' + optionalString (cfg.prune.keep != { }) '' - borg prune \ + borg prune ${cfg.extraArgs} \ ${mkKeepArgs cfg} \ --prefix ${escapeShellArg cfg.prune.prefix} \ $extraPruneArgs @@ -85,9 +86,10 @@ let ProtectSystem = "strict"; ReadWritePaths = [ "${userHome}/.config/borg" "${userHome}/.cache/borg" ] + ++ cfg.readWritePaths # Borg needs write access to repo if it is not remote ++ optional (isLocalPath cfg.repo) cfg.repo; - PrivateTmp = true; + PrivateTmp = cfg.privateTmp; }; environment = { BORG_REPO = cfg.repo; @@ -318,6 +320,30 @@ in { ]; }; + readWritePaths = mkOption { + type = with types; listOf path; + description = '' + By default, borg cannot write anywhere on the system but + $HOME/.config/borg and $HOME/.cache/borg. + If, for example, your preHook script needs to dump files + somewhere, put those directories here. + ''; + default = [ ]; + example = [ + "/var/backup/mysqldump" + ]; + }; + + privateTmp = mkOption { + type = types.bool; + description = '' + Set the PrivateTmp option for + the systemd-service. Set to false if you need sockets + or other files from global /tmp. + ''; + default = true; + }; + doInit = mkOption { type = types.bool; description = '' @@ -430,6 +456,16 @@ in { default = ""; }; + extraArgs = mkOption { + type = types.str; + description = '' + Additional arguments for all borg calls the + service has. Handle with care. + ''; + default = ""; + example = "--remote-path=borg1"; + }; + extraInitArgs = mkOption { type = types.str; description = '' -- cgit 1.4.1 From 53475653a50db721f7b131320eca52f94b5fd543 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Wed, 23 May 2018 22:24:24 +0200 Subject: gitlab module: update for 10.8 --- nixos/modules/services/misc/gitlab.nix | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index be13fed860bd..e80abf96da48 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -129,6 +129,7 @@ let }; }; extra = {}; + uploads.storage_path = cfg.statePath; }; }; @@ -565,13 +566,9 @@ in { ${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/config/gitlab_shell_secret - # The uploads directory is hardcoded somewhere deep in rails. It is - # symlinked in the gitlab package to /run/gitlab/uploads to make it - # configurable mkdir -p /run/gitlab - mkdir -p ${cfg.statePath}/{log,uploads} + mkdir -p ${cfg.statePath}/log ln -sf ${cfg.statePath}/log /run/gitlab/log - ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp ln -sf $GITLAB_SHELL_CONFIG_PATH /run/gitlab/shell-config.yml chown -R ${cfg.user}:${cfg.group} /run/gitlab @@ -587,6 +584,8 @@ in { ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb ''} ln -sf ${cfg.statePath}/config /run/gitlab/config + rm ${cfg.statePath}/lib + ln -sf ${pkgs.gitlab}/share/gitlab/lib ${cfg.statePath}/lib cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION # JSON is a subset of YAML @@ -638,10 +637,6 @@ in { chmod -R ug+rwX,o-rwx ${cfg.statePath}/repositories chmod -R ug-s ${cfg.statePath}/repositories find ${cfg.statePath}/repositories -type d -print0 | xargs -0 chmod g+s - chmod 770 ${cfg.statePath}/uploads - chown -R ${cfg.user} ${cfg.statePath}/uploads - find ${cfg.statePath}/uploads -type f -exec chmod 0644 {} \; - find ${cfg.statePath}/uploads -type d -not -path ${cfg.statePath}/uploads -exec chmod 0770 {} \; ''; serviceConfig = { -- cgit 1.4.1 From de5205ae2dd7688a5a80c289bd5fac5f831ad585 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Tue, 20 Mar 2018 19:42:00 +0100 Subject: nixos/prometheus-node-exporter: fix file collector --- nixos/modules/services/monitoring/prometheus/exporters/node.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'nixos/modules') diff --git a/nixos/modules/services/monitoring/prometheus/exporters/node.nix b/nixos/modules/services/monitoring/prometheus/exporters/node.nix index c85f5f9cfb2d..ee7bf39f199a 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/node.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/node.nix @@ -27,6 +27,7 @@ in }; serviceOpts = { serviceConfig = { + RuntimeDirectory = "prometheus-node-exporter"; ExecStart = '' ${pkgs.prometheus-node-exporter}/bin/node_exporter \ ${concatMapStringsSep " " (x: "--collector." + x) cfg.enabledCollectors} \ -- cgit 1.4.1 From 120e93928f1071a5589e520a7542577a70dc736f Mon Sep 17 00:00:00 2001 From: Simon Lackerbauer Date: Wed, 21 Mar 2018 20:02:07 +0100 Subject: crowd: 3.0.1 -> 3.1.2 --- nixos/modules/services/web-apps/atlassian/crowd.nix | 5 +++-- pkgs/servers/atlassian/crowd.nix | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/web-apps/atlassian/crowd.nix b/nixos/modules/services/web-apps/atlassian/crowd.nix index 0ac941b6ec99..778e4afa1e0b 100644 --- a/nixos/modules/services/web-apps/atlassian/crowd.nix +++ b/nixos/modules/services/web-apps/atlassian/crowd.nix @@ -126,12 +126,13 @@ in }; preStart = '' - mkdir -p ${cfg.home}/{logs,work,database} + rm -rf ${cfg.home}/work + mkdir -p ${cfg.home}/{logs,database,work} mkdir -p /run/atlassian-crowd ln -sf ${cfg.home}/{database,work,server.xml} /run/atlassian-crowd - chown -R ${cfg.user} ${cfg.home} + chown -R ${cfg.user}:${cfg.group} ${cfg.home} sed -e 's,port="8095",port="${toString cfg.listenPort}" address="${cfg.listenAddress}",' \ '' + (lib.optionalString cfg.proxy.enable '' diff --git a/pkgs/servers/atlassian/crowd.nix b/pkgs/servers/atlassian/crowd.nix index 6d7b332da135..4989c3a417a2 100644 --- a/pkgs/servers/atlassian/crowd.nix +++ b/pkgs/servers/atlassian/crowd.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "atlassian-crowd-${version}"; - version = "3.0.1"; + version = "3.1.2"; src = fetchurl { url = "https://www.atlassian.com/software/crowd/downloads/binary/${name}.tar.gz"; - sha256 = "17pz0rgzdv40sbvzb9w6xmdg598m6gs7gsznfnxcy1j011cgg1wr"; + sha256 = "0pnl0zl38827ckgxh4y1mnq3lr7bvd7v3ysdxxv3nfr5zya4xgki"; }; phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; -- cgit 1.4.1 From f4c87183df72a71d3d12c20bb2d99f68207dce8f Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Thu, 24 May 2018 10:58:28 +0200 Subject: nixos/dd-agent: fix runtime errors by adding gohai to $PATH The Datadog agent requires `gohai` to be available on its `$PATH` in order to collect certain metrics. It would previously start up and collect certain types of metrics, but log errors related to the missing gohai binary. This commit configures the systemd-unit to make gohai available at runtime. This fixes #39810. --- nixos/modules/services/monitoring/dd-agent/dd-agent.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/monitoring/dd-agent/dd-agent.nix b/nixos/modules/services/monitoring/dd-agent/dd-agent.nix index beaa2c01b298..6367c8245f71 100644 --- a/nixos/modules/services/monitoring/dd-agent/dd-agent.nix +++ b/nixos/modules/services/monitoring/dd-agent/dd-agent.nix @@ -57,7 +57,7 @@ let instances: - use_mount: no ''; - + networkConfig = pkgs.writeText "network.yaml" '' init_config: @@ -68,13 +68,13 @@ let - lo - lo0 ''; - + postgresqlConfig = pkgs.writeText "postgres.yaml" cfg.postgresqlConfig; nginxConfig = pkgs.writeText "nginx.yaml" cfg.nginxConfig; mongoConfig = pkgs.writeText "mongo.yaml" cfg.mongoConfig; jmxConfig = pkgs.writeText "jmx.yaml" cfg.jmxConfig; processConfig = pkgs.writeText "process.yaml" cfg.processConfig; - + etcfiles = let defaultConfd = import ./dd-agent-defaults.nix; @@ -150,7 +150,7 @@ in { default = null; type = types.uniq (types.nullOr types.string); }; - + mongoConfig = mkOption { description = "MongoDB integration configuration"; default = null; @@ -166,7 +166,7 @@ in { processConfig = mkOption { description = '' Process integration configuration - + See http://docs.datadoghq.com/integrations/process/ ''; default = null; @@ -190,7 +190,7 @@ in { systemd.services.dd-agent = { description = "Datadog agent monitor"; - path = [ pkgs."dd-agent" pkgs.python pkgs.sysstat pkgs.procps ]; + path = [ pkgs."dd-agent" pkgs.python pkgs.sysstat pkgs.procps pkgs.gohai ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${pkgs.dd-agent}/bin/dd-agent foreground"; -- cgit 1.4.1 From 2a14e898bcf5ed9e6647f3b60c0444adba18a9ce Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Tue, 22 May 2018 13:55:13 +0200 Subject: slurm/module: add ProcTrackType option to unbreak default setup --- nixos/modules/services/computing/slurm/slurm.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'nixos/modules') diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix index 45d34f5b76f5..314cc3f61ecc 100644 --- a/nixos/modules/services/computing/slurm/slurm.nix +++ b/nixos/modules/services/computing/slurm/slurm.nix @@ -13,6 +13,7 @@ let ${optionalString (cfg.nodeName != null) ''nodeName=${cfg.nodeName}''} ${optionalString (cfg.partitionName != null) ''partitionName=${cfg.partitionName}''} PlugStackConfig=${plugStackConfig} + ProctrackType=${cfg.procTrackType} ${cfg.extraConfig} ''; @@ -103,6 +104,16 @@ in ''; }; + procTrackType = mkOption { + type = types.string; + default = "proctrack/linuxproc"; + description = '' + Plugin to be used for process tracking on a job step basis. + The slurmd daemon uses this mechanism to identify all processes + which are children of processes it spawns for a user job step. + ''; + }; + extraConfig = mkOption { default = ""; type = types.lines; -- cgit 1.4.1 From 3c0daa19e2d61d167325cbf558c15931bfd531b2 Mon Sep 17 00:00:00 2001 From: Robert Schütz Date: Thu, 24 May 2018 10:25:52 +0200 Subject: nixos/borgbackup: make extraArgs a shell variable in line with the other extra*Args variables --- nixos/modules/services/backup/borgbackup.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix index 1e019827dfea..0c3fc9af6f88 100644 --- a/nixos/modules/services/backup/borgbackup.nix +++ b/nixos/modules/services/backup/borgbackup.nix @@ -35,26 +35,26 @@ let ${cfg.preHook} '' + optionalString cfg.doInit '' # Run borg init if the repo doesn't exist yet - if ! borg list ${cfg.extraArgs} > /dev/null; then - borg init ${cfg.extraArgs} \ + if ! borg list $extraArgs > /dev/null; then + borg init $extraArgs \ --encryption ${cfg.encryption.mode} \ $extraInitArgs ${cfg.postInit} fi '' + '' - borg create ${cfg.extraArgs} \ + borg create $extraArgs \ --compression ${cfg.compression} \ --exclude-from ${mkExcludeFile cfg} \ $extraCreateArgs \ "::$archiveName$archiveSuffix" \ ${escapeShellArgs cfg.paths} '' + optionalString cfg.appendFailedSuffix '' - borg rename ${cfg.extraArgs} \ + borg rename $extraArgs \ "::$archiveName$archiveSuffix" "$archiveName" '' + '' ${cfg.postCreate} '' + optionalString (cfg.prune.keep != { }) '' - borg prune ${cfg.extraArgs} \ + borg prune $extraArgs \ ${mkKeepArgs cfg} \ --prefix ${escapeShellArg cfg.prune.prefix} \ $extraPruneArgs @@ -93,7 +93,7 @@ let }; environment = { BORG_REPO = cfg.repo; - inherit (cfg) extraInitArgs extraCreateArgs extraPruneArgs; + inherit (cfg) extraArgs extraInitArgs extraCreateArgs extraPruneArgs; } // (mkPassEnv cfg) // cfg.environment; inherit (cfg) startAt; }; @@ -463,7 +463,7 @@ in { service has. Handle with care. ''; default = ""; - example = "--remote-path=borg1"; + example = "--remote-path=/path/to/borg"; }; extraInitArgs = mkOption { -- cgit 1.4.1 From e22d072c641bdd4f615932b8afb06aed518867d5 Mon Sep 17 00:00:00 2001 From: Geoffrey Huntley Date: Thu, 24 May 2018 22:16:08 +1000 Subject: kubernetes: fix 404 links to documentation --- nixos/modules/services/cluster/kubernetes/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix index aeb0a0d2432d..d0309ebd5b8a 100644 --- a/nixos/modules/services/cluster/kubernetes/default.nix +++ b/nixos/modules/services/cluster/kubernetes/default.nix @@ -279,7 +279,7 @@ in { tokenAuthFile = mkOption { description = '' Kubernetes apiserver token authentication file. See - + ''; default = null; type = types.nullOr types.path; @@ -288,7 +288,7 @@ in { basicAuthFile = mkOption { description = '' Kubernetes apiserver basic authentication file. See - + ''; default = pkgs.writeText "users" '' kubernetes,admin,0 @@ -299,7 +299,7 @@ in { authorizationMode = mkOption { description = '' Kubernetes apiserver authorization mode (AlwaysAllow/AlwaysDeny/ABAC/RBAC). See - + ''; default = ["RBAC" "Node"]; type = types.listOf (types.enum ["AlwaysAllow" "AlwaysDeny" "ABAC" "RBAC" "Node"]); @@ -308,7 +308,7 @@ in { authorizationPolicy = mkOption { description = '' Kubernetes apiserver authorization policy file. See - + ''; default = []; type = types.listOf types.attrs; @@ -332,7 +332,7 @@ in { runtimeConfig = mkOption { description = '' Api runtime configuration. See - + ''; default = "authentication.k8s.io/v1beta1=true"; example = "api/all=false,api/v1=true"; -- cgit 1.4.1 From 5b468ea6b1d8d243847a05bdf5603e8abdfd7b4e Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Thu, 24 May 2018 22:42:16 +0800 Subject: nixos mysql: make start-up more robust (#41010) 1) Change start-type to ```notify``` when running MariaDB so that we don't have to busy-wait for the socket to appear. 2) Do not manually create the directory under /run as we can get systemd to do that for us. This opens up the possibility later for not having to launch as root. --- nixos/modules/services/databases/mysql.nix | 22 ++++++++++++---------- nixos/tests/mysql.nix | 1 - 2 files changed, 12 insertions(+), 11 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 66c9330c3550..15b9c788e872 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -231,8 +231,10 @@ in environment.systemPackages = [mysql]; - systemd.services.mysql = - { description = "MySQL Server"; + systemd.services.mysql = let + hasNotify = (cfg.package == pkgs.mariadb); + in { + description = "MySQL Server"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; @@ -256,17 +258,16 @@ in mkdir -m 0755 -p ${cfg.pidDir} chown -R ${cfg.user} ${cfg.pidDir} - - # Make the socket directory - mkdir -p /run/mysqld - chmod 0755 /run/mysqld - chown -R ${cfg.user} /run/mysqld ''; - serviceConfig.ExecStart = "${mysql}/bin/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}"; + serviceConfig = { + Type = if hasNotify then "notify" else "simple"; + RuntimeDirectory = "mysqld"; + ExecStart = "${mysql}/bin/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}"; + }; - postStart = - '' + postStart = '' + ${lib.optionalString (!hasNotify) '' # Wait until the MySQL server is available for use count=0 while [ ! -e /run/mysqld/mysqld.sock ] @@ -281,6 +282,7 @@ in count=$((count++)) sleep 1 done + ''} if [ -f /tmp/mysql_init ] then diff --git a/nixos/tests/mysql.nix b/nixos/tests/mysql.nix index baaebf9f10db..c18fee6c7495 100644 --- a/nixos/tests/mysql.nix +++ b/nixos/tests/mysql.nix @@ -19,7 +19,6 @@ import ./make-test.nix ({ pkgs, ...} : { startAll; $master->waitForUnit("mysql"); - $master->sleep(10); # Hopefully this is long enough!! $master->succeed("echo 'use testdb; select * from tests' | mysql -u root -N | grep 4"); ''; }) -- cgit 1.4.1 From fb7428c50613a0f9e0d8ebc714abebee4e5d5cd2 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 24 May 2018 11:10:20 +0200 Subject: nixos/slurm: enable munge by default, added note to slurm description --- nixos/modules/services/computing/slurm/slurm.nix | 16 +++++++++++++--- nixos/tests/slurm.nix | 2 -- 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix index 314cc3f61ecc..25df5030162c 100644 --- a/nixos/modules/services/computing/slurm/slurm.nix +++ b/nixos/modules/services/computing/slurm/slurm.nix @@ -32,12 +32,20 @@ in services.slurm = { server = { - enable = mkEnableOption "slurm control daemon"; - + enable = mkOption { + type = types.bool; + default = false; + description = '' + Wether to enable the slurm control daemon. + Note that the standard authentication method is "munge". + The "munge" service needs to be provided with a password file in order for + slurm to work properly (see services.munge.password). + ''; + }; }; client = { - enable = mkEnableOption "slurm rlient daemon"; + enable = mkEnableOption "slurm client daemon"; }; @@ -161,6 +169,8 @@ in environment.systemPackages = [ wrappedSlurm ]; + services.munge.enable = mkDefault true; + systemd.services.slurmd = mkIf (cfg.client.enable) { path = with pkgs; [ wrappedSlurm coreutils ] ++ lib.optional cfg.enableSrunX11 slurm-spank-x11; diff --git a/nixos/tests/slurm.nix b/nixos/tests/slurm.nix index 0dd00dfb04c2..dc4f62af5640 100644 --- a/nixos/tests/slurm.nix +++ b/nixos/tests/slurm.nix @@ -20,7 +20,6 @@ in { # TODO slrumd port and slurmctld port should be configurations and # automatically allowed by the firewall. networking.firewall.enable = false; - services.munge.enable = true; services.slurm = slurmconfig; }; in { @@ -28,7 +27,6 @@ in { { config, pkgs, ...}: { networking.firewall.enable = false; - services.munge.enable = true; services.slurm = { server.enable = true; } // slurmconfig; -- cgit 1.4.1 From 7ba417aecae9c193f698995909df8a89c901320d Mon Sep 17 00:00:00 2001 From: Uli Baum Date: Thu, 24 May 2018 22:56:57 +0200 Subject: nixos/slurm: fix xml tag mismatch in manual build of nixos manual broke because of mismatched xml tags in an option description introduced in #41016. --- nixos/modules/services/computing/slurm/slurm.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix index 25df5030162c..3e513ab15717 100644 --- a/nixos/modules/services/computing/slurm/slurm.nix +++ b/nixos/modules/services/computing/slurm/slurm.nix @@ -39,7 +39,7 @@ in Wether to enable the slurm control daemon. Note that the standard authentication method is "munge". The "munge" service needs to be provided with a password file in order for - slurm to work properly (see services.munge.password). + slurm to work properly (see services.munge.password). ''; }; }; -- cgit 1.4.1 From c42cb40291f6d9a004b073741cd730a363f600e9 Mon Sep 17 00:00:00 2001 From: Daniel Frank Date: Fri, 25 May 2018 00:44:04 +0200 Subject: nixos/systemd-timesyncd: use the correct server list (#40919) --- nixos/modules/system/boot/timesyncd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix index f643723ab141..57853c5698d0 100644 --- a/nixos/modules/system/boot/timesyncd.nix +++ b/nixos/modules/system/boot/timesyncd.nix @@ -34,7 +34,7 @@ with lib; environment.etc."systemd/timesyncd.conf".text = '' [Time] - NTP=${concatStringsSep " " config.services.ntp.servers} + NTP=${concatStringsSep " " config.services.timesyncd.servers} ''; users.extraUsers.systemd-timesync.uid = config.ids.uids.systemd-timesync; -- cgit 1.4.1 From 91117f0d1d335d850da2450adee06a5ff4c6ea4c Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 23 May 2018 19:38:26 +0300 Subject: nixos/installer: Drop dmraid This seems some obsolete software RAID configuration program that hasn't been updated since 2010. --- nixos/modules/profiles/base.nix | 1 - 1 file changed, 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index 52481d90eab9..406a69722de6 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -29,7 +29,6 @@ # Hardware-related tools. pkgs.sdparm pkgs.hdparm - pkgs.dmraid pkgs.smartmontools # for diagnosing hard disks pkgs.pciutils pkgs.usbutils -- cgit 1.4.1 From 696c6bed4e8e2d9fd9b956dea7e5d49531e9d13f Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Thu, 24 May 2018 00:55:05 +0300 Subject: w3m: Add a variant without graphics support and use for NixOS manual This gets rid of various graphics libraries from the minimal installer. --- nixos/modules/services/misc/nixos-manual.nix | 2 +- pkgs/top-level/all-packages.nix | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 4bd1c20edf71..3916c3052e8b 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -99,7 +99,7 @@ in services.nixosManual.browser = mkOption { type = types.path; - default = "${pkgs.w3m-nox}/bin/w3m"; + default = "${pkgs.w3m-nographics}/bin/w3m"; description = '' Browser used to show the manual. ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 712fe6f6386a..ae5da9a8a622 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18552,6 +18552,12 @@ with pkgs; imlib2 = imlib2-nox; }; + # Version without X11 or graphics + w3m-nographics = w3m.override { + x11Support = false; + graphicsSupport = false; + }; + # Version for batch text processing, not a good browser w3m-batch = w3m.override { graphicsSupport = false; -- cgit 1.4.1