WIP greetd
This commit is contained in:
@@ -1,11 +1,22 @@
|
|||||||
# https://github.com/glabrie/dotfiles/blob/main/modules/system/settings/greetd.nix
|
# https://github.com/glabrie/dotfiles/blob/main/modules/system/settings/greetd.nix
|
||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
flake.modules.nixos.greetd = { pkgs, lib, ... }: {
|
flake.modules.nixos.greetd = { pkgs, lib, config, ... }:
|
||||||
|
let
|
||||||
|
niriPackage = if config.programs.niri.enable then config.programs.niri.package else pkgs.niri;
|
||||||
|
greeterNiriConfig = pkgs.writeText "niri-greeter.kdl" ''
|
||||||
|
spawn-sh-at-startup "regreet; niri msg action quit --skip-confirmation"
|
||||||
|
hotkey-overlay {
|
||||||
|
skip-at-startup
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
programs.regreet.enable = true;
|
||||||
|
|
||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command = "${lib.getExe pkgs.tuigreet} --time --remember --cmd niri-session";
|
command = "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe niriPackage} --config ${greeterNiriConfig}";
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,32 +2,12 @@
|
|||||||
flake.modules.nixos.niri = { pkgs, lib, ... }:
|
flake.modules.nixos.niri = { pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
niriPkg = self.packages.${pkgs.stdenv.hostPlatform.system}.myNiri;
|
niriPkg = self.packages.${pkgs.stdenv.hostPlatform.system}.myNiri;
|
||||||
greeterNiriConfig = pkgs.writeText "niri-greeter.kdl" ''
|
|
||||||
spawn-at-startup "regreet"
|
|
||||||
binds {}
|
|
||||||
input {}
|
|
||||||
layout {}
|
|
||||||
'';
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.niri = {
|
programs.niri = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = niriPkg;
|
package = niriPkg;
|
||||||
};
|
};
|
||||||
programs.regreet.enable = true;
|
|
||||||
services.greetd = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
default_session = {
|
|
||||||
command = ''
|
|
||||||
${pkgs.dbus}/bin/dbus-run-session \
|
|
||||||
${lib.getExe niriPkg} \
|
|
||||||
--config ${greeterNiriConfig}
|
|
||||||
'';
|
|
||||||
user = "root";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
systemd.user.services.niri.enableDefaultPath = false;
|
systemd.user.services.niri.enableDefaultPath = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
# import any other modules from here
|
# import any other modules from here
|
||||||
imports = [
|
imports = [
|
||||||
self.modules.nixos.omenHardware
|
self.modules.nixos.omenHardware
|
||||||
|
self.modules.nixos.greetd
|
||||||
self.modules.nixos.niri
|
self.modules.nixos.niri
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user