mirror of
https://github.com/Username404-59/Dotfiles-NixOS.git
synced 2026-07-03 12:58:07 +02:00
Compare commits
15 Commits
eb797005f7
...
02f45f544a
| Author | SHA1 | Date | |
|---|---|---|---|
| 02f45f544a | |||
| 834b90994d | |||
| fd15877f13 | |||
| 4f59d94881 | |||
| 03ec06f3ab | |||
| f88eea65fc | |||
| 65de8cea1c | |||
| 6bb445df3a | |||
| 48520ade33 | |||
| 3574a6a8a8 | |||
| fabf8c2147 | |||
| 37a4619036 | |||
| 6142dcd24f | |||
| b09795ebd6 | |||
| d832db0455 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
/hardware-configuration.nix
|
||||
tamal/.silo
|
||||
15
common/amd-ai-config.nix
Normal file
15
common/amd-ai-config.nix
Normal 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"];
|
||||
}
|
||||
@ -2,57 +2,40 @@
|
||||
|
||||
{
|
||||
services.ollama = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
package = pkgs.ollama-vulkan;
|
||||
|
||||
loadModels = [
|
||||
(if isLaptop then "qwen3.5:9b" else "qwen3.6:27b")
|
||||
"qwen3.5:9b"
|
||||
];
|
||||
|
||||
environmentVariables = {
|
||||
OLLAMA_CONTEXT_LENGTH = "32768";
|
||||
};
|
||||
};
|
||||
|
||||
services.open-webui = {
|
||||
enable = true;
|
||||
enable = config.services.ollama.enable;
|
||||
port = 6767;
|
||||
openFirewall = false;
|
||||
environment = {
|
||||
environment = rec {
|
||||
WEBUI_AUTH = "False"; # No need for auth since it's only accessible by me
|
||||
OFFLINE_MODE = "True"; # Update checks & model downloads aren't needed
|
||||
SAFE_MODE = "True";
|
||||
BYPASS_MODEL_ACCESS_CONTROL = "True";
|
||||
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 = ''
|
||||
### Task:
|
||||
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>
|
||||
'';
|
||||
DEFAULT_MODELS = builtins.concatStringsSep ", " config.services.ollama.loadModels;
|
||||
DEFAULT_PINNED_MODELS = DEFAULT_MODELS;
|
||||
};
|
||||
};
|
||||
|
||||
/* TODO: Uncomment when odysseus package supports non-flake installation (& disable open-webui)
|
||||
services.odysseus = {
|
||||
enable = true;
|
||||
enable = config.services.ollama.enable;
|
||||
xdg.dataHome."odysseus/odysseus-env".source = ./odysseus/.env;
|
||||
# https://github.com/pewdiepie-archdaemon/odysseus/blob/dev/.env.example
|
||||
environmentFile = "${config.xdg.dataHome}}/odysseus/odysseus-env";
|
||||
|
||||
@ -37,31 +37,40 @@ let
|
||||
|
||||
pkgs = import nixtamal.nixpkgs {
|
||||
config.allowUnfree = true;
|
||||
overlays = [
|
||||
overlays = with nixtamal; [
|
||||
# CachyOS kernels repo
|
||||
(import nixtamal.nix-cachyos-kernel).overlays.default
|
||||
(import nix-cachyos-kernel).overlays.default
|
||||
# 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)
|
||||
(import nixtamal.nix-citizen).overlays.steamcompattools
|
||||
(import nix-citizen).overlays.steamcompattools
|
||||
# AMD AI overlay
|
||||
(import nix-amd-ai).overlays.default
|
||||
# Local packages
|
||||
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
|
||||
{
|
||||
nixpkgs.pkgs = pkgs; # Uses the nixtamal nixpkgs
|
||||
_module.args.nixtamal = nixtamal;
|
||||
_module.args.isLaptop = isLaptop;
|
||||
|
||||
imports =
|
||||
[
|
||||
./workarounds.nix
|
||||
./local.nix
|
||||
./hardware-configuration.nix # Results of the hardware scan ("nixos-generate-config" command)
|
||||
./modules/filesystems.nix
|
||||
"${nixtamal.home-manager}/nixos"
|
||||
"${nixtamal.catppuccin}/modules/nixos"
|
||||
"${nixtamal.nix-cachyos-settings}/module.nix"
|
||||
"${nixtamal.nix-amd-ai}/modules/amd-npu.nix"
|
||||
./modules/bootloader.nix
|
||||
./modules/system-packages.nix
|
||||
./modules/fonts.nix
|
||||
@ -72,8 +81,14 @@ in
|
||||
./modules/mesa.nix
|
||||
./modules/audio.nix
|
||||
./modules/ananicy.nix
|
||||
./modules/printing.nix
|
||||
|
||||
./common/ollama-config.nix
|
||||
./common/amd-ai-config.nix
|
||||
|
||||
./machines/${
|
||||
if isLaptop then "laptop" else "desktop"
|
||||
}/local.nix
|
||||
|
||||
# ISO installer building stuff:
|
||||
./ISO/iso.nix
|
||||
@ -126,7 +141,7 @@ in
|
||||
};
|
||||
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit nixtamal localPackagesOverlay;
|
||||
inherit nixtamal localPackagesOverlay isLaptop;
|
||||
};
|
||||
home-manager.users.doggo = import ./home/doggo/doggo.nix;
|
||||
|
||||
|
||||
53
disko.nix
Normal file
53
disko.nix
Normal 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"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@ -57,7 +57,6 @@ in
|
||||
})
|
||||
(functions.mkUnstable ani-cli)
|
||||
anime4k
|
||||
yt-dlp
|
||||
jetbrains.idea
|
||||
jetbrains.clion
|
||||
#androidStudioPackages.canary.full
|
||||
@ -67,6 +66,7 @@ in
|
||||
gnome-feeds
|
||||
vulkan-tools mesa-demos # vkcube & glxgears
|
||||
#spotifywm # Lets me make a hyprland window rule for spotify. Currently commented out because spicetify pulls it.
|
||||
libreoffice-qt-fresh
|
||||
|
||||
# Gaming packages:
|
||||
(prismlauncher.override {
|
||||
@ -149,6 +149,15 @@ in
|
||||
text_outline = true;
|
||||
};
|
||||
};
|
||||
|
||||
yt-dlp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
embed-thumbnail = true;
|
||||
add-metadata = true;
|
||||
format = "bestvideo+251/best";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.stateVersion = "26.11";
|
||||
|
||||
@ -12,8 +12,65 @@ let
|
||||
mocha = {
|
||||
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
|
||||
{
|
||||
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 = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
@ -24,30 +81,36 @@ in
|
||||
];
|
||||
|
||||
settings = {
|
||||
monitor = if !isLaptop then [
|
||||
{ output = "DP-3"; mode = "2560x1440@144"; position = "0x0"; scale = 1; vrr = 2; }
|
||||
{ output = "HDMI-A-4"; mode = "1920x1080@77"; position = "-1920x128"; scale = 1; }
|
||||
] else [
|
||||
{
|
||||
output = "eDP-1"; mode = "2880x1800@120"; position = "0x0"; scale = 1.5;
|
||||
monitor = [
|
||||
({
|
||||
# Desktop settings
|
||||
output = "DP-3";
|
||||
mode = "highres@highrr";
|
||||
position = "0x0"; scale = 1; vrr = 2;
|
||||
} // lib.optionalAttrs isLaptop {
|
||||
# Laptop settings
|
||||
output = "eDP-1";
|
||||
scale = 1.5;
|
||||
cm = "hdredid"; bitdepth = 10;
|
||||
min_luminance = 0.0; max_luminance = 2000;
|
||||
sdr_min_luminance = 0.005; sdr_max_luminance = 350; # 106?
|
||||
sdrsaturation = 1.0; # 1.175? 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 #
|
||||
on = {
|
||||
_args = [
|
||||
"hyprland.start"
|
||||
(lib.generators.mkLuaInline ''
|
||||
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 ${
|
||||
if isLaptop then "-c 000000 -o '*'" else "-i '${./backgrounds/ubuntu_budgie_wallpaper1.jpg}' -o DP-3"
|
||||
}")
|
||||
hl.exec_cmd("${uwsm} swaybg -c 000000 -o '*'")
|
||||
${builtins.concatStringsSep "\n " (builtins.map (cmd:
|
||||
"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} wl-paste --type text --watch cliphist store")
|
||||
hl.exec_cmd("${uwsm} wl-paste --type image --watch cliphist store")
|
||||
|
||||
67
local.nix
67
local.nix
@ -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";
|
||||
}
|
||||
42
machines/desktop/local.nix
Normal file
42
machines/desktop/local.nix
Normal 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
23
machines/laptop/local.nix
Normal 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";
|
||||
}
|
||||
@ -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"
|
||||
fileSystems."/".options = lib.mkIf (config.fileSystems."/".fsType == "f2fs")
|
||||
(lib.mkAfter [
|
||||
fileSystems."/".options = lib.mkMerge [
|
||||
[ "noatime" ]
|
||||
(lib.mkIf (config.fileSystems."/".fsType == "f2fs") (lib.mkAfter [
|
||||
"discard" # Better (on f2fs) than fstrim
|
||||
"X-fstrim.notrim" # To avoid fstrim
|
||||
"compress_algorithm=lzo-rle"
|
||||
@ -16,7 +17,8 @@
|
||||
"checkpoint_merge"
|
||||
"fsync_mode=posix"
|
||||
"nat_bits"
|
||||
]);
|
||||
]))
|
||||
];
|
||||
|
||||
services.fstrim.enable = true;
|
||||
|
||||
|
||||
@ -51,6 +51,12 @@
|
||||
|
||||
boot.kernelPatches = [ ];
|
||||
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
boot.kernelModules = [];
|
||||
|
||||
boot.blacklistedKernelModules = [];
|
||||
|
||||
services.scx = { # https://wiki.cachyos.org/configuration/sched-ext/#general-recommendations
|
||||
enable = true;
|
||||
scheduler = "scx_lavd";
|
||||
|
||||
29
modules/printing.nix
Normal file
29
modules/printing.nix
Normal 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;
|
||||
}
|
||||
@ -27,14 +27,6 @@ let
|
||||
}).overrideAttrs (old: {
|
||||
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
|
||||
{
|
||||
|
||||
@ -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-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"]}
|
||||
,"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/f469c79b955609d6a8fdd9e689be76a93b1621d7.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-1zy6ntIs29Wr5aBoNIi2EUFuXTRE/mXiz4remDnDic0="},"fv":"f469c79b955609d6a8fdd9e689be76a93b1621d7","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":[]}
|
||||
,"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":[]}
|
||||
,"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":[]}
|
||||
,"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":[]}
|
||||
,"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-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-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":[]}
|
||||
}
|
||||
,"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="}}
|
||||
}
|
||||
}
|
||||
@ -6,6 +6,7 @@ patches {
|
||||
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
|
||||
//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 {
|
||||
@ -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 {
|
||||
archive {
|
||||
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
|
||||
ani-cli-git {
|
||||
archive {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user