feat(niri): giving niri a test drive
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
@@ -9,8 +10,11 @@ let
|
||||
mkEnableOption
|
||||
mkOption
|
||||
types
|
||||
mkMerge
|
||||
;
|
||||
cfg = config.nixos.services.greetd;
|
||||
hyprcfg = config.nixos.programs.hyprland;
|
||||
niricfg = config.nixos.programs.niri;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
@@ -28,21 +32,47 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.greetd =
|
||||
let
|
||||
session = {
|
||||
command = "${lib.getExe config.programs.uwsm.package} start hyprland-uwsm.desktop";
|
||||
user = cfg.user;
|
||||
config =
|
||||
let
|
||||
usernames = builtins.attrNames config.home-manager.users;
|
||||
username = builtins.head usernames;
|
||||
in
|
||||
mkMerge [
|
||||
(mkIf cfg.enable { services.greetd.enable = true; })
|
||||
|
||||
(mkIf hyprcfg.enable {
|
||||
services.greetd =
|
||||
let
|
||||
session = {
|
||||
command = "${lib.getExe config.programs.uwsm.package} start hyprland-uwsm.desktop";
|
||||
user = cfg.user;
|
||||
};
|
||||
in
|
||||
{
|
||||
settings = {
|
||||
terminal.vt = 1;
|
||||
default_session = session;
|
||||
initial_session = session;
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf niricfg.enable {
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
tuigreet_session =
|
||||
let
|
||||
session = "${pkgs.niri-unstable}/bin/niri-session";
|
||||
tuigreet = "${lib.getExe pkgs.tuigreet}";
|
||||
in
|
||||
{
|
||||
command = "${tuigreet} --time --remember --cmd ${session}";
|
||||
user = "greeter";
|
||||
};
|
||||
default_session = tuigreet_session;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
settings = {
|
||||
terminal.vt = 1;
|
||||
default_session = session;
|
||||
initial_session = session;
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user