···378378 piegames
379379 infinisil
380380 das_j
381381- tomberek
382381 _0x4A6F
382382+ MattSturgeon
383383+ jfly
383384 # Not in the maintainer list
384385 # Sereja313
385386 ];
386386- scope = "Tentative Nix formatter team to be established in https://github.com/NixOS/rfcs/pull/166";
387387- shortName = "Nix formatter team";
387387+ scope = "Nix formatting team: https://nixos.org/community/teams/formatting/";
388388+ shortName = "Nix formatting team";
388389 };
389390390391 freedesktop = {
+2
nixos/doc/manual/release-notes/rl-2505.section.md
···528528529529- `services.avahi.ipv6` now defaults to true.
530530531531+- hddfancontrol has been updated to major release 2. See the [migration guide](https://github.com/desbma/hddfancontrol/tree/master?tab=readme-ov-file#migrating-from-v1x), as there are breaking changes.
532532+531533- The Home Assistant module has new options {option}`services.home-assistant.blueprints.automation`, `services.home-assistant.blueprints.script`, and {option}`services.home-assistant.blueprints.template` that allow for the declarative installation of [blueprints](https://www.home-assistant.io/docs/blueprint/) into the appropriate configuration directories.
532534533535- For matrix homeserver Synapse we are now following the upstream recommendation to enable jemalloc as the memory allocator by default.
+35-19
nixos/modules/services/hardware/hddfancontrol.nix
···7788let
99 cfg = config.services.hddfancontrol;
1010- types = lib.types;
1110in
12111312{
1414- options = {
1313+ meta.maintainers = with lib.maintainers; [ philipwilk ];
15141515+ imports = [
1616+ (lib.mkRemovedOptionModule [
1717+ "services"
1818+ "hddfancontrol"
1919+ "smartctl"
2020+ ] "Smartctl is now automatically used when necessary, which makes this option redundant")
2121+ ];
2222+2323+ options = {
1624 services.hddfancontrol.enable = lib.mkEnableOption "hddfancontrol daemon";
17251826 services.hddfancontrol.disks = lib.mkOption {
1919- type = with types; listOf path;
2727+ type = lib.types.listOf lib.types.path;
2028 default = [ ];
2129 description = ''
2230 Drive(s) to get temperature from
···2533 };
26342735 services.hddfancontrol.pwmPaths = lib.mkOption {
2828- type = with types; listOf path;
3636+ type = lib.types.listOf lib.types.path;
2937 default = [ ];
3038 description = ''
3131- PWM filepath(s) to control fan speed (under /sys)
3939+ PWM filepath(s) to control fan speed (under /sys), followed by initial and fan-stop PWM values
3240 '';
3333- example = [ "/sys/class/hwmon/hwmon2/pwm1" ];
4141+ example = [ "/sys/class/hwmon/hwmon2/pwm1:30:10" ];
3442 };
35433636- services.hddfancontrol.smartctl = lib.mkOption {
3737- type = types.bool;
3838- default = false;
4444+ services.hddfancontrol.logVerbosity = lib.mkOption {
4545+ type = lib.types.enum [
4646+ "TRACE"
4747+ "DEBUG"
4848+ "INFO"
4949+ "WARN"
5050+ "ERROR"
5151+ ];
5252+ default = "INFO";
3953 description = ''
4040- Probe temperature using smartctl instead of hddtemp or hdparm
5454+ Verbosity of the log level
4155 '';
4256 };
43574458 services.hddfancontrol.extraArgs = lib.mkOption {
4545- type = with types; listOf str;
5959+ type = lib.types.listOf lib.types.str;
4660 default = [ ];
4761 description = ''
4862 Extra commandline arguments for hddfancontrol
4963 '';
5064 example = [
5151- "--pwm-start-value=32"
5252- "--pwm-stop-value=0"
5353- "--spin-down-time=900"
6565+ "--min-fan-speed-prct=10"
6666+ "--interval=1min"
5467 ];
5568 };
5669 };
···6275 cfg.disks
6376 [ "-p" ]
6477 cfg.pwmPaths
6565- (lib.optional cfg.smartctl "--smartctl")
6678 cfg.extraArgs
6779 ];
6880 in
6981 {
7082 systemd.packages = [ pkgs.hddfancontrol ];
71838484+ hardware.sensor.hddtemp = {
8585+ enable = true;
8686+ drives = cfg.disks;
8787+ };
8888+7289 systemd.services.hddfancontrol = {
7390 wantedBy = [ "multi-user.target" ];
7474- environment.HDDFANCONTROL_ARGS = lib.escapeShellArgs args;
7575- serviceConfig = {
7676- # Hardening
7777- PrivateNetwork = true;
9191+ environment = {
9292+ HDDFANCONTROL_LOG_LEVEL = cfg.logVerbosity;
9393+ HDDFANCONTROL_DAEMON_ARGS = lib.escapeShellArgs args;
7894 };
7995 };
8096 }
···6767 version = "$version";
6868 sources = [
6969 EOF
7070- for arch in linux-x86_64 linux-i686; do
7070+ for arch in linux-x86_64 linux-i686 linux-aarch64; do
7171 # retriving a list of all tarballs for each arch
7272 # - only select tarballs for current arch
7373 # - only select tarballs for current version
···115115 }
116116117117 # macOS does not correctly display 16x and 32x png icons on app bundles
118118- # they need to be converted to rgb+mask (argb is supported only from macOS 11)
118118+ # they need to be converted to argb
119119 function convertIfUnsupportedIcon() {
120120 local -r in=$1
121121 local -r iconSize=$2
122122 local -r scale=$3
123123- local -r out=${in%.png}.rgb
123123+ local -r out=${in%.png}.argb
124124125125 if [[ ($scale -eq 1) && ($iconSize -eq 32 || $iconSize -eq 16) ]]; then
126126- echo "desktopToDarwinBundle: converting ${iconSize}x icon to rgb" >&2
126126+ echo "desktopToDarwinBundle: converting ${iconSize}x icon to argb" >&2
127127 icnsutil convert "$out" "$in"
128128 rm "$in"
129129 fi
+2-2
pkgs/by-name/aw/awscli2/package.nix
···6464in
6565py.pkgs.buildPythonApplication rec {
6666 pname = "awscli2";
6767- version = "2.24.7"; # N.B: if you change this, check if overrides are still up-to-date
6767+ version = "2.24.16"; # N.B: if you change this, check if overrides are still up-to-date
6868 pyproject = true;
69697070 src = fetchFromGitHub {
7171 owner = "aws";
7272 repo = "aws-cli";
7373 tag = version;
7474- hash = "sha256-yTfTWLI12ASKb6zkXb37vARIOVBLxqFWvtEDOMjXges=";
7474+ hash = "sha256-WbCJ3sBCI5wC6QbxY1KKNpJ8hkK6yhonq7F2Gzxw8DA=";
7575 };
76767777 postPatch = ''
···11+{
22+ lib,
33+ runCommand,
44+ buildEnv,
55+ makeWrapper,
66+ writers,
77+ treefmt2,
88+ nixfmt-rfc-style,
99+ nixfmt-tree,
1010+1111+ settings ? {
1212+ # The default is warn, which would be too annoying for people who just care about Nix
1313+ on-unmatched = "info";
1414+ # Assumes the user is using Git, fails if it's not
1515+ tree-root-file = ".git/index";
1616+1717+ formatter.nixfmt = {
1818+ command = "nixfmt";
1919+ includes = [ "*.nix" ];
2020+ };
2121+ },
2222+ runtimePackages ? [
2323+ nixfmt-rfc-style
2424+ ],
2525+}:
2626+buildEnv {
2727+ name = "nixfmt-tree";
2828+2929+ # Allows this derivation to be used as a shell providing both treefmt and nixfmt
3030+ paths = [ treefmt2 ] ++ runtimePackages;
3131+ pathsToLink = [ "/bin" ];
3232+3333+ nativeBuildInputs = [
3434+ makeWrapper
3535+ ];
3636+3737+ postBuild = ''
3838+ wrapProgram $out/bin/treefmt \
3939+ --prefix PATH : $out/bin \
4040+ --add-flags "--config-file ${writers.writeTOML "treefmt.toml" settings}"
4141+ '';
4242+4343+ meta = {
4444+ mainProgram = "treefmt";
4545+ description = "Official Nix formatter zero-setup starter using treefmt";
4646+ longDescription = ''
4747+ A zero-setup [treefmt](https://treefmt.com/) starter to get started using the [official Nix formatter](https://github.com/NixOS/nixfmt).
4848+4949+ - For `nix fmt` to format all Nix files, add this to the `flake.nix` outputs:
5050+5151+ ```nix
5252+ formatter.''${system} = nixpkgs.legacyPackages.''${system}.nixfmt-tree;
5353+ ```
5454+5555+ - The same can be done more efficiently with the `treefmt` command,
5656+ which you can get in `nix-shell`/`nix develop` by extending `mkShell` using
5757+5858+ ```nix
5959+ mkShell {
6060+ packages = [ pkgs.nixfmt-tree ];
6161+ }
6262+ ```
6363+6464+ You can then also use `treefmt` in a pre-commit/pre-push [Git hook](https://git-scm.com/docs/githooks)
6565+ and `nixfmt` with your editors format-on-save feature.
6666+6767+ - To check formatting in CI, run the following in a checkout of your Git repository:
6868+ ```
6969+ treefmt --ci
7070+ ```
7171+7272+ For more flexibility, you can customise this package using
7373+ ```nix
7474+ nixfmt-tree.override {
7575+ settings = { /* treefmt config */ };
7676+ runtimePackages = [ /* List any formatters here */ ];
7777+ }
7878+ ```
7979+8080+ Alternatively you can switch to the more fully-featured [treefmt-nix](https://github.com/numtide/treefmt-nix).
8181+ '';
8282+ # All the code is in this file, so same license as Nixpkgs
8383+ license = lib.licenses.mit;
8484+ maintainers = lib.teams.formatter.members;
8585+ platforms = lib.platforms.all;
8686+ };
8787+8888+ passthru.tests.simple = runCommand "nixfmt-tree-test-simple" { } ''
8989+ export XDG_CACHE_HOME=$(mktemp -d)
9090+ cat > unformatted.nix <<EOF
9191+ let to = "be formatted"; in to
9292+ EOF
9393+9494+ cat > formatted.nix <<EOF
9595+ let
9696+ to = "be formatted";
9797+ in
9898+ to
9999+ EOF
100100+101101+ mkdir -p repo
102102+ (
103103+ cd repo
104104+ mkdir .git dir
105105+ touch .git/index
106106+ cp ../unformatted.nix a.nix
107107+ cp ../unformatted.nix dir/b.nix
108108+109109+ ${lib.getExe nixfmt-tree} dir
110110+ if [[ "$(<dir/b.nix)" != "$(<../formatted.nix)" ]]; then
111111+ echo "File dir/b.nix was not formatted properly after dir was requested to be formatted"
112112+ exit 1
113113+ elif [[ "$(<a.nix)" != "$(<../unformatted.nix)" ]]; then
114114+ echo "File a.nix was formatted when only dir was requested to be formatted"
115115+ exit 1
116116+ fi
117117+118118+ (
119119+ cd dir
120120+ ${lib.getExe nixfmt-tree}
121121+ )
122122+123123+ if [[ "$(<a.nix)" != "$(<../formatted.nix)" ]]; then
124124+ echo "File a.nix was not formatted properly after running treefmt without arguments in dir"
125125+ exit 1
126126+ fi
127127+ )
128128+129129+ echo "Success!"
130130+131131+ touch $out
132132+ '';
133133+}
···57575858 # tests
5959 pytestCheckHook,
6060+ writableTmpDirAsHomeHook,
6161+ pythonAtLeast,
6062}:
61636264buildPythonPackage rec {
···148150149151 nativeCheckInputs = [
150152 pytestCheckHook
153153+ writableTmpDirAsHomeHook
151154 ];
152155153153- preCheck = ''
154154- export HOME=$(mktemp -d)
155155- '';
156156-157156 disabledTests =
158157 [
159159- # TODO: try to re-enable when triton will have been updated to 3.0
160160- # torch._dynamo.exc.BackendCompilerFailed: backend='inductor' raised:
161161- # LoweringException: ImportError: cannot import name 'triton_key' from 'triton.compiler.compiler'
162162- "test_compile_hetero_conv_graph_breaks"
163163- "test_compile_multi_aggr_sage_conv"
164164-165158 # RuntimeError: addmm: computation on CPU is not implemented for SparseCsr + SparseCsr @ SparseCsr without MKL.
166159 # PyTorch built with MKL has better support for addmm with sparse CPU tensors.
167160 "test_asap"
···174167 # This test uses `torch.jit` which might not be working on darwin:
175168 # RuntimeError: required keyword attribute 'value' has the wrong type
176169 "test_traceable_my_conv_with_self_loops"
170170+ ]
171171+ ++ lib.optionals (pythonAtLeast "3.13") [
172172+ # RuntimeError: Dynamo is not supported on Python 3.13+
173173+ "test_compile"
174174+175175+ # RuntimeError: Python 3.13+ not yet supported for torch.compile
176176+ "test_compile_graph_breaks"
177177+ "test_compile_multi_aggr_sage_conv"
178178+ "test_compile_hetero_conv_graph_breaks"
179179+180180+ # AttributeError: module 'typing' has no attribute 'io'. Did you mean: 'IO'?
181181+ "test_packaging"
182182+183183+ # RuntimeError: Boolean value of Tensor with more than one value is ambiguous
184184+ "test_feature_store"
177185 ];
178186179187 meta = {
···13131414stdenv.mkDerivation rec {
1515 pname = "adguardhome";
1616- version = "0.107.56";
1616+ version = "0.107.57";
1717 src = sources.${system} or (throw "Source for ${pname} is not available for ${system}");
18181919 installPhase = ''