System Gen229 @ 2026-03-29-17:54:43 by jonas@comfy-station

This commit is contained in:
2026-03-29 17:54:43 +02:00
parent c23e6d9621
commit 7fbc6f180e
5 changed files with 28 additions and 52 deletions

View File

@@ -29,7 +29,8 @@
# hive modules # hive modules
hive.hyprland.enable = true; hive.hyprland.enable = true;
hive.sddm.autologin = "jonas"; hive.hyprland.autologin = "jonas";
hive.kwallet.enable = true;
hive.kwallet.forUsers = ["jonas"]; hive.kwallet.forUsers = ["jonas"];
hive.virt-manager.enable = true; hive.virt-manager.enable = true;
hive.virt-manager.forUsers = ["jonas"]; hive.virt-manager.forUsers = ["jonas"];

View File

@@ -49,6 +49,7 @@
]; ];
# hive modules # hive modules
hive.kwallet.enable = true;
hive.kwallet.forUsers = ["jonas"]; hive.kwallet.forUsers = ["jonas"];
hive.virt-manager.enable = true; hive.virt-manager.enable = true;
hive.virt-manager.forUsers = ["jonas"]; hive.virt-manager.forUsers = ["jonas"];

View File

@@ -1,4 +1,4 @@
{self, ...}: { {
flake.nixosModules.hyprland = { flake.nixosModules.hyprland = {
config, config,
lib, lib,
@@ -9,13 +9,30 @@
in { in {
options.hive.hyprland = with lib; { options.hive.hyprland = with lib; {
enable = mkEnableOption "Enable Hyprland Wayland compositor"; enable = mkEnableOption "Enable Hyprland Wayland compositor";
autologin = mkOption {
type = types.nullOr types.str;
default = null;
description = "The autologin username or null for no autologin.";
};
}; };
imports = [
self.nixosModules.sddm
];
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
hive.sddm.enable = true; services.displayManager = {
hive.sddm.wayland = true; autoLogin.enable = cfg.autologin != null;
autoLogin.user = cfg.autologin;
sddm = {
enable = true;
wayland.enable = true;
};
};
programs.hyprland = {
enable = true;
withUWSM = true;
xwayland.enable = true;
};
services.libinput.enable = true;
services.dbus.enable = true;
xdg.portal = { xdg.portal = {
enable = true; enable = true;
@@ -27,14 +44,7 @@
}; };
environment.systemPackages = with pkgs; [spaceFM]; environment.systemPackages = with pkgs; [spaceFM];
services.udisks2.enable = true; services.udisks2.enable = true;
programs.hyprland = {
enable = true;
withUWSM = true;
xwayland.enable = true;
};
programs.hyprlock.enable = true; programs.hyprlock.enable = true;
security.pam.services.hyprlock = {}; security.pam.services.hyprlock = {};
}; };

View File

@@ -8,6 +8,7 @@
cfg = config.hive.kwallet; cfg = config.hive.kwallet;
in { in {
options.hive.kwallet = { options.hive.kwallet = {
enable = lib.mkEnableOption "Enable kwallet integration with pam.";
forUsers = lib.mkOption { forUsers = lib.mkOption {
type = lib.types.listOf lib.types.str; type = lib.types.listOf lib.types.str;
default = []; default = [];
@@ -17,7 +18,7 @@
}; };
}; };
config = { config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs.kdePackages; [ environment.systemPackages = with pkgs.kdePackages; [
kwallet kwallet
kwalletmanager kwalletmanager

View File

@@ -1,37 +0,0 @@
{
flake.nixosModules.sddm = {
config,
lib,
...
}: let
cfg = config.hive.sddm;
in {
options.hive.sddm = with lib; {
enable = mkEnableOption "Enable SDDM display manager";
autologin = mkOption {
type = types.nullOr types.str;
default = null;
description = "The autologin username or null for no autologin.";
};
wayland = mkEnableOption "Enable Wayland session in SDDM";
};
config = lib.mkIf cfg.enable {
services.xserver.enable = true;
services.xserver = {
xkb.layout = "de";
xkb.variant = "";
xkb.options = "caps:ctrl_modifier";
};
services.displayManager.autoLogin.enable = cfg.autologin != null;
services.displayManager.autoLogin.user = cfg.autologin;
services.libinput.enable = true;
services.dbus.enable = true;
services.displayManager.sddm = {
enable = true;
wayland.enable = cfg.wayland;
};
};
};
}