From ec6599c8e939f175c00ef70b57982182178e2618 Mon Sep 17 00:00:00 2001 From: Skullheadx Date: Sun, 26 Apr 2026 00:31:14 -0400 Subject: [PATCH] modularize lockscreen --- .gitignore | 1 + configuration.nix | 33 +++------------------------------ flake.nix | 1 + lock-screen.nix | 12 ++++++++++++ lockscreen.nix | 25 +++++++++++++++++++++++++ overlays.nix | 7 +++++++ 6 files changed, 49 insertions(+), 30 deletions(-) create mode 100644 .gitignore create mode 100644 lock-screen.nix create mode 100644 lockscreen.nix create mode 100644 overlays.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1377554 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/configuration.nix b/configuration.nix index 638ca03..ba8ae49 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,23 +1,8 @@ { config, pkgs, ... }: -let - - lock-screen = pkgs.writeShellApplication { - name = "lock-screen"; - runtimeInputs = [ pkgs.betterlockscreen ]; - text = '' - if [ ! -f "$HOME/.cache/betterlockscreen/current/lock_dimblur.png" ]; then - betterlockscreen -u "$HOME/Wallpapers/Daniel_in_the_Lions_Den_by_Briton_Riviere.jpg" --fx dimblur - fi - - betterlockscreen -l dimblur - ''; - }; - - -in { imports = [ ./hardware-configuration.nix + ./lockscreen.nix ]; # Bootloader. @@ -80,7 +65,7 @@ super + shift + s ${pkgs.maim}/bin/maim -s | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png super + l - ${lock-screen}/bin/lock-screen + ${pkgs.lock-screen}/bin/lock-screen ''; }; @@ -117,8 +102,6 @@ super + l feh fastfetch sxhkd - betterlockscreen -lock-screen pamixer maim slop @@ -143,10 +126,6 @@ lock-screen }; }; - programs.i3lock = { - enable = true; - package = pkgs.i3lock-color; - }; programs.steam = { enable = true; @@ -167,6 +146,7 @@ lock-screen pulse.enable = true; alsa.enable = true; }; + services.pipewire.wireplumber.enable = true; hardware = { graphics = { @@ -216,7 +196,6 @@ lock-screen services.dunst = { enable = true; }; - security.pam.services.betterlockscreen = { }; services.xserver = { enable = true; @@ -237,12 +216,6 @@ lock-screen layout = "us"; options = "caps:escape"; }; - xautolock = { - enable = true; - enableNotifier = true; - notifier = "${pkgs.dunst}/bin/notify-send 'Locking in 10 seconds'"; - locker = "${pkgs.betterlockscreen}/bin/betterlockscreen -l dimblur"; - }; config = '' Section "InputClass" Identifier "Kinesis Advantage 360" diff --git a/flake.nix b/flake.nix index 1507dce..7a7a576 100644 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,7 @@ modules = [ hjem.nixosModules.default ./configuration.nix + ./overlays.nix ]; }; }; diff --git a/lock-screen.nix b/lock-screen.nix new file mode 100644 index 0000000..294a99e --- /dev/null +++ b/lock-screen.nix @@ -0,0 +1,12 @@ +{ pkgs } : +pkgs.writeShellApplication { + name = "lock-screen"; + runtimeInputs = [ pkgs.betterlockscreen ]; + text = '' + if [ ! -f "$HOME/.cache/betterlockscreen/current/lock_dimblur.png" ]; then + betterlockscreen -u "$HOME/Wallpapers/Daniel_in_the_Lions_Den_by_Briton_Riviere.jpg" --fx dimblur + fi + + betterlockscreen -l dimblur + ''; +} diff --git a/lockscreen.nix b/lockscreen.nix new file mode 100644 index 0000000..019ec8e --- /dev/null +++ b/lockscreen.nix @@ -0,0 +1,25 @@ +{ config, pkgs, ... }: +{ + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + betterlockscreen + lock-screen + ]; + + programs.i3lock = { + enable = true; + package = pkgs.i3lock-color; + }; + security.pam.services.betterlockscreen = { }; + services.xserver = { + xautolock = { + enable = true; + enableNotifier = true; + notifier = "${pkgs.dunst}/bin/notify-send 'Locking in 10 seconds'"; + locker = "${pkgs.betterlockscreen}/bin/betterlockscreen -l dimblur"; + }; + }; + +} diff --git a/overlays.nix b/overlays.nix new file mode 100644 index 0000000..9b16600 --- /dev/null +++ b/overlays.nix @@ -0,0 +1,7 @@ +{pkgs, ...} : { +nixpkgs.overlays = [ +(final: prev: { +lock-screen = import ./lock-screen.nix {pkgs= prev;}; +}) +]; +} -- 2.54.0