mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2026-02-14 20:42:45 +00:00
update system
This commit is contained in:
@@ -49,8 +49,6 @@
|
|||||||
nur.overlay
|
nur.overlay
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
anyrunPlugins = anyrun.packages.${prev.system};
|
anyrunPlugins = anyrun.packages.${prev.system};
|
||||||
hyprland = hyprland.packages.${prev.system}.hyprland;
|
|
||||||
xdg-desktop-portal-hyprland = hyprland.packages.${prev.system}.xdg-desktop-portal-hyprland;
|
|
||||||
ags = ags.packages.${prev.system}.default;
|
ags = ags.packages.${prev.system}.default;
|
||||||
matugen = matugen.packages.${prev.system}.default;
|
matugen = matugen.packages.${prev.system}.default;
|
||||||
gbmonctl = prev.callPackage ./overlays/gbmonctl { };
|
gbmonctl = prev.callPackage ./overlays/gbmonctl { };
|
||||||
|
|||||||
@@ -15,6 +15,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# I'm not happy about this but if I try to get ESP IDF working
|
||||||
|
# on nix for any longer I'm gonna lose my sanity
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot = {
|
boot = {
|
||||||
quiet.enable = true;
|
quiet.enable = true;
|
||||||
@@ -56,6 +60,12 @@
|
|||||||
fv43u.enable = true;
|
fv43u.enable = true;
|
||||||
virtual-camera.enable = true;
|
virtual-camera.enable = true;
|
||||||
hid-fanatecff.enable = true;
|
hid-fanatecff.enable = true;
|
||||||
|
|
||||||
|
enableAllFirmware = true;
|
||||||
|
bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
|
|||||||
@@ -25,8 +25,8 @@
|
|||||||
|
|
||||||
# chat apps
|
# chat apps
|
||||||
(import ./threema-desktop.nix { inherit pkgs; })
|
(import ./threema-desktop.nix { inherit pkgs; })
|
||||||
(vesktop.override { electron = pkgs.electron_29; })
|
(vesktop.override { withSystemVencord = false; })
|
||||||
(element-desktop.override { electron = pkgs.electron_29; })
|
element-desktop
|
||||||
|
|
||||||
# office
|
# office
|
||||||
libreoffice
|
libreoffice
|
||||||
|
|||||||
@@ -92,8 +92,9 @@ in
|
|||||||
|
|
||||||
colorschemes.catppuccin = {
|
colorschemes.catppuccin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
terminalColors = true;
|
settings = {
|
||||||
transparentBackground = true;
|
term_colors = true;
|
||||||
|
transparent_background = true;
|
||||||
background = {
|
background = {
|
||||||
dark = "frappe";
|
dark = "frappe";
|
||||||
light = "latte";
|
light = "latte";
|
||||||
@@ -102,7 +103,8 @@ in
|
|||||||
errors = [ "undercurl" ];
|
errors = [ "undercurl" ];
|
||||||
warnings = [ "undercurl" ];
|
warnings = [ "undercurl" ];
|
||||||
};
|
};
|
||||||
customHighlights = builtins.readFile ./custom-highlights.lua;
|
custom_highlights = builtins.readFile ./custom-highlights.lua;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
plugins = {
|
plugins = {
|
||||||
@@ -179,9 +181,11 @@ in
|
|||||||
};
|
};
|
||||||
toggleterm = {
|
toggleterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
settings = {
|
||||||
direction = "vertical";
|
direction = "vertical";
|
||||||
size = 60;
|
size = 60;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
luasnip.enable = true;
|
luasnip.enable = true;
|
||||||
ts-autotag.enable = true;
|
ts-autotag.enable = true;
|
||||||
leap.enable = true;
|
leap.enable = true;
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
stdenv,
|
stdenv,
|
||||||
kernel,
|
kernel,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
|
linuxConsoleTools,
|
||||||
|
bash,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@@ -12,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gotzl";
|
owner = "gotzl";
|
||||||
repo = "hid-fanatecff";
|
repo = "hid-fanatecff";
|
||||||
rev = "0.1";
|
rev = lib.versions.majorMinor version;
|
||||||
hash = "sha256-1Nm/34Er/qfel9LJp++IWd7cTh2Wi93Kgd28YLMVvWo=";
|
hash = "sha256-1Nm/34Er/qfel9LJp++IWd7cTh2Wi93Kgd28YLMVvWo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -23,11 +25,27 @@ stdenv.mkDerivation rec {
|
|||||||
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
runHook prePatch
|
||||||
|
|
||||||
|
substituteInPlace fanatec.rules \
|
||||||
|
--replace-fail "/bin/sh" "${bash}/bin/sh"
|
||||||
|
substituteInPlace fanatec.rules \
|
||||||
|
--replace-fail "/usr/bin/evdev-joystick" "${linuxConsoleTools}/bin/evdev-joystick"
|
||||||
|
|
||||||
|
runHook postPatch
|
||||||
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/etc/udev/rules.d
|
mkdir -p $out/etc/udev/rules.d
|
||||||
cp ${src}/fanatec.rules $out/etc/udev/rules.d/99-fanatec.rules
|
cp fanatec.rules $out/etc/udev/rules.d/99-fanatec.rules
|
||||||
|
|
||||||
mkdir -p $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/hid
|
mkdir -p $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/hid
|
||||||
cp hid-fanatec.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/hid
|
cp hid-fanatec.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/hid
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.hardware.hid-fanatecff;
|
cfg = config.hardware.hid-fanatecff;
|
||||||
kernelPackage = pkgs.callPackage ./hid-fanatecff-pkg.nix {
|
kernelPackage = pkgs.callPackage ./hid-fanatecff-pkg.nix {
|
||||||
@@ -14,28 +12,18 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.hardware.hid-fanatecff = {
|
options.hardware.hid-fanatecff.enable = lib.mkEnableOption "the Linux kernel drivers for Fanatec wheel bases";
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
example = true;
|
|
||||||
description = lib.mdDoc ''
|
|
||||||
Enables the Linux module drivers for Fanatec wheel bases.
|
|
||||||
Works with the CSL Elite and CSL/ClubSport DD/DD Pro,
|
|
||||||
and has experimental support for the ClubSport V2/V2.5,
|
|
||||||
Podium DD1/DD2 and CSR Elite.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
boot = {
|
boot = {
|
||||||
extraModulePackages = [ kernelPackage ];
|
extraModulePackages = [ kernelPackage ];
|
||||||
kernelModules = [ "hid-fanatecff" ];
|
kernelModules = [ "hid-fanatec" ];
|
||||||
};
|
};
|
||||||
|
services.udev.packages = [ kernelPackage ];
|
||||||
|
users.groups.games = { };
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
maintainers = with maintainers; [ theaninova ];
|
maintainers = with lib.maintainers; [ theaninova ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ in
|
|||||||
users.users.${username}.extraGroups = [
|
users.users.${username}.extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
"input"
|
"input"
|
||||||
|
"games"
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
@@ -37,6 +38,7 @@ in
|
|||||||
libsoup
|
libsoup
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
rpcs3
|
||||||
wine
|
wine
|
||||||
winetricks
|
winetricks
|
||||||
protontricks
|
protontricks
|
||||||
|
|||||||
Reference in New Issue
Block a user