mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2026-04-19 19:18:58 +00:00
update system
This commit is contained in:
131
flake.lock
generated
131
flake.lock
generated
@@ -16,6 +16,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"elephant": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770910218,
|
||||
"narHash": "sha256-IyHoHbhLFuIgFG+n7dqHwJaXuNnRaEsxCfAsfudV1KY=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "elephant",
|
||||
"rev": "c354a596ec7a7e34e9c26478dc7ef9680bc23e6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "abenz1267",
|
||||
"repo": "elephant",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@@ -24,11 +45,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765835352,
|
||||
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
|
||||
"lastModified": 1769996383,
|
||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "a34fae9c08a15ad73f295041fec82323541400a9",
|
||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -44,11 +65,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768984719,
|
||||
"narHash": "sha256-O6nXCW9FN39qw204e5Nl3qgaxKFcSvdpx0bULqfwyTA=",
|
||||
"lastModified": 1771188132,
|
||||
"narHash": "sha256-qLXxN/tPrZtnekaLBQuVtxQfvqqs5cT5WbyH4zZaTGI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "d6e3935ec6e43c8f54cd0132276c82d951e1453e",
|
||||
"rev": "ae8003d8b61d0d373e7ca3da1a48f9c870d15df9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -62,7 +83,7 @@
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731508795,
|
||||
@@ -91,11 +112,11 @@
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768974509,
|
||||
"narHash": "sha256-V+Uv2EL6MMdYGF4Zg0sWHeRLSgqzC4to01taYDItCNY=",
|
||||
"lastModified": 1771197610,
|
||||
"narHash": "sha256-482qPcmmuH32EIneik7AGSbuKwDteg29MYXmpN4Srd0=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "2f38ab793de773496d2184aa3aa377bc8c99557b",
|
||||
"rev": "d4b632053ada7f646b93e2714ace9a1160e9d490",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -124,11 +145,11 @@
|
||||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1768678265,
|
||||
"narHash": "sha256-Ub8eed4DsfIDWyg30xEe+8bSxL/z5Af/gCjmvJ0V/Hs=",
|
||||
"lastModified": 1771182017,
|
||||
"narHash": "sha256-lrXBx91NQAVoFeFUNZi46ZWP9M6tbBmT5BNsqSh8QOY=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "d7184a04b904e07113f4623610775ae78d32394c",
|
||||
"rev": "1fa0338a172a69b05a1a35d55b291693ff1bc29f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -155,11 +176,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1768886240,
|
||||
"narHash": "sha256-C2TjvwYZ2VDxYWeqvvJ5XPPp6U7H66zeJlRaErJKoEM=",
|
||||
"lastModified": 1771008912,
|
||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "80e4adbcf8992d3fd27ad4964fbb84907f9478b0",
|
||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -171,11 +192,11 @@
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1768773494,
|
||||
"narHash": "sha256-XsM7GP3jHlephymxhDE+/TKKO1Q16phz/vQiLBGhpF4=",
|
||||
"lastModified": 1771043024,
|
||||
"narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "77ef7a29d276c6d8303aece3444d61118ef71ac2",
|
||||
"rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -191,14 +212,14 @@
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768910181,
|
||||
"narHash": "sha256-YRU0IHMzXluZxr0JDfq9jtblb4DV7MIB5wj2jYMFKQc=",
|
||||
"lastModified": 1771135771,
|
||||
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "5b138edcb2f1c3ed4b29eca3658f04f0639b98b3",
|
||||
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -209,13 +230,15 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"elephant": "elephant",
|
||||
"home-manager": "home-manager",
|
||||
"matugen": "matugen",
|
||||
"niri": "niri",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixvim": "nixvim",
|
||||
"tidalcycles": "tidalcycles"
|
||||
"tidalcycles": "tidalcycles",
|
||||
"walker": "walker"
|
||||
}
|
||||
},
|
||||
"superdirt-src": {
|
||||
@@ -250,6 +273,21 @@
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
@@ -264,6 +302,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tidal-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -339,6 +392,30 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"walker": {
|
||||
"inputs": {
|
||||
"elephant": [
|
||||
"elephant"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771062828,
|
||||
"narHash": "sha256-y1jBFFO0u+V21y3YldHZozrDwVJVrdC+o3c4M8/rasU=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "walker",
|
||||
"rev": "19b1104585305e0806b842af341630f72038a4b9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "abenz1267",
|
||||
"repo": "walker",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xwayland-satellite-stable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -359,11 +436,11 @@
|
||||
"xwayland-satellite-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1768765571,
|
||||
"narHash": "sha256-C1JbyJ3ftogmN3vmLNfyPtnJw2wY64TiUTIhFtk1Leg=",
|
||||
"lastModified": 1771195969,
|
||||
"narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "ed1cef792b4def3321ff9ab5479df09609f17a69",
|
||||
"rev": "536bd32efc935bf876d6de385ec18a1b715c9358",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
13
flake.nix
13
flake.nix
@@ -22,6 +22,17 @@
|
||||
url = "github:mitchmindtree/tidalcycles.nix/?ref=0db0918e7a3d3c30ed7a6e81dc9d4e3832870ac4";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
elephant = {
|
||||
url = "github:abenz1267/elephant";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
walker = {
|
||||
url = "github:abenz1267/walker";
|
||||
inputs = {
|
||||
elephant.follows = "elephant";
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -33,6 +44,7 @@
|
||||
nix-flatpak,
|
||||
niri,
|
||||
tidalcycles,
|
||||
walker,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
@@ -144,6 +156,7 @@
|
||||
nix-flatpak.homeManagerModules.nix-flatpak
|
||||
nixvim.homeModules.nixvim
|
||||
./modules/home-manager/modules/nixvim
|
||||
walker.homeManagerModules.default
|
||||
];
|
||||
users.${username} = {
|
||||
nix.gc = {
|
||||
|
||||
@@ -29,9 +29,12 @@
|
||||
];
|
||||
};
|
||||
};
|
||||
wayland.windowManager.hyprland.settings.windowrulev2 = [
|
||||
# For some reason it really wants to be maximized
|
||||
"suppressevent maximize,class:^(neovide)$"
|
||||
wayland.windowManager.hyprland.settings.windowrule = [
|
||||
{
|
||||
name = "Suppress maximize for neovide";
|
||||
"match:class" = "^(neovide)$";
|
||||
suppress_event = "maximize";
|
||||
}
|
||||
];
|
||||
programs.nixvim = {
|
||||
globals = {
|
||||
|
||||
@@ -341,7 +341,13 @@ in
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
windowrulev2 = [ "float,class:^(zenity)$" ];
|
||||
windowrule = [
|
||||
{
|
||||
name = "floating-zenity";
|
||||
"match:class" = "^(zenity)$";
|
||||
float = true;
|
||||
}
|
||||
];
|
||||
decoration = {
|
||||
inactive_opacity = 0.8;
|
||||
shadow = {
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
./fonts/nerd-fonts.nix
|
||||
./fonts/open-dyslexic.nix
|
||||
|
||||
./hardware/hid-fanatecff.nix
|
||||
./hardware/astro-a50.nix
|
||||
./hardware/audio.nix
|
||||
./hardware/gbmonctl.nix
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
kernel,
|
||||
fetchFromGitHub,
|
||||
linuxConsoleTools,
|
||||
bash,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hid-fanatecff";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gotzl";
|
||||
repo = "hid-fanatecff";
|
||||
rev = version;
|
||||
hash = "sha256-M2jm8pyxHRiswV4iJEawo57GkJ2XOclIo3NxEFgK+q0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||
|
||||
makeFlags = kernel.makeFlags ++ [
|
||||
"KVERSION=${kernel.modDirVersion}"
|
||||
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||
"KBUILD_OUTPUT=${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 = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/etc/udev/rules.d
|
||||
cp fanatec.rules $out/etc/udev/rules.d/99-fanatec.rules
|
||||
|
||||
mkdir -p $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; {
|
||||
description = "Driver to support FANATEC input devices, in particular ForceFeedback of various wheel-bases";
|
||||
homepage = "https://github.com/gotzl/hid-fanatecff";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ theaninova ];
|
||||
platforms = platforms.linux;
|
||||
broken = stdenv.isAarch64;
|
||||
};
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.hardware.hid-fanatecff;
|
||||
kernelPackage = pkgs.callPackage ./hid-fanatecff-pkg.nix {
|
||||
kernel = config.boot.kernelPackages.kernel;
|
||||
};
|
||||
in
|
||||
{
|
||||
options.hardware.hid-fanatecff.enable = lib.mkEnableOption "the Linux kernel drivers for Fanatec wheel bases";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
boot = {
|
||||
extraModulePackages = [ kernelPackage ];
|
||||
kernelModules = [ "hid-fanatec" ];
|
||||
};
|
||||
services.udev.packages = [ kernelPackage ];
|
||||
users.groups.games = { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ theaninova ];
|
||||
};
|
||||
}
|
||||
@@ -21,9 +21,13 @@ in
|
||||
bind = [
|
||||
"SUPER_SHIFT,V,exec,XDG_CURRENT_DESKTOP=sway uwsm app -- flameshot gui --clipboard"
|
||||
];
|
||||
windowrulev2 = [
|
||||
"float,class:^(flameshot)$"
|
||||
"animation fade,class:^(flameshot)$"
|
||||
windowrule = [
|
||||
{
|
||||
name = "Flameshot";
|
||||
"match:class" = "^(flameshot)$";
|
||||
animation = "fade";
|
||||
float = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -16,11 +16,15 @@ in
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home-manager.users.${username} = {
|
||||
wayland.windowManager.hyprland.settings.windowrulev2 = [
|
||||
"dimaround,class:^(gcr-prompter)$"
|
||||
"noborder,class:^(gcr-prompter)$"
|
||||
"rounding 10,class:^(gcr-prompter)$"
|
||||
"animation slide,class:^(gcr-prompter)$"
|
||||
wayland.windowManager.hyprland.settings.windowrule = [
|
||||
{
|
||||
name = "Gnome Keyring";
|
||||
"match:class" = "^(gcr-prompter)$";
|
||||
border_size = 0;
|
||||
rounding = 10;
|
||||
animation = "slide";
|
||||
dim_around = true;
|
||||
}
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
polkit_gnome
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
let
|
||||
cfg = config.shell.components.walker;
|
||||
hmConfig = config.home-manager.users.${username};
|
||||
in
|
||||
{
|
||||
options.shell.components.walker = {
|
||||
@@ -29,27 +28,14 @@ in
|
||||
};
|
||||
programs.niri.settings.binds."Mod+Space".action.spawn = [ (lib.getExe pkgs.walker) ];
|
||||
home.packages = with pkgs; [
|
||||
walker
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
xdg.configFile."walker/config.toml".source = (pkgs.formats.toml { }).generate "walker-config.toml" {
|
||||
app_launch_prefix = "uwsm app -- ";
|
||||
close_when_open = true;
|
||||
force_keyboard_focus = true;
|
||||
};
|
||||
systemd.user.services.walker = {
|
||||
Unit = {
|
||||
Description = "Walker - Application Runner";
|
||||
X-Restart-Triggers = [
|
||||
"${hmConfig.xdg.configFile."walker/config.toml".source}"
|
||||
];
|
||||
After = [ "graphical-session.target" ];
|
||||
};
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
Service = {
|
||||
ExecStart = "${lib.getExe pkgs.walker} --gapplication-service";
|
||||
Restart = "always";
|
||||
programs.walker = {
|
||||
enable = true;
|
||||
runAsService = true;
|
||||
config = {
|
||||
close_when_open = true;
|
||||
force_keyboard_focus = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user