summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2026-05-28 10:01:38 -0400
committerFreya Murphy <freya@freyacat.org>2026-05-28 10:02:07 -0400
commitc393d0110d578f65f69e426d41d478bc65d6c831 (patch)
tree4b30609f9d542d949483afacdc6f5aff151ee548
parentmake openrgb a full module, have auto select profile on system start (diff)
downloaddotfiles-nix-c393d0110d578f65f69e426d41d478bc65d6c831.tar.gz
dotfiles-nix-c393d0110d578f65f69e426d41d478bc65d6c831.tar.bz2
dotfiles-nix-c393d0110d578f65f69e426d41d478bc65d6c831.zip
add greetd support
-rw-r--r--home/desktops/hyprland/hyprland.lua8
-rw-r--r--hosts/kaworu/default.nix2
-rw-r--r--hosts/shinji/default.nix2
-rw-r--r--hosts/thinkpad/default.nix2
-rw-r--r--lib/home.nix2
-rw-r--r--options.nix15
-rw-r--r--system/default.nix1
-rw-r--r--system/desktops/default.nix1
-rw-r--r--system/login/default.nix6
-rw-r--r--system/login/greetd.nix25
-rw-r--r--system/login/ly.nix (renamed from system/desktops/ly.nix)2
11 files changed, 59 insertions, 7 deletions
diff --git a/home/desktops/hyprland/hyprland.lua b/home/desktops/hyprland/hyprland.lua
index 54a61f4..42a64ee 100644
--- a/home/desktops/hyprland/hyprland.lua
+++ b/home/desktops/hyprland/hyprland.lua
@@ -44,7 +44,7 @@ hl.config({
--[[ MONITORS ]]--
-for _,monitor in pairs(config.monitors) do
+for _,monitor in ipairs(config.monitors) do
local opts = {
scale = monitor.scale,
bitdepth = monitor.bitdepth,
@@ -105,7 +105,7 @@ bind({mod, "J"}, hl.dsp.layout("togglesplit"))
-- Move focus with mod + arrow keys
-- Move window across workspace with mod + arrow keys
-for _,direction in pairs({"left", "right", "up", "down"}) do
+for _,direction in ipairs({"left", "right", "up", "down"}) do
bind({mod, direction}, hy3.move_focus(direction))
bind({mod, "SHIFT", direction}, hy3.move_window(direction))
end
@@ -236,7 +236,7 @@ animation("borderangle", 24, "linear", "loop")
--[[ LAYER RULES ]]--
-- Fix wierd borders
-for _,namespace in pairs({"wofi", "notification"}) do
+for _,namespace in ipairs({"wofi", "notification"}) do
hl.layer_rule({ blur = true, match = { namespace = namespace } })
hl.layer_rule({ ignore_alpha = 0, match = { namespace = namespace } })
end
@@ -305,7 +305,7 @@ hl.config({
--[[ AUTOSTART ]]--
hl.on("hyprland.start", function()
- for _,app in pairs(config.autoRun) do
+ for _,app in ipairs(config.autoRun) do
hl.exec_cmd(app)
end
end)
diff --git a/hosts/kaworu/default.nix b/hosts/kaworu/default.nix
index a39cfe0..4ca386c 100644
--- a/hosts/kaworu/default.nix
+++ b/hosts/kaworu/default.nix
@@ -25,6 +25,8 @@
desktops = {
enable = true;
hyprland.enable = true;
+ };
+ login = {
ly.enable = true;
};
gaming = {
diff --git a/hosts/shinji/default.nix b/hosts/shinji/default.nix
index e22ee91..e7b832a 100644
--- a/hosts/shinji/default.nix
+++ b/hosts/shinji/default.nix
@@ -59,6 +59,8 @@
enable = true;
hyprland.enable = true;
sway.enable = true;
+ };
+ login = {
ly.enable = true;
};
development = {
diff --git a/hosts/thinkpad/default.nix b/hosts/thinkpad/default.nix
index e57214d..b2cc23c 100644
--- a/hosts/thinkpad/default.nix
+++ b/hosts/thinkpad/default.nix
@@ -27,6 +27,8 @@ _: {
desktops = {
enable = true;
hyprland.enable = true;
+ };
+ login = {
ly.enable = true;
};
gaming = {
diff --git a/lib/home.nix b/lib/home.nix
index 4b4ec02..871f5bb 100644
--- a/lib/home.nix
+++ b/lib/home.nix
@@ -31,9 +31,11 @@
apps
browsers
desktops
+ login
gaming
development
virt
+ vpn
autoRun
# Packages
extraPackages
diff --git a/options.nix b/options.nix
index 8424716..4491c2c 100644
--- a/options.nix
+++ b/options.nix
@@ -498,12 +498,25 @@ in {
desktops = {
enable = mkEnableOption "Enable baseline desktop utils and programs.";
wayland.enable = mkEnableOption "Enable wayland desktop components.";
- ly.enable = mkEnableOption "Install the ly display manager.";
hyprland.enable = mkEnableOption "Install the Hyprland desktop.";
sway.enable = mkEnableOption "Install the sway desktop.";
};
#
+ # Login managers
+ #
+ login = {
+ ly.enable = mkEnableOption "Install the ly display manager.";
+ greetd = {
+ enable = mkEnableOption "Enable the greetd login manager.";
+ session = mkOption {
+ description = "Session program to run for greetd";
+ type = lib.types.str;
+ };
+ };
+ };
+
+ #
# Gaming programs to choose from
#
gaming = {
diff --git a/system/default.nix b/system/default.nix
index a8b384d..de4a5f3 100644
--- a/system/default.nix
+++ b/system/default.nix
@@ -16,6 +16,7 @@ in {
./bootloader
./desktops
./gaming
+ ./login
./virt
./amdgpu.nix
./battery.nix
diff --git a/system/desktops/default.nix b/system/desktops/default.nix
index 476dd72..43f2ab3 100644
--- a/system/desktops/default.nix
+++ b/system/desktops/default.nix
@@ -1,7 +1,6 @@
_: {
imports = [
./hyprland.nix
- ./ly.nix
./sway.nix
./wayland.nix
];
diff --git a/system/login/default.nix b/system/login/default.nix
new file mode 100644
index 0000000..befb915
--- /dev/null
+++ b/system/login/default.nix
@@ -0,0 +1,6 @@
+_: {
+ imports = [
+ ./greetd.nix
+ ./ly.nix
+ ];
+}
diff --git a/system/login/greetd.nix b/system/login/greetd.nix
new file mode 100644
index 0000000..74ab666
--- /dev/null
+++ b/system/login/greetd.nix
@@ -0,0 +1,25 @@
+{
+ config,
+ lib,
+ ...
+}: let
+ inherit (lib) mkIf;
+ cfg = config.login.greetd;
+in {
+ config = mkIf cfg.enable {
+ services.greetd = {
+ enable = true;
+ restart = false;
+ settings = let
+ session = {
+ command = cfg.session;
+ user = config.user;
+ };
+ in {
+ terminal.vt = 1;
+ default_session = session;
+ initial_session = session;
+ };
+ };
+ };
+}
diff --git a/system/desktops/ly.nix b/system/login/ly.nix
index 298fc4c..d525333 100644
--- a/system/desktops/ly.nix
+++ b/system/login/ly.nix
@@ -4,7 +4,7 @@
...
}: let
inherit (lib) mkIf;
- cfg = config.desktops.ly;
+ cfg = config.login.ly;
in {
config = mkIf cfg.enable {
# display manager