mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-11 20:25:32 +03:00
nixos/modules: cosmic-greeter: init
This commit is contained in:
parent
c1236157ef
commit
cd85a8a827
2 changed files with 71 additions and 0 deletions
|
@ -579,6 +579,7 @@
|
|||
./services/development/vsmartcard-vpcd.nix
|
||||
./services/development/zammad.nix
|
||||
./services/display-managers/default.nix
|
||||
./services/display-managers/cosmic-greeter.nix
|
||||
./services/display-managers/greetd.nix
|
||||
./services/display-managers/sddm.nix
|
||||
./services/display-managers/ly.nix
|
||||
|
|
70
nixos/modules/services/display-managers/cosmic-greeter.nix
Normal file
70
nixos/modules/services/display-managers/cosmic-greeter.nix
Normal file
|
@ -0,0 +1,70 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
# SPDX-FileCopyrightText: Lily Foster <lily@lily.flowers>
|
||||
# Portions of this code are adapted from nixos-cosmic
|
||||
# https://github.com/lilyinstarlight/nixos-cosmic
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.displayManager.cosmic-greeter;
|
||||
in
|
||||
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
thefossguy
|
||||
HeitorAugustoLN
|
||||
nyabinary
|
||||
ahoneybun
|
||||
];
|
||||
|
||||
options.services.displayManager.cosmic-greeter = {
|
||||
enable = lib.mkEnableOption "COSMIC greeter";
|
||||
package = lib.mkPackageOption pkgs "cosmic-greeter" { };
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
user = "cosmic-greeter";
|
||||
command = ''${lib.getExe' pkgs.coreutils "env"} XCURSOR_THEME="''${XCURSOR_THEME:-Pop}" systemd-cat -t cosmic-greeter ${lib.getExe pkgs.cosmic-comp} ${lib.getExe cfg.package}'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Daemon for querying background state and such
|
||||
systemd.services.cosmic-greeter-daemon = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
before = [ "greetd.service" ];
|
||||
serviceConfig = {
|
||||
Type = "dbus";
|
||||
BusName = "com.system76.CosmicGreeter";
|
||||
ExecStart = lib.getExe' cfg.package "cosmic-greeter-daemon";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
# The greeter user is hardcoded in `cosmic-greeter`
|
||||
users.groups.cosmic-greeter = { };
|
||||
users.users.cosmic-greeter = {
|
||||
description = "COSMIC login greeter user";
|
||||
isSystemUser = true;
|
||||
home = "/var/lib/cosmic-greeter";
|
||||
createHome = true;
|
||||
group = "cosmic-greeter";
|
||||
};
|
||||
# Setup PAM authentication for the `cosmic-greeter` user
|
||||
security.pam.services.cosmic-greeter = { };
|
||||
|
||||
hardware.graphics.enable = true;
|
||||
services.accounts-daemon.enable = true;
|
||||
services.dbus.packages = [ cfg.package ];
|
||||
services.libinput.enable = true;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue