mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 11:36:20 +00:00
feat: update system
This commit is contained in:
24
flake.lock
generated
24
flake.lock
generated
@@ -198,11 +198,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711625603,
|
"lastModified": 1712016346,
|
||||||
"narHash": "sha256-W+9dfqA9bqUIBV5u7jaIARAzMe3kTq/Hp2SpSVXKRQw=",
|
"narHash": "sha256-O2nO7pD+krq+4HgkLB4VThRtAucIPfXDs/jJqCGlK1w=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2",
|
"rev": "4be0464472675212654dedf3e021bd5f1d58b92f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -269,11 +269,11 @@
|
|||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711818062,
|
"lastModified": 1712016958,
|
||||||
"narHash": "sha256-YjuzqScxPOQGLxO7eswX9WDFp2K+vBFUTd+4EKEnX1A=",
|
"narHash": "sha256-8MSL/y71C8JQTP6i+suW2MvdHUChwDOD3TTkQnlgB6I=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland",
|
"repo": "hyprland",
|
||||||
"rev": "77f26997fd00aaec958463414269fa3d8f62bb63",
|
"rev": "af3a61a4e437fe728ef69c2739cae79e5a6254c0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -437,11 +437,11 @@
|
|||||||
"pre-commit-hooks": "pre-commit-hooks"
|
"pre-commit-hooks": "pre-commit-hooks"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711809391,
|
"lastModified": 1712008765,
|
||||||
"narHash": "sha256-/nGV6P8nB/R/ysbl1KQIKIwp1mQPXxtnoEd+pf3X+nw=",
|
"narHash": "sha256-H6tO1c8uCvSIOeUrG7J57DIoajR+spSEhXu8md0RGtg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "0c16f59202c5062d12ef9cd4560cc9fca9d99f9a",
|
"rev": "bd1794e89d705776dac393675c93f7ebb6f74e94",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -452,11 +452,11 @@
|
|||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711835027,
|
"lastModified": 1712042687,
|
||||||
"narHash": "sha256-aDPDznV5FnUAmwfzuDPpgD6oM2mgZpO91xUUjC6nPE0=",
|
"narHash": "sha256-99mV4B1J8DnI823jR2fsE9mFt+PYfyFcmDK5WgL5juk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "165b0b3ec702d1eef16074d09f5db730d926c1af",
|
"rev": "329cd2917d26fd295f750845bb8ebf5c775da3d6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -67,7 +67,6 @@
|
|||||||
nixpkgs.lib.nixosSystem {
|
nixpkgs.lib.nixosSystem {
|
||||||
pkgs = legacyPackages.${system};
|
pkgs = legacyPackages.${system};
|
||||||
modules = [
|
modules = [
|
||||||
./modules/nixos/hid-fanatecff
|
|
||||||
./modules/nixos/gbmonctl
|
./modules/nixos/gbmonctl
|
||||||
./hosts/${hostname}
|
./hosts/${hostname}
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
|||||||
@@ -14,8 +14,6 @@
|
|||||||
"GBM_BACKEND,nvidia-drm"
|
"GBM_BACKEND,nvidia-drm"
|
||||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||||
"WLR_NO_HARDWARE_CURSORS,1"
|
"WLR_NO_HARDWARE_CURSORS,1"
|
||||||
"__GL_GSYNC_ALLOWED,0"
|
|
||||||
"__GL_VRR_ALLOWED,0"
|
|
||||||
"NIXOS_OZONE_WL,1"
|
"NIXOS_OZONE_WL,1"
|
||||||
# Gnome file manager fix
|
# Gnome file manager fix
|
||||||
"GIO_EXTRA_MODULES,${pkgs.gnome.gvfs}/lib/gio/modules"
|
"GIO_EXTRA_MODULES,${pkgs.gnome.gvfs}/lib/gio/modules"
|
||||||
@@ -42,7 +40,7 @@
|
|||||||
bind = import ./keybinds.nix;
|
bind = import ./keybinds.nix;
|
||||||
bindm = import ./mousebinds.nix;
|
bindm = import ./mousebinds.nix;
|
||||||
bindr = [ "SUPER,SUPER_L,exec,pkill anyrun || anyrun" ];
|
bindr = [ "SUPER,SUPER_L,exec,pkill anyrun || anyrun" ];
|
||||||
monitor = [ "DP-1,highrr,0x0,1,bitdepth,8" "DP-1,addreserved,250,0,0,0" ];
|
monitor = [ "DP-1,highrr,0x0,1" "DP-1,addreserved,250,0,0,0" ];
|
||||||
workspace = [
|
workspace = [
|
||||||
"special:calc,border:false,gapsout:200,on-created-empty:[noanim;silent] kitty -e qalc"
|
"special:calc,border:false,gapsout:200,on-created-empty:[noanim;silent] kitty -e qalc"
|
||||||
];
|
];
|
||||||
@@ -62,13 +60,6 @@
|
|||||||
"move 22 72,${firefoxPipInitial}"
|
"move 22 72,${firefoxPipInitial}"
|
||||||
# For some reason it really wants to be maximized
|
# For some reason it really wants to be maximized
|
||||||
"suppressevent maximize,class:^(neovide)$"
|
"suppressevent maximize,class:^(neovide)$"
|
||||||
# IntelliJ focus fixes
|
|
||||||
"windowdance,class:^(jetbrains-.*)$"
|
|
||||||
"dimaround,class:^(jetbrains-.*)$,floating:1,title:^(?!win)"
|
|
||||||
"center,class:^(jetbrains-.*)$,floating:1,title:^(?!win)"
|
|
||||||
"noanim,class:^(jetbrains-.*)$,title:^(win.*)$"
|
|
||||||
"noinitialfocus,class:^(jetbrains-.*)$,title:^(win.*)$"
|
|
||||||
"rounding 0,class:^(jetbrains-.*)$,title:^(win.*)$"
|
|
||||||
# pinentry
|
# pinentry
|
||||||
"dimaround,class:^(gcr-prompter)$"
|
"dimaround,class:^(gcr-prompter)$"
|
||||||
"noborder,class:^(gcr-prompter)$"
|
"noborder,class:^(gcr-prompter)$"
|
||||||
@@ -83,6 +74,7 @@
|
|||||||
layers_hog_keyboard_focus = false;
|
layers_hog_keyboard_focus = false;
|
||||||
disable_splash_rendering = true;
|
disable_splash_rendering = true;
|
||||||
force_default_wallpaper = 0;
|
force_default_wallpaper = 0;
|
||||||
|
vrr = 1;
|
||||||
};
|
};
|
||||||
layerrule = [ "blur, anyrun" "ignorealpha 0.3, anyrun" ];
|
layerrule = [ "blur, anyrun" "ignorealpha 0.3, anyrun" ];
|
||||||
decoration = {
|
decoration = {
|
||||||
@@ -101,6 +93,7 @@
|
|||||||
brightness = 0.8;
|
brightness = 0.8;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
opengl.nvidia_anti_flicker = true;
|
||||||
animations = {
|
animations = {
|
||||||
enabled = "yes";
|
enabled = "yes";
|
||||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||||
|
|||||||
@@ -184,6 +184,11 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
project-nvim = {
|
||||||
|
enable = true;
|
||||||
|
enableTelescope = true;
|
||||||
|
};
|
||||||
|
|
||||||
telescope = {
|
telescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keymaps = {
|
keymaps = {
|
||||||
|
|||||||
@@ -57,6 +57,13 @@
|
|||||||
mode = "n";
|
mode = "n";
|
||||||
action = ":Telescope harpoon marks<CR>";
|
action = ":Telescope harpoon marks<CR>";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>fp";
|
||||||
|
mode = "n";
|
||||||
|
options.silent = true;
|
||||||
|
lua = true;
|
||||||
|
action = "require('telescope').extensions.projects.projects";
|
||||||
|
}
|
||||||
# LSP Actions
|
# LSP Actions
|
||||||
{
|
{
|
||||||
key = "<leader>sa";
|
key = "<leader>sa";
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
editor = false;
|
editor = false;
|
||||||
configurationLimit = 10;
|
configurationLimit = 10;
|
||||||
consoleMode = "auto";
|
consoleMode = "max";
|
||||||
};
|
};
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
};
|
};
|
||||||
@@ -31,14 +31,19 @@
|
|||||||
|
|
||||||
# Silent Boot
|
# Silent Boot
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"splash"
|
# Redirect all kernel messages to a console off screen
|
||||||
"quiet"
|
#"fbcon=vc:2-6"
|
||||||
"rd.udev.log_level=3"
|
#"console=tty1"
|
||||||
"rd.systemd.show_status=false"
|
|
||||||
"udev.log_priority=3"
|
"video=3840x2160@144"
|
||||||
"boot.shell_on_fail"
|
# "splash"
|
||||||
"vt.global_cursor_default=0" # no cursor blinking
|
# "quiet"
|
||||||
"fbdev=1" # NVIDIA
|
|
||||||
|
#"rd.udev.log_level=3"
|
||||||
|
#"rd.systemd.show_status=false"
|
||||||
|
#"udev.log_priority=3"
|
||||||
|
#"boot.shell_on_fail"
|
||||||
|
#"vt.global_cursor_default=0" # no cursor blinking
|
||||||
];
|
];
|
||||||
consoleLogLevel = 0;
|
consoleLogLevel = 0;
|
||||||
initrd.verbose = false;
|
initrd.verbose = false;
|
||||||
@@ -48,11 +53,7 @@
|
|||||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback.out ];
|
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback.out ];
|
||||||
extraModprobeConfig = ''
|
extraModprobeConfig = ''
|
||||||
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
|
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
|
||||||
blacklist i2c_nvidia_gpu
|
'';
|
||||||
blacklist hid-logitech
|
|
||||||
blacklist simpledrm
|
|
||||||
blacklist nouveau
|
|
||||||
''; # NVIDIA
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Audio
|
# Audio
|
||||||
@@ -66,7 +67,8 @@
|
|||||||
jack.enable = true;
|
jack.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.hid-fanatecff.enable = true;
|
# https://github.com/NixOS/nixpkgs/pull/300682
|
||||||
|
# hardware.hid-fanatecff.enable = true;
|
||||||
hardware.gbmonctl.enable = true;
|
hardware.gbmonctl.enable = true;
|
||||||
|
|
||||||
hardware.sane = {
|
hardware.sane = {
|
||||||
@@ -137,6 +139,7 @@
|
|||||||
services.getty.autologinUser = "${username}";
|
services.getty.autologinUser = "${username}";
|
||||||
services.getty.extraArgs = [ "--noclear" "--noissue" "--nonewline" ];
|
services.getty.extraArgs = [ "--noclear" "--noissue" "--nonewline" ];
|
||||||
services.getty.loginOptions = "-p -f -- \\u"; # preserve environment
|
services.getty.loginOptions = "-p -f -- \\u"; # preserve environment
|
||||||
|
|
||||||
programs.hyprland.enable = true;
|
programs.hyprland.enable = true;
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
|
boot.kernelParams = [ "nvidia_drm.fbdev=1" ];
|
||||||
boot.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
|
boot.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
|
||||||
boot.initrd.kernelModules =
|
boot.initrd.kernelModules =
|
||||||
[ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
|
[ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
|
||||||
@@ -16,7 +17,7 @@
|
|||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
# seems to cause crashes on sleep
|
# seems to cause crashes on sleep
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = false;
|
||||||
open = false;
|
open = true;
|
||||||
nvidiaSettings = false;
|
nvidiaSettings = false;
|
||||||
# no idea if this actually does anything...
|
# no idea if this actually does anything...
|
||||||
nvidiaPersistenced = false;
|
nvidiaPersistenced = false;
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
{ pkgs, lib, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.hardware.hid-fanatecff;
|
|
||||||
kernel = config.boot.kernelPackages.kernel;
|
|
||||||
fanatecKernelModule =
|
|
||||||
pkgs.callPackage (import ./hid-fanatecff-module.nix) { kernel = kernel; };
|
|
||||||
in {
|
|
||||||
options.hardware.hid-fanatecff = {
|
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = lib.mkDoc ''
|
|
||||||
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 {
|
|
||||||
boot = {
|
|
||||||
extraModulePackages = [ fanatecKernelModule ];
|
|
||||||
kernelModules = [ "hid-fanatecff" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
{ lib, stdenv, kernel, fetchFromGitHub, }:
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "hid-fanatecff";
|
|
||||||
version = "0.1.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "gotzl";
|
|
||||||
repo = "hid-fanatecff";
|
|
||||||
rev = "ce894fb7bcae486978f8165e9f521e480120f98a";
|
|
||||||
hash = "sha256-/106K52Zi4/6aWh2EwojRm370poaBHyX3Ke2j52ytdo=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
|
||||||
|
|
||||||
makeFlags = kernel.makeFlags ++ [
|
|
||||||
"KVERSION=${kernel.modDirVersion}"
|
|
||||||
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
|
||||||
];
|
|
||||||
|
|
||||||
installFlags = [
|
|
||||||
"-C"
|
|
||||||
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
|
||||||
"M=${src}"
|
|
||||||
"INSTALL_MOD_PATH=${placeholder "out"}"
|
|
||||||
];
|
|
||||||
installTargets = [ "modules_install" ];
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description =
|
|
||||||
"Linux kernel driver that aims to add support for FANATEC devices";
|
|
||||||
homepage = "https://github.com/gotzl/hid-fanatecff";
|
|
||||||
license = licenses.gpl2Only;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
broken = stdenv.isAarch64;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
reema Web is a web client for Threema, a privacy-focussed end-to-end encrypted mobile messenger hosted and developed in Switzerland";
|
|
||||||
homepage = "https://threema.ch/en/faq/threema_web";
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [theaninova];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
buildNpmPackage rec {
|
|
||||||
name = "threema-desktop";
|
|
||||||
version = "1.2.40";
|
|
||||||
src =
|
|
||||||
fetchFromGitHub {
|
|
||||||
owner = "threema-ch";
|
|
||||||
repo = "threema-web-electron";
|
|
||||||
rev = version;
|
|
||||||
}
|
|
||||||
+ "/app";
|
|
||||||
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
|
||||||
buildInputs = [
|
|
||||||
(threema-web.overrideAttrs {
|
|
||||||
patches = [
|
|
||||||
"${src}/../tools/patches/patch-looks.patch"
|
|
||||||
"${src}/../tools/patches/patch-user-agent.patch"
|
|
||||||
];
|
|
||||||
postBuild = ''
|
|
||||||
# see tools/patches/post-patch-threema-web.sh
|
|
||||||
sed -i.bak -E "s/IN_MEMORY_SESSION_PASSWORD:(true|false|0|1|\!0|\!1)/IN_MEMORY_SESSION_PASSWORD:true/g" -- *.bundle.js
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
];
|
|
||||||
buildPhase = ''
|
|
||||||
run hook preBuild
|
|
||||||
ln -s ${threema-web}/share/threema-web ${src}/dependencies/threema-web/release/threema-web
|
|
||||||
run hook postBuild
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user