river: rename to river-classic

This commit is contained in:
Adam C. Stephens
2025-08-30 17:58:34 -04:00
parent c46ab06b32
commit ffc8f1707b
11 changed files with 49 additions and 35 deletions

View File

@@ -925,7 +925,7 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
[services.frp](#opt-services.frp.enable). [services.frp](#opt-services.frp.enable).
- [river](https://github.com/riverwm/river), A dynamic tiling wayland - [river](https://github.com/riverwm/river), A dynamic tiling wayland
compositor. Available as [programs.river](#opt-programs.river.enable). compositor. Available as `programs.river`.
- [wayfire](https://wayfire.org), a modular and extensible wayland compositor. - [wayfire](https://wayfire.org), a modular and extensible wayland compositor.
Available as [programs.wayfire](#opt-programs.wayfire.enable). Available as [programs.wayfire](#opt-programs.wayfire.enable).

View File

@@ -172,6 +172,8 @@
- NixOS display manager modules now strictly use tty1, where many of them previously used tty7. Options to configure display managers' VT have been dropped. A configuration with a display manager enabled will not start `getty@tty1.service`, even if the system is forced to boot into `multi-user.target` instead of `graphical.target`. - NixOS display manager modules now strictly use tty1, where many of them previously used tty7. Options to configure display managers' VT have been dropped. A configuration with a display manager enabled will not start `getty@tty1.service`, even if the system is forced to boot into `multi-user.target` instead of `graphical.target`.
- `river` 0.3.x has been renamed to `river-classic` upstream, and the package renamed accordingly. `programs.river` has been renamed to `programs.river-classic`.
- `command-not-found` package is now disabled by default; it works only for nix-channels based systems, and requires setup for it to work. - `command-not-found` package is now disabled by default; it works only for nix-channels based systems, and requires setup for it to work.
- The systemd target `kbrequest.target` is now unset by default, instead of being forcibly symlinked to `rescue.target`. In case you were relying on this behavior (Alt + ArrowUp on the tty causing the current target to be changed to `rescue.target`), you can restore it by setting `systemd.targets.rescue.aliases = [ "kbrequest.target" ];` in your configuration. - The systemd target `kbrequest.target` is now unset by default, instead of being forcibly symlinked to `rescue.target`. In case you were relying on this behavior (Alt + ArrowUp on the tty causing the current target to be changed to `rescue.target`), you can restore it by setting `systemd.targets.rescue.aliases = [ "kbrequest.target" ];` in your configuration.

View File

@@ -6,16 +6,16 @@
}: }:
let let
cfg = config.programs.river; cfg = config.programs.river-classic;
wayland-lib = import ./lib.nix { inherit lib; }; wayland-lib = import ./lib.nix { inherit lib; };
in in
{ {
options.programs.river = { options.programs.river-classic = {
enable = lib.mkEnableOption "river, a dynamic tiling Wayland compositor"; enable = lib.mkEnableOption "river-classic, a dynamic tiling Wayland compositor";
package = package =
lib.mkPackageOption pkgs "river" { lib.mkPackageOption pkgs "river-classic" {
nullable = true; nullable = true;
extraDescription = '' extraDescription = ''
If the package is not overridable with `xwaylandSupport`, then the module option If the package is not overridable with `xwaylandSupport`, then the module option
@@ -61,6 +61,22 @@ in
}; };
}; };
imports = [
(lib.mkRenamedOptionModule [ "programs" "river" "enable" ] [ "programs" "river-classic" "enable" ])
(lib.mkRenamedOptionModule
[ "programs" "river" "package" ]
[ "programs" "river-classic" "package" ]
)
(lib.mkRenamedOptionModule
[ "programs" "river" "xwayland" "enable" ]
[ "programs" "river-classic" "xwayland" "enable" ]
)
(lib.mkRenamedOptionModule
[ "programs" "river" "extraPackages" ]
[ "programs" "river-classic" "extraPackages" ]
)
];
config = lib.mkIf cfg.enable ( config = lib.mkIf cfg.enable (
lib.mkMerge [ lib.mkMerge [
{ {

View File

@@ -19,7 +19,7 @@
services.displayManager.lemurs.enable = true; services.displayManager.lemurs.enable = true;
programs.river.enable = true; programs.river-classic.enable = true;
}; };
testScript = '' testScript = ''

View File

@@ -6,7 +6,7 @@
lib, lib,
pkg-config, pkg-config,
stdenv, stdenv,
river, river-classic,
wayland, wayland,
wayland-protocols, wayland-protocols,
wayland-scanner, wayland-scanner,
@@ -53,6 +53,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl3Only; license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ adamcstephens ]; maintainers = with lib.maintainers; [ adamcstephens ];
mainProgram = "river-bedload"; mainProgram = "river-bedload";
inherit (river.meta) platforms; inherit (river-classic.meta) platforms;
}; };
}) })

View File

@@ -23,7 +23,7 @@
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "river"; pname = "river-classic";
version = "0.3.11"; version = "0.3.11";
outputs = [ "out" ] ++ lib.optionals withManpages [ "man" ]; outputs = [ "out" ] ++ lib.optionals withManpages [ "man" ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitea { src = fetchFromGitea {
domain = "codeberg.org"; domain = "codeberg.org";
owner = "river"; owner = "river";
repo = "river"; repo = "river-classic";
hash = "sha256-7LC5nxan9jmjjt29afkps9H/sfhfIqpvBxvCKb0zvNM="; hash = "sha256-7LC5nxan9jmjjt29afkps9H/sfhfIqpvBxvCKb0zvNM=";
tag = "v${finalAttrs.version}"; tag = "v${finalAttrs.version}";
}; };
@@ -78,22 +78,17 @@ stdenv.mkDerivation (finalAttrs: {
}; };
meta = { meta = {
homepage = "https://codeberg.org/river/river"; homepage = "https://codeberg.org/river/river-classic";
description = "Dynamic tiling wayland compositor"; description = "Dynamic tiling wayland compositor";
longDescription = '' longDescription = ''
River is a dynamic tiling Wayland compositor with flexible runtime river-classic is a dynamic tiling Wayland compositor with flexible runtime
configuration. configuration.
Its design goals are: It is a fork of river 0.3 intended for users that are happy with how river 0.3
- Simple and predictable behavior, river should be easy to use and have a works and do not wish to deal with the majorly breaking changes planned for
low cognitive load. the river 0.4.0 release.
- Window management based on a stack of views and tags.
- Dynamic layouts generated by external, user-written executables. A
default rivertile layout generator is provided.
- Scriptable configuration and control through a custom Wayland protocol
and separate riverctl binary implementing it.
''; '';
changelog = "https://codeberg.org/river/river/releases/tag/v${finalAttrs.version}"; changelog = "https://codeberg.org/river/river-classic/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Plus; license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ maintainers = with lib.maintainers; [
adamcstephens adamcstephens

View File

@@ -0,0 +1,12 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bash common-updater-scripts gnused zon2nix
latest_tag=$(list-git-tags --url=https://codeberg.org/river/river-classic | sed 's/^v//' | sort --version-sort | tail --lines=1)
update-source-version river-classic "$latest_tag"
wget "https://codeberg.org/river/river-classic/raw/tag/v${latest_tag}/build.zig.zon"
zon2nix build.zig.zon >pkgs/by-name/ri/river-classic/build.zig.zon.nix
nixfmt pkgs/by-name/ri/river-classic/build.zig.zon.nix
rm -f build.zig.zon build.zig.zon.nix

View File

@@ -1,12 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bash common-updater-scripts gnused zon2nix
latest_tag=$(list-git-tags --url=https://codeberg.org/river/river | sed 's/^v//' | sort --version-sort | tail --lines=1)
update-source-version river "$latest_tag"
wget "https://codeberg.org/river/river/raw/tag/v${latest_tag}/build.zig.zon"
zon2nix build.zig.zon >pkgs/by-name/ri/river/build.zig.zon.nix
nixfmt pkgs/by-name/ri/river/build.zig.zon.nix
rm -f build.zig.zon build.zig.zon.nix

View File

@@ -4,7 +4,7 @@
callPackage, callPackage,
fetchFromSourcehut, fetchFromSourcehut,
pkg-config, pkg-config,
river, river-classic,
wayland, wayland,
wayland-protocols, wayland-protocols,
wayland-scanner, wayland-scanner,
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
river river-classic
wayland wayland
wayland-protocols wayland-protocols
wayland-scanner wayland-scanner

View File

@@ -2048,6 +2048,7 @@ mapAliases {
riko4 = throw "'riko4' has been removed as it was unmaintained, failed to build and dependend on outdated libraries"; # Added 2025-05-18 riko4 = throw "'riko4' has been removed as it was unmaintained, failed to build and dependend on outdated libraries"; # Added 2025-05-18
rippled = throw "rippled has been removed as it was broken and had not been updated since 2022"; # Added 2024-11-25 rippled = throw "rippled has been removed as it was broken and had not been updated since 2022"; # Added 2024-11-25
rippled-validator-keys-tool = throw "rippled-validator-keys-tool has been removed as it was broken and had not been updated since 2022"; # Added 2024-11-25 rippled-validator-keys-tool = throw "rippled-validator-keys-tool has been removed as it was broken and had not been updated since 2022"; # Added 2024-11-25
river = throw "'river' has been renamed to/replaced by 'river-classic'"; # Added 2025-08-30
rke2_1_29 = throw "'rke2_1_29' has been removed from nixpkgs as it has reached end of life"; # Added 2025-05-05 rke2_1_29 = throw "'rke2_1_29' has been removed from nixpkgs as it has reached end of life"; # Added 2025-05-05
rke2_testing = throw "'rke2_testing' has been removed from nixpkgs as the RKE2 testing channel no longer serves releases"; # Added 2025-06-02 rke2_testing = throw "'rke2_testing' has been removed from nixpkgs as the RKE2 testing channel no longer serves releases"; # Added 2025-06-02
rl_json = tclPackages.rl_json; # Added 2025-05-03 rl_json = tclPackages.rl_json; # Added 2025-05-03