temporary?: switch to kanbaru
This commit is contained in:
parent
6d6408c895
commit
dade373f20
7 changed files with 249 additions and 157 deletions
|
@ -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
|
||||
|
|
|
@ -45,47 +45,42 @@
|
|||
#
|
||||
# Intel+NVIDIA / prime setup.
|
||||
#
|
||||
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
# Set up the NVIDIA half of the GPU setup.
|
||||
system.nixos.tags = [
|
||||
"NVIDIA"
|
||||
"AMDGPU"
|
||||
];
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
|
||||
# Prefer the open NVIDIA driver.
|
||||
open = true;
|
||||
|
||||
# Enable the nvidia-settings command.
|
||||
nvidiaSettings = 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";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
# 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" ];
|
||||
|
||||
# Disable the NVIDIA GPU.
|
||||
# Disable the NVIDIA GPU unless we explicitly request it.
|
||||
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;
|
||||
};
|
||||
# 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.
|
||||
# # These are used only in the "enabled" configuration.
|
||||
# hardware.nvidia = {
|
||||
# modesetting.enable = true;
|
||||
|
||||
# # Prefer the open NVIDIA driver.
|
||||
# open = true;
|
||||
|
||||
# # Enable the nvidia-settings command.
|
||||
# nvidiaSettings = true;
|
||||
|
||||
# # Offloading setup: use GPU when asked for by command, and not otherwise.
|
||||
# prime = {
|
||||
# sync.enable = true;
|
||||
|
||||
# # Specify how to find our GPUs.
|
||||
# intelBusId = "PCI:0:2:0";
|
||||
# nvidiaBusId = "PCI:1:0:0";
|
||||
# };
|
||||
|
||||
# };
|
||||
|
||||
# # Include the NVIDIA X11 driver.
|
||||
# boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
|
||||
|
||||
# # 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.
|
||||
|
|
|
@ -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;
|
||||
|
|
118
packages.nix
118
packages.nix
|
@ -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
119
packages/default.nix
Normal 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 { })
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
21
packages/synatudor/00-dont-use-network.patch
Normal file
21
packages/synatudor/00-dont-use-network.patch
Normal 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
|
72
packages/synatudor/default.nix
Normal file
72
packages/synatudor/default.nix
Normal 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;
|
||||
};
|
||||
}
|
Loading…
Add table
Reference in a new issue