Compare commits
5 commits
95e99962d6
...
8bb3d9dba9
Author | SHA1 | Date | |
---|---|---|---|
8bb3d9dba9 | |||
42ce613f54 | |||
e10d26a27a | |||
42ea3cb8b0 | |||
f037c63d84 |
5 changed files with 81 additions and 23 deletions
|
@ -4,11 +4,14 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.modules.services.greetd;
|
||||
uwsmEnabled = config.modules.services.uwsm.enable;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.types) str listOf;
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
inherit (config.meta.mainUser) username;
|
||||
cfg = config.modules.services.greetd;
|
||||
uwsmEnabled = config.modules.services.uwsm.enable;
|
||||
in {
|
||||
options.modules.services.greetd = {
|
||||
enable = mkEnableOption "greetd";
|
||||
|
@ -25,24 +28,31 @@ in {
|
|||
type = str;
|
||||
default =
|
||||
if uwsmEnabled
|
||||
then "uwsm start Hyprland"
|
||||
then "${getExe config.programs.uwsm.package} start Hyprland"
|
||||
else "Hyprland";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.greetd = {
|
||||
services.greetd = let
|
||||
session = {
|
||||
# command = ''
|
||||
# ${pkgs.greetd.tuigreet}/bin/tuigreet \
|
||||
# -c \"${cfg.session}\" \
|
||||
# -r
|
||||
# -t --time-format "DD.MM.YYYY"
|
||||
# --asteriks'';
|
||||
command = "${getExe config.programs.uwsm.package} start hyprland-uwsm.desktop";
|
||||
user = username;
|
||||
};
|
||||
in {
|
||||
enable = true;
|
||||
package = pkgs.greetd;
|
||||
settings.default_session = {
|
||||
command = ''
|
||||
${pkgs.greetd.tuigreet}/bin/tuigreet \
|
||||
-c \"${cfg.session}\" \
|
||||
-r
|
||||
-t --time-format "DD.MM.YYYY"
|
||||
--asteriks'';
|
||||
};
|
||||
vt = 7;
|
||||
settings = {
|
||||
default_session = session;
|
||||
initial_session = session;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ in {
|
|||
Set the boot loader's timeout. This is 0 by default, but preferably longer on remote servers to make switching to previous generations easier.
|
||||
'';
|
||||
type = int;
|
||||
# I love spamming space
|
||||
default = 0;
|
||||
};
|
||||
};
|
||||
|
@ -35,16 +36,20 @@ in {
|
|||
boot = {
|
||||
tmp.useTmpfs = true;
|
||||
initrd = {
|
||||
verbose = true;
|
||||
verbose = false;
|
||||
systemd.enable = true;
|
||||
};
|
||||
loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
# I love spamming space
|
||||
timeout = cfg.timeout;
|
||||
systemd-boot = {
|
||||
enable = cfg.systemd-boot.enable;
|
||||
# INFO: Leaving this enabled is a security vulneratibility,
|
||||
# since we can just start /bin/sh from there and get root access.
|
||||
# Since I have FDE, this isn't _as_ critical, but it would still be
|
||||
# a bad idea to leave it enabled
|
||||
editor = mkForce false;
|
||||
consoleMode = "auto";
|
||||
configurationLimit = 5;
|
||||
};
|
||||
grub = {
|
||||
|
@ -55,11 +60,25 @@ in {
|
|||
};
|
||||
};
|
||||
plymouth = {
|
||||
enable = false;
|
||||
# font = "${pkgs.jetbrains-mono}/share/fonts/truetype/JetBrainsMono-Regular.ttf";
|
||||
themePackages = [pkgs.plymouth-matrix-theme];
|
||||
theme = "matrix";
|
||||
enable = true;
|
||||
themePackages = [
|
||||
(pkgs.adi1090x-plymouth-themes.override
|
||||
{
|
||||
selected_themes = [
|
||||
"hud_3"
|
||||
];
|
||||
})
|
||||
];
|
||||
theme = "hud_3";
|
||||
};
|
||||
};
|
||||
powerManagement = {
|
||||
powerDownCommands = ''
|
||||
${pkgs.plymouth} --show-splash
|
||||
'';
|
||||
resumeCommands = ''
|
||||
${pkgs.plymouth} --quit
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,6 +6,17 @@ in {
|
|||
];
|
||||
networking = {
|
||||
enableIPv6 = true;
|
||||
|
||||
# INFO: This disables wpa_supplicant,
|
||||
# I use nenetworkmanager instead.
|
||||
wireless.enable = false;
|
||||
|
||||
dhcpcd = {
|
||||
# faster boot times
|
||||
wait = "background";
|
||||
extraConfig = "noarp";
|
||||
};
|
||||
|
||||
nameservers = [
|
||||
# quad9 DNS
|
||||
"9.9.9.9"
|
||||
|
@ -14,8 +25,16 @@ in {
|
|||
};
|
||||
services.resolved = {
|
||||
enable = true;
|
||||
dnssec = "false";
|
||||
# quad9 dns
|
||||
fallbackDns = ["9.9.9.9" "2620::fe::fe"];
|
||||
};
|
||||
users.users.${username}.extraGroups = ["networkmanager"];
|
||||
|
||||
systemd = {
|
||||
network = {
|
||||
enable = true;
|
||||
wait-online.anyInterface = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
{lib, ...}: let
|
||||
inherit (lib.modules) mkForce;
|
||||
in {
|
||||
config.systemd = {
|
||||
# faster startup
|
||||
targets.network-online.wantedBy = pkgs.lib.mkForce []; # Normally ["multi-user.target"]
|
||||
services.NetworkManager-wait-online.wantedBy = pkgs.lib.mkForce []; # Normally ["network-online.target"]
|
||||
targets.network-online.wantedBy = mkForce []; # Normally ["multi-user.target"]
|
||||
services = {
|
||||
NetworkManager-wait-online.wantedBy = mkForce []; # Normally ["network-online.target"]
|
||||
systemd-udev-settle.enable = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
# inherit (config.modules.style) cursor;
|
||||
inherit (builtins) toString;
|
||||
inherit (lib.meta) getExe;
|
||||
in {
|
||||
programs.hyprland.settings = {
|
||||
# Hyprland settings
|
||||
# Programs which get executed at Hyprland start.
|
||||
exec-once = [
|
||||
"uwsm finalize"
|
||||
|
||||
"hyprctl setcursor BreezeX-RosePine-Linux 32"
|
||||
|
||||
"[workspace special:keepassxc; silent;tile] ${pkgs.keepassxc}/bin/keepassxc"
|
||||
|
@ -22,6 +25,8 @@ in {
|
|||
"${pkgs.wlsunset}/bin/wlsunset -S 06:00 -s 20:00"
|
||||
"${pkgs.lxqt.lxqt-policykit}/bin/lxqt-policykit-agent"
|
||||
"hyprctl dispatch split-workspace 1"
|
||||
|
||||
"${getExe pkgs.hyprlock}"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue