From d17c476367d5682e10d410247a952b27d7c29513 Mon Sep 17 00:00:00 2001 From: Username404-59 Date: Mon, 22 Jun 2026 04:08:41 +0200 Subject: [PATCH] 3 derivation functions + mesa-git --- configuration.nix | 3 +++ home/doggo/doggo.nix | 4 ++-- modules/ccache.nix | 14 ++++++++++++++ modules/mesa.nix | 9 +++++++++ modules/system-packages.nix | 18 ++++++++++++++++-- tamal/lock.json | 3 ++- tamal/manifest.kdl | 11 ++++++++++- 7 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 modules/ccache.nix create mode 100644 modules/mesa.nix diff --git a/configuration.nix b/configuration.nix index ca1c95f..17d2a26 100644 --- a/configuration.nix +++ b/configuration.nix @@ -35,6 +35,7 @@ let in { nixpkgs.pkgs = pkgs; # Uses the nixtamal nixpkgs + _module.args.nixtamal = nixtamal; imports = [ @@ -48,7 +49,9 @@ in ./modules/fonts.nix ./modules/hyprland.nix ./modules/kernel.nix + ./modules/ccache.nix ./modules/networking.nix + ./modules/mesa.nix ]; home-manager.useUserPackages = true; # Puts user packages in /etc/profiles diff --git a/home/doggo/doggo.nix b/home/doggo/doggo.nix index 2505741..e3e3aa6 100644 --- a/home/doggo/doggo.nix +++ b/home/doggo/doggo.nix @@ -1,4 +1,4 @@ -{ config, pkgs, nixtamal, ... }: +{ config, pkgs, nixtamal, functions, ... }: { home.username = "doggo"; @@ -50,7 +50,7 @@ obs-vkcapture ]; }) - (ani-cli.overrideAttrs (old: { version = "unstable"; src = nixtamal.ani-cli; })) + (functions.mkUnstable ani-cli) anime4k spotify jetbrains.idea diff --git a/modules/ccache.nix b/modules/ccache.nix new file mode 100644 index 0000000..ef858ef --- /dev/null +++ b/modules/ccache.nix @@ -0,0 +1,14 @@ +{ config, ... }: + +{ + programs.ccache = { + enable = true; + packageNames = [ + # Packages here + "mesa" + "pkgsi686Linux.mesa" + ]; + }; + + nix.settings.extra-sandbox-paths = [ config.programs.ccache.cacheDir ]; +} \ No newline at end of file diff --git a/modules/mesa.nix b/modules/mesa.nix new file mode 100644 index 0000000..4006ab4 --- /dev/null +++ b/modules/mesa.nix @@ -0,0 +1,9 @@ +{ pkgs, nixtamal, functions, ... }: + +{ + hardware.graphics = { + # Mesa-git because why not + package = functions.mkUnstable pkgs.mesa; + package32 = functions.mkUnstable pkgs.pkgsi686Linux.mesa; + }; +} \ No newline at end of file diff --git a/modules/system-packages.nix b/modules/system-packages.nix index ee292ac..3744a40 100644 --- a/modules/system-packages.nix +++ b/modules/system-packages.nix @@ -1,6 +1,20 @@ -{ pkgs, ... }: +{ pkgs, lib, nixtamal, ... }: +let + functions = rec { + mkSpecial = pkg: version: suffix: + pkg.overrideAttrs (old: { + inherit version; + src = nixtamal.${pkg.pname + suffix}; + }); + mkSpecialVersion = pkg: version: mkSpecial pkg version ""; + mkUnstable = pkg: mkSpecial pkg "unstable" "-git"; + }; +in { + _module.args.functions = functions; + home-manager.extraSpecialArgs = { inherit functions; }; + environment.systemPackages = with pkgs; [ git curl @@ -14,7 +28,7 @@ cpu-x steam-run exfatprogs - nixtamal # Important + pkgs.nixtamal # Important android-tools kdePackages.kleopatra # Needed to add keys easily nload diff --git a/tamal/lock.json b/tamal/lock.json index 186f73e..06712d8 100644 --- a/tamal/lock.json +++ b/tamal/lock.json @@ -1,11 +1,12 @@ {"v":"1.2.0" ,"i":{ "nixpkgs":{"sn":"nixpkgs-src","kd":[1,{"ft":0,"ur":"https://github.com/NixOS/nixpkgs/archive/3e41b24abd260e8f71dbe2f5737d24122f972158.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-BSTBNVIizq+HVWhxRQidoUSBhRS3DYrbbW3IOF4ZMqo="},"fv":"3e41b24abd260e8f71dbe2f5737d24122f972158","ps":[]} -,"ani-cli":{"sn":"ani-cli-src","kd":[1,{"ft":0,"ur":"https://github.com/pystardust/ani-cli/archive/b8032b72901721a1ce859ca2816e8e2c914bc616.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-vmoD/YCoSBHABOYyYNxqY5+W4YMSZ5yBoIRA6msHaHA="},"fv":"b8032b72901721a1ce859ca2816e8e2c914bc616","ps":[]} +,"ani-cli-git":{"sn":"ani-cli-git-src","kd":[1,{"ft":0,"ur":"https://github.com/pystardust/ani-cli/archive/b8032b72901721a1ce859ca2816e8e2c914bc616.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-vmoD/YCoSBHABOYyYNxqY5+W4YMSZ5yBoIRA6msHaHA="},"fv":"b8032b72901721a1ce859ca2816e8e2c914bc616","ps":[]} ,"catppuccin":{"sn":"catppuccin-src","kd":[1,{"ft":0,"ur":"https://github.com/catppuccin/nix/archive/8b943da8a0f8628f3446d2517ea39babcfaf27f3.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-Ok/y9/GHp/WOe3zR1DShlSBQMoa9WOM1Fk07HJ98c0o="},"fv":"8b943da8a0f8628f3446d2517ea39babcfaf27f3","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"]} ,"home-manager":{"sn":"home-manager-src","kd":[1,{"ft":0,"ur":"https://github.com/nix-community/home-manager/archive/d1ccd0721ec599866622665f3651e19e6e2d4c6a.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-5OMdQbr6CYz61i1qGRI6uW/f2cSh0hFjKDdaVcHYq3Y="},"fv":"d1ccd0721ec599866622665f3651e19e6e2d4c6a","ps":[]} +,"mesa-git":{"sn":"mesa-git-src","kd":[1,{"ft":0,"ur":"https://gitlab.freedesktop.org/mesa/mesa/-/archive/dc1db5367ef1245498d2d0fc74637a9e56e22f0d/mesa-dc1db5367ef1245498d2d0fc74637a9e56e22f0d.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-fWtUhq/o707GZwhuwAYEoQdKNChqGX8zDvNloh6jhLI="},"fv":"dc1db5367ef1245498d2d0fc74637a9e56e22f0d","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"]} ,"nix-cachyos-kernel":{"sn":"nix-cachyos-kernel-src","kd":[1,{"ft":0,"ur":"https://github.com/xddxdd/nix-cachyos-kernel/archive/756ed060ca6adcdf3e65371e3725b89c58a1354d.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-Fe0eyieRpR2wg5mSTU+1rWBLuDMbAFlBaq2ZyRLDrLU="},"fv":"756ed060ca6adcdf3e65371e3725b89c58a1354d","ps":[]} ,"nix-cachyos-settings":{"sn":"nix-cachyos-settings-src","kd":[1,{"ft":0,"ur":"https://github.com/Daaboulex/cachyos-settings-nix/archive/b10930df067b3774ea2a1a79a4cc31480d8471ab.tar.gz","ms":[]}],"ha":{"al":2,"vl":"blake3-tz6jBM/WrxbxBnNB2v7P/jW1A066j0a+kMgallqOKtM="},"fv":"b10930df067b3774ea2a1a79a4cc31480d8471ab","ps":["adios"]} diff --git a/tamal/manifest.kdl b/tamal/manifest.kdl index 20f0a1e..7bdc498 100644 --- a/tamal/manifest.kdl +++ b/tamal/manifest.kdl @@ -81,7 +81,7 @@ inputs { } // Packages - ani-cli { + ani-cli-git { archive { url "https://github.com/pystardust/ani-cli/archive/{{fresh_value}}.tar.gz" } @@ -96,6 +96,15 @@ inputs { } patches mpv_buffers_fix } + mesa-git { + archive { + url "https://gitlab.freedesktop.org/mesa/mesa/-/archive/{{fresh_value}}/mesa-{{fresh_value}}.tar.gz" + } + fresh-cmd { + $ git ls-remote --branches "https://gitlab.freedesktop.org/mesa/mesa.git" --refs "refs/heads/main" + | cut -f1 + } + } // Others catppuccin-godot {