summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
m---------nixpkgs0
-rw-r--r--sif.nix98
-rw-r--r--sif/boot.nix2
m---------utils0
4 files changed, 89 insertions, 11 deletions
diff --git a/nixpkgs b/nixpkgs
Subproject 99a4a7363ccc565629230ebc8cf8c949da2ffb5 Subproject 7948e6785b4aa6a1289645575816e423d85f6ae
diff --git a/sif.nix b/sif.nix
index e31f537c..9c9af157 100644
--- a/sif.nix
+++ b/sif.nix
@@ -2,7 +2,8 @@
2 2
3{ 3{
4 imports = 4 imports =
5 [ ./sif/hw.nix 5 [ ./nixpkgs.nix
6 ./sif/hw.nix
6 ./sif/boot.nix 7 ./sif/boot.nix
7 ./users.nix 8 ./users.nix
8 ./custom/zsh.nix 9 ./custom/zsh.nix
@@ -49,11 +50,78 @@
49 environment.systemPackages = with pkgs; [ 50 environment.systemPackages = with pkgs; [
50 git rebuild-system 51 git rebuild-system
51 nvtop 52 nvtop
53 brightnessctl
52 ]; 54 ];
53 55
54 nixpkgs.config.allowUnfree = true; 56 nixpkgs.config = {
57 allowUnfree = true;
58 packageOverrides = pkgs: rec {
59 libfprint = pkgs.stdenv.mkDerivation rec {
60 pname = "libfprint";
61 version = "1.90.1";
62
63 src = pkgs.fetchurl {
64 url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/662cd834e76c02c4d74ad01c50412759/libfprint-1.90.1.tar.xz";
65 sha256 = "1pv6sd852i5i0sn1ki109jhk9indl21cb4aw7v6xhcnvjmgds0xx";
66 };
67
68 buildInputs = with pkgs; [ libusb pixman glib nss nspr gdk_pixbuf openssl gusb gobject-introspection gtk-doc cairo ];
69 nativeBuildInputs = with pkgs; [ pkgconfig meson ninja ];
70
71 mesonFlags = [ "-Dudev_rules_dir=$(out)/lib/udev/rules.d" "-Ddoc=false" ];
72 };
73 fprintd = pkgs.stdenv.mkDerivation rec {
74 pname = "fprintd";
75 version = "1.90.1";
76
77 src = pkgs.fetchurl {
78 url = "https://gitlab.freedesktop.org/libfprint/fprintd/uploads/a47c31c844e23e070665a8a85dae0144/fprintd-1.90.1.tar.xz";
79 sha256 = "03d3r0hz9m3i71wxs5h048kam6k4bdlcg6xvy50kcah5zcfhp55l";
80 };
81
82 buildInputs = (with pkgs; [ glib polkit dbus dbus-glib systemd pam perl libxslt libxml2 python3]) ++ (with pkgs.python3Packages; [pycairo dbus-python python-dbusmock pygobject3 ]) ++ [ libfprint pam_wrapper ];
83 nativeBuildInputs = with pkgs; [ pkgconfig meson ninja ];
84
85 installPhase = ''
86 install -vm 0755 -d $out/etc/dbus-1/interfaces $out/libexec $out/share/polkit-1/actions $out/share/man/man1 $out/share/man/man8 $out/bin $out/lib/security $out/etc/dbus-1/system.d $out/etc/dbus-1/system-services $out/lib/systemd/system $out/etc $out/share/locale
87
88 install -vt $out/etc/dbus-1/interfaces src/net.reactivated.Fprint.{Manager,Device}.xml
89 install -vt $out/libexec src/fprintd
90 install -vt $out/share/polkit-1/actions data/net.reactivated.fprint.device.policy
91 install -vt $out/share/man/man1 data/fprintd.1
92 install -vt $out/share/man/man8 data/pam_fprintd.8
93 install -vt $out/bin utils/fprintd-{delete,enroll,list,verify}
94 install -vt $out/lib/security pam/pam_fprintd.so
95
96 install -vt $out/etc/dbus-1/system.d /build/fprintd-${version}/data/net.reactivated.Fprint.conf
97 install -vt $out/etc/dbus-1/system-services /build/fprintd-${version}/build/data/net.reactivated.Fprint.service
98 install -vt $out/lib/systemd/system /build/fprintd-${version}/build/data/fprintd.service
99 install -vt $out/etc /build/fprintd-${version}/data/fprintd.conf
100
101 for lang in /build/fprintd-${version}/build/po/*.gmo; do
102 install -vD $lang $out/share/locale/$(basename $lang .gmo)/LC_MESSAGES/fprintd.mo
103 done
104 '';
105 };
106 pam_wrapper = pkgs.stdenv.mkDerivation rec {
107 pname = "pam_wrapper";
108 version = "1.0.7";
109
110 src = pkgs.fetchurl {
111 url = "mirror://samba/cwrap/${pname}-${version}.tar.gz";
112 sha256 = "06djr20kk5sqgydkmfwllbm5ndv4jaqmkj1kab7ppc6fnqp30dq5";
113 };
114
115 nativeBuildInputs = with pkgs; [ pkgconfig ];
116 buildInputs = with pkgs; [ cmake pam python3 ];
117 };
118 };
119 };
55 120
56 services = { 121 services = {
122 fwupd.enable = true;
123 fprintd.enable = true;
124
57 blueman.enable = true; 125 blueman.enable = true;
58 126
59 colord.enable = true; 127 colord.enable = true;
@@ -65,10 +133,11 @@
65 drivers = with pkgs; [ samsung-unified-linux-driver hplip ]; 133 drivers = with pkgs; [ samsung-unified-linux-driver hplip ];
66 }; 134 };
67 135
68 logind.extraConfig = '' 136 logind = {
69 HandleLidSwitch=hibernate 137 lidSwitch = "suspend";
70 LidSwitchIgnoreInhibited=no 138 lidSwitchDocked = "lock";
71 ''; 139 lidSwitchExternalPower = "lock";
140 };
72 141
73 openssh = { 142 openssh = {
74 enable = true; 143 enable = true;
@@ -125,12 +194,19 @@
125 194
126 dpi = 282; 195 dpi = 282;
127 196
128 videoDrivers = [ "nvidiaBeta" "intel" ]; 197 videoDrivers = [ "intel" "nvidiaBeta" ];
129 useGlamor = true;
130 198
131 screenSection = '' 199 screenSection = ''
200 Device "Device-nvidia[0]"
132 Option "metamodes" "nvidia-auto-select +0+0 { ForceCompositionPipeline = On }" 201 Option "metamodes" "nvidia-auto-select +0+0 { ForceCompositionPipeline = On }"
133 ''; 202 '';
203
204 deviceSection = ''
205 Option "AccelMethod" "SNA"
206 Option "TearFree" "True"
207 '';
208
209 exportConfiguration = true;
134 }; 210 };
135 211
136 yggdrasilTinc = { 212 yggdrasilTinc = {
@@ -327,8 +403,6 @@
327 speed = 255; 403 speed = 255;
328 }; 404 };
329 405
330 brightnessctl.enable = true;
331
332 nvidia = { 406 nvidia = {
333 modesetting.enable = true; 407 modesetting.enable = true;
334 prime = { 408 prime = {
@@ -444,6 +518,10 @@
444 [ dbus gnome3.dconf 518 [ dbus gnome3.dconf
445 ]; 519 ];
446 520
521 programs = {
522 light.enable = true;
523 };
524
447 system.stateVersion = "20.03"; # Did you read the comment? 525 system.stateVersion = "20.03"; # Did you read the comment?
448} 526}
449 527
diff --git a/sif/boot.nix b/sif/boot.nix
index d903b16f..fbfcf5cd 100644
--- a/sif/boot.nix
+++ b/sif/boot.nix
@@ -23,7 +23,7 @@
23 plymouth.enable = true; 23 plymouth.enable = true;
24 24
25 kernelPackages = pkgs.linuxPackages_latest; 25 kernelPackages = pkgs.linuxPackages_latest;
26 kernelParams = [ "i915.fastboot=1" "intel_pstate=no_hwp" "quiet" ]; 26 kernelParams = [ "i915.fastboot=1" "intel_pstate=no_hwp" "acpi_backlight=vendor" "thinkpad-acpi.brightness_enable=1" "quiet" ];
27 27
28 tmpOnTmpfs = true; 28 tmpOnTmpfs = true;
29 }; 29 };
diff --git a/utils b/utils
Subproject f55aa62c7dd25d44b37985ef5f109eb8212f5ae Subproject b02413acfbbb1e541fcb9218d6930dbf283c721