summaryrefslogtreecommitdiff
path: root/modules/desktops
diff options
context:
space:
mode:
Diffstat (limited to '')
-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
4 files changed, 72 insertions, 0 deletions
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;