blob: 081b6346c248ca210da643ae4c7c0280e7f7ab93 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
{ config, pkgs, lib, flakeInputs, ... }:
let
gkleenConfig = config.home-manager.users."gkleen";
toIni = lib.generators.toINI {
mkKeyValue =
key: value:
let
value' = if lib.isBool value then lib.boolToString value else toString value;
in
"${lib.escape [ "=" ] key}=${value'}";
};
toDconfIni = let
gvariant = import (flakeInputs.home-manager + "/modules/lib/gvariant.nix") { inherit lib; };
mkIniKeyValue = key: value: "${key}=${toString (gvariant.mkValue value)}";
in lib.generators.toINI { mkKeyValue = mkIniKeyValue; };
in {
config = {
services.greetd = {
enable = true;
settings.default_session.command = lib.getExe (pkgs.writeShellApplication {
name = "sway";
runtimeInputs = [ pkgs.sway pkgs.fontconfig ];
runtimeEnv = {
XDG_DATA_DIRS = lib.makeSearchPath "share" [
pkgs.equilux-theme pkgs.paper-icon-theme pkgs.fira
];
QT_PLUGIN_PATH = lib.makeSearchPath (pkgs.qt6.qtbase.qtPluginPrefix) [
pkgs.qt6Packages.qtbase
];
QML2_IMPORT_PATH = lib.makeSearchPath (pkgs.qt6.qtbase.qtQmlPrefix) [
pkgs.qt6Packages.qtbase
];
QT_QPA_PLATFORMTHEME = "gtk3";
XDG_CONFIG_DIR = pkgs.symlinkJoin {
name = "config";
paths = [
(pkgs.writeTextDir "gtk-3.0/settings.ini" (toIni {
Settings = {
gtk-font-name = "Fira Sans 10";
gtk-theme-name = "Equilux-compact";
gtk-icon-theme-name = "Paper-Mono-Dark";
};
}))
];
};
# XDG_CACHE_HOME = "/var/cache/greetd/greeter";
# XDG_CONFIG_HOME = "/var/cache/greetd/greeter/config";
};
text = ''
exec &>/tmp/sway-$$.log
unset MANAGERPID SYSTEMD_EXEC_PID
# ${lib.getExe' pkgs.coreutils "mkdir"} -p ''${XDG_CONFIG_HOME}/dconf
${lib.getExe pkgs.dconf} load / < ${pkgs.writeText "dconf.ini" (toDconfIni {
"org/gnome/desktop/interface" = {
"color-scheme" = "prefer-dark";
"font-name" = "Fira Sans 10";
"gtk-theme" = "Equilux-compact";
"icon-theme" = "Paper-Mono-Dark";
};
})}
exec sway --unsupported-gpu --config ${pkgs.writeText "sway-config" ''
exec "${lib.getExe' config.systemd.package "systemctl"} --user import-environment {,WAYLAND_}DISPLAY SWAYSOCK; ${lib.getExe gkleenConfig.programs.quickshell.package} --path ${gkleenConfig.xdg.configFile."quickshell".source}/displaymanager.qml; swaymsg exit"
input type:keyboard {
xkb_layout "us,us"
xkb_variant "dvp,"
xkb_options "compose:caps,grp:win_space_toggle"
}
output eDP-1 scale 1.5
''}
'';
});
};
# security.pam.services.greetd.fprintAuth = false;
systemd.services.greetd.serviceConfig = {
ExecStartPre = ''${lib.getExe' pkgs.coreutils "install"} -d -o greeter -g greeter -m 0700 ''${CACHE_DIRECTORY}/greeter'';
# CacheDirectory = "greetd";
};
users.users.greeter = {
home = "/var/lib/greeter";
createHome = true;
};
};
}
|