mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2026-05-03 01:48:59 +00:00
Compare commits
5 Commits
1a1211a8fa
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
cd34401a47
|
|||
|
1ba0b48cf3
|
|||
|
c26512c3db
|
|||
|
36e64dcc4c
|
|||
|
0503faaf3b
|
131
flake.lock
generated
131
flake.lock
generated
@@ -16,6 +16,27 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"elephant": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773079031,
|
||||||
|
"narHash": "sha256-RvCzINnVISBT3d0F1DoIcQFbQsbRJISW9qZeKTzmNaA=",
|
||||||
|
"owner": "abenz1267",
|
||||||
|
"repo": "elephant",
|
||||||
|
"rev": "53afe39cef252010f7c55bd33c5bae6dd50dcf0c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "abenz1267",
|
||||||
|
"repo": "elephant",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
@@ -24,11 +45,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765835352,
|
"lastModified": 1769996383,
|
||||||
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
|
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "a34fae9c08a15ad73f295041fec82323541400a9",
|
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -44,11 +65,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768984719,
|
"lastModified": 1774210133,
|
||||||
"narHash": "sha256-O6nXCW9FN39qw204e5Nl3qgaxKFcSvdpx0bULqfwyTA=",
|
"narHash": "sha256-yeiWCY9aAUUJ3ebMVjs0UZXRnT5x90MCtpbpOWiXrvM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d6e3935ec6e43c8f54cd0132276c82d951e1453e",
|
"rev": "c6fe2944ad9f2444b2d767c4a5edee7c166e8a95",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -62,7 +83,7 @@
|
|||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731508795,
|
"lastModified": 1731508795,
|
||||||
@@ -91,11 +112,11 @@
|
|||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768974509,
|
"lastModified": 1774253924,
|
||||||
"narHash": "sha256-V+Uv2EL6MMdYGF4Zg0sWHeRLSgqzC4to01taYDItCNY=",
|
"narHash": "sha256-5Zi+RYoRvax1gATaNC80MYR+6uBJ3F+uUZ2KL3HyTWg=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "2f38ab793de773496d2184aa3aa377bc8c99557b",
|
"rev": "36f3b7b93efde38c4c40daeaee80a62afb550812",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -124,11 +145,11 @@
|
|||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768678265,
|
"lastModified": 1773130184,
|
||||||
"narHash": "sha256-Ub8eed4DsfIDWyg30xEe+8bSxL/z5Af/gCjmvJ0V/Hs=",
|
"narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "d7184a04b904e07113f4623610775ae78d32394c",
|
"rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -155,11 +176,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768886240,
|
"lastModified": 1774106199,
|
||||||
"narHash": "sha256-C2TjvwYZ2VDxYWeqvvJ5XPPp6U7H66zeJlRaErJKoEM=",
|
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "80e4adbcf8992d3fd27ad4964fbb84907f9478b0",
|
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -171,11 +192,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768773494,
|
"lastModified": 1773964973,
|
||||||
"narHash": "sha256-XsM7GP3jHlephymxhDE+/TKKO1Q16phz/vQiLBGhpF4=",
|
"narHash": "sha256-NV/J+tTER0P5iJhUDL/8HO5MDjDceLQPRUYgdmy5wXw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "77ef7a29d276c6d8303aece3444d61118ef71ac2",
|
"rev": "812b3986fd1568f7a858f97fcf425ad996ba7d25",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -191,14 +212,14 @@
|
|||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768910181,
|
"lastModified": 1772402258,
|
||||||
"narHash": "sha256-YRU0IHMzXluZxr0JDfq9jtblb4DV7MIB5wj2jYMFKQc=",
|
"narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "5b138edcb2f1c3ed4b29eca3658f04f0639b98b3",
|
"rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -209,13 +230,15 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"elephant": "elephant",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"matugen": "matugen",
|
"matugen": "matugen",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"tidalcycles": "tidalcycles"
|
"tidalcycles": "tidalcycles",
|
||||||
|
"walker": "walker"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"superdirt-src": {
|
"superdirt-src": {
|
||||||
@@ -250,6 +273,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_2": {
|
"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": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
@@ -264,6 +302,21 @@
|
|||||||
"type": "github"
|
"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": {
|
"tidal-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -339,6 +392,30 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"walker": {
|
||||||
|
"inputs": {
|
||||||
|
"elephant": [
|
||||||
|
"elephant"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773675699,
|
||||||
|
"narHash": "sha256-GrormZ2KxchtCLuO90+5fioEQmlUCKBIil0Mzr9w0Iw=",
|
||||||
|
"owner": "abenz1267",
|
||||||
|
"repo": "walker",
|
||||||
|
"rev": "d2702235710da3d7daf55c912ca7534261cf20f5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "abenz1267",
|
||||||
|
"repo": "walker",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"xwayland-satellite-stable": {
|
"xwayland-satellite-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -359,11 +436,11 @@
|
|||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768765571,
|
"lastModified": 1773622265,
|
||||||
"narHash": "sha256-C1JbyJ3ftogmN3vmLNfyPtnJw2wY64TiUTIhFtk1Leg=",
|
"narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "ed1cef792b4def3321ff9ab5479df09609f17a69",
|
"rev": "a879e5e0896a326adc79c474bf457b8b99011027",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
15
flake.nix
15
flake.nix
@@ -22,6 +22,17 @@
|
|||||||
url = "github:mitchmindtree/tidalcycles.nix/?ref=0db0918e7a3d3c30ed7a6e81dc9d4e3832870ac4";
|
url = "github:mitchmindtree/tidalcycles.nix/?ref=0db0918e7a3d3c30ed7a6e81dc9d4e3832870ac4";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
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 =
|
outputs =
|
||||||
@@ -33,6 +44,7 @@
|
|||||||
nix-flatpak,
|
nix-flatpak,
|
||||||
niri,
|
niri,
|
||||||
tidalcycles,
|
tidalcycles,
|
||||||
|
walker,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
@@ -68,7 +80,7 @@
|
|||||||
wireshark = prev.wireshark.overrideAttrs (
|
wireshark = prev.wireshark.overrideAttrs (
|
||||||
finalAttrs: prevAttrs: {
|
finalAttrs: prevAttrs: {
|
||||||
postInstall = prevAttrs.postInstall + ''
|
postInstall = prevAttrs.postInstall + ''
|
||||||
ln -s ${final.usb-sniffer}/bin/usb_sniffer $out/lib/wireshark/extcap/usb_sniffer
|
ln -s ${final.usb-sniffer}/bin/usb_sniffer $out/libexec/wireshark/extcap/usb_sniffer
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -144,6 +156,7 @@
|
|||||||
nix-flatpak.homeManagerModules.nix-flatpak
|
nix-flatpak.homeManagerModules.nix-flatpak
|
||||||
nixvim.homeModules.nixvim
|
nixvim.homeModules.nixvim
|
||||||
./modules/home-manager/modules/nixvim
|
./modules/home-manager/modules/nixvim
|
||||||
|
walker.homeManagerModules.default
|
||||||
];
|
];
|
||||||
users.${username} = {
|
users.${username} = {
|
||||||
nix.gc = {
|
nix.gc = {
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
usecases = {
|
usecases = {
|
||||||
gaming.enable = true;
|
gaming.enable = true;
|
||||||
|
localai.enable = true;
|
||||||
"3d-printing".enable = true;
|
"3d-printing".enable = true;
|
||||||
development = {
|
development = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -50,23 +51,7 @@
|
|||||||
scrolling = true;
|
scrolling = true;
|
||||||
};
|
};
|
||||||
locale.preset.theaninova.enable = true;
|
locale.preset.theaninova.enable = true;
|
||||||
|
|
||||||
networking.hosts = {
|
|
||||||
"127.0.0.1:57461" = [ "ai.local" ];
|
|
||||||
};
|
|
||||||
services = {
|
services = {
|
||||||
ollama.enable = false;
|
|
||||||
open-webui = {
|
|
||||||
enable = false;
|
|
||||||
port = 57461;
|
|
||||||
environment = {
|
|
||||||
ANONYMIZED_TELEMETRY = "False";
|
|
||||||
DO_NOT_TRACK = "True";
|
|
||||||
SCARF_NO_ANALYTICS = "True";
|
|
||||||
WEBUI_AUTH = "False";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xserver.xkb.variant = "altgr-intl";
|
xserver.xkb.variant = "altgr-intl";
|
||||||
xserver.xkb.layout = "us";
|
xserver.xkb.layout = "us";
|
||||||
|
|
||||||
@@ -135,7 +120,7 @@
|
|||||||
programs = {
|
programs = {
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
wireshark = {
|
wireshark = {
|
||||||
enable = false;
|
enable = true;
|
||||||
package = pkgs.wireshark;
|
package = pkgs.wireshark;
|
||||||
usbmon.enable = true;
|
usbmon.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
theme.md3-evo = {
|
theme.md3-evo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -8,35 +8,12 @@
|
|||||||
lon = 13.40;
|
lon = 13.40;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
xdg.userDirs = {
|
||||||
|
enable = true;
|
||||||
|
setSessionVariables = true;
|
||||||
|
extraConfig.PROJECTS = "${config.home.homeDirectory}/Projects";
|
||||||
|
};
|
||||||
programs.zoxide.enable = true;
|
programs.zoxide.enable = true;
|
||||||
home.packages = with pkgs; [
|
|
||||||
hyperhdr
|
|
||||||
/*
|
|
||||||
(hyperion-ng.overrideAttrs (
|
|
||||||
final: prev: rec {
|
|
||||||
version = "2.1.1";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "hyperion-project";
|
|
||||||
repo = prev.pname;
|
|
||||||
rev = version;
|
|
||||||
hash = "sha256-lKLXgOrXp8DLmlpQe/33A30l4K9VX8P0q2LUA+lLYws=";
|
|
||||||
# needed for `dependencies/external/`:
|
|
||||||
# * rpi_ws281x` - not possible to use as a "system" lib
|
|
||||||
# * qmdnsengine - not in nixpkgs yet
|
|
||||||
fetchSubmodules = true;
|
|
||||||
};
|
|
||||||
buildInputs = prev.buildInputs ++ [
|
|
||||||
pkgs.libsForQt5.qtwebsockets
|
|
||||||
pkgs.libftdi1
|
|
||||||
];
|
|
||||||
nativeBuildInputs = prev.nativeBuildInputs ++ [ pkgs.git ];
|
|
||||||
cmakeFlags = prev.cmakeFlags ++ [
|
|
||||||
"-DUSE_SYSTEM_LIBFTDI_LIBS=ON"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
))
|
|
||||||
*/
|
|
||||||
];
|
|
||||||
wayland.windowManager.hyprland.settings.device =
|
wayland.windowManager.hyprland.settings.device =
|
||||||
let
|
let
|
||||||
targetDPI = 1200;
|
targetDPI = 1200;
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ in
|
|||||||
ghex
|
ghex
|
||||||
gnome-disk-utility
|
gnome-disk-utility
|
||||||
# fixes
|
# fixes
|
||||||
xorg.xrandr
|
xrandr
|
||||||
];
|
];
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
signing = {
|
signing = {
|
||||||
|
format = "openpgp";
|
||||||
key = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA";
|
key = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA";
|
||||||
signByDefault = true;
|
signByDefault = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,9 +29,12 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
wayland.windowManager.hyprland.settings.windowrulev2 = [
|
wayland.windowManager.hyprland.settings.windowrule = [
|
||||||
# For some reason it really wants to be maximized
|
{
|
||||||
"suppressevent maximize,class:^(neovide)$"
|
name = "Suppress maximize for neovide";
|
||||||
|
"match:class" = "^(neovide)$";
|
||||||
|
suppress_event = "maximize";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
globals = {
|
globals = {
|
||||||
|
|||||||
@@ -299,8 +299,11 @@ in
|
|||||||
gtk = {
|
gtk = {
|
||||||
gtk3.extraCss = # css
|
gtk3.extraCss = # css
|
||||||
"@import './theme.css';";
|
"@import './theme.css';";
|
||||||
gtk4.extraCss = # css
|
gtk4 = {
|
||||||
"@import './theme.css';";
|
theme.name = "Adwaita";
|
||||||
|
extraCss = # css
|
||||||
|
"@import './theme.css';";
|
||||||
|
};
|
||||||
theme = {
|
theme = {
|
||||||
name = "Adwaita";
|
name = "Adwaita";
|
||||||
};
|
};
|
||||||
@@ -341,7 +344,13 @@ in
|
|||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
settings = {
|
settings = {
|
||||||
windowrulev2 = [ "float,class:^(zenity)$" ];
|
windowrule = [
|
||||||
|
{
|
||||||
|
name = "floating-zenity";
|
||||||
|
"match:class" = "^(zenity)$";
|
||||||
|
float = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
decoration = {
|
decoration = {
|
||||||
inactive_opacity = 0.8;
|
inactive_opacity = 0.8;
|
||||||
shadow = {
|
shadow = {
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
./fonts/nerd-fonts.nix
|
./fonts/nerd-fonts.nix
|
||||||
./fonts/open-dyslexic.nix
|
./fonts/open-dyslexic.nix
|
||||||
|
|
||||||
./hardware/hid-fanatecff.nix
|
|
||||||
./hardware/astro-a50.nix
|
./hardware/astro-a50.nix
|
||||||
./hardware/audio.nix
|
./hardware/audio.nix
|
||||||
./hardware/gbmonctl.nix
|
./hardware/gbmonctl.nix
|
||||||
@@ -26,9 +25,10 @@
|
|||||||
|
|
||||||
./locales/theaninova.nix
|
./locales/theaninova.nix
|
||||||
|
|
||||||
./usecases/gaming.nix
|
|
||||||
./usecases/3d-printing.nix
|
./usecases/3d-printing.nix
|
||||||
./usecases/development.nix
|
./usecases/development.nix
|
||||||
|
./usecases/gaming.nix
|
||||||
|
./usecases/localai.nix
|
||||||
./usecases/windows-vm.nix
|
./usecases/windows-vm.nix
|
||||||
|
|
||||||
./services/airprint.nix
|
./services/airprint.nix
|
||||||
|
|||||||
@@ -35,12 +35,6 @@ in
|
|||||||
};
|
};
|
||||||
input.numlock_by_default = true;
|
input.numlock_by_default = true;
|
||||||
};
|
};
|
||||||
plugins = lib.mkIf cfg.scrolling (
|
|
||||||
with pkgs.hyprlandPlugins;
|
|
||||||
[
|
|
||||||
hyprscrolling
|
|
||||||
]
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [ grim ];
|
packages = with pkgs; [ grim ];
|
||||||
|
|||||||
@@ -57,8 +57,10 @@ in
|
|||||||
layout.struts.top = 80;
|
layout.struts.top = 80;
|
||||||
};
|
};
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
plugin.hyprscrolling = lib.mkIf config.desktops.hyprland.scrolling {
|
scrolling = {
|
||||||
column_width = 0.4;
|
column_width = 0.4;
|
||||||
|
focus_fit_method = 0;
|
||||||
|
fullscreen_on_one_column = false;
|
||||||
};
|
};
|
||||||
master = {
|
master = {
|
||||||
orientation = "center";
|
orientation = "center";
|
||||||
|
|||||||
@@ -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 = [
|
bind = [
|
||||||
"SUPER_SHIFT,V,exec,XDG_CURRENT_DESKTOP=sway uwsm app -- flameshot gui --clipboard"
|
"SUPER_SHIFT,V,exec,XDG_CURRENT_DESKTOP=sway uwsm app -- flameshot gui --clipboard"
|
||||||
];
|
];
|
||||||
windowrulev2 = [
|
windowrule = [
|
||||||
"float,class:^(flameshot)$"
|
{
|
||||||
"animation fade,class:^(flameshot)$"
|
name = "Flameshot";
|
||||||
|
"match:class" = "^(flameshot)$";
|
||||||
|
animation = "fade";
|
||||||
|
float = true;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -16,11 +16,15 @@ in
|
|||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
wayland.windowManager.hyprland.settings.windowrulev2 = [
|
wayland.windowManager.hyprland.settings.windowrule = [
|
||||||
"dimaround,class:^(gcr-prompter)$"
|
{
|
||||||
"noborder,class:^(gcr-prompter)$"
|
name = "Gnome Keyring";
|
||||||
"rounding 10,class:^(gcr-prompter)$"
|
"match:class" = "^(gcr-prompter)$";
|
||||||
"animation slide,class:^(gcr-prompter)$"
|
border_size = 0;
|
||||||
|
rounding = 10;
|
||||||
|
animation = "slide";
|
||||||
|
dim_around = true;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
polkit_gnome
|
polkit_gnome
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.shell.components.walker;
|
cfg = config.shell.components.walker;
|
||||||
hmConfig = config.home-manager.users.${username};
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.shell.components.walker = {
|
options.shell.components.walker = {
|
||||||
@@ -29,27 +28,14 @@ in
|
|||||||
};
|
};
|
||||||
programs.niri.settings.binds."Mod+Space".action.spawn = [ (lib.getExe pkgs.walker) ];
|
programs.niri.settings.binds."Mod+Space".action.spawn = [ (lib.getExe pkgs.walker) ];
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
walker
|
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
];
|
];
|
||||||
|
programs.walker = {
|
||||||
xdg.configFile."walker/config.toml".source = (pkgs.formats.toml { }).generate "walker-config.toml" {
|
enable = true;
|
||||||
app_launch_prefix = "uwsm app -- ";
|
runAsService = true;
|
||||||
close_when_open = true;
|
config = {
|
||||||
force_keyboard_focus = true;
|
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";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
46
modules/nixos/usecases/localai.nix
Normal file
46
modules/nixos/usecases/localai.nix
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.usecases.localai;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.usecases.localai = {
|
||||||
|
enable = mkEnableOption "Enable local LLM services";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services = {
|
||||||
|
ollama.enable = true;
|
||||||
|
open-webui = {
|
||||||
|
enable = true;
|
||||||
|
port = 57461;
|
||||||
|
environment = {
|
||||||
|
ANONYMIZED_TELEMETRY = "False";
|
||||||
|
DO_NOT_TRACK = "True";
|
||||||
|
SCARF_NO_ANALYTICS = "True";
|
||||||
|
WEBUI_AUTH = "False";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
virtualisation.oci-containers.containers.open-terminal =
|
||||||
|
let
|
||||||
|
xdg = config.home-manager.users.${username}.xdg;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
podman.user = "${username}";
|
||||||
|
image = "ghcr.io/open-webui/open-terminal";
|
||||||
|
volumes = [ "${xdg.dataHome}/open-terminal:/home/user" ];
|
||||||
|
ports = [ "54183:8000" ];
|
||||||
|
extraOptions = [ "--env-file=${xdg.configHome}/open-terminal.env" ];
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
stdenv,
|
stdenv,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
fetchFromGitLab,
|
fetchFromGitLab,
|
||||||
boost,
|
boost177,
|
||||||
libargs,
|
libargs,
|
||||||
cmake,
|
cmake,
|
||||||
}:
|
}:
|
||||||
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost
|
boost177
|
||||||
libargs
|
libargs
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user