mirror of
https://github.com/ItsDrike/nixdots
synced 2024-11-14 16:17:17 +00:00
Compare commits
No commits in common. "b930b14cf22b074e4fdd1f1f8175137a661af139" and "934230098ea1aff3932ec0255231969359b0ed6c" have entirely different histories.
b930b14cf2
...
934230098e
|
@ -9,12 +9,12 @@ if [ -d "$HOME/.local/bin" ]; then
|
||||||
PATH+=":${$(find -L ~/.local/bin -type d | tr '\n' ':')%%:}"
|
PATH+=":${$(find -L ~/.local/bin -type d | tr '\n' ':')%%:}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# I'm using a greeter now, so the below is disabled.
|
|
||||||
# Start graphical session automatically on tty1 if Hyprland or startx is available
|
# Start graphical session automatically on tty1 if Hyprland or startx is available
|
||||||
#if [ "$(tty)" = "/dev/tty1" ] && [ "$UID" != 0 ]; then
|
if [ "$(tty)" = "/dev/tty1" ] && [ "$UID" != 0 ]; then
|
||||||
# if command -v Hyprland >/dev/null; then
|
if command -v Hyprland >/dev/null; then
|
||||||
# ! pidof -s Hyprland >/dev/null 2>&1 && Hyprland
|
! pidof -s Hyprland >/dev/null 2>&1 && Hyprland
|
||||||
# elif command -v startx >/dev/null; then
|
elif command -v startx >/dev/null; then
|
||||||
# ! pidof -s Xorg >/dev/null 2>&1 && exec startx "$XINITRC"
|
! pidof -s Xorg >/dev/null 2>&1 && exec startx "$XINITRC"
|
||||||
# fi
|
fi
|
||||||
#fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -125,13 +125,13 @@ in
|
||||||
cursor = {
|
cursor = {
|
||||||
name = mkOption {
|
name = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "BreezeX-RosePine-Linux";
|
default = "catppuccin-mocha-dark-cursors";
|
||||||
description = "The name of the cursor inside the package";
|
description = "The name of the cursor inside the package";
|
||||||
};
|
};
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.rose-pine-cursor;
|
default = pkgs.catppuccin-cursors.mochaDark;
|
||||||
description = "The package providing the cursors";
|
description = "The package providing the cursors";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./login
|
|
||||||
./wayland
|
./wayland
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./greetd.nix
|
|
||||||
./pam.nix
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,58 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf getExe;
|
|
||||||
inherit (lib.strings) concatStringsSep;
|
|
||||||
|
|
||||||
|
|
||||||
deviceType = config.myOptions.device.roles.type;
|
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
|
||||||
|
|
||||||
sessionData = config.services.displayManager.sessionData.desktops;
|
|
||||||
sessionPaths = concatStringsSep ":" [
|
|
||||||
"${sessionData}/share/xsessions"
|
|
||||||
"${sessionData}/share/wayland-sessions"
|
|
||||||
];
|
|
||||||
|
|
||||||
defaultSession = {
|
|
||||||
user = "greeter";
|
|
||||||
command = concatStringsSep " " [
|
|
||||||
(getExe pkgs.greetd.tuigreet)
|
|
||||||
"--time"
|
|
||||||
"--remember"
|
|
||||||
"--remember-user-session"
|
|
||||||
"--asterisks"
|
|
||||||
"--sessions '${sessionPaths}'"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
|
||||||
services.greetd = {
|
|
||||||
enable = true;
|
|
||||||
vt = 2;
|
|
||||||
|
|
||||||
# <https://man.sr.ht/~kennylevinsen/greetd/>
|
|
||||||
settings = {
|
|
||||||
# default session is what will be used if no session is selected
|
|
||||||
# in this case it'll be a TUI greeter
|
|
||||||
default_session = defaultSession;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Suppress error messages on tuigreet. They sometimes obscure the TUI
|
|
||||||
# boundaries of the greeter.
|
|
||||||
# See: https://github.com/apognu/tuigreet/issues/68#issuecomment-1586359960
|
|
||||||
systemd.services.greetd.serviceConfig = {
|
|
||||||
Type = "idle";
|
|
||||||
StandardInputs = "tty";
|
|
||||||
StandardOutput = "tty";
|
|
||||||
StandardError = "journal";
|
|
||||||
TTYReset = true;
|
|
||||||
TTYVHangup = true;
|
|
||||||
TTYVTDisallocate = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
{lib, config, ...}: let
|
|
||||||
inherit (lib) mkIf;
|
|
||||||
deviceType = config.myOptions.device.roles.type;
|
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
|
||||||
in {
|
|
||||||
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
|
||||||
# unlock GPG keyring on login
|
|
||||||
security.pam.services = let
|
|
||||||
gnupg = {
|
|
||||||
enable = true;
|
|
||||||
noAutostart = true;
|
|
||||||
storeOnly = true;
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
login = {
|
|
||||||
enableGnomeKeyring = true;
|
|
||||||
inherit gnupg;
|
|
||||||
};
|
|
||||||
|
|
||||||
greetd = {
|
|
||||||
enableGnomeKeyring = true;
|
|
||||||
inherit gnupg;
|
|
||||||
};
|
|
||||||
|
|
||||||
tuigreet = {
|
|
||||||
enableGnomeKeyring = true;
|
|
||||||
inherit gnupg;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -4,8 +4,6 @@
|
||||||
./mount.nix
|
./mount.nix
|
||||||
./printing.nix
|
./printing.nix
|
||||||
./misc.nix
|
./misc.nix
|
||||||
./logind.nix
|
|
||||||
./gnome-keyring.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
{pkgs, lib, config, ...}: let
|
|
||||||
inherit (lib) mkIf;
|
|
||||||
deviceType = config.myOptions.device.roles.type;
|
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
|
||||||
in {
|
|
||||||
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
|
||||||
services = {
|
|
||||||
udev.packages = with pkgs; [gnome.gnome-settings-daemon];
|
|
||||||
gnome.gnome-keyring.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# seahorse is an application for managing encryption keys
|
|
||||||
# and passwords in the gnome keyring
|
|
||||||
programs.seahorse.enable = true;
|
|
||||||
|
|
||||||
xdg.portal.config.common = {
|
|
||||||
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{lib, config, ...}: let
|
|
||||||
inherit (lib) mkIf;
|
|
||||||
deviceType = config.myOptions.device.roles.type;
|
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
|
||||||
in {
|
|
||||||
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
|
||||||
# despite being under logind, this has nothing to do with login
|
|
||||||
# it's about power management
|
|
||||||
services.logind = {
|
|
||||||
lidSwitch = "suspend-then-hibernate";
|
|
||||||
lidSwitchExternalPower = "lock";
|
|
||||||
extraConfig = ''
|
|
||||||
HandlePowerKey=suspend-then-hibernate
|
|
||||||
HibernateDelaySec=3600
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue