docs: add separate install guide

This commit is contained in:
javalsai 2024-09-05 19:05:44 +02:00
parent 7ca864f1d9
commit b18ed23d4d
Signed by: javalsai
SSH Key Fingerprint: SHA256:3G83yKhBUWVABVX/vPWH88xnK4+ptMtHkZGCRXD4Mk8
2 changed files with 67 additions and 32 deletions

64
INSTALL.md Normal file
View File

@ -0,0 +1,64 @@
# Index
* [Index](#index)
* [Installing from Souce](#installing-from-source)
* [AUR](#aur)
* [Nix Flake](#nix-flake)
> \[!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 `gcc`ish compiler, and libpam headers. If it builds, it surely works anyways.
```sh
git clone https://github.com/javalsai/lidm.git
cd lidm
make # 👍
```
> \[!NOTE]
> Theres pre-built binaries on the [releases tab](https://github.com/javalsai/lidm/releases) too.
Then you can install the files onto your filesystem with:
```sh
make install
```
And additionally, to install service files (start-up behavior). <sup>[more docs](./assets/services/README.md)</sup>
```sh
# 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
make install-service-openrc # openrc
make install-service-s6 # s6
```
# AUR
[AUR packages](https://aur.archlinux.org/packages?K=lidm&SeB=n) will automatically install most files.
> [!CAUTION]
> [service files](./assets/pkg/aur#services) have to be manually installed by now.
# Nix Flake
You can install by doing
```sh
nix profile install github:javalsai/lidm
```
or try it out without installing by:
```sh
nix run github:javalsai/lidm
```
> [!CAUTION]
> This doesn't include [service files](./assets/pkg/aur#services) neither

View File

@ -78,36 +78,7 @@ On top of pure intuition:
* PAM, used for user authentication, just what `login` or `su` use internally. Don't worry, it's surely pre-installed.
# Installation
## Manually
* Build the package (you can download automatic builds from the [releases page](https://github.com/javalsai/lidm/releases)):
```sh
git clone https://github.com/javalsai/lidm.git
cd lidm
make # 👍
```
* Install the files (see [configuration](#configuring) for more theming info).
```sh
# place binary in /usr/bin and copy
# default theme to /etc
make install
```
* If you want lidm to run on startup ([manual steps](./assets/services/README.md)):
```sh
# automatically detects init system
# and installs service file (for tty7)
make install-service
# or if you don't like autodetection
make install-service-systemd # systemd
make install-service-dinit # dinit
# ...other supported init systems....
```
## AUR
[AUR packages](https://aur.archlinux.org/packages?K=lidm&SeB=n) will automatically install the binary and config. But I recommend reading [installing manually](#manually) to understand the install process.
> [!CAUTION]
> [service files](./assets/pkg/aur#services) have to be manually installed by now.
Check the [installation guide](./INSTALL.md) to use your prefered installation source.
# Configuring
Copy any `.ini` file from [`themes/`](./themes/) (`default.ini` will always be updated) to `/etc/lidm.ini` and/or configure it to your liking. Also, don't place empty lines (for now). You can also set `LIDM_CONF` environment variable to specify a config path.
@ -123,11 +94,11 @@ The default fg style should disable decorators set up in other elements (cursive
If you want to contribute check the [CONTRIBUTING.md](docs/CONTRIBUTING.md)
# Backstory
Summer travelling to visit family with an old laptop that barely supports x86_64, and ly recently added some avx2 instructions I think (invalid op codes), manually building (any previous commit too) didn't work because of something in the `build.zig` file, so out of boredom I decided to craft up my own simple display manager on the only language this thing can handle... **C** (I hate this and reserve the right for the rust rewrite, actually solid).
Summer travelling to visit family with an old laptop that barely supports x86\_64, and ly recently added some avx2 instructions I think (invalid op codes), manually building (any previous commit too) didn't work because of something in the `build.zig` file, so out of boredom I decided to craft up my own simple display manager on the only language this thing can handle... **C** (I hate this and reserve the right for the rust rewrite, actually solid).
I spedrun it in roughly 3 days and I'm bad af in C, so this is spaghetti code on **another** level. I think it doesn't do almost anything unsafe, I mean, I didn't check allocations and it's capable of reallocating memory until your username uses all memory, crashing the system due to a off-by-one error, but pretty consistent otherwise (probably).
The name is just ly but changing "y" with "i", that had a reason but forgot it, (maybe the i in *simple*), so I remembered this sh*tty laptop with a lid, this thing is also a display manager (dm, ly command is also `ly-dm`), so just did lidm due to all that.
The name is just ly but changing "y" with "i", that had a reason but forgot it, (maybe the i in *simple*), so I remembered this sh\*tty laptop with a lid, this thing is also a display manager (dm, ly command is also `ly-dm`), so just did lidm due to all that.
# Contributors
[![GitHub Contributors](https://contrib.rocks/image?repo=javalsai/lidm&max=20)](https://github.com/javalsai/lidm/graphs/contributors)