diff options
Diffstat (limited to 'hosts/sif')
-rw-r--r-- | hosts/sif/default.nix | 4 | ||||
-rw-r--r-- | hosts/sif/greetd/default.nix | 123 | ||||
-rw-r--r-- | hosts/sif/greetd/wallpaper.png | bin | 6073128 -> 0 bytes |
3 files changed, 85 insertions, 42 deletions
diff --git a/hosts/sif/default.nix b/hosts/sif/default.nix index ed85ca17..952b95f9 100644 --- a/hosts/sif/default.nix +++ b/hosts/sif/default.nix | |||
@@ -655,7 +655,7 @@ in { | |||
655 | "org.freedesktop.impl.portal.OpenFile" = ["gtk"]; | 655 | "org.freedesktop.impl.portal.OpenFile" = ["gtk"]; |
656 | "org.freedesktop.impl.portal.Access" = ["gtk"]; | 656 | "org.freedesktop.impl.portal.Access" = ["gtk"]; |
657 | "org.freedesktop.impl.portal.Notification" = ["gtk"]; | 657 | "org.freedesktop.impl.portal.Notification" = ["gtk"]; |
658 | "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"]; | 658 | "org.freedesktop.impl.portal.Secret" = ["none"]; |
659 | "org.freedesktop.impl.portal.Inhibit" = ["none"]; | 659 | "org.freedesktop.impl.portal.Inhibit" = ["none"]; |
660 | }; | 660 | }; |
661 | }; | 661 | }; |
@@ -684,7 +684,7 @@ in { | |||
684 | timezone = true; | 684 | timezone = true; |
685 | }; | 685 | }; |
686 | 686 | ||
687 | security.pam.services.gtklock = {}; | 687 | security.pam.services.quickshell = {}; |
688 | 688 | ||
689 | home-manager.sharedModules = [ flakeInputs.nixVirt.homeModules.default ]; | 689 | home-manager.sharedModules = [ flakeInputs.nixVirt.homeModules.default ]; |
690 | 690 | ||
diff --git a/hosts/sif/greetd/default.nix b/hosts/sif/greetd/default.nix index 37ca13c5..081b6346 100644 --- a/hosts/sif/greetd/default.nix +++ b/hosts/sif/greetd/default.nix | |||
@@ -1,49 +1,92 @@ | |||
1 | { pkgs, ... }: | 1 | { config, pkgs, lib, flakeInputs, ... }: |
2 | { | 2 | |
3 | let | ||
4 | gkleenConfig = config.home-manager.users."gkleen"; | ||
5 | toIni = lib.generators.toINI { | ||
6 | mkKeyValue = | ||
7 | key: value: | ||
8 | let | ||
9 | value' = if lib.isBool value then lib.boolToString value else toString value; | ||
10 | in | ||
11 | "${lib.escape [ "=" ] key}=${value'}"; | ||
12 | }; | ||
13 | toDconfIni = let | ||
14 | gvariant = import (flakeInputs.home-manager + "/modules/lib/gvariant.nix") { inherit lib; }; | ||
15 | mkIniKeyValue = key: value: "${key}=${toString (gvariant.mkValue value)}"; | ||
16 | in lib.generators.toINI { mkKeyValue = mkIniKeyValue; }; | ||
17 | in { | ||
3 | config = { | 18 | config = { |
4 | services.greetd = { | 19 | services.greetd = { |
5 | enable = true; | 20 | enable = true; |
6 | # settings.default_session.command = let | 21 | settings.default_session.command = lib.getExe (pkgs.writeShellApplication { |
7 | # cfg = config.programs.regreet; | 22 | name = "sway"; |
8 | # in pkgs.writeShellScript "greeter" '' | 23 | runtimeInputs = [ pkgs.sway pkgs.fontconfig ]; |
9 | # modprobe -r nvidia_drm | 24 | runtimeEnv = { |
25 | XDG_DATA_DIRS = lib.makeSearchPath "share" [ | ||
26 | pkgs.equilux-theme pkgs.paper-icon-theme pkgs.fira | ||
27 | ]; | ||
28 | QT_PLUGIN_PATH = lib.makeSearchPath (pkgs.qt6.qtbase.qtPluginPrefix) [ | ||
29 | pkgs.qt6Packages.qtbase | ||
30 | ]; | ||
31 | QML2_IMPORT_PATH = lib.makeSearchPath (pkgs.qt6.qtbase.qtQmlPrefix) [ | ||
32 | pkgs.qt6Packages.qtbase | ||
33 | ]; | ||
34 | QT_QPA_PLATFORMTHEME = "gtk3"; | ||
35 | XDG_CONFIG_DIR = pkgs.symlinkJoin { | ||
36 | name = "config"; | ||
37 | paths = [ | ||
38 | (pkgs.writeTextDir "gtk-3.0/settings.ini" (toIni { | ||
39 | Settings = { | ||
40 | gtk-font-name = "Fira Sans 10"; | ||
41 | gtk-theme-name = "Equilux-compact"; | ||
42 | gtk-icon-theme-name = "Paper-Mono-Dark"; | ||
43 | }; | ||
44 | })) | ||
45 | ]; | ||
46 | }; | ||
47 | # XDG_CACHE_HOME = "/var/cache/greetd/greeter"; | ||
48 | # XDG_CONFIG_HOME = "/var/cache/greetd/greeter/config"; | ||
49 | }; | ||
50 | text = '' | ||
51 | exec &>/tmp/sway-$$.log | ||
52 | |||
53 | unset MANAGERPID SYSTEMD_EXEC_PID | ||
54 | |||
55 | # ${lib.getExe' pkgs.coreutils "mkdir"} -p ''${XDG_CONFIG_HOME}/dconf | ||
56 | ${lib.getExe pkgs.dconf} load / < ${pkgs.writeText "dconf.ini" (toDconfIni { | ||
57 | "org/gnome/desktop/interface" = { | ||
58 | "color-scheme" = "prefer-dark"; | ||
59 | "font-name" = "Fira Sans 10"; | ||
60 | "gtk-theme" = "Equilux-compact"; | ||
61 | "icon-theme" = "Paper-Mono-Dark"; | ||
62 | }; | ||
63 | })} | ||
64 | |||
65 | exec sway --unsupported-gpu --config ${pkgs.writeText "sway-config" '' | ||
66 | 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" | ||
10 | 67 | ||
11 | # exec ${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} ${lib.escapeShellArgs cfg.cageArgs} -- ${lib.getExe cfg.package} | 68 | input type:keyboard { |
12 | # ''; | 69 | xkb_layout "us,us" |
70 | xkb_variant "dvp," | ||
71 | xkb_options "compose:caps,grp:win_space_toggle" | ||
72 | } | ||
73 | |||
74 | output eDP-1 scale 1.5 | ||
75 | ''} | ||
76 | ''; | ||
77 | }); | ||
13 | }; | 78 | }; |
14 | systemd.services.greetd.environment = { | 79 | |
15 | XKB_DEFAULT_LAYOUT = "us,us"; | 80 | # security.pam.services.greetd.fprintAuth = false; |
16 | XKB_DEFAULT_VARIANT = "dvp,"; | 81 | |
17 | XKB_DEFAULT_OPTIONS = "compose:caps,grp:win_space_toggle"; | 82 | systemd.services.greetd.serviceConfig = { |
83 | ExecStartPre = ''${lib.getExe' pkgs.coreutils "install"} -d -o greeter -g greeter -m 0700 ''${CACHE_DIRECTORY}/greeter''; | ||
84 | # CacheDirectory = "greetd"; | ||
18 | }; | 85 | }; |
19 | programs.regreet = { | 86 | |
20 | enable = true; | 87 | users.users.greeter = { |
21 | theme = { | 88 | home = "/var/lib/greeter"; |
22 | package = pkgs.equilux-theme; | 89 | createHome = true; |
23 | name = "Equilux-compact"; | ||
24 | }; | ||
25 | iconTheme = { | ||
26 | package = pkgs.paper-icon-theme; | ||
27 | name = "Paper-Mono-Dark"; | ||
28 | }; | ||
29 | font = { | ||
30 | package = pkgs.fira; | ||
31 | name = "Fira Sans"; | ||
32 | # size = 6; | ||
33 | }; | ||
34 | cageArgs = [ "-s" "-m" "last" ]; | ||
35 | settings = { | ||
36 | GTK.application_prefer_dark_theme = true; | ||
37 | widget.clock.format = "%F %H:%M:%S%:z"; | ||
38 | background = { | ||
39 | path = pkgs.runCommand "wallpaper.png" { | ||
40 | buildInputs = with pkgs; [ imagemagick ]; | ||
41 | } '' | ||
42 | magick ${./wallpaper.png} -filter Gaussian -resize 6.25% -define filter:sigma=2.5 -resize 1600% "$out" | ||
43 | ''; | ||
44 | fit = "Cover"; | ||
45 | }; | ||
46 | }; | ||
47 | }; | 90 | }; |
48 | }; | 91 | }; |
49 | } | 92 | } |
diff --git a/hosts/sif/greetd/wallpaper.png b/hosts/sif/greetd/wallpaper.png deleted file mode 100644 index 20fc761a..00000000 --- a/hosts/sif/greetd/wallpaper.png +++ /dev/null | |||
Binary files differ | |||