Ly, a lightweight tui display manager is available in 21.05 stable but I’m not sure how to use it. There is no config like lightdm or greetd that it seems to provide, nor do I find any documentation after searching. Any help is appreciated.
2 Likes
@matthewcroughan can probably help with that
I have a module for it here that is half-complete.
Put simply, ly
doesn’t really work.
You won’t find that it sources .profile
or .xprofile
correctly. It also doesn’t launch sessions/seats properly. It requires a complete rewrite. It is not software that functions correctly.
See the numerous issues here Issues · fairyglade/ly · GitHub
I was hoping to get ly working since tuigreet (greetd) also has issues with xsessions. But, I wasn’t aware about the same issues with ly. Thanks for the info.
Something new on Ly? Does it work, at all?
1 Like
Also interested, just heard about it today and am very intrigued!
mboyea
July 23, 2024, 8:50pm
7
I’m also waiting on more information about this… Been watching for months!
Setting up Ly in NixOS is on my TODO list, but after more important things like fixing my cars and getting my resume out for job interviews and cooking food… Agh but I would work on NixOS all day every day if I could!
I’ll post back here when I find the time to fully investigate. Ly is the slickest looking TUI login out-of-the-box and that’s all I care about for a login manager!
2 Likes
Looks like there’s a module in the works! Seems to be pretty much done?
NixOS:master
← Vonfry:init-ly-module
opened 11:12AM - 20 Mar 24 UTC
## Description of changes
<!--
For package updates please link to a changelo… g or describe changes, this helps your fellow maintainers discover breaking updates.
For new packages please briefly describe the package or provide a link to its homepage.
-->
Tow notes:
1. I updated ly to the unstable one due to the fixes of config reading.
2. I made a wrapper for all ly necessary files which is linked into `/run/current-system/sw/` due to the line length restriction of configator used by ly.
### Test method
#### NixOS Test
`nix-build -A nixosTests.ly <your nixpkgs repo on this pr>`
This is successed.
#### NixOS VM
An example flake is here:
```nix
{
inputs = {
nixpkgs.url = "github:Vonfry/nixpkgs/init-ly-module";
};
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { localSystem = system; };
flakeSpecialConfig = { pkgs, ... }: {
nix = {
package = pkgs.nixFlakes;
registry = {
sys.flake = nixpkgs;
nixpkgs.flake = nixpkgs;
nixos.flake = nixpkgs;
};
channel.enable = false;
nixPath = [ "nixos-config=${./.}" "nixpkgs=${nixpkgs}" ];
extraOptions = ''
flake-registry = /etc/nix/registry.json
experimental-features = nix-command flakes
'';
};
};
nixosConfig = { ... }: {
nixpkgs.hostPlatform = "x86_64-linux";
users.users.alice = {
isNormalUser = true;
description = "Alice Foobar";
password = "foobar";
uid = 1000;
extraGroups = [ "wheel" ];
};
i18n.defaultLocale = "en_US.UTF-8";
time.timeZone = "Asia/Shanghai";
console.keyMap = "dvorak-programmer";
virtualisation.vmVariant.virtualisation.cores = 8;
virtualisation.vmVariant.virtualisation.memorySize = 8192;
services.xserver.enable = true;
services.xserver.displayManager.ly.enable = true;
services.xserver.displayManager.ly.settings = {
load = false;
save = false;
};
services.xserver.displayManager.defaultSession = "none+icewm";
services.xserver.windowManager.icewm.enable = true;
environment.systemPackages = with pkgs; [ vim ];
};
nixosOutputs = {
nixosConfigurations.nixos-desktop = nixpkgs.lib.nixosSystem {
modules = [
flakeSpecialConfig
nixosConfig
];
};
};
in nixosOutputs // {
devShells."${system}".default = pkgs.mkShell {
packages = [ ];
SHARED_DIR = "/tmp/shared";
NIX_DISK_IMAGE = "/tmp/nixos.qcow2";
};
};
}
```
## Things done
- Built on platform(s)
- [x] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- For non-Linux: Is sandboxing enabled in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
- [ ] `sandbox = relaxed`
- [ ] `sandbox = true`
- [ ] Tested, as applicable:
- [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- and/or [package tests](https://nixos.org/manual/nixpkgs/unstable/#sec-package-tests)
- or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)
- made sure NixOS tests are [linked](https://nixos.org/manual/nixpkgs/unstable/#ssec-nixos-tests-linking) to the relevant packages
- [x] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
- [x] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [24.05 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2405.section.md) (or backporting [23.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2305.section.md) and [23.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2311.section.md) Release notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [x] (Module addition) Added a release notes entry if adding a new NixOS module
- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!--
To help with the large amounts of pull requests, we would appreciate your
reviews of other pull requests, especially simple package updates. Just leave a
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions
-->
---
Add a :+1: [reaction] to [pull requests you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc
2 Likes
The PR for the ly module just got merged!
1 Like
Has anyone figured out how to use the merged module? I tried adding services.displayManager.ly.enable = true;
to my config but on rebuild it says the option does not exist.
I am using unstable flake and have run nix flake update.
The option is also not appearing in search.nixos.org ’s module search
https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=services.displayManager.ly
Seems its because it was merged into master instead of unstable?
You need to wait a couple days until it lands in unstable.
1 Like
You can track the status of the PR here: Nixpkgs-tracker
2 Likes
Great link, had no clue that existed!