feat: make fprint-grosshack a package and cleanup custom package referencing

This commit is contained in:
matt1432 2023-07-15 17:47:37 -04:00
parent 5d1e3e9985
commit d8315c897d
7 changed files with 75 additions and 22 deletions

View file

@ -39,7 +39,7 @@
enable = true; enable = true;
#themePackages = [ pkgs.catppuccin-plymouth ]; #themePackages = [ pkgs.catppuccin-plymouth ];
#theme = "catppuccin-macchiato"; #theme = "catppuccin-macchiato";
themePackages = [ (with import <nixpkgs> {}; callPackage ../overlays/dracula-plymouth.nix {}) ]; themePackages = [ pkgs.dracula-plymouth ];
theme = "dracula"; theme = "dracula";
}; };
}; };

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }: { config, pkgs, lib, ... }:
{ {
services.fprintd.enable = true; services.fprintd.enable = true;
@ -27,18 +27,14 @@
gtklock = {}; gtklock = {};
# all the changes in /etc/pam.d/* # all the changes in /etc/pam.d/*
sddm.text = /* TODO: lib.mkBefore ... */'' sddm.text = lib.mkBefore ''
auth [success=1 new_authtok_reqd=1 default=ignore] pam_unix.so try_first_pass likeauth nullok auth [success=1 new_authtok_reqd=1 default=ignore] pam_unix.so try_first_pass likeauth nullok
auth sufficient /nix/store/7hw6i2p2p7zzgjirw6xaj3c50gga488y-fprintd-1.94.2/lib/security/pam_fprintd.so auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so
auth substack login
account include login
password substack login
session include login
''; '';
sudo.text = '' sudo.text = ''
# Account management. # Account management.
auth sufficient /root/lib/pam/pam_fprintd_grosshack.so auth sufficient ${pkgs.pam-fprint-grosshack}/lib/security/pam_fprintd_grosshack.so
auth sufficient pam_unix.so try_first_pass nullok auth sufficient pam_unix.so try_first_pass nullok
account required pam_unix.so account required pam_unix.so
@ -58,23 +54,23 @@
account required pam_unix.so account required pam_unix.so
# Authentication management. # Authentication management.
auth sufficient /root/lib/pam/pam_fprintd_grosshack.so auth sufficient ${pkgs.pam-fprint-grosshack}/lib/security/pam_fprintd_grosshack.so
auth optional pam_unix.so nullok likeauth auth optional pam_unix.so nullok likeauth
auth optional /nix/store/21dqfghfa8b09ssvgja8l5bg7h5d9rzl-gnome-keyring-42.1/lib/security/pam_gnome_keyring.so auth optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so
auth sufficient pam_unix.so try_first_pass nullok auth sufficient pam_unix.so try_first_pass nullok
auth required pam_deny.so auth required pam_deny.so
# Password management. # Password management.
password sufficient pam_unix.so nullok yescrypt password sufficient pam_unix.so nullok yescrypt
password optional /nix/store/21dqfghfa8b09ssvgja8l5bg7h5d9rzl-gnome-keyring-42.1/lib/security/pam_gnome_keyring.so use_authtok password optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok
# Session management. # Session management.
session required pam_env.so conffile=/etc/pam/environment readenv=0 session required pam_env.so conffile=/etc/pam/environment readenv=0
session required pam_unix.so session required pam_unix.so
session required pam_loginuid.so session required pam_loginuid.so
session required /nix/store/4m8ab1p9y6ig31wniimlvsl23i9sazvp-linux-pam-1.5.2/lib/security/pam_lastlog.so silent session required ${pkgs.pam}/lib/security/pam_lastlog.so silent
session optional /nix/store/8pbr7x6wh765mg43zs0p70gsaavmbbh7-systemd-253.3/lib/security/pam_systemd.so session optional ${pkgs.systemd}/lib/security/pam_systemd.so
session optional /nix/store/21dqfghfa8b09ssvgja8l5bg7h5d9rzl-gnome-keyring-42.1/lib/security/pam_gnome_keyring.so auto_start session optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
''; '';
polkit-1.text = '' polkit-1.text = ''
@ -82,7 +78,7 @@
account required pam_unix.so account required pam_unix.so
# Authentication management. # Authentication management.
auth sufficient /root/lib/pam/pam_fprintd_grosshack.so auth sufficient ${pkgs.pam-fprint-grosshack}/lib/security/pam_fprintd_grosshack.so
auth sufficient pam_unix.so try_first_pass nullok auth sufficient pam_unix.so try_first_pass nullok
auth required pam_deny.so auth required pam_deny.so

View file

@ -6,9 +6,10 @@
}; };
programs = { programs = {
btop = {
enable = true; btop.enable = true;
};
jq.enable = true;
ripgrep = { ripgrep = {
enable = true; enable = true;
@ -68,7 +69,7 @@
exec env SUDO_ASKPASS=${pkgs.plasma5Packages.ksshaskpass}/bin/${pkgs.plasma5Packages.ksshaskpass.pname} sudo -k -EA "${gparted}/bin/${gparted.pname}" "$@" exec env SUDO_ASKPASS=${pkgs.plasma5Packages.ksshaskpass}/bin/${pkgs.plasma5Packages.ksshaskpass.pname} sudo -k -EA "${gparted}/bin/${gparted.pname}" "$@"
'') '')
(with import <nixpkgs> {}; callPackage ../overlays/tutanota.nix {}) tutanota
swayosd swayosd
blueberry blueberry
libayatana-appindicator libayatana-appindicator
@ -109,8 +110,6 @@
mosh mosh
rsync rsync
killall killall
jq # enable using home-manager?
ripgrep-all
hyprpaper hyprpaper
networkmanagerapplet networkmanagerapplet
nextcloud-client nextcloud-client

View file

@ -4,5 +4,17 @@
nixpkgs.overlays = [ nixpkgs.overlays = [
(import ./swayosd.nix) (import ./swayosd.nix)
(import ./blueberry.nix) (import ./blueberry.nix)
(final: prev: {
tutanota = final.callPackage ./pkgs/tutanota.nix {};
})
(final: prev: {
pam-fprint-grosshack = final.callPackage ./pkgs/pam-fprint-grosshack.nix {};
})
(final: prev: {
dracula-plymouth = final.callPackage ./pkgs/dracula-plymouth.nix {};
})
]; ];
} }

View file

@ -0,0 +1,46 @@
{ lib
, stdenv
, meson
, ninja
, pkg-config
, glib
, libfprint
, polkit
, dbus
, systemd
, pam
, libpam-wrapper
, fetchFromGitLab
}:
stdenv.mkDerivation rec {
pname = "pam-fprint-grosshack";
version = "v0.3.0";
src = fetchFromGitLab {
owner = "mishakmak";
repo = pname;
rev = version;
sha256 = "sha256-obczZbf/oH4xGaVvp3y3ZyDdYhZnxlCWvL0irgEYIi0=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
glib
libfprint
polkit
dbus
systemd
pam
libpam-wrapper
];
mesonFlags = [
"-Dpam_modules_dir=${placeholder "out"}/lib/security"
"-Dsysconfdir=${placeholder "out"}/etc"
"-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/system-services"
"-Dsystemd_system_unit_dir=${placeholder "out"}/lib/systemd/system"
];
}