greetd: use proper package for greetd

This commit is contained in:
DashieTM 2024-05-12 23:29:35 +02:00
parent 52d35e019d
commit 4d957a817a
23 changed files with 484 additions and 373 deletions

View file

@ -1,5 +1,4 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
openssl

View file

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
{
# Bootloader.
boot.loader.systemd-boot.enable = true;
@ -55,7 +55,6 @@
packages = with pkgs; [
home-manager
xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
];
# this password will only last for the first login
# e.g. login, then change to whatever else, this also ensures no public hash is available
@ -63,4 +62,41 @@
};
system.stateVersion = "unstable";
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
fileSystems."/" =
{
device = "/dev/disk/by-label/ROOT";
fsType = "btrfs";
options = [
"noatime"
"nodiratime"
"discard"
];
};
fileSystems."/boot" =
{
device = "/dev/disk/by-label/BOOT";
fsType = "vfat";
options = [ "rw" "fmask=0022" "dmask=0022" "noatime" ];
};
fileSystems."/home" =
{
device = "/dev/disk/by-label/HOME";
fsType = "btrfs";
options = [
"noatime"
"nodiratime"
"discard"
];
};
swapDevices =
[{ device = "/dev/disk/by-label/SWAP"; }];
boot.kernelParams = [
"resume=\"PARTLABEL=SWAP\""
] ++ config.programs.boot.boot_params;
}

View file

@ -1,53 +1,65 @@
{ pkgs
{ inputs
, lib
, config
, pkgs
, ...
}: {
# greetd display manager
services.greetd =
let
session = {
command = "${pkgs.hyprland}/bin/Hyprland --config /home/dashie/.config/hypr/hyprgreet.conf";
user = "dashie";
};
in
}:
let
regreet_override = pkgs.greetd.regreet.overrideAttrs (final: prev: {
SESSION_DIRS = "${config.services.xserver.displayManager.sessionData.desktops}/share";
});
session = {
command = "${lib.getExe pkgs.hyprland} --config /etc/greetd/hyprgreet.conf";
user = "dashie";
};
in
{
imports = [
inputs.hyprland.nixosModules.default
];
services.xserver.displayManager.session = [
{
enable = true;
settings = {
terminal.vt = 1;
default_session = session;
initial_session = session;
};
};
programs.regreet = {
manage = "desktop";
name = "Hyprland";
start = ''
${lib.getExe pkgs.hyprland} & waitPID=$!
'';
}
];
# greetd display manager
programs.hyprland.enable = true;
services.greetd = {
enable = true;
settings = {
background = {
fit = "Contain";
};
env = {
QT_QPA_PLATFORMTHEME = "qt5ct";
PATH = "/home/dashie/.cargo/bin:PATH";
};
GTK = {
application_prefer_dark_theme = true;
cursor_theme_name = "Adwaita";
icon_theme_name = "Adwaita";
theme_name = "adw-gtk3";
command = {
reboot = [ "systemctl" "reboot" ];
poweroff = [ "systemctl" "poweroff" ];
};
};
terminal.vt = 1;
default_session = session;
};
};
environment.etc."greetd/environments".text = ''
Hyprland
'';
environment.etc."greetd/hyprgreet.conf".text = ''
exec-once=gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
monitor=${config.programs.ironbar.monitor},3440x1440@180,0x0,1
monitor=_,disable
input {
force_no_accel = true
}
misc {
disable_splash_rendering = true
disable_hyprland_logo = true
}
exec-once=regreet --style /home/dashie/.config/gtk-3.0/gtk.css; hyprctl dispatch exit
'';
# unlock GPG keyring on login
security.pam.services.greetd.enableGnomeKeyring = true;
}