Loading nixos/modules/services/continuous-integration/hydra/default.nix +15 −1 Original line number Diff line number Diff line Loading @@ -246,7 +246,7 @@ in } { assertion = cfg.minSpareServers < cfg.maxSpareServers; message = "services.hydra.minSpareServers cannot be bigger than servives.hydra.maxSpareServers"; message = "services.hydra.minSpareServers cannot be bigger than services.hydra.maxSpareServers"; } ]; Loading Loading @@ -311,6 +311,11 @@ in ) ]; systemd.slices.system-hydra = { description = "Hydra Slice"; documentation = [ "file://${cfg.package}/share/doc/hydra/index.html" "https://nixos.org/hydra/manual/" ]; }; systemd.services.hydra-init = { wantedBy = [ "multi-user.target" ]; requires = lib.optional haveLocalDB "postgresql.service"; Loading Loading @@ -371,6 +376,7 @@ in serviceConfig.User = "hydra"; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; serviceConfig.Slice = "system-hydra.slice"; }; systemd.services.hydra-server = Loading @@ -389,6 +395,7 @@ in User = "hydra-www"; PermissionsStartOnly = true; Restart = "always"; Slice = "system-hydra.slice"; }; }; Loading @@ -408,6 +415,7 @@ in ExecStopPost = "${hydra-package}/bin/hydra-queue-runner --unlock"; User = "hydra-queue-runner"; Restart = "always"; Slice = "system-hydra.slice"; # Ensure we can get core dumps. LimitCORE = "infinity"; Loading @@ -430,6 +438,7 @@ in User = "hydra"; Restart = "always"; WorkingDirectory = baseDir; Slice = "system-hydra.slice"; }; }; Loading @@ -442,6 +451,7 @@ in serviceConfig = { ExecStart = "@${hydra-package}/bin/hydra-update-gc-roots hydra-update-gc-roots"; User = "hydra"; Slice = "system-hydra.slice"; }; startAt = "2,14:15"; }; Loading @@ -455,6 +465,7 @@ in serviceConfig = { ExecStart = "@${hydra-package}/bin/hydra-send-stats hydra-send-stats"; User = "hydra"; Slice = "system-hydra.slice"; }; }; Loading @@ -474,6 +485,7 @@ in User = "hydra-queue-runner"; Restart = "always"; RestartSec = 5; Slice = "system-hydra.slice"; }; }; Loading @@ -492,6 +504,7 @@ in fi ''; startAt = "*:0/5"; serviceConfig.Slice = "system-hydra.slice"; }; # Periodically compress build logs. The queue runner compresses Loading @@ -509,6 +522,7 @@ in find ${baseDir}/build-logs -type f -name "*.drv" -mtime +3 -size +0c | xargs -r $compression --force --quiet ''; startAt = "Sun 01:45"; serviceConfig.Slice = "system-hydra.slice"; }; services.postgresql.enable = lib.mkIf haveLocalDB true; Loading nixos/modules/services/misc/snapper.nix +55 −58 Original line number Diff line number Diff line Loading @@ -4,17 +4,14 @@ lib, ... }: with lib; let cfg = config.services.snapper; mkValue = v: if isList v then if lib.isList v then "\"${ concatMapStringsSep " " (escape [ lib.concatMapStringsSep " " (lib.escape [ "\\" " " ]) v Loading @@ -23,7 +20,7 @@ let "yes" else if v == false then "no" else if isString v then else if lib.isString v then "\"${v}\"" else builtins.toJSON v; Loading @@ -33,14 +30,14 @@ let # "it's recommended to always specify the filesystem type" -- man snapper-configs defaultOf = k: if k == "FSTYPE" then null else configOptions.${k}.default or null; safeStr = types.strMatching "[^\n\"]*" // { safeStr = lib.types.strMatching "[^\n\"]*" // { description = "string without line breaks or quotes"; descriptionClass = "conjunction"; }; configOptions = { SUBVOLUME = mkOption { type = types.path; SUBVOLUME = lib.mkOption { type = lib.types.path; description = '' Path of the subvolume or mount point. This path is a subvolume and has to contain a subvolume named Loading @@ -49,16 +46,16 @@ let ''; }; FSTYPE = mkOption { type = types.enum [ "btrfs" ]; FSTYPE = lib.mkOption { type = lib.types.enum [ "btrfs" ]; default = "btrfs"; description = '' Filesystem type. Only btrfs is stable and tested. ''; }; ALLOW_GROUPS = mkOption { type = types.listOf safeStr; ALLOW_GROUPS = lib.mkOption { type = lib.types.listOf safeStr; default = [ ]; description = '' List of groups allowed to operate with the config. Loading @@ -67,8 +64,8 @@ let ''; }; ALLOW_USERS = mkOption { type = types.listOf safeStr; ALLOW_USERS = lib.mkOption { type = lib.types.listOf safeStr; default = [ ]; example = [ "alice" ]; description = '' Loading @@ -79,64 +76,64 @@ let ''; }; TIMELINE_CLEANUP = mkOption { type = types.bool; TIMELINE_CLEANUP = lib.mkOption { type = lib.types.bool; default = false; description = '' Defines whether the timeline cleanup algorithm should be run for the config. ''; }; TIMELINE_CREATE = mkOption { type = types.bool; TIMELINE_CREATE = lib.mkOption { type = lib.types.bool; default = false; description = '' Defines whether hourly snapshots should be created. ''; }; TIMELINE_LIMIT_HOURLY = mkOption { type = types.int; TIMELINE_LIMIT_HOURLY = lib.mkOption { type = lib.types.int; default = 10; description = '' Limits for timeline cleanup. ''; }; TIMELINE_LIMIT_DAILY = mkOption { type = types.int; TIMELINE_LIMIT_DAILY = lib.mkOption { type = lib.types.int; default = 10; description = '' Limits for timeline cleanup. ''; }; TIMELINE_LIMIT_WEEKLY = mkOption { type = types.int; TIMELINE_LIMIT_WEEKLY = lib.mkOption { type = lib.types.int; default = 0; description = '' Limits for timeline cleanup. ''; }; TIMELINE_LIMIT_MONTHLY = mkOption { type = types.int; TIMELINE_LIMIT_MONTHLY = lib.mkOption { type = lib.types.int; default = 10; description = '' Limits for timeline cleanup. ''; }; TIMELINE_LIMIT_QUARTERLY = mkOption { type = types.int; TIMELINE_LIMIT_QUARTERLY = lib.mkOption { type = lib.types.int; default = 0; description = '' Limits for timeline cleanup. ''; }; TIMELINE_LIMIT_YEARLY = mkOption { type = types.int; TIMELINE_LIMIT_YEARLY = lib.mkOption { type = lib.types.int; default = 10; description = '' Limits for timeline cleanup. Loading @@ -148,16 +145,16 @@ in { options.services.snapper = { snapshotRootOnBoot = mkOption { type = types.bool; snapshotRootOnBoot = lib.mkOption { type = lib.types.bool; default = false; description = '' Whether to snapshot root on boot ''; }; snapshotInterval = mkOption { type = types.str; snapshotInterval = lib.mkOption { type = lib.types.str; default = "hourly"; description = '' Snapshot interval. Loading @@ -167,9 +164,9 @@ in ''; }; persistentTimer = mkOption { persistentTimer = lib.mkOption { default = false; type = types.bool; type = lib.types.bool; example = true; description = '' Set the `Persistent` option for the Loading @@ -179,8 +176,8 @@ in ''; }; cleanupInterval = mkOption { type = types.str; cleanupInterval = lib.mkOption { type = lib.types.str; default = "1d"; description = '' Cleanup interval. Loading @@ -190,17 +187,17 @@ in ''; }; filters = mkOption { type = types.nullOr types.lines; filters = lib.mkOption { type = lib.types.nullOr lib.types.lines; default = null; description = '' Global display difference filter. See man:snapper(8) for more details. ''; }; configs = mkOption { configs = lib.mkOption { default = { }; example = literalExpression '' example = lib.literalExpression '' { home = { SUBVOLUME = "/home"; Loading @@ -216,14 +213,14 @@ in is valid here, even if NixOS doesn't document it. ''; type = types.attrsOf ( types.submodule { freeformType = types.attrsOf ( types.oneOf [ (types.listOf safeStr) types.bool type = lib.types.attrsOf ( lib.types.submodule { freeformType = lib.types.attrsOf ( lib.types.oneOf [ (lib.types.listOf safeStr) lib.types.bool safeStr types.number lib.types.number ] ); Loading @@ -233,7 +230,7 @@ in }; }; config = mkIf (cfg.configs != { }) ( config = lib.mkIf (cfg.configs != { }) ( let documentation = [ "man:snapper(8)" Loading @@ -254,11 +251,11 @@ in SNAPPER_CONFIGS="${lib.concatStringsSep " " (builtins.attrNames cfg.configs)}" ''; } // (mapAttrs' ( // (lib.mapAttrs' ( name: subvolume: nameValuePair "snapper/configs/${name}" ({ lib.nameValuePair "snapper/configs/${name}" ({ text = lib.generators.toKeyValue { inherit mkKeyValue; } ( filterAttrs (k: v: v != defaultOf k) subvolume lib.filterAttrs (k: v: v != defaultOf k) subvolume ); }) ) cfg.configs) Loading Loading @@ -324,7 +321,7 @@ in unitConfig.ConditionPathExists = "/etc/snapper/configs/root"; }; assertions = concatMap ( assertions = lib.concatMap ( name: let sub = cfg.configs.${name}; Loading @@ -341,16 +338,16 @@ in ++ map (attr: { assertion = !(hasAttr attr sub); assertion = !(lib.hasAttr attr sub); message = '' The option definition `services.snapper.configs.${name}.${attr}' has been renamed to `services.snapper.configs.${name}.${toUpper attr}'. The option definition `services.snapper.configs.${name}.${attr}' has been renamed to `services.snapper.configs.${name}.${lib.toUpper attr}'. ''; }) [ "fstype" "subvolume" ] ) (attrNames cfg.configs); ) (lib.attrNames cfg.configs); } ); Loading pkgs/applications/misc/gnome-frog/default.nix +2 −2 Original line number Diff line number Diff line Loading @@ -23,13 +23,13 @@ python3Packages.buildPythonApplication rec { pname = "gnome-frog"; version = "1.5.1"; version = "1.5.2"; src = fetchFromGitHub { owner = "TenderOwl"; repo = "Frog"; rev = "refs/tags/${version}"; sha256 = "sha256-zL6zuqHF1pTXT3l1mAFx2EL+0ThzjXfst/nEyNVorZg="; sha256 = "sha256-Zu1xUGpjqpFiPQAAgaVYtnXI4jMtyywrJqn+38K5VHo="; }; format = "other"; Loading pkgs/applications/networking/avalanchego/default.nix +3 −3 Original line number Diff line number Diff line Loading @@ -7,16 +7,16 @@ buildGoModule rec { pname = "avalanchego"; version = "1.11.10"; version = "1.11.11"; src = fetchFromGitHub { owner = "ava-labs"; repo = pname; rev = "v${version}"; hash = "sha256-O+94hdRaPZYcU4ICiGGQ7CBKPMAT9qPCsMsHcurW+/4="; hash = "sha256-9NhwxB5AeGvQgZbjNu5WWHiP194ws7s1WDtCntLr//g="; }; vendorHash = "sha256-jXtnPBlSeA1Q+2VY+It7XnORz6uW0ZLYX+csBTYolNE="; vendorHash = "sha256-A8Bf/KzTFvC/hFLU1k6M89649wjoqnIXRQ1uJaTj9YA="; # go mod vendor has a bug, see: https://github.com/golang/go/issues/57529 proxyVendor = true; Loading pkgs/applications/office/paperwork/src.nix +2 −2 Original line number Diff line number Diff line {fetchFromGitLab}: rec { version = "2.2.3"; version = "2.2.5"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; repo = "paperwork"; group = "World"; owner = "OpenPaperwork"; rev = version; sha256 = "sha256-xQN1IUbTQEHtyW5F8Zbg2EUN5K87oYqnSdzo0gEeOfI="; sha256 = "sha256-PRh0ohmPLwpM76qYfbExFqq4OK6Hm0fbdzrjXungSoY="; }; sample_documents = fetchFromGitLab { domain = "gitlab.gnome.org"; Loading Loading
nixos/modules/services/continuous-integration/hydra/default.nix +15 −1 Original line number Diff line number Diff line Loading @@ -246,7 +246,7 @@ in } { assertion = cfg.minSpareServers < cfg.maxSpareServers; message = "services.hydra.minSpareServers cannot be bigger than servives.hydra.maxSpareServers"; message = "services.hydra.minSpareServers cannot be bigger than services.hydra.maxSpareServers"; } ]; Loading Loading @@ -311,6 +311,11 @@ in ) ]; systemd.slices.system-hydra = { description = "Hydra Slice"; documentation = [ "file://${cfg.package}/share/doc/hydra/index.html" "https://nixos.org/hydra/manual/" ]; }; systemd.services.hydra-init = { wantedBy = [ "multi-user.target" ]; requires = lib.optional haveLocalDB "postgresql.service"; Loading Loading @@ -371,6 +376,7 @@ in serviceConfig.User = "hydra"; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; serviceConfig.Slice = "system-hydra.slice"; }; systemd.services.hydra-server = Loading @@ -389,6 +395,7 @@ in User = "hydra-www"; PermissionsStartOnly = true; Restart = "always"; Slice = "system-hydra.slice"; }; }; Loading @@ -408,6 +415,7 @@ in ExecStopPost = "${hydra-package}/bin/hydra-queue-runner --unlock"; User = "hydra-queue-runner"; Restart = "always"; Slice = "system-hydra.slice"; # Ensure we can get core dumps. LimitCORE = "infinity"; Loading @@ -430,6 +438,7 @@ in User = "hydra"; Restart = "always"; WorkingDirectory = baseDir; Slice = "system-hydra.slice"; }; }; Loading @@ -442,6 +451,7 @@ in serviceConfig = { ExecStart = "@${hydra-package}/bin/hydra-update-gc-roots hydra-update-gc-roots"; User = "hydra"; Slice = "system-hydra.slice"; }; startAt = "2,14:15"; }; Loading @@ -455,6 +465,7 @@ in serviceConfig = { ExecStart = "@${hydra-package}/bin/hydra-send-stats hydra-send-stats"; User = "hydra"; Slice = "system-hydra.slice"; }; }; Loading @@ -474,6 +485,7 @@ in User = "hydra-queue-runner"; Restart = "always"; RestartSec = 5; Slice = "system-hydra.slice"; }; }; Loading @@ -492,6 +504,7 @@ in fi ''; startAt = "*:0/5"; serviceConfig.Slice = "system-hydra.slice"; }; # Periodically compress build logs. The queue runner compresses Loading @@ -509,6 +522,7 @@ in find ${baseDir}/build-logs -type f -name "*.drv" -mtime +3 -size +0c | xargs -r $compression --force --quiet ''; startAt = "Sun 01:45"; serviceConfig.Slice = "system-hydra.slice"; }; services.postgresql.enable = lib.mkIf haveLocalDB true; Loading
nixos/modules/services/misc/snapper.nix +55 −58 Original line number Diff line number Diff line Loading @@ -4,17 +4,14 @@ lib, ... }: with lib; let cfg = config.services.snapper; mkValue = v: if isList v then if lib.isList v then "\"${ concatMapStringsSep " " (escape [ lib.concatMapStringsSep " " (lib.escape [ "\\" " " ]) v Loading @@ -23,7 +20,7 @@ let "yes" else if v == false then "no" else if isString v then else if lib.isString v then "\"${v}\"" else builtins.toJSON v; Loading @@ -33,14 +30,14 @@ let # "it's recommended to always specify the filesystem type" -- man snapper-configs defaultOf = k: if k == "FSTYPE" then null else configOptions.${k}.default or null; safeStr = types.strMatching "[^\n\"]*" // { safeStr = lib.types.strMatching "[^\n\"]*" // { description = "string without line breaks or quotes"; descriptionClass = "conjunction"; }; configOptions = { SUBVOLUME = mkOption { type = types.path; SUBVOLUME = lib.mkOption { type = lib.types.path; description = '' Path of the subvolume or mount point. This path is a subvolume and has to contain a subvolume named Loading @@ -49,16 +46,16 @@ let ''; }; FSTYPE = mkOption { type = types.enum [ "btrfs" ]; FSTYPE = lib.mkOption { type = lib.types.enum [ "btrfs" ]; default = "btrfs"; description = '' Filesystem type. Only btrfs is stable and tested. ''; }; ALLOW_GROUPS = mkOption { type = types.listOf safeStr; ALLOW_GROUPS = lib.mkOption { type = lib.types.listOf safeStr; default = [ ]; description = '' List of groups allowed to operate with the config. Loading @@ -67,8 +64,8 @@ let ''; }; ALLOW_USERS = mkOption { type = types.listOf safeStr; ALLOW_USERS = lib.mkOption { type = lib.types.listOf safeStr; default = [ ]; example = [ "alice" ]; description = '' Loading @@ -79,64 +76,64 @@ let ''; }; TIMELINE_CLEANUP = mkOption { type = types.bool; TIMELINE_CLEANUP = lib.mkOption { type = lib.types.bool; default = false; description = '' Defines whether the timeline cleanup algorithm should be run for the config. ''; }; TIMELINE_CREATE = mkOption { type = types.bool; TIMELINE_CREATE = lib.mkOption { type = lib.types.bool; default = false; description = '' Defines whether hourly snapshots should be created. ''; }; TIMELINE_LIMIT_HOURLY = mkOption { type = types.int; TIMELINE_LIMIT_HOURLY = lib.mkOption { type = lib.types.int; default = 10; description = '' Limits for timeline cleanup. ''; }; TIMELINE_LIMIT_DAILY = mkOption { type = types.int; TIMELINE_LIMIT_DAILY = lib.mkOption { type = lib.types.int; default = 10; description = '' Limits for timeline cleanup. ''; }; TIMELINE_LIMIT_WEEKLY = mkOption { type = types.int; TIMELINE_LIMIT_WEEKLY = lib.mkOption { type = lib.types.int; default = 0; description = '' Limits for timeline cleanup. ''; }; TIMELINE_LIMIT_MONTHLY = mkOption { type = types.int; TIMELINE_LIMIT_MONTHLY = lib.mkOption { type = lib.types.int; default = 10; description = '' Limits for timeline cleanup. ''; }; TIMELINE_LIMIT_QUARTERLY = mkOption { type = types.int; TIMELINE_LIMIT_QUARTERLY = lib.mkOption { type = lib.types.int; default = 0; description = '' Limits for timeline cleanup. ''; }; TIMELINE_LIMIT_YEARLY = mkOption { type = types.int; TIMELINE_LIMIT_YEARLY = lib.mkOption { type = lib.types.int; default = 10; description = '' Limits for timeline cleanup. Loading @@ -148,16 +145,16 @@ in { options.services.snapper = { snapshotRootOnBoot = mkOption { type = types.bool; snapshotRootOnBoot = lib.mkOption { type = lib.types.bool; default = false; description = '' Whether to snapshot root on boot ''; }; snapshotInterval = mkOption { type = types.str; snapshotInterval = lib.mkOption { type = lib.types.str; default = "hourly"; description = '' Snapshot interval. Loading @@ -167,9 +164,9 @@ in ''; }; persistentTimer = mkOption { persistentTimer = lib.mkOption { default = false; type = types.bool; type = lib.types.bool; example = true; description = '' Set the `Persistent` option for the Loading @@ -179,8 +176,8 @@ in ''; }; cleanupInterval = mkOption { type = types.str; cleanupInterval = lib.mkOption { type = lib.types.str; default = "1d"; description = '' Cleanup interval. Loading @@ -190,17 +187,17 @@ in ''; }; filters = mkOption { type = types.nullOr types.lines; filters = lib.mkOption { type = lib.types.nullOr lib.types.lines; default = null; description = '' Global display difference filter. See man:snapper(8) for more details. ''; }; configs = mkOption { configs = lib.mkOption { default = { }; example = literalExpression '' example = lib.literalExpression '' { home = { SUBVOLUME = "/home"; Loading @@ -216,14 +213,14 @@ in is valid here, even if NixOS doesn't document it. ''; type = types.attrsOf ( types.submodule { freeformType = types.attrsOf ( types.oneOf [ (types.listOf safeStr) types.bool type = lib.types.attrsOf ( lib.types.submodule { freeformType = lib.types.attrsOf ( lib.types.oneOf [ (lib.types.listOf safeStr) lib.types.bool safeStr types.number lib.types.number ] ); Loading @@ -233,7 +230,7 @@ in }; }; config = mkIf (cfg.configs != { }) ( config = lib.mkIf (cfg.configs != { }) ( let documentation = [ "man:snapper(8)" Loading @@ -254,11 +251,11 @@ in SNAPPER_CONFIGS="${lib.concatStringsSep " " (builtins.attrNames cfg.configs)}" ''; } // (mapAttrs' ( // (lib.mapAttrs' ( name: subvolume: nameValuePair "snapper/configs/${name}" ({ lib.nameValuePair "snapper/configs/${name}" ({ text = lib.generators.toKeyValue { inherit mkKeyValue; } ( filterAttrs (k: v: v != defaultOf k) subvolume lib.filterAttrs (k: v: v != defaultOf k) subvolume ); }) ) cfg.configs) Loading Loading @@ -324,7 +321,7 @@ in unitConfig.ConditionPathExists = "/etc/snapper/configs/root"; }; assertions = concatMap ( assertions = lib.concatMap ( name: let sub = cfg.configs.${name}; Loading @@ -341,16 +338,16 @@ in ++ map (attr: { assertion = !(hasAttr attr sub); assertion = !(lib.hasAttr attr sub); message = '' The option definition `services.snapper.configs.${name}.${attr}' has been renamed to `services.snapper.configs.${name}.${toUpper attr}'. The option definition `services.snapper.configs.${name}.${attr}' has been renamed to `services.snapper.configs.${name}.${lib.toUpper attr}'. ''; }) [ "fstype" "subvolume" ] ) (attrNames cfg.configs); ) (lib.attrNames cfg.configs); } ); Loading
pkgs/applications/misc/gnome-frog/default.nix +2 −2 Original line number Diff line number Diff line Loading @@ -23,13 +23,13 @@ python3Packages.buildPythonApplication rec { pname = "gnome-frog"; version = "1.5.1"; version = "1.5.2"; src = fetchFromGitHub { owner = "TenderOwl"; repo = "Frog"; rev = "refs/tags/${version}"; sha256 = "sha256-zL6zuqHF1pTXT3l1mAFx2EL+0ThzjXfst/nEyNVorZg="; sha256 = "sha256-Zu1xUGpjqpFiPQAAgaVYtnXI4jMtyywrJqn+38K5VHo="; }; format = "other"; Loading
pkgs/applications/networking/avalanchego/default.nix +3 −3 Original line number Diff line number Diff line Loading @@ -7,16 +7,16 @@ buildGoModule rec { pname = "avalanchego"; version = "1.11.10"; version = "1.11.11"; src = fetchFromGitHub { owner = "ava-labs"; repo = pname; rev = "v${version}"; hash = "sha256-O+94hdRaPZYcU4ICiGGQ7CBKPMAT9qPCsMsHcurW+/4="; hash = "sha256-9NhwxB5AeGvQgZbjNu5WWHiP194ws7s1WDtCntLr//g="; }; vendorHash = "sha256-jXtnPBlSeA1Q+2VY+It7XnORz6uW0ZLYX+csBTYolNE="; vendorHash = "sha256-A8Bf/KzTFvC/hFLU1k6M89649wjoqnIXRQ1uJaTj9YA="; # go mod vendor has a bug, see: https://github.com/golang/go/issues/57529 proxyVendor = true; Loading
pkgs/applications/office/paperwork/src.nix +2 −2 Original line number Diff line number Diff line {fetchFromGitLab}: rec { version = "2.2.3"; version = "2.2.5"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; repo = "paperwork"; group = "World"; owner = "OpenPaperwork"; rev = version; sha256 = "sha256-xQN1IUbTQEHtyW5F8Zbg2EUN5K87oYqnSdzo0gEeOfI="; sha256 = "sha256-PRh0ohmPLwpM76qYfbExFqq4OK6Hm0fbdzrjXungSoY="; }; sample_documents = fetchFromGitLab { domain = "gitlab.gnome.org"; Loading