summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-06-30 13:09:53 -0400
committerFreya Murphy <freya@freyacat.org>2025-06-30 13:09:53 -0400
commit3e4c64efda269632cf573c79cd297b802c9bb8fa (patch)
tree91472685b0f145aa003c505e2f8e4ae4c13af9ad
parentupdate pkgs imports (diff)
downloaddotfiles-nix-3e4c64efda269632cf573c79cd297b802c9bb8fa.tar.gz
dotfiles-nix-3e4c64efda269632cf573c79cd297b802c9bb8fa.tar.bz2
dotfiles-nix-3e4c64efda269632cf573c79cd297b802c9bb8fa.zip
add ly display manager
-rw-r--r--home/zsh/zprofile6
-rw-r--r--hosts/kaworu/default.nix1
-rw-r--r--hosts/shinji/default.nix1
-rw-r--r--hosts/thinkpad/default.nix1
-rw-r--r--modules/desktops/default.nix2
-rw-r--r--modules/desktops/hyprland/default.nix6
-rw-r--r--modules/desktops/ly.nix55
-rw-r--r--modules/desktops/sway/default.nix9
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;