diff options
| m--------- | nixpkgs | 0 | ||||
| -rw-r--r-- | sif.nix | 98 | ||||
| -rw-r--r-- | sif/boot.nix | 2 | ||||
| m--------- | utils | 0 |
4 files changed, 89 insertions, 11 deletions
diff --git a/nixpkgs b/nixpkgs | |||
| Subproject 99a4a7363ccc565629230ebc8cf8c949da2ffb5 | Subproject 7948e6785b4aa6a1289645575816e423d85f6ae | ||
| @@ -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 | ||
