Loading nixos/modules/services/desktop-managers/lomiri.nix +86 −63 Original line number Diff line number Diff line { config, pkgs, lib, ... }: { config, pkgs, lib, ... }: let cfg = config.services.desktopManager.lomiri; in { in { options.services.desktopManager.lomiri = { enable = lib.mkEnableOption '' the Lomiri graphical shell (formerly known as Unity8) Loading @@ -11,11 +17,13 @@ in { config = lib.mkIf cfg.enable { environment = { systemPackages = (with pkgs; [ systemPackages = (with pkgs; [ glib # XDG MIME-related tools identify it as GNOME, add gio for MIME identification to work libayatana-common ubports-click ]) ++ (with pkgs.lomiri; [ ]) ++ (with pkgs.lomiri; [ hfd-service history-service libusermetrics Loading Loading @@ -46,7 +54,9 @@ in { ]); # To override the default keyboard layout in Lomiri etc.${pkgs.lomiri.lomiri.passthru.etcLayoutsFile}.text = lib.strings.replaceStrings [","] ["\n"] config.services.xserver.xkb.layout; etc.${pkgs.lomiri.lomiri.passthru.etcLayoutsFile}.text = lib.strings.replaceStrings [ "," ] [ "\n" ] config.services.xserver.xkb.layout; }; hardware = { Loading Loading @@ -84,21 +94,26 @@ in { services.ayatana-indicators = { enable = true; packages = (with pkgs; [ packages = ( with pkgs; [ ayatana-indicator-datetime ayatana-indicator-display ayatana-indicator-messages ayatana-indicator-power ayatana-indicator-session ] ++ lib.optionals config.hardware.bluetooth.enable [ ayatana-indicator-bluetooth ] ++ lib.optionals (config.hardware.pulseaudio.enable || config.services.pipewire.pulse.enable) [ ] ++ lib.optionals config.hardware.bluetooth.enable [ ayatana-indicator-bluetooth ] ++ lib.optionals (config.hardware.pulseaudio.enable || config.services.pipewire.pulse.enable) [ ayatana-indicator-sound ]) ++ (with pkgs.lomiri; [ telephony-service ] ++ lib.optionals config.networking.networkmanager.enable [ lomiri-indicator-network ]); ] ) ++ ( with pkgs.lomiri; [ telephony-service ] ++ lib.optionals config.networking.networkmanager.enable [ lomiri-indicator-network ] ); }; services.udisks2.enable = true; Loading Loading @@ -159,7 +174,13 @@ in { "lomiri-polkit-agent" = rec { description = "Lomiri Polkit agent"; wantedBy = [ "lomiri.service" "lomiri-full-greeter.service" "lomiri-full-shell.service" "lomiri-greeter.service" "lomiri-shell.service" ]; wantedBy = [ "lomiri.service" "lomiri-full-greeter.service" "lomiri-full-shell.service" "lomiri-greeter.service" "lomiri-shell.service" ]; after = [ "graphical-session.target" ]; partOf = wantedBy; serviceConfig = { Loading @@ -172,14 +193,16 @@ in { systemd.services = { "dbus-com.lomiri.UserMetrics" = { serviceConfig = { serviceConfig = { Type = "dbus"; BusName = "com.lomiri.UserMetrics"; User = "usermetrics"; StandardOutput = "syslog"; SyslogIdentifier = "com.lomiri.UserMetrics"; ExecStart = "${pkgs.lomiri.libusermetrics}/libexec/libusermetrics/usermetricsservice"; } // lib.optionalAttrs (!config.security.apparmor.enable) { } // lib.optionalAttrs (!config.security.apparmor.enable) { # Due to https://gitlab.com/ubports/development/core/libusermetrics/-/issues/8, auth must be disabled when not using AppArmor, lest the next database usage breaks Environment = "USERMETRICS_NO_AUTH=1"; }; Loading Loading
nixos/modules/services/desktop-managers/lomiri.nix +86 −63 Original line number Diff line number Diff line { config, pkgs, lib, ... }: { config, pkgs, lib, ... }: let cfg = config.services.desktopManager.lomiri; in { in { options.services.desktopManager.lomiri = { enable = lib.mkEnableOption '' the Lomiri graphical shell (formerly known as Unity8) Loading @@ -11,11 +17,13 @@ in { config = lib.mkIf cfg.enable { environment = { systemPackages = (with pkgs; [ systemPackages = (with pkgs; [ glib # XDG MIME-related tools identify it as GNOME, add gio for MIME identification to work libayatana-common ubports-click ]) ++ (with pkgs.lomiri; [ ]) ++ (with pkgs.lomiri; [ hfd-service history-service libusermetrics Loading Loading @@ -46,7 +54,9 @@ in { ]); # To override the default keyboard layout in Lomiri etc.${pkgs.lomiri.lomiri.passthru.etcLayoutsFile}.text = lib.strings.replaceStrings [","] ["\n"] config.services.xserver.xkb.layout; etc.${pkgs.lomiri.lomiri.passthru.etcLayoutsFile}.text = lib.strings.replaceStrings [ "," ] [ "\n" ] config.services.xserver.xkb.layout; }; hardware = { Loading Loading @@ -84,21 +94,26 @@ in { services.ayatana-indicators = { enable = true; packages = (with pkgs; [ packages = ( with pkgs; [ ayatana-indicator-datetime ayatana-indicator-display ayatana-indicator-messages ayatana-indicator-power ayatana-indicator-session ] ++ lib.optionals config.hardware.bluetooth.enable [ ayatana-indicator-bluetooth ] ++ lib.optionals (config.hardware.pulseaudio.enable || config.services.pipewire.pulse.enable) [ ] ++ lib.optionals config.hardware.bluetooth.enable [ ayatana-indicator-bluetooth ] ++ lib.optionals (config.hardware.pulseaudio.enable || config.services.pipewire.pulse.enable) [ ayatana-indicator-sound ]) ++ (with pkgs.lomiri; [ telephony-service ] ++ lib.optionals config.networking.networkmanager.enable [ lomiri-indicator-network ]); ] ) ++ ( with pkgs.lomiri; [ telephony-service ] ++ lib.optionals config.networking.networkmanager.enable [ lomiri-indicator-network ] ); }; services.udisks2.enable = true; Loading Loading @@ -159,7 +174,13 @@ in { "lomiri-polkit-agent" = rec { description = "Lomiri Polkit agent"; wantedBy = [ "lomiri.service" "lomiri-full-greeter.service" "lomiri-full-shell.service" "lomiri-greeter.service" "lomiri-shell.service" ]; wantedBy = [ "lomiri.service" "lomiri-full-greeter.service" "lomiri-full-shell.service" "lomiri-greeter.service" "lomiri-shell.service" ]; after = [ "graphical-session.target" ]; partOf = wantedBy; serviceConfig = { Loading @@ -172,14 +193,16 @@ in { systemd.services = { "dbus-com.lomiri.UserMetrics" = { serviceConfig = { serviceConfig = { Type = "dbus"; BusName = "com.lomiri.UserMetrics"; User = "usermetrics"; StandardOutput = "syslog"; SyslogIdentifier = "com.lomiri.UserMetrics"; ExecStart = "${pkgs.lomiri.libusermetrics}/libexec/libusermetrics/usermetricsservice"; } // lib.optionalAttrs (!config.security.apparmor.enable) { } // lib.optionalAttrs (!config.security.apparmor.enable) { # Due to https://gitlab.com/ubports/development/core/libusermetrics/-/issues/8, auth must be disabled when not using AppArmor, lest the next database usage breaks Environment = "USERMETRICS_NO_AUTH=1"; }; Loading