Loading nixos/modules/module-list.nix +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading nixos/modules/services/display-managers/cosmic-greeter.nix 0 → 100644 +70 −0 Original line number Diff line number Diff line # 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
nixos/modules/module-list.nix +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
nixos/modules/services/display-managers/cosmic-greeter.nix 0 → 100644 +70 −0 Original line number Diff line number Diff line # 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; }; }