74 lines
1.5 KiB
Nix
74 lines
1.5 KiB
Nix
{
|
|
mainUser,
|
|
inputs,
|
|
getFlakePkg',
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
niri = (getFlakePkg' inputs.niri "niri-unstable");
|
|
xwayland-satellite = (getFlakePkg' inputs.niri "xwayland-satellite-unstable");
|
|
inherit (config) rice;
|
|
in
|
|
{
|
|
imports = [
|
|
inputs.niri.nixosModules.niri
|
|
inputs.niri-tag.nixosModules.niri-tag
|
|
];
|
|
user.desktops.niri = {
|
|
enable = true;
|
|
config =
|
|
let
|
|
template = builtins.readFile ./niri.kdl;
|
|
baseConfig =
|
|
with rice;
|
|
lib.replaceStrings
|
|
[
|
|
"%CURSOR%"
|
|
"%ROUNDING%"
|
|
"%GAPS%"
|
|
"%BORDER%"
|
|
"%ACTIVE%"
|
|
"%INACTIVE%"
|
|
"%SATELLITE%"
|
|
]
|
|
[
|
|
cursor.name
|
|
(toString borders.rounding)
|
|
(toString borders.gaps)
|
|
(toString borders.thickness)
|
|
palette.shortHex.bright.yellow
|
|
palette.shortHex.normal.yellow
|
|
(lib.getExe xwayland-satellite)
|
|
]
|
|
template;
|
|
in
|
|
baseConfig;
|
|
};
|
|
user.packages = [
|
|
niri
|
|
xwayland-satellite
|
|
];
|
|
services.greetd = {
|
|
enable = true;
|
|
restart = false;
|
|
settings =
|
|
let
|
|
session = {
|
|
command = "niri-session";
|
|
user = "${mainUser}";
|
|
};
|
|
in
|
|
{
|
|
default_session = session;
|
|
initial_session = session;
|
|
};
|
|
};
|
|
programs.niri = {
|
|
enable = true;
|
|
package = niri;
|
|
};
|
|
services.niri-tag.enable = true;
|
|
|
|
}
|