abstract locking

This commit is contained in:
Daylin Morgan 2024-01-28 13:25:23 -06:00
parent 06ecfb4310
commit 663db0249d
Signed by: daylin
GPG key ID: C1E52E7DD81DF79F
5 changed files with 54 additions and 39 deletions

View file

@ -7,11 +7,23 @@
}: {
imports = with inputs.self.nixosModules; [
desktop
nvim
gui
nix-ld
];
# Enable the X11 windowing system.
services.xserver = {
enable = true;
displayManager.startx.enable = true;
windowManager.qtile.enable = true;
};
cli.enable = true;
users.users.daylin.extraGroups = ["docker"];
}
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
}

View file

@ -1,34 +1,37 @@
{
input,
inputs,
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf;
cfg = config.services.xserver.windowManager.qtile;
lock = pkgs.writeShellApplication {
name = "lock";
runtimeInputs = with pkgs; [i3lock-color figlet procps];
text = builtins.readFile ./lock.sh;
};
name = "lock";
runtimeInputs = with pkgs; [i3lock-color figlet procps];
text = builtins.readFile ./lock.sh;
};
in {
environment.systemPackages = with pkgs; [
xss-lock
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
xss-lock
lock
];
lock
];
systemd.services.i3lock = {
wantedBy = ["sleep.target"];
description = "Lock the screen using a custom lock script";
before = ["suspend.target"];
serviceConfig = {
User = "daylin";
Type = "forking";
Environment = "DISPLAY=:0";
ExecStart = "${lock}/bin/lock";
};
};
systemd.services.i3lock = {
wantedBy = ["sleep.target"];
description = "Lock the screen using a custom lock script";
before = ["suspend.target"];
serviceConfig = {
User = "daylin";
Type = "forking";
Environment = "DISPLAY=:0";
ExecStart = "${lock}/bin/lock";
};
};
# services.logind.extraConfig = ''
# IdleAction=suspend
# IdleActionSec=1800
# '';
}
}

View file

@ -7,6 +7,7 @@
imports = with inputs.self.nixosModules; [
fonts
gui
lock
vscode
hyprland
];

View file

@ -9,6 +9,7 @@
cfg = config.programs.hyprland;
in {
config = mkIf cfg.enable {
security.pam.services.swaylock = {};
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.default;
# Optional, hint electron apps to use wayland:

View file

@ -1,18 +1,14 @@
{
inputs,
pkgs,
config,
lib,
...
}: {
imports = with inputs.self.nixosModules; [
lock
];
# Enable the X11 windowing system.
services.xserver = {
enable = true;
displayManager.startx.enable = true;
windowManager.qtile.enable = true;
};
}: let
inherit (lib) mkIf;
cfg = config.services.xserver.windowManager.qtile;
in {
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
brightnessctl
@ -39,5 +35,7 @@
flameshot
catppuccin-cursors.mochaDark
pavucontrol
];
};
}