mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2026-04-23 13:08:58 +00:00
Compare commits
4 Commits
0503faaf3b
...
cd34401a47
| Author | SHA1 | Date | |
|---|---|---|---|
|
cd34401a47
|
|||
|
1ba0b48cf3
|
|||
|
c26512c3db
|
|||
|
36e64dcc4c
|
54
flake.lock
generated
54
flake.lock
generated
@@ -24,11 +24,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770910218,
|
||||
"narHash": "sha256-IyHoHbhLFuIgFG+n7dqHwJaXuNnRaEsxCfAsfudV1KY=",
|
||||
"lastModified": 1773079031,
|
||||
"narHash": "sha256-RvCzINnVISBT3d0F1DoIcQFbQsbRJISW9qZeKTzmNaA=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "elephant",
|
||||
"rev": "c354a596ec7a7e34e9c26478dc7ef9680bc23e6d",
|
||||
"rev": "53afe39cef252010f7c55bd33c5bae6dd50dcf0c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -65,11 +65,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771188132,
|
||||
"narHash": "sha256-qLXxN/tPrZtnekaLBQuVtxQfvqqs5cT5WbyH4zZaTGI=",
|
||||
"lastModified": 1774210133,
|
||||
"narHash": "sha256-yeiWCY9aAUUJ3ebMVjs0UZXRnT5x90MCtpbpOWiXrvM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "ae8003d8b61d0d373e7ca3da1a48f9c870d15df9",
|
||||
"rev": "c6fe2944ad9f2444b2d767c4a5edee7c166e8a95",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -112,11 +112,11 @@
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771197610,
|
||||
"narHash": "sha256-482qPcmmuH32EIneik7AGSbuKwDteg29MYXmpN4Srd0=",
|
||||
"lastModified": 1774253924,
|
||||
"narHash": "sha256-5Zi+RYoRvax1gATaNC80MYR+6uBJ3F+uUZ2KL3HyTWg=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "d4b632053ada7f646b93e2714ace9a1160e9d490",
|
||||
"rev": "36f3b7b93efde38c4c40daeaee80a62afb550812",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -145,11 +145,11 @@
|
||||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1771182017,
|
||||
"narHash": "sha256-lrXBx91NQAVoFeFUNZi46ZWP9M6tbBmT5BNsqSh8QOY=",
|
||||
"lastModified": 1773130184,
|
||||
"narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "1fa0338a172a69b05a1a35d55b291693ff1bc29f",
|
||||
"rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -176,11 +176,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1771008912,
|
||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
||||
"lastModified": 1774106199,
|
||||
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
||||
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -192,11 +192,11 @@
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1771043024,
|
||||
"narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=",
|
||||
"lastModified": 1773964973,
|
||||
"narHash": "sha256-NV/J+tTER0P5iJhUDL/8HO5MDjDceLQPRUYgdmy5wXw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44",
|
||||
"rev": "812b3986fd1568f7a858f97fcf425ad996ba7d25",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -215,11 +215,11 @@
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771135771,
|
||||
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=",
|
||||
"lastModified": 1772402258,
|
||||
"narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba",
|
||||
"rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -403,11 +403,11 @@
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771062828,
|
||||
"narHash": "sha256-y1jBFFO0u+V21y3YldHZozrDwVJVrdC+o3c4M8/rasU=",
|
||||
"lastModified": 1773675699,
|
||||
"narHash": "sha256-GrormZ2KxchtCLuO90+5fioEQmlUCKBIil0Mzr9w0Iw=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "walker",
|
||||
"rev": "19b1104585305e0806b842af341630f72038a4b9",
|
||||
"rev": "d2702235710da3d7daf55c912ca7534261cf20f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -436,11 +436,11 @@
|
||||
"xwayland-satellite-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1771195969,
|
||||
"narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=",
|
||||
"lastModified": 1773622265,
|
||||
"narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "536bd32efc935bf876d6de385ec18a1b715c9358",
|
||||
"rev": "a879e5e0896a326adc79c474bf457b8b99011027",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
wireshark = prev.wireshark.overrideAttrs (
|
||||
finalAttrs: prevAttrs: {
|
||||
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
|
||||
'';
|
||||
}
|
||||
);
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
usecases = {
|
||||
gaming.enable = true;
|
||||
localai.enable = true;
|
||||
"3d-printing".enable = true;
|
||||
development = {
|
||||
enable = true;
|
||||
@@ -50,23 +51,7 @@
|
||||
scrolling = true;
|
||||
};
|
||||
locale.preset.theaninova.enable = true;
|
||||
|
||||
networking.hosts = {
|
||||
"127.0.0.1:57461" = [ "ai.local" ];
|
||||
};
|
||||
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.layout = "us";
|
||||
|
||||
@@ -135,7 +120,7 @@
|
||||
programs = {
|
||||
zsh.enable = true;
|
||||
wireshark = {
|
||||
enable = false;
|
||||
enable = true;
|
||||
package = pkgs.wireshark;
|
||||
usbmon.enable = true;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ config, ... }:
|
||||
{
|
||||
theme.md3-evo = {
|
||||
enable = true;
|
||||
@@ -8,35 +8,12 @@
|
||||
lon = 13.40;
|
||||
};
|
||||
};
|
||||
xdg.userDirs = {
|
||||
enable = true;
|
||||
setSessionVariables = true;
|
||||
extraConfig.PROJECTS = "${config.home.homeDirectory}/Projects";
|
||||
};
|
||||
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 =
|
||||
let
|
||||
targetDPI = 1200;
|
||||
|
||||
@@ -110,7 +110,7 @@ in
|
||||
ghex
|
||||
gnome-disk-utility
|
||||
# fixes
|
||||
xorg.xrandr
|
||||
xrandr
|
||||
];
|
||||
|
||||
gtk = {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
programs.git = {
|
||||
enable = true;
|
||||
signing = {
|
||||
format = "openpgp";
|
||||
key = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA";
|
||||
signByDefault = true;
|
||||
};
|
||||
|
||||
@@ -299,8 +299,11 @@ in
|
||||
gtk = {
|
||||
gtk3.extraCss = # css
|
||||
"@import './theme.css';";
|
||||
gtk4.extraCss = # css
|
||||
"@import './theme.css';";
|
||||
gtk4 = {
|
||||
theme.name = "Adwaita";
|
||||
extraCss = # css
|
||||
"@import './theme.css';";
|
||||
};
|
||||
theme = {
|
||||
name = "Adwaita";
|
||||
};
|
||||
|
||||
@@ -25,9 +25,10 @@
|
||||
|
||||
./locales/theaninova.nix
|
||||
|
||||
./usecases/gaming.nix
|
||||
./usecases/3d-printing.nix
|
||||
./usecases/development.nix
|
||||
./usecases/gaming.nix
|
||||
./usecases/localai.nix
|
||||
./usecases/windows-vm.nix
|
||||
|
||||
./services/airprint.nix
|
||||
|
||||
@@ -35,12 +35,6 @@ in
|
||||
};
|
||||
input.numlock_by_default = true;
|
||||
};
|
||||
plugins = lib.mkIf cfg.scrolling (
|
||||
with pkgs.hyprlandPlugins;
|
||||
[
|
||||
hyprscrolling
|
||||
]
|
||||
);
|
||||
};
|
||||
home = {
|
||||
packages = with pkgs; [ grim ];
|
||||
|
||||
@@ -57,8 +57,10 @@ in
|
||||
layout.struts.top = 80;
|
||||
};
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
plugin.hyprscrolling = lib.mkIf config.desktops.hyprland.scrolling {
|
||||
scrolling = {
|
||||
column_width = 0.4;
|
||||
focus_fit_method = 0;
|
||||
fullscreen_on_one_column = false;
|
||||
};
|
||||
master = {
|
||||
orientation = "center";
|
||||
|
||||
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,
|
||||
fetchFromGitHub,
|
||||
fetchFromGitLab,
|
||||
boost,
|
||||
boost177,
|
||||
libargs,
|
||||
cmake,
|
||||
}:
|
||||
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
boost177
|
||||
libargs
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user