Commit Graph

14010 Commits

Author SHA1 Message Date
Matthew Bauer
982a17a48e nixos/ipfs: always expose sockets 2020-06-12 17:15:34 -05:00
Matthew Bauer
fa06d8f961 nixos/ipfs: actually use upstream systemd units 2020-06-12 17:15:34 -05:00
Matthew Bauer
b36ef706fb nixos/ipfs: add startWhenNeeded option
This makes it possible to only start IPFS when needed. So a user’s
IPFS daemon only starts when they actually use it.

A few important warnings though:

  - This probably shouldn’t be mixed with services.ipfs.autoMount
    since you want /ipfs and /ipns aren’t activated like this
  - ipfs.socket assumes that you are using ports 5001 and 8080 for the
    API and gateway respectively. We could do some parsing to figure
    out what is in apiAddress and gatewayAddress, but that’s kind of
    difficult given the nonstandard address format.
  - Apparently? this doesn’t work with the --api commands used in the tests.

Of course you can always start automatically with startWhenNeeded =
false, or just running ‘systemctl start ipfs.service’.

Tested with the following test (modified from tests/ipfs.nix):

  import ./make-test-python.nix ({ pkgs, ...} : {
    name = "ipfs";

    nodes.machine = { ... }: {
      services.ipfs = {
        enable = true;
        startWhenNeeded = true;
      };
    };

    testScript = ''
      start_all()

      machine.wait_until_succeeds("ipfs id")
      ipfs_hash = machine.succeed("echo fnord | ipfs add | awk '{ print $2 }'")

      machine.succeed(f"ipfs cat /ipfs/{ipfs_hash.strip()} | grep fnord")
    '';
  })

Fixes #90145

Update nixos/modules/services/network-filesystems/ipfs.nix

Co-authored-by: Florian Klink <flokli@flokli.de>
2020-06-12 17:15:27 -05:00
Matthew Bauer
c5f40198f3 nixos/ipfs: consolidate services into one ipfs.service
Previously we had three services for different config flavors. This is
confusing because only one instance of IPFS can run on a host / port
combination at once. So move all into ipfs.service, which contains the
configuration specified in services.ipfs.

Also remove the env wrapper and just use systemd env configuration.
2020-06-11 15:27:22 -05:00
Matthew Bauer
74ff433320 nixos/ipfs: remove unused auto migrate feature 2020-06-11 14:32:06 -05:00
Florian Klink
921a4ec9c1
Merge pull request #76542 from primeos/etc-hosts-fqdn-fix
nixos/networking: Add the FQDN and hostname to /etc/hosts
2020-05-25 22:57:24 +02:00
Michael Weiss
993baa587c
nixos: Require networking.hostName to be a valid DNS label
This also means that the hostname must not contain the domain name part
anymore (i.e. must not be a FQDN).
See RFC 1035 [0], "man 5 hostname", or the kernel documentation [1].
Note: For legacy reasons we also allow underscores inside of the label
but this is not recommended and intentionally left undocumented.

[0]: https://tools.ietf.org/html/rfc1035
[1]: https://www.kernel.org/doc/html/latest/admin-guide/sysctl/kernel.html#domainname-hostname

