diff --git a/configuration.nix b/configuration.nix index 92ef5aa..2d05f5d 100644 --- a/configuration.nix +++ b/configuration.nix @@ -4,7 +4,10 @@ { config, lib, inputs, pkgs, flakeName, ... }: { - imports = [./hardware-configuration.nix]; + imports = [ + ./hardware-configuration.nix + ./modules/yubikey.nix + ]; nix.settings.experimental-features = ["nix-command" "flakes"]; nixpkgs.config.allowUnfree = true; @@ -34,7 +37,8 @@ initialPassword = "password"; }; - virtualisation.docker.enable = true; + virtualisation.docker.enable = true; + virtualisation.docker.enableOnBoot = lib.mkDefault false; environment.systemPackages = with pkgs; [ home-manager diff --git a/hosts/laptop.nix b/hosts/laptop.nix index b5388c2..e814937 100644 --- a/hosts/laptop.nix +++ b/hosts/laptop.nix @@ -21,6 +21,8 @@ tlp looking-glass-client fprintd + yubikey-manager + yubico-pam ]; hardware.nvidia.prime.offload = { @@ -50,6 +52,8 @@ }; }; services.upower.enable = true; + + services.udev.packages = [ pkgs.yubikey-personalization ]; diff --git a/hosts/server.nix b/hosts/server.nix index 61cd1f0..e932ad3 100644 --- a/hosts/server.nix +++ b/hosts/server.nix @@ -23,6 +23,7 @@ nameservers = ["8.8.8.8" "8.8.4.4" "1.1.1.1"]; }; virtualisation.docker.liveRestore = false; + virtualisation.docker.enableOnBoot = true; services.fail2ban.enable = true; services.fail2ban.bantime = "2h"; diff --git a/modules/hyprland.nix b/modules/hyprland.nix index 330fe41..6ee569b 100644 --- a/modules/hyprland.nix +++ b/modules/hyprland.nix @@ -2,6 +2,28 @@ { # services.hypridle.enable = true; + services.hypridle = { + enable = true; + settings = { + general.lock_cmd = "hyprlock"; + general.before_sleep_cmd = "loginctl lock-session"; + listener = [ + { + timeout = 150; + on-timeout = "brightnessctl -s set 0"; + on-resume = "brightnessctl -r"; + } + { + timeout = 150; + on-timeout = "loginctl lock-session"; + } + { + timeout = 600; + on-timeout = "systemctl suspend"; + } + ]; + }; + }; wayland.windowManager.hyprland.enable = true; wayland.windowManager.hyprland.settings = { "$mainMod" = "SUPER"; diff --git a/modules/yubikey.nix b/modules/yubikey.nix new file mode 100644 index 0000000..b456e5b --- /dev/null +++ b/modules/yubikey.nix @@ -0,0 +1,14 @@ +{ config, lib, inputs, pkgs, ... }: + +{ + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + + security.pam.yubico = { + enable = true; + id = "30536547"; + mode = "challenge-response"; + }; +}