···4455<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
6677-- Initial support for the [COSMIC DE](https://system76.com/cosmic), a Rust-based desktop environment by System76, makers of Pop!_OS. Toggle the greeter (login manager) using `services.displayManager.cosmic-greeter.enable` and the DE itself with `services.desktopManager.cosmic.enable`. Mostly stable but still experimental. Please report any issues to the [COSMIC DE tracker in Nixpkgs](https://github.com/NixOS/nixpkgs/issues/259641) instead of upstream.
77+- NixOS now has initial support for the [**COSMIC DE**](https://system76.com/cosmic) which is currently at **Alpha 7**. COSMIC is a Rust-based Desktop Environment by System76, makers of Pop!_OS. Enable COSMIC by enabling the greeter (login manager) `services.displayManager.cosmic-greeter.enable` and the DE itself by enabling `services.desktopManager.cosmic.enable` options. The support in NixOS/nixpkgs is stable but still considered experimental because of the recent the addition. The COSMIC maintainers will be waiting for one more release of NixOS to determine if the experimental tag should be removed or not. Until then, please report any issues to the [COSMIC DE tracker in Nixpkgs](https://github.com/NixOS/nixpkgs/issues/259641) instead of upstream.
8899- `services.dex` now restarts upon changes to the `.environmentFile` or entries in `.settings.staticClients[].secretFile` when the entry is a `path` type.
1010···163163- [GlitchTip](https://glitchtip.com/), an open source Sentry API compatible error tracking platform. Available as [services.glitchtip](#opt-services.glitchtip.enable).
164164165165- [`yarr`](https://github.com/nkanaev/yarr), a small, web-based feed aggregator and RSS reader. Available as [services.yarr](#opt-services.yarr.enable).
166166+167167+- [OliveTin](https://www.olivetin.app/), gives safe and simple access to predefined shell commands from a web interface. Available as [services.olivetin](#opt-services.olivetin.enable).
166168167169- [Stash](https://github.com/stashapp/stash), An organizer for your adult videos/images, written in Go. Available as [services.stash](#opt-services.stash.enable).
168170···576578 To get the necessary hash of the vendored dependencies, omit `hash`. The build will fail and tell you the correct value.
577579578580 Note that all provided plugins must have versions/tags (string after `@`), even if upstream repo does not tag each release. For untagged plugins, you can either create an empty Go project and run `go get <plugin>` and see changes in `go.mod` to get the pseudo-version number, or provide a commit hash in place of version/tag for the first run, and update the plugin string based on the error output.
581581+582582+- `buildGoModule` now supports a self-referencing `finalAttrs:` parameter
583583+ containing the final arguments including overrides.
584584+ This allows packaging configuration to be overridden in a consistent manner by
585585+ providing an alternative to `rec {}` syntax.
579586580587- KDE Partition Manager `partitionmanager`'s support for ReiserFS is removed.
581588 ReiserFS has not been actively maintained for many years. It has been marked as obsolete since Linux 6.6, and
···121121122122 # Since the bug described in https://github.com/NixOS/nixpkgs/issues/135438,
123123 # it is not possible to use substituteAll
124124- postPatch = ''
125125- substituteInPlace src/emu/emuopts.cpp \
126126- --subst-var-by mamePath "$out/opt/mame"
127127- '';
124124+ postPatch =
125125+ ''
126126+ substituteInPlace src/emu/emuopts.cpp \
127127+ --subst-var-by mamePath "$out/opt/mame"
128128+ ''
129129+ # MAME's build system uses `sw_vers` to test whether it needs to link with
130130+ # the Metal framework or not. However:
131131+ # a) that would return the build system's version, not the target's, and
132132+ # b) it can't actually find `sw_vers` in $PATH, so it thinks it's on macOS
133133+ # version 0, and doesn't link with Metal - causing missing symbol errors
134134+ # when it gets to the link step, because other parts of the build system
135135+ # _do_ use the correct target version number.
136136+ # This replaces the `sw_vers` call with the macOS version actually being
137137+ # targeted, so everything gets linked correctly.
138138+ + lib.optionalString stdenv.hostPlatform.isDarwin ''
139139+ for file in scripts/src/osd/{mac,sdl}.lua; do
140140+ substituteInPlace "$file" --replace-fail \
141141+ 'backtick("sw_vers -productVersion")' \
142142+ "os.getenv('MACOSX_DEPLOYMENT_TARGET') or '$darwinMinVersion'"
143143+ done
144144+ '';
128145129146 desktopItems = [
130147 (makeDesktopItem {
···66 # overridable. This is useful when the upstream archive was replaced
77 # and nixpkgs is not in sync yet.
88 officeVersion ? {
99- version = "1222";
99+ version = "1224";
1010 edition = "";
1111- hash = "sha256-8ya9RYpd9G5SITYOpvhxjQE8ieV8TuAApkjNwCf9nHs=";
1111+ hash = "sha256-Y6x5E8WeI7Pf/wczWNKnHsCbXWW4Jdzo4ToBdzgmOF8=";
1212 },
13131414 ...
···77 # Softmaker Office or when the upstream archive was replaced and
88 # nixpkgs is not in sync yet.
99 officeVersion ? {
1010- version = "1222";
1010+ version = "1224";
1111 edition = "2024";
1212- hash = "sha256-eyYBK5ZxPcBakOvXUQZIU2aftyH6PXh/rtqC/1BJhg4=";
1212+ hash = "sha256-ix9R9Xlugvu5qmKAqC2DsZFhyJ+VVsD7MSpBv+4lmTY=";
1313 },
14141515 ...
···33 stdenv,
44 rustPlatform,
55 fetchFromGitHub,
66- cosmic-wallpapers,
76 libcosmicAppHook,
87 pkg-config,
98 libinput,
···15141615rustPlatform.buildRustPackage (finalAttrs: {
1716 pname = "cosmic-workspaces-epoch";
1818- version = "1.0.0-alpha.6";
1717+ version = "1.0.0-alpha.7";
19182019 src = fetchFromGitHub {
2120 owner = "pop-os";
2221 repo = "cosmic-workspaces-epoch";
2322 tag = "epoch-${finalAttrs.version}";
2424- hash = "sha256-3jivE0EaSddPxMYn9DDaYUMafPf60XeCwVeQegbt++c=";
2323+ hash = "sha256-d7KYZbq8O/t5V/gU+wwstp06vyfnmt6vRKo+54Dct+o=";
2524 };
26252727- postPatch = ''
2828- # While the `kate-hazen-COSMIC-desktop-wallpaper.png` image is present
2929- # in the `pop-wallpapers` package, we're using the Orion Nebula image
3030- # from NASA available in the `cosmic-wallpapers` package. Mainly because
3131- # the previous image was used in the GNOME shell extension and the
3232- # Orion Nebula image is widely used in the Rust-based COSMIC DE's
3333- # marketing materials. Another reason to use the Orion Nebula image
3434- # is that it's actually the default wallpaper as configured by the
3535- # `cosmic-bg` package's configuration in upstream [1] [2].
3636- #
3737- # [1]: https://github.com/pop-os/cosmic-bg/blob/epoch-1.0.0-alpha.6/config/src/lib.rs#L142
3838- # [2]: https://github.com/pop-os/cosmic-bg/blob/epoch-1.0.0-alpha.6/data/v1/all#L3
3939- substituteInPlace src/view/mod.rs \
4040- --replace-fail '/usr/share/backgrounds/pop/kate-hazen-COSMIC-desktop-wallpaper.png' "${cosmic-wallpapers}/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg"
4141- '';
4242-4326 useFetchCargoVendor = true;
4444- cargoHash = "sha256-l5y9bOG/h24EfiAFfVKjtzYCzjxU2TI8wh6HBUwoVcE=";
2727+ cargoHash = "sha256-TjgnPuFUIDtxx9kpvN9hKiir3/ZVtCc0z1CE4UHre1Q=";
45284629 separateDebugInfo = true;
4730
···1111 # and make sure the version regex is up to date here.
1212 # Ensure you also check ../mattermost/package.nix for ESR releases.
1313 regex = "^v(10\\.[0-9]+\\.[0-9]+)$";
1414- version = "10.7.0";
1515- srcHash = "sha256-T8lLF5AsJYALVijXOUxkSACa6h8W4HcqoML2+BPsEsY=";
1414+ version = "10.7.1";
1515+ srcHash = "sha256-pUVy/l6C3ygwX2JMQmHEpiHwYEUBl1/k37gq2fLM0Os=";
1616 vendorHash = "sha256-B2vfHszOVKbkN7h0tQGeGzLdeuxQDgaFv9QWkQgGCWs=";
1717 npmDepsHash = "sha256-ZMgsfdmGtU3PgdmiY0xMCHh8dAOAmEFNbKcxXKO7CJc=";
1818 lockfileOverlay = ''
···58585959 outputHashMode = "recursive";
60606161+ dontFixup = true; # fixup phase does the patching of the shebangs, and FODs must never contain nix store paths.
6262+6163 passthru = {
6264 inherit berryVersion;
6365 };
···2222 pname = "ghidra";
2323 version = "11.3.2";
24242525+ isMacArm64 = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
2626+2527 releaseName = "NIX";
2628 distroPrefix = "ghidra_${version}_${releaseName}";
2729 src = fetchFromGitHub {
···129131 data = ./deps.json;
130132 };
131133132132- gradleFlags = [ "-Dorg.gradle.java.home=${openjdk21}" ];
134134+ gradleFlags =
135135+ [ "-Dorg.gradle.java.home=${openjdk21}" ]
136136+ ++ lib.optionals isMacArm64 [
137137+ # For some reason I haven't been able to figure out yet, ghidra builds for
138138+ # arm64 seems to build the x64 binaries of the decompiler. These fail to
139139+ # build due to trying to link the x64 object files with arm64 stdc++
140140+ # library, which obviously fails.
141141+ #
142142+ # Those binaries are entirely unnecessary anyways, since we're targeting
143143+ # arm64 build here, so let's exclude them from the build.
144144+ "-x"
145145+ "Decompiler:linkSleighMac_x86_64Executable"
146146+ "-x"
147147+ "Decompiler:linkDecompileMac_x86_64Executable"
148148+ ];
133149134150 preBuild = ''
135151 export JAVA_TOOL_OPTIONS="-Duser.home=$NIX_BUILD_TOP/home"