add lockscreen
This commit is contained in:
@@ -119,8 +119,8 @@
|
|||||||
virtualisation.virtualbox.host.enableKvm = true;
|
virtualisation.virtualbox.host.enableKvm = true;
|
||||||
virtualisation.virtualbox.host.addNetworkInterface = false;
|
virtualisation.virtualbox.host.addNetworkInterface = false;
|
||||||
|
|
||||||
# Betterlockscreen
|
# Hyprlock
|
||||||
security.pam.services.i3lock.enable = true;
|
security.pam.services.hyprlock = {};
|
||||||
|
|
||||||
# Enabling the Keyring.
|
# Enabling the Keyring.
|
||||||
security.pam.services.lightdm.enableGnomeKeyring = true;
|
security.pam.services.lightdm.enableGnomeKeyring = true;
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
users.elias = import ./home/default-laptop.nix;
|
users.elias = import ./home/default-laptop.nix;
|
||||||
};
|
};
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
|
# (import ./overlays/river-status.nix)
|
||||||
inputs.nur.overlays.default
|
inputs.nur.overlays.default
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,19 @@
|
|||||||
|
|
||||||
stateVersion = "23.11";
|
stateVersion = "23.11";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
systemd.user.services = {
|
||||||
|
idle-inhibitor = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Presentation Mode";
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart = "systemd-inhibit --what=idle --who=Caffeine --why=Caffeine --mode=block sleep inf";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
programs = { home-manager.enable = true; };
|
programs = { home-manager.enable = true; };
|
||||||
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./hyprlock.nix
|
||||||
./river
|
./river
|
||||||
./alacritty
|
./alacritty
|
||||||
./anki
|
./anki
|
||||||
|
|||||||
@@ -254,6 +254,13 @@
|
|||||||
:class "text separator"
|
:class "text separator"
|
||||||
:text "|"))
|
:text "|"))
|
||||||
|
|
||||||
|
(defwidget idle_inhibitor []
|
||||||
|
(box :class "idle_inhibitor"
|
||||||
|
:space-evenly false
|
||||||
|
(button :class "icon"
|
||||||
|
:onclick "systemctl --user is-active idle-inhibitor.service && systemctl --user stop idle-inhibitor.service || systemctl --user start idle-inhibitor.service"
|
||||||
|
(label :text "${idle_inhibitor == 'start' ? '' : '' }"))))
|
||||||
|
|
||||||
;; /-- Bar -->
|
;; /-- Bar -->
|
||||||
(defwindow bar []
|
(defwindow bar []
|
||||||
:geometry (geometry
|
:geometry (geometry
|
||||||
@@ -266,6 +273,8 @@
|
|||||||
:reserve (struts
|
:reserve (struts
|
||||||
:distance "25px"
|
:distance "25px"
|
||||||
:side "top")
|
:side "top")
|
||||||
|
:exclusive true
|
||||||
|
:layer "top"
|
||||||
:windowtype "dock"
|
:windowtype "dock"
|
||||||
(box
|
(box
|
||||||
:orientation "horizontal"
|
:orientation "horizontal"
|
||||||
@@ -277,6 +286,7 @@
|
|||||||
(widgetLogSeperator)
|
(widgetLogSeperator)
|
||||||
(widgetWindows)
|
(widgetWindows)
|
||||||
(box :hexpand true)
|
(box :hexpand true)
|
||||||
|
(idle_inhibitor)
|
||||||
(widgetSpeaker)
|
(widgetSpeaker)
|
||||||
(widgetSeperator)
|
(widgetSeperator)
|
||||||
(widgetBacklight)
|
(widgetBacklight)
|
||||||
|
|||||||
6
home/programs/eww/src/scripts/river_log.sh
Executable file
6
home/programs/eww/src/scripts/river_log.sh
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
socat - UNIX-CONNECT:"$XDG_RUNTIME_DIR"/river/status | while read -r line; do
|
||||||
|
workspace=$(echo "$line" | jq -r '.workspace')
|
||||||
|
layout=$(echo "$line" | jq -r '.layout')
|
||||||
|
title=$(echo "$line" | jq -r '.title')
|
||||||
|
echo "WS: $workspace | Layout: $layout | $title"
|
||||||
|
done
|
||||||
33
home/programs/hyprlock.nix
Normal file
33
home/programs/hyprlock.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
disable_loading_bar = true;
|
||||||
|
grace = 300;
|
||||||
|
hide_cursor = true;
|
||||||
|
no_fade_in = false;
|
||||||
|
};
|
||||||
|
background = [{
|
||||||
|
path = "screenshot";
|
||||||
|
blur_passes = 3;
|
||||||
|
blur_size = 8;
|
||||||
|
}];
|
||||||
|
input-field = [{
|
||||||
|
size = "200, 50";
|
||||||
|
position = "0, -80";
|
||||||
|
monitor = "";
|
||||||
|
dots_center = true;
|
||||||
|
fade_on_empty = false;
|
||||||
|
font_color = "rgb(202, 211, 245)";
|
||||||
|
inner_color = "rgb(91, 96, 120)";
|
||||||
|
outer_color = "rgb(24, 25, 38)";
|
||||||
|
outline_thickness = 5;
|
||||||
|
placeholder_text = ''<span foreground="##cad3f5">Password...</span>'';
|
||||||
|
shadow_passes = 2;
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
wlr-randr
|
wlr-randr
|
||||||
yad slurp
|
yad slurp
|
||||||
grim
|
grim
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
rivercarro
|
rivercarro
|
||||||
|
# river-status
|
||||||
];
|
];
|
||||||
xdg.configFile."helperscripts" = {
|
xdg.configFile."helperscripts" = {
|
||||||
recursive = true;
|
recursive = true;
|
||||||
@@ -33,13 +33,12 @@
|
|||||||
systemd = { enable = true; };
|
systemd = { enable = true; };
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
rivertile -view-padding 0 -outer-padding 25 &
|
rivertile -view-padding 0 -outer-padding 0 &
|
||||||
'';
|
'';
|
||||||
settings = {
|
settings = {
|
||||||
spawn = [
|
spawn = [
|
||||||
"nextcloud --background"
|
"nextcloud --background"
|
||||||
"~/.config/helperscriptsstartEww.sh"
|
"/home/elias/.config/helperscripts/startEww.sh"
|
||||||
"trayer --edge top --align left --widthtype request --height 25 --transparent true --alpha 0 --expand true --SetDockType true --SetPartialStrut true"
|
|
||||||
];
|
];
|
||||||
spawn-tagmask = "${all_but_scratch_tag}";
|
spawn-tagmask = "${all_but_scratch_tag}";
|
||||||
keyboard-layout = "de";
|
keyboard-layout = "de";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./ssh-agent ./gpg-agent ];
|
imports = [ ./ssh-agent ./gpg-agent ./hypridle.nix ];
|
||||||
}
|
}
|
||||||
|
|||||||
23
home/services/hypridle.nix
Normal file
23
home/services/hypridle.nix
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
lock_cmd =
|
||||||
|
"/run/current-system/sw/bin/pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||||
|
before_sleep_cmd = "/run/current-system/sw/bin/loginctl lock-session";
|
||||||
|
};
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 300;
|
||||||
|
on-timeout = "${pkgs.hyprlock}/bin/hyprlock";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 600;
|
||||||
|
on-timeout = "${pkgs.systemd}/bin/systemctl suspend";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
final: prev: {
|
|
||||||
obsidian = prev.obsidian.overrideAttrs (old: {
|
|
||||||
|
|
||||||
src = prev.fetchurl {
|
|
||||||
url = old.src.url;
|
|
||||||
<<<<<<< HEAD
|
|
||||||
hash = "sha256-bvmvzVyHrjh1Yj3JxEfry521CMX3E2GENmXddEeLwiE=";
|
|
||||||
=======
|
|
||||||
hash = "sha256-XVq0nQiyT2HvKQpzJIvhghsGgg4ye7uqZcyA1nH4O/o=";
|
|
||||||
>>>>>>> test
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
31
overlays/river-status.nix
Normal file
31
overlays/river-status.nix
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
self: super:
|
||||||
|
|
||||||
|
{
|
||||||
|
river-status = super.rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "river-status";
|
||||||
|
version = "0.1.0"; # Replace with the actual version if known
|
||||||
|
|
||||||
|
src = super.fetchFromGitHub {
|
||||||
|
owner = "grvn";
|
||||||
|
repo = "river-status";
|
||||||
|
rev = "main"; # Replace with a specific commit hash or tag if needed
|
||||||
|
sha256 = "sha256-QTHn3+8CRpm5CoTwuhoMjBG16CYcOb79cOXgcgzimkc="; # Placeholder
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-DPsQE71sEpfVnyI6V/da5n9V9pbItPZMuu/EM/30Jyo="; # Placeholder
|
||||||
|
nativeBuildInputs = [
|
||||||
|
super.pkg-config # If you're dealing with C libraries or dependencies
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
super.wayland-utils # Add this or other dependencies if they are required for building
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with super.lib; {
|
||||||
|
description = "A client for fetching status information from the River Wayland compositor";
|
||||||
|
homepage = "https://github.com/grvn/river-status";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ "Elias Schröter" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
5
overlays/shell.nix
Normal file
5
overlays/shell.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ pkgs ? import <nixpkgs> { overlays = [ (import ./river-status.nix) ]; } }:
|
||||||
|
|
||||||
|
pkgs.mkShell {
|
||||||
|
buildInputs = [ pkgs.river-status ];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user