Compare commits

..

15 Commits

16 changed files with 312 additions and 143 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/hardware-configuration.nix /hardware-configuration.nix
tamal/.silo

15
common/amd-ai-config.nix Normal file
View File

@ -0,0 +1,15 @@
{ ... }:
{
hardware.amd-npu = {
enable = true;
enableNPU = false;
enableFastFlowLM = false; # My laptop's hawk point NPU isn't supported
enableLemonade = true;
enableROCm = true;
enableVulkan = true;
enableImageGen = true;
lemonade.user = "doggo";
};
users.users.doggo.extraGroups = ["video" "render"];
}

View File

@ -2,57 +2,40 @@
{ {
services.ollama = { services.ollama = {
enable = true; enable = false;
package = pkgs.ollama-vulkan; package = pkgs.ollama-vulkan;
loadModels = [ loadModels = [
(if isLaptop then "qwen3.5:9b" else "qwen3.6:27b") "qwen3.5:9b"
]; ];
environmentVariables = {
OLLAMA_CONTEXT_LENGTH = "32768";
};
}; };
services.open-webui = { services.open-webui = {
enable = true; enable = config.services.ollama.enable;
port = 6767; port = 6767;
openFirewall = false; openFirewall = false;
environment = { environment = rec {
WEBUI_AUTH = "False"; # No need for auth since it's only accessible by me WEBUI_AUTH = "False"; # No need for auth since it's only accessible by me
OFFLINE_MODE = "True"; # Update checks & model downloads aren't needed OFFLINE_MODE = "True"; # Update checks & model downloads aren't needed
SAFE_MODE = "True"; SAFE_MODE = "True";
BYPASS_MODEL_ACCESS_CONTROL = "True"; BYPASS_MODEL_ACCESS_CONTROL = "True";
ENABLE_COMPRESSION_MIDDLEWARE = "False"; # Not needed since I access it via localhost ENABLE_COMPRESSION_MIDDLEWARE = "False"; # Not needed since I access it via localhost
#ENABLE_PERSISTENT_CONFIG = "False";
#OLLAMA_API_BASE_URL = "http://127.0.0.1:${toString config.services.ollama.port}";
#GGML_VK_VISIBLE_DEVICES = "0";
DEFAULT_RAG_TEMPLATE = '' DEFAULT_MODELS = builtins.concatStringsSep ", " config.services.ollama.loadModels;
### Task: DEFAULT_PINNED_MODELS = DEFAULT_MODELS;
Respond to the user query using the provided context, incorporating inline citations in the format [id] **only when the <source> tag includes an explicit id attribute** (e.g., <source id="1">).
### Guidelines:
- If you don't know the answer, clearly state that.
- If uncertain, ask the user for clarification.
- Respond in the same language as the user's query.
- If the context is unreadable or of poor quality, inform the user and provide the best possible answer.
- If the answer isn't present in the context but you possess the knowledge, explain this to the user and provide the answer using your own understanding.
- **Only include inline citations using [id] (e.g., [1], [2]) when the <source> tag includes an id attribute.**
- Do not cite if the <source> tag does not contain an id attribute.
- Do not use XML tags in your response.
- Ensure citations are concise and directly related to the information provided.
### Example of Citation:
If the user asks about a specific topic and the information is found in a source with a provided id attribute, the response should include the citation like in the following example:
* "According to the study, the proposed method increases efficiency by 20% [1]."
### Output:
Provide a clear and direct response in the french Chtimi dialect to the user's query, including inline citations in the format [id] only when the <source> tag with id attribute is present in the context.
<context>
{{CONTEXT}}
</context>
'';
}; };
}; };
/* TODO: Uncomment when odysseus package supports non-flake installation (& disable open-webui) /* TODO: Uncomment when odysseus package supports non-flake installation (& disable open-webui)
services.odysseus = { services.odysseus = {
enable = true; enable = config.services.ollama.enable;
xdg.dataHome."odysseus/odysseus-env".source = ./odysseus/.env; xdg.dataHome."odysseus/odysseus-env".source = ./odysseus/.env;
# https://github.com/pewdiepie-archdaemon/odysseus/blob/dev/.env.example # https://github.com/pewdiepie-archdaemon/odysseus/blob/dev/.env.example
environmentFile = "${config.xdg.dataHome}}/odysseus/odysseus-env"; environmentFile = "${config.xdg.dataHome}}/odysseus/odysseus-env";

View File

@ -37,31 +37,40 @@ let
pkgs = import nixtamal.nixpkgs { pkgs = import nixtamal.nixpkgs {
config.allowUnfree = true; config.allowUnfree = true;
overlays = [ overlays = with nixtamal; [
# CachyOS kernels repo # CachyOS kernels repo
(import nixtamal.nix-cachyos-kernel).overlays.default (import nix-cachyos-kernel).overlays.default
# Nix-gaming overlay (for low_latency_layer) # Nix-gaming overlay (for low_latency_layer)
(import nixtamal.nix-gaming).overlays.default (import nix-gaming).overlays.default
# Nix-Citizen tools overlay (for dw-proton-bin notably) # Nix-Citizen tools overlay (for dw-proton-bin notably)
(import nixtamal.nix-citizen).overlays.steamcompattools (import nix-citizen).overlays.steamcompattools
# AMD AI overlay
(import nix-amd-ai).overlays.default
# Local packages # Local packages
localPackagesOverlay localPackagesOverlay
]; ];
}; };
isLaptop =
let
powerSupplyDir = /sys/class/power_supply;
in
builtins.pathExists powerSupplyDir && lib.any (name: lib.hasPrefix "BAT" name) (builtins.attrNames (builtins.readDir powerSupplyDir));
in in
{ {
nixpkgs.pkgs = pkgs; # Uses the nixtamal nixpkgs nixpkgs.pkgs = pkgs; # Uses the nixtamal nixpkgs
_module.args.nixtamal = nixtamal; _module.args.nixtamal = nixtamal;
_module.args.isLaptop = isLaptop;
imports = imports =
[ [
./workarounds.nix ./workarounds.nix
./local.nix
./hardware-configuration.nix # Results of the hardware scan ("nixos-generate-config" command) ./hardware-configuration.nix # Results of the hardware scan ("nixos-generate-config" command)
./modules/filesystems.nix ./modules/filesystems.nix
"${nixtamal.home-manager}/nixos" "${nixtamal.home-manager}/nixos"
"${nixtamal.catppuccin}/modules/nixos" "${nixtamal.catppuccin}/modules/nixos"
"${nixtamal.nix-cachyos-settings}/module.nix" "${nixtamal.nix-cachyos-settings}/module.nix"
"${nixtamal.nix-amd-ai}/modules/amd-npu.nix"
./modules/bootloader.nix ./modules/bootloader.nix
./modules/system-packages.nix ./modules/system-packages.nix
./modules/fonts.nix ./modules/fonts.nix
@ -72,8 +81,14 @@ in
./modules/mesa.nix ./modules/mesa.nix
./modules/audio.nix ./modules/audio.nix
./modules/ananicy.nix ./modules/ananicy.nix
./modules/printing.nix
./common/ollama-config.nix ./common/ollama-config.nix
./common/amd-ai-config.nix
./machines/${
if isLaptop then "laptop" else "desktop"
}/local.nix
# ISO installer building stuff: # ISO installer building stuff:
./ISO/iso.nix ./ISO/iso.nix
@ -126,7 +141,7 @@ in
}; };
home-manager.extraSpecialArgs = { home-manager.extraSpecialArgs = {
inherit nixtamal localPackagesOverlay; inherit nixtamal localPackagesOverlay isLaptop;
}; };
home-manager.users.doggo = import ./home/doggo/doggo.nix; home-manager.users.doggo = import ./home/doggo/doggo.nix;

53
disko.nix Normal file
View File

@ -0,0 +1,53 @@
# nix-env --install disko
{
disko.devices = {
disk = {
my-disk = {
device = "/dev/nvme0n1";
type = "disk";
content = {
type = "gpt";
partitions = {
ESP = {
type = "EF00";
size = "1024M";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
swap = {
type = "swap";
size = "32G";
discardPolicy = "once"; # Better than having "pages" because I'm not gonna keep my computer running for 200 days
};
root = {
size = "100%";
content = {
type = "filesystem";
mountpoint = "/";
format = "f2fs";
mountOptions = [
"defaults"
"discard"
"X-fstrim.notrim"
"compress_algorithm=lzo-rle"
"compress_extension=*"
"compress_chksum"
"atgc"
"gc_merge"
"checkpoint=enable"
"checkpoint_merge"
"fsync_mode=posix"
"nat_bits"
];
};
};
};
};
};
};
};
}

View File

@ -57,7 +57,6 @@ in
}) })
(functions.mkUnstable ani-cli) (functions.mkUnstable ani-cli)
anime4k anime4k
yt-dlp
jetbrains.idea jetbrains.idea
jetbrains.clion jetbrains.clion
#androidStudioPackages.canary.full #androidStudioPackages.canary.full
@ -67,6 +66,7 @@ in
gnome-feeds gnome-feeds
vulkan-tools mesa-demos # vkcube & glxgears vulkan-tools mesa-demos # vkcube & glxgears
#spotifywm # Lets me make a hyprland window rule for spotify. Currently commented out because spicetify pulls it. #spotifywm # Lets me make a hyprland window rule for spotify. Currently commented out because spicetify pulls it.
libreoffice-qt-fresh
# Gaming packages: # Gaming packages:
(prismlauncher.override { (prismlauncher.override {
@ -149,6 +149,15 @@ in
text_outline = true; text_outline = true;
}; };
}; };
yt-dlp = {
enable = true;
settings = {
embed-thumbnail = true;
add-metadata = true;
format = "bestvideo+251/best";
};
};
}; };
home.stateVersion = "26.11"; home.stateVersion = "26.11";

View File

@ -12,8 +12,65 @@ let
mocha = { mocha = {
peach = "rgb(fab387)"; peach = "rgb(fab387)";
}; };
find_monitor = id: "$(hyprctl monitors -j | jq -r '.[] | select(.id==${toString id}) | .name')";
mkVideoWallpaper = id: hash:
"${(pkgs.stdenv.mkDerivation {
name = "doggo-video-wallpaper-${id}";
buildInputs = [ pkgs.yt-dlp ];
outputHashMode = "recursive";
outputHashAlgo = "blake3";
outputHash = hash; # lib.fakeHash doesn't work for blake3 so I'll have to pass empty strings to find the hashes easily
buildCommand = ''
cd $out
yt-dlp \
-f "bestvideo[ext=mp4]+251/best[ext=mp4]" \
--no-playlist \
--audio-quality 0 \
-o "wallpaper.mp4" \
"https://www.youtube.com/watch?v=${id}"
'';
})}/wallpaper.mp4";
backgrounds_commands = [
"swaybg -i '${./backgrounds/ubuntu_budgie_wallpaper1.jpg}' -o ${find_monitor 0}"
"murale ${mkVideoWallpaper "ketQTGwA4Lo" "blake3-yvuyjhbBTCqhsxmrjXE3cccC/F+8MisTCpnH+2v8h9w="} -o ${find_monitor 1} --mpv-options '${mpv_options}'"
];
# Start(/stop) my backgrounds on (un)plug
watch-ac-plug = pkgs.writeShellApplication {
name = "watch-ac-plug";
runtimeInputs = [ pkgs.dbus pkgs.gawk ];
text = ''
dbus-monitor --system "type='signal',interface='org.freedesktop.DBus.Properties',path='/org/freedesktop/UPower'" |
while read -r line; do
if echo "$line" | grep -q "OnBattery"; then
read -r _ state
if echo "$state" | grep -q "true"; then
${builtins.concatStringsSep " && " (builtins.map (cmd: "pkill -f '.*${cmd}'") backgrounds_commands)}
else
${builtins.concatStringsSep " && " (builtins.map (cmd: "${uwsm} ${cmd}") backgrounds_commands)}
fi
fi
done
'';
};
in in
{ {
systemd.user.services.watch-ac-plug = lib.mkIf isLaptop {
Unit.Description = "Start/stop my backgrounds on AC plug/unplug";
Install.WantedBy = [ "graphical-session.target" ];
Service = {
ExecStart = "${watch-ac-plug}/bin/watch-ac-plug";
Restart = "always";
};
};
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
systemd = { systemd = {
@ -24,18 +81,23 @@ in
]; ];
settings = { settings = {
monitor = if !isLaptop then [ monitor = [
{ output = "DP-3"; mode = "2560x1440@144"; position = "0x0"; scale = 1; vrr = 2; } ({
{ output = "HDMI-A-4"; mode = "1920x1080@77"; position = "-1920x128"; scale = 1; } # Desktop settings
] else [ output = "DP-3";
{ mode = "highres@highrr";
output = "eDP-1"; mode = "2880x1800@120"; position = "0x0"; scale = 1.5; position = "0x0"; scale = 1; vrr = 2;
} // lib.optionalAttrs isLaptop {
# Laptop settings
output = "eDP-1";
scale = 1.5;
cm = "hdredid"; bitdepth = 10; cm = "hdredid"; bitdepth = 10;
min_luminance = 0.0; max_luminance = 2000; min_luminance = 0.0; max_luminance = 2000;
sdr_min_luminance = 0.005; sdr_max_luminance = 350; # 106? sdr_min_luminance = 0.005; sdr_max_luminance = 350; # 106?
sdrsaturation = 1.0; # 1.175? 0.975? sdrsaturation = 1.0; # 1.175? 0.975?
#sdrbrightness = 1.1; # 1.2625? 0.975? #sdrbrightness = 1.1; # 1.2625? 0.975?
} })
{ output = ""; mode = "highres@highrr"; position = if isLaptop then "auto-right" else "auto-left"; scale = 1; }
]; ];
# AUTOSTART # # AUTOSTART #
@ -44,10 +106,11 @@ in
"hyprland.start" "hyprland.start"
(lib.generators.mkLuaInline '' (lib.generators.mkLuaInline ''
function() function()
${if isLaptop then "-- " else ""}hl.exec_cmd("${uwsm} murale '/disk2/MemoryRebootHatsune&Shrek.avi' -o HDMI-A-4 --mpv-options '${mpv_options}'") hl.exec_cmd("${uwsm} swaybg -c 000000 -o '*'")
hl.exec_cmd("${uwsm} swaybg ${ ${builtins.concatStringsSep "\n " (builtins.map (cmd:
if isLaptop then "-c 000000 -o '*'" else "-i '${./backgrounds/ubuntu_budgie_wallpaper1.jpg}' -o DP-3" "hl.exec_cmd(\"${if isLaptop then "[ \"$(busctl get-property org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower OnBattery | awk '{print $2}')\" = \"true\" ] && " else ""}"
}") + "${uwsm} ${cmd}\")") backgrounds_commands)
}
hl.exec_cmd("${uwsm} ironbar") hl.exec_cmd("${uwsm} ironbar")
hl.exec_cmd("${uwsm} wl-paste --type text --watch cliphist store") hl.exec_cmd("${uwsm} wl-paste --type text --watch cliphist store")
hl.exec_cmd("${uwsm} wl-paste --type image --watch cliphist store") hl.exec_cmd("${uwsm} wl-paste --type image --watch cliphist store")

View File

@ -1,67 +0,0 @@
{ config, lib, pkgs, functions, ...}:
let
isLaptop = false;
in
{
_module.args.isLaptop = isLaptop;
home-manager.extraSpecialArgs = { inherit isLaptop; };
boot.extraModulePackages = with config.boot.kernelPackages; [
# Common modules
] ++ (if !isLaptop then [
# Desktop modules
(functions.mkPatchedAuto nct6687d)
r8125
] else [
# Laptop modules
]);
boot.kernelModules = [
# Common modules
] ++ (if !isLaptop then [
# Desktop modules
"nct6687" # d disappears in actual module name
"r8125" # replaces r8169
] else [
# Laptop modules
]);
boot.blacklistedKernelModules = [] ++ (if !isLaptop then [
"r8169"
] else []);
# CRU screen overclocking
hardware.firmware = lib.mkIf (!isLaptop) [
(pkgs.runCommandLocal "PHL-edid-77hz" {} ''
mkdir -p $out/lib/firmware/edid
cp ${/disk2/Bunker/CRU/PHL_243V5_OC_77MHZ.bin} $out/lib/firmware/edid/PHL_243V5_OC_77MHZ.bin
'')
];
boot.kernelParams = lib.mkIf (!isLaptop) [
"drm.edid_firmware=HDMI-A-4:edid/PHL_243V5_OC_77MHZ.bin"
];
programs.coolercontrol.enable = !isLaptop;
boot.loader.limine.extraEntries = lib.mkIf (!isLaptop) ''
/Windows
protocol: efi
path: label(windows_efi):/EFI/Microsoft/Boot/bootmgfw.efi
'';
powerManagement.cpuFreqGovernor = if !isLaptop then "performance" else "schedutil";
services.auto-cpufreq = {
enable = isLaptop;
settings = {
charger.turbo = "auto";
battery.turbo = "never";
};
};
fileSystems."/".options = [ "noatime" ];
networking.hostName = if !isLaptop then "lizard" else "lizard-portable";
}

View File

@ -0,0 +1,42 @@
{ config, lib, pkgs, functions, ...}:
{
boot.extraModulePackages = with config.boot.kernelPackages; [
(functions.mkPatchedAuto nct6687d)
r8125
];
boot.kernelModules = [
"nct6687" # d disappears in actual module name
"r8125" # replaces r8169
];
boot.blacklistedKernelModules = [
"r8169"
];
# CRU screen overclocking
hardware.firmware = [
(pkgs.runCommandLocal "PHL-edid-77hz" {} ''
mkdir -p $out/lib/firmware/edid
cp ${/disk2/Bunker/CRU/PHL_243V5_OC_77MHZ.bin} $out/lib/firmware/edid/PHL_243V5_OC_77MHZ.bin
'')
];
boot.kernelParams = [
"drm.edid_firmware=HDMI-A-4:edid/PHL_243V5_OC_77MHZ.bin"
];
programs.coolercontrol.enable = true;
boot.loader.limine.extraEntries = ''
/Windows
protocol: efi
path: label(windows_efi):/EFI/Microsoft/Boot/bootmgfw.efi
'';
powerManagement.cpuFreqGovernor = "performance";
networking.hostName = "lizard";
}

23
machines/laptop/local.nix Normal file
View File

@ -0,0 +1,23 @@
{ config, ...}:
{
boot.extraModulePackages = with config.boot.kernelPackages; [];
boot.kernelModules = [];
boot.blacklistedKernelModules = [];
powerManagement.cpuFreqGovernor = "schedutil";
services.auto-cpufreq = {
enable = true;
settings = {
charger.turbo = "auto";
battery.turbo = "never";
};
};
services.upower.enable = true;
networking.hostName = "lizard-portable";
}

View File

@ -2,8 +2,9 @@
{ {
# Note: for f2fs, create it with "sudo mkfs.f2fs -l root -i -O extra_attr,flexible_inline_xattr,inode_checksum,sb_checksum,compression,lost_found /dev/sdxY" # Note: for f2fs, create it with "sudo mkfs.f2fs -l root -i -O extra_attr,flexible_inline_xattr,inode_checksum,sb_checksum,compression,lost_found /dev/sdxY"
fileSystems."/".options = lib.mkIf (config.fileSystems."/".fsType == "f2fs") fileSystems."/".options = lib.mkMerge [
(lib.mkAfter [ [ "noatime" ]
(lib.mkIf (config.fileSystems."/".fsType == "f2fs") (lib.mkAfter [
"discard" # Better (on f2fs) than fstrim "discard" # Better (on f2fs) than fstrim
"X-fstrim.notrim" # To avoid fstrim "X-fstrim.notrim" # To avoid fstrim
"compress_algorithm=lzo-rle" "compress_algorithm=lzo-rle"
@ -16,7 +17,8 @@
"checkpoint_merge" "checkpoint_merge"
"fsync_mode=posix" "fsync_mode=posix"
"nat_bits" "nat_bits"
]); ]))
];
services.fstrim.enable = true; services.fstrim.enable = true;

View File

@ -51,6 +51,12 @@
boot.kernelPatches = [ ]; boot.kernelPatches = [ ];
boot.extraModulePackages = [];
boot.kernelModules = [];
boot.blacklistedKernelModules = [];
services.scx = { # https://wiki.cachyos.org/configuration/sched-ext/#general-recommendations services.scx = { # https://wiki.cachyos.org/configuration/sched-ext/#general-recommendations
enable = true; enable = true;
scheduler = "scx_lavd"; scheduler = "scx_lavd";

29
modules/printing.nix Normal file
View File

@ -0,0 +1,29 @@
{ pkgs, ... }:
{
services.printing = {
enable = true;
drivers = with pkgs; [
# General
cups
cups-browsed
cups-filters
gutenprint # Very good drivers package
# Canon (built from source)
cnijfilter2
canon-cups-ufr2
# Brother
brlaser #brgenml1lpr brgenml1cupswrapper
];
};
# Auto-discovery
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
# IPP-over-USB (just in case)
services.ipp-usb.enable = true;
}

View File

@ -27,14 +27,6 @@ let
}).overrideAttrs (old: { }).overrideAttrs (old: {
NIX_CFLAGS_COMPILE = (old.NIX_CFLAGS_COMPILE or "") + " ${flags}"; # https://gcc.gnu.org/onlinedocs/gcc-16.1.0/gcc/Optimize-Options.html NIX_CFLAGS_COMPILE = (old.NIX_CFLAGS_COMPILE or "") + " ${flags}"; # https://gcc.gnu.org/onlinedocs/gcc-16.1.0/gcc/Optimize-Options.html
}); });
importFlake = flakeRef:
let
src = nixtamal.${flakeRef};
in
((import nixtamal.flake-compat { inherit pkgs; }) {
inherit src;
}).defaultNix.packages.${pkgs.system}.default;
}; };
in in
{ {

View File

@ -5,8 +5,7 @@
,"catppuccin":{"sn":"catppuccin-src","kd":[1,{"ft":0,"ur":"https://github.com/catppuccin/nix/archive/f2c7dd14ecce785c206a39466cbe227ff62e3803.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-2/Fs6S8wK0GSJvEx1rPMW6KWORM8TZCleAmBxQDs5oA="},"fv":"f2c7dd14ecce785c206a39466cbe227ff62e3803","ps":[]} ,"catppuccin":{"sn":"catppuccin-src","kd":[1,{"ft":0,"ur":"https://github.com/catppuccin/nix/archive/f2c7dd14ecce785c206a39466cbe227ff62e3803.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-2/Fs6S8wK0GSJvEx1rPMW6KWORM8TZCleAmBxQDs5oA="},"fv":"f2c7dd14ecce785c206a39466cbe227ff62e3803","ps":[]}
,"catppuccin-godot":{"sn":"catppuccin-godot-src","kd":[0,{"ft":0,"ur":"https://raw.githubusercontent.com/catppuccin/godot/d8b72b679078f0103a5e5c1ef793c1d698a563b1/themes/Catppuccin%20Mocha.tet","ms":[]}],"ha":{"al":2,"vl":"blake3-WVY58qsBKJlGvir08RYlS+RcjdhFvXz+7YHVfEr6tes="},"fv":"d8b72b679078f0103a5e5c1ef793c1d698a563b1","ps":[]} ,"catppuccin-godot":{"sn":"catppuccin-godot-src","kd":[0,{"ft":0,"ur":"https://raw.githubusercontent.com/catppuccin/godot/d8b72b679078f0103a5e5c1ef793c1d698a563b1/themes/Catppuccin%20Mocha.tet","ms":[]}],"ha":{"al":2,"vl":"blake3-WVY58qsBKJlGvir08RYlS+RcjdhFvXz+7YHVfEr6tes="},"fv":"d8b72b679078f0103a5e5c1ef793c1d698a563b1","ps":[]}
,"dolphin-overlay":{"sn":"dolphin-overlay-src","kd":[1,{"ft":0,"ur":"https://github.com/rumboon/dolphin-overlay/archive/65dd612c8d72d4cf5cb0eb4d9188ed7a16a042dd.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-PCS3mMGsTYXadc/DDU/EQv2T/0YORMigwUP6NEeOJW4="},"fv":"65dd612c8d72d4cf5cb0eb4d9188ed7a16a042dd","ps":["kservice_fix"]} ,"dolphin-overlay":{"sn":"dolphin-overlay-src","kd":[1,{"ft":0,"ur":"https://github.com/rumboon/dolphin-overlay/archive/65dd612c8d72d4cf5cb0eb4d9188ed7a16a042dd.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-PCS3mMGsTYXadc/DDU/EQv2T/0YORMigwUP6NEeOJW4="},"fv":"65dd612c8d72d4cf5cb0eb4d9188ed7a16a042dd","ps":["kservice_fix"]}
,"flake-compat":{"sn":"flake-compat-src","kd":[1,{"ft":0,"ur":"https://github.com/NixOS/flake-compat/archive/5edf11c44bc78a0d334f6334cdaf7d60d732daab.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-MmtcMfj5QuWGiFGGOdUMcaS0MSNzyV8dNCcsrPQq+Gk="},"fv":"5edf11c44bc78a0d334f6334cdaf7d60d732daab","ps":[]} ,"home-manager":{"sn":"home-manager-src","kd":[1,{"ft":0,"ur":"https://github.com/nix-community/home-manager/archive/a4d410db95a6416d1008049330bd86b85b5db45a.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-BJaPZrasJVpqQgbXJHLxyS6Mq8+pTRhjVTGW+qudfME="},"fv":"a4d410db95a6416d1008049330bd86b85b5db45a","ps":[]}
,"home-manager":{"sn":"home-manager-src","kd":[1,{"ft":0,"ur":"https://github.com/nix-community/home-manager/archive/f469c79b955609d6a8fdd9e689be76a93b1621d7.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-1zy6ntIs29Wr5aBoNIi2EUFuXTRE/mXiz4remDnDic0="},"fv":"f469c79b955609d6a8fdd9e689be76a93b1621d7","ps":[]}
,"hypr-darkwindow":{"sn":"hypr-darkwindow-src","kd":[1,{"ft":0,"ur":"https://github.com/micha4w/Hypr-DarkWindow/archive/refs/tags/v0.55.4.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-AtJoQQsGSDfni5oaPMefX0YRzB5JJaENw76EdQqhQyY="},"fv":"060996f5a5eb32ee8b5dc32bacc7f86411e79394424d278002e25a3eae7569c5","ps":[]} ,"hypr-darkwindow":{"sn":"hypr-darkwindow-src","kd":[1,{"ft":0,"ur":"https://github.com/micha4w/Hypr-DarkWindow/archive/refs/tags/v0.55.4.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-AtJoQQsGSDfni5oaPMefX0YRzB5JJaENw76EdQqhQyY="},"fv":"060996f5a5eb32ee8b5dc32bacc7f86411e79394424d278002e25a3eae7569c5","ps":[]}
,"lact-patch":{"sn":"lact-patch-src","kd":[0,{"ft":0,"ur":"https://patch-diff.githubusercontent.com/raw/ilya-zlobintsev/LACT/pull/1080.patch","ms":[]}],"ha":{"al":2,"vl":"blake3-x+HU/32454H6ZHu2i3AkdPECt9Jj4vW0Ac2jTzjpUvk="},"fv":"W/735aa2b881ef2024d0d6fcb4d2d48dd4","ps":[]} ,"lact-patch":{"sn":"lact-patch-src","kd":[0,{"ft":0,"ur":"https://patch-diff.githubusercontent.com/raw/ilya-zlobintsev/LACT/pull/1080.patch","ms":[]}],"ha":{"al":2,"vl":"blake3-x+HU/32454H6ZHu2i3AkdPECt9Jj4vW0Ac2jTzjpUvk="},"fv":"W/735aa2b881ef2024d0d6fcb4d2d48dd4","ps":[]}
,"low_latency_layer-git":{"sn":"low_latency_layer-git-src","kd":[1,{"ft":0,"ur":"https://github.com/Korthos-Software/low_latency_layer/archive/3138b14ebd059cd540444771dd184fbf7ead2a12.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-eaek3w60syOHOmRNdCDBTQ+MZw4O9fDGbpirlyuUnoQ="},"fv":"3138b14ebd059cd540444771dd184fbf7ead2a12","ps":[]} ,"low_latency_layer-git":{"sn":"low_latency_layer-git-src","kd":[1,{"ft":0,"ur":"https://github.com/Korthos-Software/low_latency_layer/archive/3138b14ebd059cd540444771dd184fbf7ead2a12.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-eaek3w60syOHOmRNdCDBTQ+MZw4O9fDGbpirlyuUnoQ="},"fv":"3138b14ebd059cd540444771dd184fbf7ead2a12","ps":[]}
@ -14,15 +13,17 @@
,"mesa-git":{"sn":"mesa-git-src","kd":[1,{"ft":0,"ur":"https://gitlab.freedesktop.org/mesa/mesa/-/archive/d02b25157c68804c4e6da613faf0f38a3bcca6d3/mesa-d02b25157c68804c4e6da613faf0f38a3bcca6d3.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-sjmSfK4dTGuLyKaBJjPaftYaz26VRYCFqAqZocEioLE="},"fv":"d02b25157c68804c4e6da613faf0f38a3bcca6d3","ps":[]} ,"mesa-git":{"sn":"mesa-git-src","kd":[1,{"ft":0,"ur":"https://gitlab.freedesktop.org/mesa/mesa/-/archive/d02b25157c68804c4e6da613faf0f38a3bcca6d3/mesa-d02b25157c68804c4e6da613faf0f38a3bcca6d3.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-sjmSfK4dTGuLyKaBJjPaftYaz26VRYCFqAqZocEioLE="},"fv":"d02b25157c68804c4e6da613faf0f38a3bcca6d3","ps":[]}
,"mpv":{"sn":"mpv-src","kd":[1,{"ft":0,"ur":"https://github.com/mpv-player/mpv/archive/refs/tags/v0.41.0.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-4u9KCKKEvSoOSO/7oZGIpnuSGcFc2rVmcJfdpFzwc5w="},"fv":"e04638a4b4eac258e679673d2a4171bde3f6c41eacb7e3d860c9a435f07eb9da","ps":["mpv_buffers_fix"]} ,"mpv":{"sn":"mpv-src","kd":[1,{"ft":0,"ur":"https://github.com/mpv-player/mpv/archive/refs/tags/v0.41.0.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-4u9KCKKEvSoOSO/7oZGIpnuSGcFc2rVmcJfdpFzwc5w="},"fv":"e04638a4b4eac258e679673d2a4171bde3f6c41eacb7e3d860c9a435f07eb9da","ps":["mpv_buffers_fix"]}
,"nct6687d-patch":{"sn":"nct6687d-patch-src","kd":[0,{"ft":0,"ur":"https://patch-diff.githubusercontent.com/raw/Fred78290/nct6687d/pull/186.patch","ms":[]}],"ha":{"al":2,"vl":"blake3-4wZgSze165RR4kmpLF8oMCQ8mapoyA3bn7aUeY8AiVM="},"fv":"W/346228cf70181267a790ec6c23bb540b","ps":[]} ,"nct6687d-patch":{"sn":"nct6687d-patch-src","kd":[0,{"ft":0,"ur":"https://patch-diff.githubusercontent.com/raw/Fred78290/nct6687d/pull/186.patch","ms":[]}],"ha":{"al":2,"vl":"blake3-4wZgSze165RR4kmpLF8oMCQ8mapoyA3bn7aUeY8AiVM="},"fv":"W/346228cf70181267a790ec6c23bb540b","ps":[]}
,"nix-cachyos-kernel":{"sn":"nix-cachyos-kernel-src","kd":[1,{"ft":0,"ur":"https://github.com/xddxdd/nix-cachyos-kernel/archive/e2100ddeb1d86fbb73afc5f9a34d9f8b6f3bbc00.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-/kfk7dxN0GoXtPWAGCXnWGPUZx8QJRiIDAKv0LTHiVM="},"fv":"e2100ddeb1d86fbb73afc5f9a34d9f8b6f3bbc00","ps":[]} ,"nix-amd-ai":{"sn":"nix-amd-ai-src","kd":[1,{"ft":0,"ur":"https://github.com/noamsto/nix-amd-ai/archive/5027e475e1467efe900ee77c30ebf769990c422d.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-pHtA4qAfjGMJMJGZPA8ZM26mg+a60GHJY5A4HCGwag4="},"fv":"5027e475e1467efe900ee77c30ebf769990c422d","ps":["amd-ai-flake-compat"]}
,"nix-cachyos-kernel":{"sn":"nix-cachyos-kernel-src","kd":[1,{"ft":0,"ur":"https://github.com/xddxdd/nix-cachyos-kernel/archive/3a4f4055db5f96ce696b5704c996d5bffbcda58d.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-l5Ydtt+tyMEAe0+Q74NtsrXnc0JQqHvNxpZyhhvXDMg="},"fv":"3a4f4055db5f96ce696b5704c996d5bffbcda58d","ps":[]}
,"nix-cachyos-settings":{"sn":"nix-cachyos-settings-src","kd":[1,{"ft":0,"ur":"https://github.com/Daaboulex/cachyos-settings-nix/archive/47b9da37ad59e3dd92ed2155b65ad9797e03d12f.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-6BiVCakwzVi/D+cu6xn7uGCJl7JhvhX62C/mPnZcaqc="},"fv":"47b9da37ad59e3dd92ed2155b65ad9797e03d12f","ps":["adios"]} ,"nix-cachyos-settings":{"sn":"nix-cachyos-settings-src","kd":[1,{"ft":0,"ur":"https://github.com/Daaboulex/cachyos-settings-nix/archive/47b9da37ad59e3dd92ed2155b65ad9797e03d12f.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-6BiVCakwzVi/D+cu6xn7uGCJl7JhvhX62C/mPnZcaqc="},"fv":"47b9da37ad59e3dd92ed2155b65ad9797e03d12f","ps":["adios"]}
,"nix-citizen":{"sn":"nix-citizen-src","kd":[1,{"ft":0,"ur":"https://github.com/LovingMelody/nix-citizen/archive/7db41f8024ff84cc5ecc532560a5b6598ca65208.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-jcIN9/pmwil9YpwT/aG4/s4K7xUEcypAu7Kufbwi+lM="},"fv":"7db41f8024ff84cc5ecc532560a5b6598ca65208","ps":[]} ,"nix-citizen":{"sn":"nix-citizen-src","kd":[1,{"ft":0,"ur":"https://github.com/LovingMelody/nix-citizen/archive/7db41f8024ff84cc5ecc532560a5b6598ca65208.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-jcIN9/pmwil9YpwT/aG4/s4K7xUEcypAu7Kufbwi+lM="},"fv":"7db41f8024ff84cc5ecc532560a5b6598ca65208","ps":[]}
,"nix-gaming":{"sn":"nix-gaming-src","kd":[1,{"ft":0,"ur":"https://github.com/fufexan/nix-gaming/archive/a34118c61059e72f9276680400c4f52e8b4db4dd.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-S/5Xe/7auBKOKfwrPfAc9KXVY6HpNrIXU1wVSziPsws="},"fv":"a34118c61059e72f9276680400c4f52e8b4db4dd","ps":[]} ,"nix-gaming":{"sn":"nix-gaming-src","kd":[1,{"ft":0,"ur":"https://github.com/fufexan/nix-gaming/archive/a34118c61059e72f9276680400c4f52e8b4db4dd.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-S/5Xe/7auBKOKfwrPfAc9KXVY6HpNrIXU1wVSziPsws="},"fv":"a34118c61059e72f9276680400c4f52e8b4db4dd","ps":[]}
,"nix-spicetify":{"sn":"nix-spicetify-src","kd":[1,{"ft":0,"ur":"https://github.com/Gerg-L/spicetify-nix/archive/9cabea6f5973ec01f60080ea50f54f8f6d74dc95.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-EaKmJmkasj95Gwikyn07GPJqaERX7cBmxDD7N2Jl340="},"fv":"9cabea6f5973ec01f60080ea50f54f8f6d74dc95","ps":[]} ,"nix-spicetify":{"sn":"nix-spicetify-src","kd":[1,{"ft":0,"ur":"https://github.com/Gerg-L/spicetify-nix/archive/9cabea6f5973ec01f60080ea50f54f8f6d74dc95.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-EaKmJmkasj95Gwikyn07GPJqaERX7cBmxDD7N2Jl340="},"fv":"9cabea6f5973ec01f60080ea50f54f8f6d74dc95","ps":[]}
,"scx_rustscheds-git":{"sn":"scx_rustscheds-git-src","kd":[1,{"ft":0,"ur":"https://github.com/sched-ext/scx/archive/a8a638e2b9e2e37efe66c07847394abf00dc9df9.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-xYGFg39jpQ3lF+jm5i45z4Fza0P2scCXYShM0xynT54="},"fv":"a8a638e2b9e2e37efe66c07847394abf00dc9df9","ps":[]} ,"scx_rustscheds-git":{"sn":"scx_rustscheds-git-src","kd":[1,{"ft":0,"ur":"https://github.com/sched-ext/scx/archive/d624f3322427cd30c29b8c8f507eb005fe546468.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-AS0jRWzRdDlBNAgqQCSr34hFVl+xh5e80HBIvflT680="},"fv":"d624f3322427cd30c29b8c8f507eb005fe546468","ps":[]}
,"spotneotify":{"sn":"spotneotify-src","kd":[1,{"ft":0,"ur":"https://github.com/0lswitcher/spotneotify/archive/42a296482e28e6549baa5c31850ffafb7890a1a8.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-OgtK8Vh6JI2Y/iINgWU6URPPtpbGaNGSPXEoNWWH0lo="},"fv":"42a296482e28e6549baa5c31850ffafb7890a1a8","ps":[]} ,"spotneotify":{"sn":"spotneotify-src","kd":[1,{"ft":0,"ur":"https://github.com/0lswitcher/spotneotify/archive/42a296482e28e6549baa5c31850ffafb7890a1a8.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-OgtK8Vh6JI2Y/iINgWU6URPPtpbGaNGSPXEoNWWH0lo="},"fv":"42a296482e28e6549baa5c31850ffafb7890a1a8","ps":[]}
} }
,"p":{ ,"p":{
"mpv_buffers_fix":{"ur":"https://patch-diff.githubusercontent.com/raw/mpv-player/mpv/pull/17303.patch","ha":{"al":2,"vl":"blake3-/y4M5tEZmuhh6q5zvg1lbf/jjdnRulPEoycCBcZm/cQ="}} "amd-ai-flake-compat":{"ur":"https://patch-diff.githubusercontent.com/raw/noamsto/nix-amd-ai/pull/46.patch","ha":{"al":2,"vl":"blake3-+r0l/wtMerZlHTwukzdZ1lNhwmQ8UwXAV2ixpfJLosU="}}
,"mpv_buffers_fix":{"ur":"https://patch-diff.githubusercontent.com/raw/mpv-player/mpv/pull/17303.patch","ha":{"al":2,"vl":"blake3-/y4M5tEZmuhh6q5zvg1lbf/jjdnRulPEoycCBcZm/cQ="}}
} }
} }

View File

@ -6,6 +6,7 @@ patches {
kservice_fix "./patches/kservice_fix.patch" kservice_fix "./patches/kservice_fix.patch"
mpv_buffers_fix "https://patch-diff.githubusercontent.com/raw/mpv-player/mpv/pull/17303.patch" // TODO: Remove this and mpv from manifest when mpv 0.42 is released mpv_buffers_fix "https://patch-diff.githubusercontent.com/raw/mpv-player/mpv/pull/17303.patch" // TODO: Remove this and mpv from manifest when mpv 0.42 is released
//nix_odysseus "https://patch-diff.githubusercontent.com/raw/pewdiepie-archdaemon/odysseus/pull/2568.patch" // See 2567 also //nix_odysseus "https://patch-diff.githubusercontent.com/raw/pewdiepie-archdaemon/odysseus/pull/2568.patch" // See 2567 also
amd-ai-flake-compat "https://patch-diff.githubusercontent.com/raw/noamsto/nix-amd-ai/pull/46.patch" // TODO Remove once it is merged
} }
inputs { inputs {
@ -71,16 +72,6 @@ inputs {
} }
} }
flake-compat {
archive {
url "https://github.com/NixOS/flake-compat/archive/{{fresh_value}}.tar.gz"
}
fresh-cmd {
$ git ls-remote --branches "https://github.com/NixOS/flake-compat.git" --refs "refs/heads/master"
| cut -f1
}
}
nix-citizen { nix-citizen {
archive { archive {
url "https://github.com/LovingMelody/nix-citizen/archive/{{fresh_value}}.tar.gz" url "https://github.com/LovingMelody/nix-citizen/archive/{{fresh_value}}.tar.gz"
@ -131,6 +122,17 @@ inputs {
} }
} }
*/ */
nix-amd-ai {
archive {
url "https://github.com/noamsto/nix-amd-ai/archive/{{fresh_value}}.tar.gz"
}
patches amd-ai-flake-compat
fresh-cmd {
$ git ls-remote --branches "https://github.com/noamsto/nix-amd-ai.git" --refs "refs/heads/main"
| cut -f1
}
}
// Packages // Packages
ani-cli-git { ani-cli-git {
archive { archive {