]> Skullheadx's Git Forge - nixos.git/commitdiff
modularize lockscreen
authorSkullheadx <admonty1@protonmail.com>
Sun, 26 Apr 2026 04:31:14 +0000 (00:31 -0400)
committerSkullheadx <admonty1@protonmail.com>
Sun, 26 Apr 2026 04:31:14 +0000 (00:31 -0400)
.gitignore [new file with mode: 0644]
configuration.nix
flake.nix
lock-screen.nix [new file with mode: 0644]
lockscreen.nix [new file with mode: 0644]
overlays.nix [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..1377554
--- /dev/null
@@ -0,0 +1 @@
+*.swp
index 638ca03f8515d9fe6ed4c9920d7995b2c07b6591..ba8ae49336ac224f67d7c766c4a2ee390227526b 100644 (file)
@@ -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"
index 1507dce58b1c414dc9b88d2ccc3c053f453450c3..7a7a576ef5c589b72dde2701ab0b2e091914e4c6 100644 (file)
--- 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 (file)
index 0000000..294a99e
--- /dev/null
@@ -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 (file)
index 0000000..019ec8e
--- /dev/null
@@ -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 (file)
index 0000000..9b16600
--- /dev/null
@@ -0,0 +1,7 @@
+{pkgs, ...} : {
+nixpkgs.overlays = [
+(final: prev: {
+lock-screen = import ./lock-screen.nix {pkgs= prev;};
+})
+];
+}