266 lines
8.2 KiB
Nix
266 lines
8.2 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
ragenix.url = "github:yaxitech/ragenix/2025.03.09";
|
|
niri.url = "github:YaLTeR/niri/v25.11";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
ghostty.url = "github:ghostty-org/ghostty/tip";
|
|
# ghostty.url = [
|
|
# "github:ghostty-org/ghostty/1.3.0"
|
|
# "github:ghostty-org/ghostty/tip"
|
|
# ];
|
|
dw-proton.url = "github:imaviso/dwproton-flake";
|
|
intel-hw.url = "github:MordragT/nixos";
|
|
#
|
|
};
|
|
outputs =
|
|
inputs@{
|
|
# self,
|
|
nixpkgs,
|
|
ragenix,
|
|
home-manager,
|
|
ghostty,
|
|
intel-hw,
|
|
...
|
|
}:
|
|
let
|
|
system = "x86_64-linux";
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
in
|
|
{
|
|
devShells.${system}.default = pkgs.mkShell {
|
|
packages = [
|
|
ragenix.packages.x86_64-linux.default
|
|
];
|
|
};
|
|
nixosConfigurations.testenv = nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
#
|
|
specialArgs = { inherit inputs; };
|
|
modules = [
|
|
ragenix.nixosModules.default
|
|
(
|
|
{
|
|
pkgs,
|
|
pkgdefault,
|
|
...
|
|
}:
|
|
{
|
|
_module.args = {
|
|
pkgdefault = pkg: pkg.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
|
};
|
|
nixpkgs.overlays = [
|
|
intel-hw.overlays.default
|
|
(import ./custom/overlays/default.nix)
|
|
(import custom/overlays/override.nix)
|
|
# (final: prev: {
|
|
# llama-cpp = prev.llama-cpp.overrideAttrs (old: {
|
|
# src = prev.fetchFromGitHub {
|
|
# owner = "ggml-org";
|
|
# repo = "llama.cpp";
|
|
# tag = "b7897";
|
|
# hash = "sha256-cc2tqEQEZCBEOQ+xJzmVK8ROjfsWOi6T2iX3KjpaAIU=";
|
|
# };
|
|
# nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.curl ];
|
|
# });
|
|
# pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
|
# (pyFinal: pyPrev: {
|
|
# haystack-ai = pyPrev.haystack-ai.overridePythonAttrs (old: rec {
|
|
# version = "2.23.0";
|
|
|
|
# src = final.fetchFromGitHub {
|
|
# owner = "deepset-ai";
|
|
# repo = "haystack";
|
|
# rev = "v${version}";
|
|
# hash = "sha256-KFgRKdhbHgjtpiuAeFq+0t0EUKKLOavbVplb0QnI/r8=";
|
|
# };
|
|
|
|
# propagatedBuildInputs =
|
|
# (old.propagatedBuildInputs or [ ])
|
|
# ++ (with pyPrev; [
|
|
# docstring-parser
|
|
# filetype
|
|
# jinja2
|
|
# openai
|
|
# ])
|
|
# ++ [
|
|
# pyFinal."haystack-experimental"
|
|
# ];
|
|
|
|
# meta = (old.meta or { }) // {
|
|
# broken = false;
|
|
# };
|
|
# });
|
|
# })
|
|
# ];
|
|
# winetricks = prev.winetricks.overrideAttrs (
|
|
# old:
|
|
# let
|
|
# version = "20260125";
|
|
# in
|
|
# {
|
|
# inherit version;
|
|
|
|
# src = final.fetchurl {
|
|
# url = "https://github.com/Winetricks/winetricks/archive/refs/tags/${version}.tar.gz";
|
|
# hash = "sha256-KJC9n7ut5GOOWLSZmiNycxkt8DtYUWrnuHceCcItL1Y=";
|
|
# };
|
|
# }
|
|
# );
|
|
# })
|
|
];
|
|
hardware = {
|
|
graphics = {
|
|
enable = true;
|
|
extraPackages = (
|
|
with pkgs;
|
|
[
|
|
intel-media-driver
|
|
intel-ocl
|
|
vpl-gpu-rt
|
|
intel-compute-runtime
|
|
]
|
|
);
|
|
# ++ (with inputs.intel-hw.packages."${system}"; [
|
|
# # oneapi-dal
|
|
# # oneapi-dpl
|
|
# # oneapi-ccl
|
|
# ]);
|
|
# enable32Bit = true;
|
|
};
|
|
enableRedistributableFirmware = true;
|
|
};
|
|
nix.settings = {
|
|
# keep-logs = true;
|
|
trusted-users = [
|
|
"root"
|
|
"thek0tyara"
|
|
];
|
|
download-buffer-size = 160000000;
|
|
};
|
|
age = {
|
|
secrets = {
|
|
"wg/syscon0.key".file = ./secrets/wg/syscon0.key.age;
|
|
"github/token.ro.age" = {
|
|
file = ./secrets/github/token.ro.age;
|
|
owner = "root";
|
|
group = "wheel";
|
|
mode = "0440";
|
|
};
|
|
};
|
|
identityPaths = [ "/root/.ssh/id_ed25519" ];
|
|
};
|
|
environment = {
|
|
sessionVariables = {
|
|
LIBVA_DRIVER_NAME = "iHD";
|
|
|
|
LLAMA_CACHE = "/home/thek0tyara/Downloads/llm";
|
|
|
|
CCACHE_DIR = "/mnt/HDD_A_DATA/ccache";
|
|
# LLVM = "1";
|
|
|
|
# UV_CACHE_DIR = "";
|
|
# PIP_CACHE_DIR = "";
|
|
# PYTHONPYCACHEPREFIX = "";
|
|
};
|
|
systemPackages = with pkgs; [
|
|
ccache
|
|
sccache
|
|
(pkgdefault inputs.ragenix)
|
|
devenv
|
|
htop
|
|
|
|
# gpu
|
|
vulkan-tools
|
|
libva-utils
|
|
intel-gpu-tools
|
|
pciutils
|
|
inxi
|
|
mesa-demos
|
|
|
|
# xwayland
|
|
xhost
|
|
|
|
# llm
|
|
# llama-cpp-vulkan
|
|
|
|
git
|
|
nixpkgs-fmt
|
|
nixd
|
|
nil # apple-cursor
|
|
android-tools
|
|
];
|
|
};
|
|
security.polkit = {
|
|
enable = true;
|
|
};
|
|
programs = {
|
|
# amnezia-vpn.enable = true;
|
|
ccache.enable = true;
|
|
nix-ld = {
|
|
enable = true;
|
|
libraries = with pkgs; [
|
|
stdenv.cc.cc.lib
|
|
];
|
|
};
|
|
obs-studio.enableVirtualCamera = true;
|
|
steam = {
|
|
enable = true;
|
|
extraCompatPackages = [
|
|
inputs.dw-proton.packages.${system}.dw-proton
|
|
];
|
|
protontricks = {
|
|
enable = true;
|
|
};
|
|
};
|
|
traceroute.enable = true;
|
|
ydotool = {
|
|
enable = true;
|
|
group = "wheel";
|
|
};
|
|
};
|
|
services = {
|
|
displayManager = {
|
|
enable = true;
|
|
defaultSession = "niri";
|
|
};
|
|
locate.enable = true;
|
|
pipewire = {
|
|
enable = true;
|
|
pulse.enable = true;
|
|
};
|
|
xserver = {
|
|
enable = true;
|
|
displayManager.lightdm.enable = true;
|
|
|
|
xkb = {
|
|
layout = "us,ru";
|
|
options = "grp:alt_shift_toggle";
|
|
};
|
|
};
|
|
};
|
|
}
|
|
)
|
|
./configuration.nix
|
|
#
|
|
home-manager.nixosModules.default
|
|
{
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
|
|
extraSpecialArgs = {
|
|
inherit system;
|
|
inherit ghostty;
|
|
};
|
|
|
|
users.thek0tyara = ./home.nix;
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|