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; [ imports = with inputs.self.nixosModules; [
desktop desktop
nvim
gui
nix-ld 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"]; users.users.daylin.extraGroups = ["docker"];
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
} }

View file

@ -1,17 +1,23 @@
{ {
input, inputs,
pkgs, pkgs,
config,
lib,
... ...
}: let }: let
inherit (lib) mkIf;
cfg = config.services.xserver.windowManager.qtile;
lock = pkgs.writeShellApplication { lock = pkgs.writeShellApplication {
name = "lock"; name = "lock";
runtimeInputs = with pkgs; [i3lock-color figlet procps]; runtimeInputs = with pkgs; [i3lock-color figlet procps];
text = builtins.readFile ./lock.sh; text = builtins.readFile ./lock.sh;
}; };
in { in {
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
xss-lock xss-lock
lock lock
]; ];
@ -27,8 +33,5 @@ in {
}; };
}; };
# services.logind.extraConfig = '' };
# IdleAction=suspend
# IdleActionSec=1800
# '';
} }

View file

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

View file

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

View file

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