Co-authored-by: zimbatm <zimbatm@zimbatm.com>
2020-05-25 18:13:39 +02:00
oxalica
fe3e52c291
earlyoom: patch absolute dbus path and make nixos module up to date (#88443)
* earlyoom: patch absolute path of dbus-send

* nixos/earlyoom: replace `notificationsCommand` with `enableNotification`

* nixos/earlyoom: setup `systembus-notify` when `enableNotification`
2020-05-25 10:13:55 -05:00
Michael Weiss
234d95a6fc
nixos/networking: Add the FQDN and hostname to /etc/hosts
This fixes the output of "hostname --fqdn" (previously the domain name
was not appended). Additionally it's now possible to use the FQDN.

This works by unconditionally adding two entries to /etc/hosts:
127.0.0.1 localhost
::1 localhost

These are the first two entries and therefore gethostbyaddr() will
always resolve "127.0.0.1" and "::1" back to "localhost" [0].
This works because nscd (or rather the nss-files module) returns the
first matching row from /etc/hosts (and ignores the rest).

The FQDN and hostname entries are appended later to /etc/hosts, e.g.:
127.0.0.2 nixos-unstable.test.tld nixos-unstable
::1 nixos-unstable.test.tld nixos-unstable
Note: We use 127.0.0.2 here to follow nss-myhostname (systemd) as close
as possible. This has the advantage that 127.0.0.2 can be resolved back
to the FQDN but also the drawback that applications that only listen to
127.0.0.1 (and not additionally ::1) cannot be reached via the FQDN.
If you would like this to work you can use the following configuration:
```nix
networking.hosts."127.0.0.1" = [
  "${config.networking.hostName}.${config.networking.domain}"
  config.networking.hostName
];
```

Therefore gethostbyname() resolves "nixos-unstable" to the FQDN
(canonical name): "nixos-unstable.test.tld".

Advantages over the previous behaviour:
- The FQDN will now also be resolved correctly (the entry was missing).
- E.g. the command "hostname --fqdn" will now work as expected.
Drawbacks:
- Overrides entries form the DNS (an issue if e.g. $FQDN should resolve
  to the public IP address instead of 127.0.0.1)
  - Note: This was already partly an issue as there's an entry for
    $HOSTNAME (without the domain part) that resolves to
    127.0.1.1 (!= 127.0.0.1).
- Unknown (could potentially cause other unexpected issues, but special
  care was taken).

[0]: Some applications do apparently depend on this behaviour (see
c578924) and this is typically the expected behaviour.

Co-authored-by: Florian Klink <flokli@flokli.de>
2020-05-25 14:06:25 +02:00
zowoq
2689dfaa08 nixos/cri-o: default to upstream pause 2020-05-25 12:27:49 +02:00
zowoq
eeff166faa nixos/cri-o: add runtime option 2020-05-25 12:27:49 +02:00
zowoq
9e7fbc6f2c nixos/cri-o, cri-o: add wrapper 2020-05-25 12:27:49 +02:00
Jan Tojnar
0af23b05ab
Merge pull request #75435 from Elyhaka/fprintd 2020-05-25 12:22:48 +02:00
Michele Guerini Rocco
379690ba90
Merge pull request #85539 from rnhmjoj/breezy
treewide: replace bazaar with breezy
2020-05-25 09:37:14 +02:00
rnhmjoj
aee614c996
treewide: replace bazaar with breezy 2020-05-25 09:22:54 +02:00
Sascha Grunert
6653328aef cri-o: update module configuration
- Update the default pause image
- Set the cgroup manager to systemd
- Enable `manage_ns_lifecycle` instead of the deprecated
  `manage_network_ns_lifecycle` option

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-05-25 02:24:57 +02:00
Florian Klink
73b4ea16f7
Merge pull request #88725 from aanderse/modem-manager
nixos/networkmanager: apply --filter-policy=STRICT to modemmanager service
2020-05-24 19:44:15 +02:00
Kim Lindberger
825e20ff46
Merge pull request #82753 from Kloenk/feature/engelsystem
engelsystem: init at 3.1.0
2020-05-24 16:31:23 +02:00
Finn Behrens
fc4d6f4215
nixos/engelsystem: init 2020-05-24 15:44:04 +02:00
markuskowa
ff88568673
Merge pull request #87934 from gnidorah/cde
nixos/cde: add extraPackages option
2020-05-24 15:16:43 +02:00
gnidorah
3f20aa9468 nixos/cde: add extraPackages option 2020-05-24 15:59:49 +03:00
Aaron Andersen
a036bae1fc
Merge pull request #83287 from iv-nn/add-rtorrent-service
nixos/rtorrent: add service
2020-05-24 08:14:41 -04:00
Philipp Bartsch
2827491c23 nixos/usbguard: update systemd sandboxing features
Apply upstream systemd service configuration options to improve
sandboxing.
2020-05-24 10:36:07 +02:00
ivann
67178ebe23
nixos/rtorrent: add service 2020-05-24 03:12:32 +02:00
Aaron Andersen
563a3f5a81 nixos/networkmanager: apply --filter-policy=STRICT to modemmanager service 2020-05-23 20:49:13 -04:00
Florian Klink
93ff93d539
Merge pull request #88607 from flokli/udev-rules-run-current-system-systemd
nixos/udev: support /run/current-system/systemd in udevRules
2020-05-22 17:10:51 +02:00
Florian Klink
d64d42e023 nixos/udev: support /run/current-system/systemd in udevRules
https://github.com/NixOS/nixpkgs/pull/88492 flipped some references to
systemctl from config.systemd.package to /run/current-system/systemd/,
which udevRules obviously isn't able resolve.

If we encounter such references, replace them with
config.systemd.package before doing the check.
2020-05-22 14:43:58 +02:00
David Terry
8724c96e71 nixos/bazarr: init 2020-05-22 11:23:31 +02:00
Lassulus
79f41b296c
Merge pull request #81104 from bb2020/transmission
nixos/transmission: fix startup directory creation
2020-05-22 11:23:17 +02:00
Lassulus
d84d8e802e
Merge pull request #79175 from helsinki-systems/init/sogo
sogo: init at 4.3.2
2020-05-22 11:04:39 +02:00
Florian Klink
822918df4c nixos/scripted-networking: use udev to configure link MACAddress and MTUBytes
The `network-link-${i.name}` units raced with other things trying to
configure the interface, or ran before the interface was available.

Instead of running our own set of shell scripts on boot, and hoping
they're executed at the right time, we can make use of udev to configure
the interface *while they appear*, by providing `.link` files in
/etc/systemd/network/*.link to set MACAddress and MTUBytes.

This doesn't require networkd to be enabled, and is populated properly
on non-networkd systems since
https://github.com/NixOS/nixpkgs/pull/82941.

This continues clean-up work done in
https://github.com/NixOS/nixpkgs/pull/85170 for the scripted networking
stack.

The only leftover part of the `network-link-${i.name}` unit (bringing
the interface up) is moved to the beginning of the
`network-addresses-${i.name}` unit.

Fixes: https://github.com/NixOS/nixpkgs/issues/74471
Closes: https://github.com/NixOS/nixpkgs/pull/87116
2020-05-22 10:58:00 +02:00
Evan Stoll
2f943ebc25
virtualisation: add vmware-image (#88523) 2020-05-22 10:03:46 +02:00
snicket2100
866b411ab6 nixos/dnscrypt-proxy2: service restart on failure
it does happen that `dnscrypt-proxy` exit when it is unable to
synchronise its resolvers metadata on startup. this can happen due
to network connectivity issues for example. not restarting it automatically
means no dns resolution will work until a manual restart is performed.
2020-05-22 06:43:10 +02:00
zowoq
f4852591c1
nixos/zram: make zstd the default (#87917) 2020-05-21 21:30:03 +03:00
Evan Stoll
3f18ba78e4
virtualisation: add vmware-image (#88474) 2020-05-21 13:35:22 +00:00
Florian Klink
45c03c0dd2 nixos/azure-agent: always run systemctl of the currently running systemd 2020-05-21 10:34:11 +02:00
Florian Klink
ad26d7c044 nixos/network-interfaces-scripted: always run systemctl of the currently running systemd 2020-05-21 10:33:51 +02:00
Florian Klink
062302e006 nixos/xautolock: always run systemctl of the currently running systemd 2020-05-21 10:33:37 +02:00
Florian Klink
de358a00b5 nixos/sddm: always run systemctl of the currently running systemd 2020-05-21 10:33:22 +02:00
Florian Klink
3fcfcb8bcb nixos/display-managers: always run systemctl of the currently running systemd 2020-05-21 10:32:59 +02:00
Florian Klink
a3678ed347 nixos/nginx: always run systemctl of the currently running systemd
Also, make the postRun script refer to that systemctl, and not just rely
on $PATH for consistency.
2020-05-21 10:31:47 +02:00
Florian Klink
1955982190 nixos/wpa_supplicant: always run systemctl of the currently running systemd 2020-05-21 10:31:08 +02:00
Florian Klink
52e104cfdf nixos/nsd: always run systemctl of the currently running systemd 2020-05-21 10:30:40 +02:00
Florian Klink
b0222a5e9c nixos/dhcpcd: always run systemctl of the currently running systemd 2020-05-21 10:30:21 +02:00
Florian Klink
73392b748f nixos/freeswitch: always run systemctl of the currently running systemd 2020-05-21 10:29:52 +02:00
Florian Klink
8aaca0addc nixos/docker-registry: always run systemctl of the currently running systemd 2020-05-21 10:29:37 +02:00
Florian Klink
ea462c742e nixos/resolvconf: always run systemctl of the currently running systemd 2020-05-21 10:29:22 +02:00
Florian Klink
783f40bb70 nixos/power-management: always run systemctl of the currently running systemd 2020-05-21 10:28:29 +02:00
Emery Hemingway
ac97b19a2a nixos/yggdrasil: change config priority, persistentKeys
Favor the configuration in "configFile" over "config" to allow
"configFile" to override "config" without a system rebuild.

Add a "persistentKeys" option to generate keys and addresses that
persist across service restarts. This is useful for self-configuring
boot media.
2020-05-21 12:11:13 +05:30
Evan Stoll
ef80f345be virtualisation/hyperv-image: remove diskImage after vhdx is generated 2020-05-20 19:56:38 -04:00