mirror of
https://github.com/nix-community/home-manager.git
synced 2025-12-14 13:01:09 +01:00
treewide: reformat nixfmt-rfc-style
Reformat repository using new nixfmt-rfc-style.
This commit is contained in:
parent
5df48c4255
commit
cba2f9ce95
1051 changed files with 37028 additions and 26594 deletions
|
|
@ -1,4 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
|
|
@ -7,45 +12,62 @@ let
|
|||
|
||||
podman-lib = import ./podman-lib.nix { inherit pkgs lib config; };
|
||||
|
||||
createQuadletSource = name: networkDef:
|
||||
createQuadletSource =
|
||||
name: networkDef:
|
||||
let
|
||||
quadlet = (podman-lib.deepMerge {
|
||||
Install = {
|
||||
WantedBy = (if networkDef.autoStart then [
|
||||
"default.target"
|
||||
"multi-user.target"
|
||||
] else
|
||||
[ ]);
|
||||
};
|
||||
Network = {
|
||||
Driver = networkDef.driver;
|
||||
Gateway = networkDef.gateway;
|
||||
Internal = networkDef.internal;
|
||||
NetworkName = name;
|
||||
Label = networkDef.labels // { "nix.home-manager.managed" = true; };
|
||||
PodmanArgs = networkDef.extraPodmanArgs;
|
||||
Subnet = networkDef.subnet;
|
||||
};
|
||||
Service = {
|
||||
Environment = {
|
||||
PATH = (builtins.concatStringsSep ":" [
|
||||
"${podman-lib.newuidmapPaths}"
|
||||
"${makeBinPath [ pkgs.su pkgs.coreutils ]}"
|
||||
]);
|
||||
quadlet = (
|
||||
podman-lib.deepMerge {
|
||||
Install = {
|
||||
WantedBy = (
|
||||
if networkDef.autoStart then
|
||||
[
|
||||
"default.target"
|
||||
"multi-user.target"
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
};
|
||||
ExecStartPre = [ "${podman-lib.awaitPodmanUnshare}" ];
|
||||
TimeoutStartSec = 15;
|
||||
RemainAfterExit = "yes";
|
||||
};
|
||||
Unit = {
|
||||
After = [ "network.target" ];
|
||||
Description = (if (builtins.isString networkDef.description) then
|
||||
networkDef.description
|
||||
else
|
||||
"Service for network ${name}");
|
||||
};
|
||||
} networkDef.extraConfig);
|
||||
in ''
|
||||
Network = {
|
||||
Driver = networkDef.driver;
|
||||
Gateway = networkDef.gateway;
|
||||
Internal = networkDef.internal;
|
||||
NetworkName = name;
|
||||
Label = networkDef.labels // {
|
||||
"nix.home-manager.managed" = true;
|
||||
};
|
||||
PodmanArgs = networkDef.extraPodmanArgs;
|
||||
Subnet = networkDef.subnet;
|
||||
};
|
||||
Service = {
|
||||
Environment = {
|
||||
PATH = (
|
||||
builtins.concatStringsSep ":" [
|
||||
"${podman-lib.newuidmapPaths}"
|
||||
"${makeBinPath [
|
||||
pkgs.su
|
||||
pkgs.coreutils
|
||||
]}"
|
||||
]
|
||||
);
|
||||
};
|
||||
ExecStartPre = [ "${podman-lib.awaitPodmanUnshare}" ];
|
||||
TimeoutStartSec = 15;
|
||||
RemainAfterExit = "yes";
|
||||
};
|
||||
Unit = {
|
||||
After = [ "network.target" ];
|
||||
Description = (
|
||||
if (builtins.isString networkDef.description) then
|
||||
networkDef.description
|
||||
else
|
||||
"Service for network ${name}"
|
||||
);
|
||||
};
|
||||
} networkDef.extraConfig
|
||||
);
|
||||
in
|
||||
''
|
||||
# Automatically generated by home-manager for podman network configuration
|
||||
# DO NOT EDIT THIS FILE DIRECTLY
|
||||
#
|
||||
|
|
@ -55,13 +77,13 @@ let
|
|||
|
||||
toQuadletInternal = name: networkDef: {
|
||||
assertions = podman-lib.buildConfigAsserts name networkDef.extraConfig;
|
||||
serviceName =
|
||||
"podman-${name}"; # generated service name: 'podman-<name>-network.service'
|
||||
serviceName = "podman-${name}"; # generated service name: 'podman-<name>-network.service'
|
||||
source = podman-lib.removeBlankLines (createQuadletSource name networkDef);
|
||||
resourceType = "network";
|
||||
};
|
||||
|
||||
in let
|
||||
in
|
||||
let
|
||||
networkDefinitionType = types.submodule {
|
||||
options = {
|
||||
|
||||
|
|
@ -106,7 +128,10 @@ in let
|
|||
extraPodmanArgs = mkOption {
|
||||
type = with types; listOf str;
|
||||
default = [ ];
|
||||
example = [ "--dns=192.168.55.1" "--ipam-driver" ];
|
||||
example = [
|
||||
"--dns=192.168.55.1"
|
||||
"--ipam-driver"
|
||||
];
|
||||
description = ''
|
||||
Extra arguments to pass to the podman network create command.
|
||||
'';
|
||||
|
|
@ -144,19 +169,22 @@ in let
|
|||
|
||||
};
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
options.services.podman.networks = mkOption {
|
||||
type = types.attrsOf networkDefinitionType;
|
||||
default = { };
|
||||
description = "Defines Podman network quadlet configurations.";
|
||||
};
|
||||
|
||||
config = let networkQuadlets = mapAttrsToList toQuadletInternal cfg.networks;
|
||||
in mkIf cfg.enable {
|
||||
services.podman.internal.quadletDefinitions = networkQuadlets;
|
||||
assertions = flatten (map (network: network.assertions) networkQuadlets);
|
||||
config =
|
||||
let
|
||||
networkQuadlets = mapAttrsToList toQuadletInternal cfg.networks;
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
services.podman.internal.quadletDefinitions = networkQuadlets;
|
||||
assertions = flatten (map (network: network.assertions) networkQuadlets);
|
||||
|
||||
xdg.configFile."podman/networks.manifest".text =
|
||||
podman-lib.generateManifestText networkQuadlets;
|
||||
};
|
||||
xdg.configFile."podman/networks.manifest".text = podman-lib.generateManifestText networkQuadlets;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue