add package for 'biri', a fork of niri with PRs merged

This commit is contained in:
greyweather committed 2026-09-03 14:05:42 +01:00
1 parent a5d0f522da
commit f9e9f7e817
7 files changed
+164 -1

No files matched your search

+5
View File
@@ -61,6 +61,7 @@ layout {
default-column-width default-column-width
center-focused-column "never" center-focused-column "never"
always-center-single-column always-center-single-column
empty-workspace-above-first
} }
cursor { cursor {
xcursor-theme "Bibata-Modern-Ice" xcursor-theme "Bibata-Modern-Ice"
@@ -107,6 +108,9 @@ binds {
Mod+Shift+WheelScrollUp { focus-workspace-up; } Mod+Shift+WheelScrollUp { focus-workspace-up; }
Mod+Shift+WheelScrollDown { focus-workspace-down; } Mod+Shift+WheelScrollDown { focus-workspace-down; }
Mod+equal { set-column-width "+2%"; }
Mod+minus { set-column-width "-2%"; }
Mod+Shift+Up { move-window-to-workspace-up; } Mod+Shift+Up { move-window-to-workspace-up; }
Mod+Shift+Down { move-window-to-workspace-down; } Mod+Shift+Down { move-window-to-workspace-down; }
Mod+Shift+Left { move-column-left; } Mod+Shift+Left { move-column-left; }
@@ -144,6 +148,7 @@ window-rule { // Steam windows float (excluding main window)
exclude title=r#"^notificationtoasts_\d+_desktop$"# exclude title=r#"^notificationtoasts_\d+_desktop$"#
default-window-height { proportion 0.5; } default-window-height { proportion 0.5; }
open-floating true open-floating true
open-focused true
} }
window-rule { window-rule {
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"# match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
Generated
+17
View File
@@ -251,6 +251,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-26-05": {
"locked": {
"lastModified": 1788297115,
"narHash": "sha256-Z+vUNbfd2FIKkWOTkcT7RYlh3oFCnig/d2eXD1SWf2E=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a3116115851d68b8952a2a4221cc25a84e56b532",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1785031560, "lastModified": 1785031560,
@@ -319,6 +335,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"import-tree": "import-tree", "import-tree": "import-tree",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-26-05": "nixpkgs-26-05",
"noctalia": "noctalia", "noctalia": "noctalia",
"spicetify": "spicetify", "spicetify": "spicetify",
"stylix": "stylix" "stylix": "stylix"
+2
View File
@@ -4,6 +4,8 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-26-05.url = "github:nixos/nixpkgs/nixos-26.05";
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
import-tree.url = "github:vic/import-tree"; import-tree.url = "github:vic/import-tree";
+67
View File
@@ -0,0 +1,67 @@
{ inputs, self, ... }: {
perSystem = { system, ... }: let
pkgs = import inputs.nixpkgs {
inherit system;
overlays = [
(final: prev: {
libdisplay-info = inputs.nixpkgs-26-05.legacyPackages.${system}.libdisplay-info;
})
];
config = { };
};
in {
devShells.niri = with pkgs; mkShell {
name = "niri-dev-shell";
strictDeps = true;
buildInputs = with pkgs; [
llvmPackages_latest.llvm
glib
libsysprof-capture
pcre2
libffi
util-linux
selinuxPackages.libselinux
pipewire
systemd
seatd
pango
libdisplay-info
libinput
libxkbcommon
libglvnd
libgbm
wayland
dbus
];
nativeBuildInputs = [
rustc
cargo
pkg-config
rustPlatform.bindgenHook
];
env = {
# Force linking with libEGL and libwayland-client
# so they can be discovered by `dlopen()`
RUSTFLAGS = toString (
map (arg: "-C link-arg=" + arg) [
"-Wl,--push-state,--no-as-needed"
"-lEGL"
"-lwayland-client"
"-Wl,--pop-state"
]
);
# Upstream recommends setting the commit hash manually when in a
# build environment where the Git repository is unavailable.
# See https://github.com/niri-wm/niri/wiki/Packaging-niri#version-string
NIRI_BUILD_COMMIT = "barrulus/biri";
};
RUST_SRC_PATH = "${pkgs.rustPlatform.rustLibSrc}";
};
};
}
+17
View File
@@ -0,0 +1,17 @@
{ inputs, self, ... }: {
perSystem = { pkgs, ... }: {
devShells.rust = with pkgs; mkShell {
name = "rust-dev-shell";
strictDeps = true;
nativeBuildInputs = [
rustc
cargo
pkg-config
rustPlatform.bindgenHook
];
RUST_SRC_PATH = "${rustPlatform.rustLibSrc}";
};
};
}
+16 -1
View File
@@ -17,11 +17,25 @@
]; ];
info = { info = {
rootPath = "/home/grey/flake"; userName = "grey";
hostName = "takamaki"; hostName = "takamaki";
rootPath = "/home/grey/flake";
stateVersion = "26.11"; stateVersion = "26.11";
}; };
programs.sftpman = {
enable = true;
mounts = {
sakamoto = {
host = "sakamoto";
mountDestPath = "/home/grey/mounts/ssh/sakamoto";
mountPoint = "/";
sshKey = "/home/grey/.ssh/id_sakamoto";
user = "grey";
};
};
};
services.gpg-agent = { services.gpg-agent = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''
@@ -71,6 +85,7 @@
extraPackages = with pkgs; [ extraPackages = with pkgs; [
nix-init nix-init
github-desktop github-desktop
self.packages.${stdenv.hostPlatform.system}.biri
]; ];
shellScripts = let shellScripts = let
+40
View File
@@ -0,0 +1,40 @@
{ inputs, self, ... }: {
perSystem = { pkgs, ... }: {
packages = let
finalAttrs = rec {
name = "${pname}-${version}";
pname = "biri";
version = "26.04";
src = pkgs.fetchFromGitHub {
owner = "barrulus";
repo = pname;
rev = "82efb3c0fb688a0c738d15517a2e6a44ed7ca703";
hash = "sha256-Gg4UHnugGnVZifxfKRUnxt3T+DSPgUvHEfE9tflA5zM=";
};
cargoHash = "sha256-aNovCzrTtmqTO33YtZap47npdN73zXC1bap5q5dZvZk=";
};
overrideAttrs = with pkgs; prev: {
rustPlatform = prev.rustPlatform // {
buildRustPackage = args: pkgs.rustPlatform.buildRustPackage (args finalAttrs // finalAttrs);
};
};
in {
biri = pkgs.niri.override (prev: overrideAttrs prev);
biri-unwrapped = pkgs.niri.override (prev: (overrideAttrs prev) // {
rustPlatform = (overrideAttrs prev).rustPlatform // {
buildRustPackage = args: pkgs.rustPlatform.buildRustPackage (args finalAttrs // {
postInstall = ''
install -Dm0644 README.md resources/default-config.kdl -t $doc/share/doc/niri
mv docs/wiki $doc/share/doc/niri/wiki
cp -r . $out
'';
});
};
});
};
};
}