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

View file

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

View file

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