temporary?: switch to kanbaru

This commit is contained in:
Kate 2024-12-05 22:32:05 -07:00
parent 6d6408c895
commit dade373f20
7 changed files with 249 additions and 157 deletions

View file

@ -98,7 +98,7 @@
#
# Include our package repository.
#
(import ./packages.nix) {
(import ./packages) {
inherit flake-utils nixpkgs;
deprekages = self.outputs.packages;
}
@ -278,12 +278,12 @@
};
# Valere (powerful laptop).
nixosConfigurations.valere = nixpkgs.lib.nixosSystem rec {
nixosConfigurations.kanbaru = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = mkSpecialArgs system;
modules = linuxOfflineGuiModules [
./nixos/hosts/valere
./nixos/hosts/kanbaru.nix
./nixos/configs/steam.nix
./nixos/configs/vmware.nix
./nixos/configs/power-saving.nix

View file

@ -45,47 +45,42 @@
#
# Intel+NVIDIA / prime setup.
#
# Disable the NVIDIA GPU unless we explicitly request it.
hardware.nvidiaOptimus.disable = true;
services.xserver.videoDrivers = [ "nvidia" ];
# TEMPORARILY DISABLED DUE TO KERNEL WONK
#specialisation.optimus.configuration = {
# system.nixos.tags = [ "NVIDIA" ];
# services.xserver.videoDrivers = [ "nvidia" ];
# Set up the NVIDIA half of the GPU setup.
system.nixos.tags = [
"NVIDIA"
"AMDGPU"
];
hardware.nvidia = {
modesetting.enable = true;
# # Set up the NVIDIA half of the GPU setup.
# # These are used only in the "enabled" configuration.
# hardware.nvidia = {
# modesetting.enable = true;
# Prefer the open NVIDIA driver.
open = true;
# # Prefer the open NVIDIA driver.
# open = true;
# Enable the nvidia-settings command.
nvidiaSettings = true;
# # Enable the nvidia-settings command.
# nvidiaSettings = true;
# Offloading setup: use GPU when asked for by command, and not otherwise.
prime = {
sync.enable = true;
# # Offloading setup: use GPU when asked for by command, and not otherwise.
# prime = {
# sync.enable = true;
# Specify how to find our GPUs.
amdgpuBusId = "PCI:4:0:0";
nvidiaBusId = "PCI:1:0:0";
};
# # Specify how to find our GPUs.
# intelBusId = "PCI:0:2:0";
# nvidiaBusId = "PCI:1:0:0";
# };
};
# };
# Provide a way to disable the NVIDIA GPU entirely,
# for points when traveling where we don't want to burn power.
specialisation.lowpower.configuration = {
system.nixos.tags = lib.mkForce [ "AMDGPU" ];
# # Include the NVIDIA X11 driver.
# boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
# Disable the NVIDIA GPU.
hardware.nvidiaOptimus.disable = true;
# These don't actually do anything, but they make introspecting
# the configuration a bit nicer.
hardware.nvidia.modesetting.enable = lib.mkForce false;
hardware.nvidia.prime.sync.enable = lib.mkForce false;
};
# # Don't disable optimus on this config.
# hardware.nvidiaOptimus.disable = lib.mkForce false;
#};
# Set up the asus-on-linux services for this machine.
services.asusd = {
@ -95,7 +90,7 @@
# Enable fingerprint reader...
services.fprintd = {
enable = false;
enable = true;
# ... and use a weird Goodix-ized fork of libfprintd.
package = pkgs.fprintd.override {
@ -113,8 +108,8 @@
src = pkgs.fetchFromGitHub {
owner = "infinytum";
repo = "libfprint";
rev = "5e14af7f136265383ca27756455f00954eef5db1";
hash = "sha256-MFhPsTF0oLUMJ9BIRZnSHj9VRwtHJxvWv0WT5zz7vDY=";
rev = "de5990838c2ef8813388a48811fbccc11088475b";
hash = "sha256-XQ4jsgILvwc/HqT2ZmnIMpTezu5VedJ1RjuY0B6gcSk=";
};
# Manually null out the installCheckPhase.

View file

@ -36,6 +36,9 @@
pkgs.nvitop
];
# Fingerprint reader, external.
#
# Niri configuration for our monitors.
#
@ -50,7 +53,7 @@
# Intel+NVIDIA / prime setup.
#
# Provide a configuration that uses the full GPU power of the system.
system.nixos.tags = [ "Intel" ];
system.nixos.tags = [ "AMD" ];
# Disable the NVIDIA GPU unless we explicitly request it.
hardware.nvidiaOptimus.disable = true;

View file

@ -1,118 +0,0 @@
#
# Our various packages; generated for each system.
#
{
flake-utils,
deprekages,
nixpkgs,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
callPackage = pkgs.callPackage;
in
{
# The packages themselves,
packages = rec {
# fonts
font-monolisa = callPackage ./fonts/monolisa.nix { };
font-codicon = callPackage ./fonts/codicon.nix { };
font-manrope = callPackage ./fonts/manrope.nix { };
# scientific things
ffts = callPackage ./packages/scopehal-apps/ffts.nix { };
libsigrok4DSL = callPackage ./packages/scopehal-apps/libsigrok4DSL.nix { };
vulkan-sdk = callPackage ./packages/scopehal-apps/vulkan-sdk.nix { };
scopehal-apps = callPackage ./packages/scopehal-apps { deprekages = deprekages.${system}; };
scopehal-sigrok-bridge = callPackage ./packages/scopehal-apps/sigrok-bridge.nix {
deprekages = deprekages.${system};
};
# apps
navit = callPackage ./packages/navit.nix { };
navit-with-maps = callPackage ./packages/navit.nix { with_maps = true; };
binary-ninja = callPackage ./packages/binary-ninja.nix { };
argos = callPackage ./packages/argos.nix { };
todoist-electron = callPackage ./packages/todoist-electron.nix { };
home-assistant-desktop = callPackage ./packages/home-assistant-desktop/x86_64-linux.nix { };
flexbv = callPackage ./packages/flexbv.nix { };
glowing-bear-desktop = callPackage ./packages/glowing-bear-desktop.nix { };
hrvst-cli = callPackage ./packages/hrvst-cli { };
notion-app = callPackage ./packages/notion-app { inherit _7zz; };
gfn-electron = callPackage ./packages/geforce-now { };
# utilities
ykush = callPackage ./packages/ykush.nix { };
wsl-gpg-forward = callPackage ./windows/gpg-forward.nix { };
oxfs = callPackage ./packages/oxfs.nix { };
pcsclite = callPackage ./packages/pcsclite.nix { };
age-plugin-yubikey = callPackage ./packages/age-plugin-yubikey.nix { inherit pcsclite; };
humanfx = callPackage ./packages/humanfx { };
clipboard-sync = callPackage ./packages/clipboard-sync.nix { };
vsmartcard = callPackage ./packages/vsmartcard.nix { };
pcsc-relay = callPackage ./packages/pcsc-relay.nix { };
neard = callPackage ./packages/neard.nix { };
libnfc = callPackage ./packages/libnfc.nix { inherit libnfc-nci; };
jadx = callPackage ./packages/jadx { };
firefox-webserial = callPackage ./packages/firefox-webserial { inherit ws-server; };
ryzen-ppd = callPackage ./packages/ryzen-ppd { };
avbroot = callPackage ./packages/avbroot { };
okc-agents = callPackage ./packages/okc-agents.nix { };
_7zz = pkgs._7zz.override { useUasm = true; };
mergiraf = callPackage ./packages/mergiraf.nix { };
# libraries
libnfc-nci = callPackage ./packages/libnfc-nci { };
ws-server = callPackage ./packages/ws-server { };
rubyPackages = callPackage ./packages/ruby-gems.nix { };
# jetbrains products
jetbrains-jdk = callPackage ./packages/jetbrains-jdk.nix { };
jetbrains = import ./packages/jetbrains.nix {
inherit pkgs;
jdk = jetbrains-jdk;
};
# kernel modules
linuxPackages_i915-sriov = callPackage ./packages/i915-sriov/kernel.nix { };
i915-sriov = callPackage ./packages/i915-sriov { linuxPackages = linuxPackages_i915-sriov; };
linux-nfc-lenovo = callPackage ./packages/linux-nfc-lenovo { };
# hw support
dell = callPackage ./packages/dell { };
# udev rules~
t5-udev-rules = callPackage ./packages/t5-udev-rules { };
ykush-udev-rules = callPackage ./packages/ykush-udev-rules { };
dreamsource-udev-rules = callPackage ./packages/dreamsource-udev-rules { };
hantek-udev-rules = callPackage ./packages/hantek-udev-rules { };
linux-nfc-lenovo-udev-rules = callPackage ./packages/linux-nfc-lenovo/udev.nix { };
# weechat
weechat-discord = callPackage ./packages/weechat-discord { };
# kakoune
kak-tree-sitter = callPackage ./packages/kak-tree-sitter { };
# vscode
vscode-extensions = callPackage ./packages/vscode-extensions.nix { };
# plasma
kde-karousel = callPackage ./packages/kde-karousel.nix { };
# xonsh and xontribs
xonsh-with-xontribs = pkgs.xonsh.override {
extraPackages = pythonPackages: [
(callPackage ./packages/xontrib-whole-word-jumping.nix { })
(callPackage ./packages/xontrib-term-integrations.nix { })
(callPackage ./packages/xontrib-sh.nix { })
];
};
};
}
)

119
packages/default.nix Normal file
View file

@ -0,0 +1,119 @@
#
# Our various packages; generated for each system.
#
{
flake-utils,
deprekages,
nixpkgs,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
callPackage = pkgs.callPackage;
in
{
# The packages themselves,
packages = rec {
# fonts
font-monolisa = callPackage ../fonts/monolisa.nix { };
font-codicon = callPackage ../fonts/codicon.nix { };
font-manrope = callPackage ../fonts/manrope.nix { };
# scientific things
ffts = callPackage ./scopehal-apps/ffts.nix { };
libsigrok4DSL = callPackage ./scopehal-apps/libsigrok4DSL.nix { };
vulkan-sdk = callPackage ./scopehal-apps/vulkan-sdk.nix { };
scopehal-apps = callPackage ./scopehal-apps { deprekages = deprekages.${system}; };
scopehal-sigrok-bridge = callPackage ./scopehal-apps/sigrok-bridge.nix {
deprekages = deprekages.${system};
};
# apps
navit = callPackage ./navit.nix { };
navit-with-maps = callPackage ./navit.nix { with_maps = true; };
binary-ninja = callPackage ./binary-ninja.nix { };
argos = callPackage ./argos.nix { };
todoist-electron = callPackage ./todoist-electron.nix { };
home-assistant-desktop = callPackage ./home-assistant-desktop/x86_64-linux.nix { };
flexbv = callPackage ./flexbv.nix { };
glowing-bear-desktop = callPackage ./glowing-bear-desktop.nix { };
hrvst-cli = callPackage ./hrvst-cli { };
notion-app = callPackage ./notion-app { inherit _7zz; };
gfn-electron = callPackage ./geforce-now { };
# utilities
ykush = callPackage ./ykush.nix { };
wsl-gpg-forward = callPackage ./windows/gpg-forward.nix { };
oxfs = callPackage ./oxfs.nix { };
pcsclite = callPackage ./pcsclite.nix { };
age-plugin-yubikey = callPackage ./age-plugin-yubikey.nix { inherit pcsclite; };
humanfx = callPackage ./humanfx { };
clipboard-sync = callPackage ./clipboard-sync.nix { };
vsmartcard = callPackage ./vsmartcard.nix { };
pcsc-relay = callPackage ./pcsc-relay.nix { };
neard = callPackage ./neard.nix { };
libnfc = callPackage ./libnfc.nix { inherit libnfc-nci; };
jadx = callPackage ./jadx { };
firefox-webserial = callPackage ./firefox-webserial { inherit ws-server; };
ryzen-ppd = callPackage ./ryzen-ppd { };
avbroot = callPackage ./avbroot { };
okc-agents = callPackage ./okc-agents.nix { };
_7zz = pkgs._7zz.override { useUasm = true; };
mergiraf = callPackage ./mergiraf.nix { };
# libraries
libnfc-nci = callPackage ./libnfc-nci { };
ws-server = callPackage ./ws-server { };
rubyPackages = callPackage ./ruby-gems.nix { };
# jetbrains products
jetbrains-jdk = callPackage ./jetbrains-jdk.nix { };
jetbrains = import ./jetbrains.nix {
inherit pkgs;
jdk = jetbrains-jdk;
};
# kernel modules
linuxPackages_i915-sriov = callPackage ./i915-sriov/kernel.nix { };
i915-sriov = callPackage ./i915-sriov { linuxPackages = linuxPackages_i915-sriov; };
linux-nfc-lenovo = callPackage ./linux-nfc-lenovo { };
# hw support
dell = callPackage ./dell { };
synatudor = callPackage ./synatudor { };
# udev rules~
t5-udev-rules = callPackage ./t5-udev-rules { };
ykush-udev-rules = callPackage ./ykush-udev-rules { };
dreamsource-udev-rules = callPackage ./dreamsource-udev-rules { };
hantek-udev-rules = callPackage ./hantek-udev-rules { };
linux-nfc-lenovo-udev-rules = callPackage ./linux-nfc-lenovo/udev.nix { };
# weechat
weechat-discord = callPackage ./weechat-discord { };
# kakoune
kak-tree-sitter = callPackage ./kak-tree-sitter { };
# vscode
vscode-extensions = callPackage ./vscode-extensions.nix { };
# plasma
kde-karousel = callPackage ./kde-karousel.nix { };
# xonsh and xontribs
xonsh-with-xontribs = pkgs.xonsh.override {
extraPackages = pythonPackages: [
(callPackage ./xontrib-whole-word-jumping.nix { })
(callPackage ./xontrib-term-integrations.nix { })
(callPackage ./xontrib-sh.nix { })
];
};
};
}
)

View file

@ -0,0 +1,21 @@
diff --git a/libtudor/download_driver.sh b/libtudor/download_driver.sh
index 4450786..7dc45c9 100644
--- a/libtudor/download_driver.sh
+++ b/libtudor/download_driver.sh
@@ -9,7 +9,8 @@ mkdir -p "$TMP_DIR"
#Download the driver executable and check hash
INSTALLER="$TMP_DIR/installer.exe"
-wget https://download.lenovo.com/pccbbs/mobiles/r19fp02w.exe -O "$INSTALLER"
+#wget https://download.lenovo.com/pccbbs/mobiles/r19fp02w.exe -O "$INSTALLER"
+cp $r19fp02w $INSTALLER
shasum "$INSTALLER" | cut -d" " -f1 | cmp - "$HASH_FILE"
#Extract the driver
@@ -22,4 +23,4 @@ mkdir -p "$OUT_DIR"
for dll in $DLLS
do
cp $(find "$WINDRV" -name "$dll") "$OUT_DIR/$dll"
-done
\ No newline at end of file
+done

View file

@ -0,0 +1,72 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
pkg-config,
openssl,
cmake,
libusb1,
libcap,
libseccomp,
glib,
dbus,
libfprint-tod,
gusb,
perl,
wget,
innoextract,
fetchurl,
}:
stdenv.mkDerivation rec {
pname = "syna-tudor";
version = "unstable-2024-08-07";
src = fetchFromGitHub {
owner = "Popax21";
repo = "synaTudor";
rev = "5e4df4061ef1cc67b504085806db35932a642aca";
hash = "sha256-YNcPJ+Zot5M9BmrNx/6lMYPAmUKQa6Y13IyZSGKh0hc=";
};
r19fp02w = fetchurl {
url = "https://download.lenovo.com/pccbbs/mobiles/r19fp02w.exe";
hash = "sha256-CfBurJRksBhsGxyN7Xlppik3Lh14nPxsi9d3xydbaY8=";
};
patches = [
./00-dont-use-network.patch
];
nativeBuildInputs = [
meson
ninja
pkg-config
cmake
ninja
wget
perl
innoextract
];
buildInputs = [
openssl
libusb1
libcap
libseccomp
glib
dbus
libfprint-tod
gusb
];
meta = {
description = "";
homepage = "https://github.com/Popax21/synaTudor.git";
license = lib.licenses.lgpl21Only;
mainProgram = "syna-tudor";
platforms = lib.platforms.all;
};
}