Files
lidm/INSTALL.md

3.3 KiB

Index

Caution

I encourage you to read the manual installation steps to understand what will get installed in your computer by this package.

Installing from Source

Firstly, you'll need to build the package, this also includes man pages, default config, themes and other files you might need.

To build it you only need to have some basic packages (should come pre-installed in almost all distros): make, gcc or another gccish compiler, and libpam headers. If it builds, it surely works anyways.

git clone https://github.com/javalsai/lidm.git
cd lidm
make # 👍

Note

There's pre-built binaries on the releases tab too.

Then you can install the files onto your filesystem with:

make install

And additionally, to install service files (start-up behavior). more docs

# automatically detects your init system
# and install service file (for tty7)
make install-service

# or if you don't like autodetection
make install-service-systemd # systemd
make install-service-dinit # dinit
make install-service-runit # runit (/etc/sv)
make install-service-runit-etc # runit (/etc/runit/sv)
make install-service-openrc # openrc
make install-service-s6 # s6 (/etc/sv)
make install-service-s6-etc # s6 (/etc/s6/sv)

#  For runit and s6, some distros (e.g. Artix) like to put it in /etc/<init>/sv
# to better isolate their packages while other distros (e.g. Void) just put it
# in /etc/sv

AUR

AUR packages will automatically install most files.

Caution

service files have to be manually installed by now.

Nix Flake

You can install by doing

nix profile install github:javalsai/lidm

or try it out without installing by:

nix run github:javalsai/lidm

Caution

This doesn't include service files neither

Nix Module

Sidenote

The nix module lacks on several aspects, if you know much about nix and know how to improve this package, feel free to open an issue or a PR to help. The nix package maintainer position is open too.

Lidm includes a nix module in assets/pkg/nix/module.nix that you can add (along the included nix files) and import in your configuration.nix.

Once imported you'll need to add:

services.displayManager.enable = true;
systemd.services.lidm.enable = true;

Optionally, you can configure it setting services.lidm.config. You can either pass:

  • A string to copy the config from a theme in themes/ with said name (name, e.g "cherry").
  • An attribute tree with the same names as the config file, e.g:
with config.lidm.keysEnum; {
    strings = {
        f_poweroff = "custom_poweroff";
    };

    behavior = {
        include_defshell = true;
        source = [
            "path1"
            "path2"
        ];
    };

    functions = { poweroff = F1; };

    # etc...
};

it's not necessary to cover all keys and anything can be put there, even if its not valid config

Note

service files are included and enabled