diff options
author | Freya Murphy <freya@freyacat.org> | 2025-06-30 13:09:53 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-06-30 13:09:53 -0400 |
commit | 3e4c64efda269632cf573c79cd297b802c9bb8fa (patch) | |
tree | 91472685b0f145aa003c505e2f8e4ae4c13af9ad | |
parent | update pkgs imports (diff) | |
download | dotfiles-nix-3e4c64efda269632cf573c79cd297b802c9bb8fa.tar.gz dotfiles-nix-3e4c64efda269632cf573c79cd297b802c9bb8fa.tar.bz2 dotfiles-nix-3e4c64efda269632cf573c79cd297b802c9bb8fa.zip |
add ly display manager
-rw-r--r-- | home/zsh/zprofile | 6 | ||||
-rw-r--r-- | hosts/kaworu/default.nix | 1 | ||||
-rw-r--r-- | hosts/shinji/default.nix | 1 | ||||
-rw-r--r-- | hosts/thinkpad/default.nix | 1 | ||||
-rw-r--r-- | modules/desktops/default.nix | 2 | ||||
-rw-r--r-- | modules/desktops/hyprland/default.nix | 6 | ||||
-rw-r--r-- | modules/desktops/ly.nix | 55 | ||||
-rw-r--r-- | modules/desktops/sway/default.nix | 9 |
8 files changed, 75 insertions, 6 deletions
diff --git a/home/zsh/zprofile b/home/zsh/zprofile index db63dd2..fc0fd72 100644 --- a/home/zsh/zprofile +++ b/home/zsh/zprofile @@ -3,9 +3,3 @@ if [ -n "$TMUX" ]; then return fi - -# only launch hyprland on tty 1 -if [ -z "${WAYLAND_DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then - export XDG_CURRENT_DESKTOP=Hyprland - exec Hyprland -fi diff --git a/hosts/kaworu/default.nix b/hosts/kaworu/default.nix index 18bfc8e..ab336f7 100644 --- a/hosts/kaworu/default.nix +++ b/hosts/kaworu/default.nix @@ -26,6 +26,7 @@ desktops = { enable = true; hyprland = true; + ly = true; }; development = { c = true; diff --git a/hosts/shinji/default.nix b/hosts/shinji/default.nix index 8051429..543936e 100644 --- a/hosts/shinji/default.nix +++ b/hosts/shinji/default.nix @@ -48,6 +48,7 @@ desktops = { enable = true; hyprland = true; + ly = true; }; development = { c = true; diff --git a/hosts/thinkpad/default.nix b/hosts/thinkpad/default.nix index 754b330..4f10489 100644 --- a/hosts/thinkpad/default.nix +++ b/hosts/thinkpad/default.nix @@ -26,6 +26,7 @@ desktops = { enable = true; hyprland = true; + ly = true; }; gaming = { homestuck = true; diff --git a/modules/desktops/default.nix b/modules/desktops/default.nix index 974ec89..16406c9 100644 --- a/modules/desktops/default.nix +++ b/modules/desktops/default.nix @@ -11,12 +11,14 @@ in { imports = [ ./hyprland ./sway + ./ly.nix ./wayland.nix ]; options.desktops = { enable = mkEnableOption "Enable baseline desktop utils and programs."; wayland = mkEnableOption "Enable wayland desktop components."; + ly = mkEnableOption "Install the ly display manager."; hyprland = mkEnableOption "Install the Hyprland desktop."; sway = mkEnableOption "Install the sway desktop."; }; diff --git a/modules/desktops/hyprland/default.nix b/modules/desktops/hyprland/default.nix index d001814..f2b031b 100644 --- a/modules/desktops/hyprland/default.nix +++ b/modules/desktops/hyprland/default.nix @@ -33,6 +33,12 @@ in { }; }; + programs.hyprland = { + enable = true; + package = inputs.hyprland.packages.${system}.hyprland; + portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland; + }; + home-manager.users.${config.user} = { wayland.windowManager.hyprland = { enable = true; diff --git a/modules/desktops/ly.nix b/modules/desktops/ly.nix new file mode 100644 index 0000000..6cde7f5 --- /dev/null +++ b/modules/desktops/ly.nix @@ -0,0 +1,55 @@ + +{ + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkIf; + cfg = config.desktops; +in { + config = mkIf cfg.ly { + + # display manager + services.displayManager.ly = { + enable = true; + settings = let + base = "0x00${config.theme.colors.base}"; + text = "0x00${config.theme.colors.text}"; + error = "0x00${config.theme.colors.error}"; + save_file = pkgs.writeText "ly-prefs" '' + ${config.user} + 0 + ''; + in { + # general + clear_password = true; + default_input = "password"; + numlock = true; + hide_f1_commands = true; + # state (evil) + tty = 1; + save = false; + load = true; + save_file = toString save_file; + # background + bg = base; + error_bg = base; + blank_box = false; + # foreground + fg = text; + error_fg = error; + border_fg = text; + }; + }; + + # disable default login on tty 1 + systemd.services."autovt@tty1".enable = false; + systemd.services."getty@tty1".enable = false; + + # fix env not being set + systemd.services.display-manager = { + environment.XDG_CURRENT_DESKTOP = "X-NIXOS-SYSTEMD-AWARE"; + }; + }; +} diff --git a/modules/desktops/sway/default.nix b/modules/desktops/sway/default.nix index 299b43e..9ee79de 100644 --- a/modules/desktops/sway/default.nix +++ b/modules/desktops/sway/default.nix @@ -25,6 +25,15 @@ in { ]; }; + programs.sway = { + enable = true; + package = pkgs.swayfx; + wrapperFeatures = { + base = false; + gtk = false; + }; + }; + home-manager.users.${config.user} = { wayland.windowManager.sway = { enable = true; |