diff --git a/etc/nixos/configuration.nix b/etc/nixos/configuration.nix index 7607100..1651d82 100644 --- a/etc/nixos/configuration.nix +++ b/etc/nixos/configuration.nix @@ -30,6 +30,7 @@ in ./modules/KawaiCA49.nix ./modules/logitech.nix ./modules/ollama.nix + ./modules/llamacpp.nix ./modules/sound.nix ./modules/xdg.nix ./modules/gdm.nix @@ -150,7 +151,7 @@ in users.users.${username} = { isNormalUser = true; description = userdesc; - extraGroups = [ "networkmanager" "wheel" "libvrtd" "kvm" "qemu-libvirtd" "cdrom" "uucp" "docker" "audio"]; + extraGroups = [ "networkmanager" "wheel" "libvrtd" "kvm" "qemu-libvirtd" "cdrom" "uucp" "docker" "audio" "input"]; packages = with pkgs; []; }; diff --git a/etc/nixos/flake.lock b/etc/nixos/flake.lock index 6476972..2334bb4 100644 --- a/etc/nixos/flake.lock +++ b/etc/nixos/flake.lock @@ -4,7 +4,6 @@ "inputs": { "corefonts": "corefonts", "crane": "crane", - "fenix": "fenix", "flake-compat": "flake-compat", "flake-parts": "flake-parts", "git-hooks": "git-hooks", @@ -12,14 +11,16 @@ "nixpkgs-wine": "nixpkgs-wine", "on-linux": "on-linux", "plugin-loader-src": "plugin-loader-src", - "treefmt-nix": "treefmt-nix" + "treefmt-nix": "treefmt-nix", + "windows-rs": "windows-rs", + "wintypes_shim": "wintypes_shim" }, "locked": { - "lastModified": 1785468701, - "narHash": "sha256-nw9ho7BM/qct4YG0lSpaeIyCXQKOqOr6A2ezfwocb3U=", + "lastModified": 1788753201, + "narHash": "sha256-3QwUQIuF517e1TlkEu2Uned4B2ZUr/Eaj4qDVdRzjeI=", "owner": "mrshmllow", "repo": "affinity-nix", - "rev": "14fd628af2ce1fd56391cbf75ef48494f051e506", + "rev": "762d625545f67dfa49141936b733f9a18448478d", "type": "github" }, "original": { @@ -46,11 +47,11 @@ }, "crane": { "locked": { - "lastModified": 1785284101, - "narHash": "sha256-ghcXEpYEM4a7pbEkoqbn8c0ptJJqgGzuFiG3T6W5g4I=", + "lastModified": 1787326676, + "narHash": "sha256-lWhBbBvC05/xwivKBBiM2YNizpmgqCgyOIzomvRuwxs=", "owner": "ipetkov", "repo": "crane", - "rev": "756d6d07c3818ea95d1e2cdac63fa7d02fe3e61b", + "rev": "692f7e9ef2ece8125b466f66f2af532b3edaed0d", "type": "github" }, "original": { @@ -59,28 +60,6 @@ "type": "github" } }, - "fenix": { - "inputs": { - "nixpkgs": [ - "affinity-nix", - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1785314864, - "narHash": "sha256-imz9J5iMNersDeQ1ymenFg35N6C2R3MCaGg2i0XCIrE=", - "owner": "nix-community", - "repo": "fenix", - "rev": "594418b2c9ea0731bee6988236ef5bfd97e81dca", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, "flake-compat": { "locked": { "lastModified": 1751685974, @@ -115,11 +94,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1782949081, - "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", + "lastModified": 1787559586, + "narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", + "rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1", "type": "github" }, "original": { @@ -152,11 +131,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1784288435, - "narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=", + "lastModified": 1787770114, + "narHash": "sha256-wFwVQb1x5FAY4T5VRZtgh0PCD9nbgtlaV9ta8+ZE8zs=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9", + "rev": "903a4c22c12860082f6a5e1b9a638d667883fcfd", "type": "github" }, "original": { @@ -172,11 +151,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1785004096, - "narHash": "sha256-8stbyRwnEwPMmni/U6iHGGBbi3uebfq60qlKXPgYwWI=", + "lastModified": 1788688728, + "narHash": "sha256-d/VsPqEbo+Dwa1OkSP1M/piIWWN3rBHAVEuPjF55KOU=", "owner": "schembriaiden", "repo": "helium-browser-nix-flake", - "rev": "b356d11eff33ec730a51f9c88d258fdd72efe587", + "rev": "9d5a2477fcc86e78abef68ab1b7928a20e664c4b", "type": "github" }, "original": { @@ -192,11 +171,11 @@ }, "locked": { "dir": "packages/nix", - "lastModified": 1783651774, - "narHash": "sha256-PuCRfdYK2RG6CAYbnjbF6ElkULdqw0G+bhKWeQsJTUw=", + "lastModified": 1788314063, + "narHash": "sha256-Bo1+WbgacFL7oQXXFs3E8kpYccpq9wr8ZT4sR0u3xLQ=", "owner": "SteamClientHomebrew", "repo": "Millennium", - "rev": "6d6df68fb43e11a73c0a8d0fd1566e4f81f873d1", + "rev": "ad917139dd0531ac2a6fc10fd0b6d02e605e3d94", "type": "github" }, "original": { @@ -210,17 +189,17 @@ "millennium-src": { "flake": false, "locked": { - "lastModified": 1783612754, - "narHash": "sha256-97yND/JauDYEdYEHzuwkUeOUwfd+BCzHpKTmibkQZgw=", + "lastModified": 1787082953, + "narHash": "sha256-zgr4cdJfye4qunpD3ClNnZ9D1WPGQAXV0CnYwEbB52s=", "owner": "SteamClientHomebrew", "repo": "Millennium", - "rev": "78f1f71a63f18142289926ca435071500ac1cbad", + "rev": "513b02e809b0eb120ecf0ae12e548798dd756323", "type": "github" }, "original": { "owner": "SteamClientHomebrew", "repo": "Millennium", - "rev": "78f1f71a63f18142289926ca435071500ac1cbad", + "rev": "513b02e809b0eb120ecf0ae12e548798dd756323", "type": "github" } }, @@ -254,11 +233,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1785494453, - "narHash": "sha256-nK6DCmFpPgaHweU2Y8BMxutfTihwXJ2XkxaoMZPBpMQ=", + "lastModified": 1785857305, + "narHash": "sha256-25q05zpF1sqOCxPPUG9DPPGd+EDW7SiAOWCzBWRS7r0=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "68414146fbe13d8fce7748cf2f4e9e46e4834e2e", + "rev": "9ee3e13b60643448228353097880521658b2fe0e", "type": "github" }, "original": { @@ -287,11 +266,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1784570726, - "narHash": "sha256-9EMn69JBcFWFgUM7f0VBAX+jBby5b9H3M59U75+5yI4=", + "lastModified": 1785701241, + "narHash": "sha256-ircVOzPWRircI39ac/tqJajr5OoJxEVrDlBb05TULEk=", "owner": "YaLTeR", "repo": "niri", - "rev": "7f26c3ee804fb6ed458ef7fb0e3c794f14e0b3bc", + "rev": "feb3e43f1475e0865bb89cbd1e898b34d1d2ccf6", "type": "github" }, "original": { @@ -317,11 +296,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1782918843, - "narHash": "sha256-ETYnV9U7Sr+A45dohzZdfCZKOss4qrTkO+wgNZNvEc0=", + "lastModified": 1787631388, + "narHash": "sha256-vMiXptXarfSdJb1Gkc+FYVOAibuBRj7qxGa8z68q1Uw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e8273b29fe1390ec8d4603f2477357555291432e", + "rev": "ac6b2166e7a9375683b8e98f860f273222337b16", "type": "github" }, "original": { @@ -333,11 +312,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1784834831, - "narHash": "sha256-yj0LPLnsmYoLmA3FGANjeTEwej0/DHjZBXWnDQDUuIs=", + "lastModified": 1788334797, + "narHash": "sha256-nskSa8kDimM7F0VFSP8IdoSNo4G0vKzOtxwvOFpoGDI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "51fe96f9107566e6b8eeb7fc4ba696c01e548b04", + "rev": "c19db427a1fdfc7591c0b0baeb4665dcef2c61da", "type": "github" }, "original": { @@ -349,11 +328,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1782614948, - "narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=", + "lastModified": 1785031560, + "narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c", + "rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c", "type": "github" }, "original": { @@ -380,11 +359,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1785454630, - "narHash": "sha256-LQy14TZp77TwbQf40gg1V3jo8FwJG0jGDkAH+zRHqg8=", + "lastModified": 1788614874, + "narHash": "sha256-7QYjT2vHLuX9Z1pdxHXDKCbh1CR3D/2rywB9Tx0MPRg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1559d3daa3ecc813a650b79375ea61b6741b8746", + "rev": "c043004d1c6985732bcc1cbc5a9c9aecbbb4e0f0", "type": "github" }, "original": { @@ -412,11 +391,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1785318670, - "narHash": "sha256-dN6Ou5x/+23FZLEpYP3IffO+NyJFzUlGumt1uu3MMaY=", + "lastModified": 1787135253, + "narHash": "sha256-RD2kNWCG+Bjo6h+JVjWVNntZs2GtRoeY2xHjts/FNkA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev": "ffb3c9b700e759be2ef13237c9d8f953b32a1e46", "type": "github" }, "original": { @@ -444,11 +423,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1784796856, - "narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=", + "lastModified": 1788614874, + "narHash": "sha256-7QYjT2vHLuX9Z1pdxHXDKCbh1CR3D/2rywB9Tx0MPRg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e2587caef70cea85dd97d7daab492899902dbf5d", + "rev": "c043004d1c6985732bcc1cbc5a9c9aecbbb4e0f0", "type": "github" }, "original": { @@ -492,11 +471,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1785386831, - "narHash": "sha256-sPS3CaXH8RAT3FZRuy4VcV47iuYIWMMfa0GbyJKC3o4=", + "lastModified": 1788690626, + "narHash": "sha256-+v4I4LawmRD/mVxO7QIAerRrCkElp3YImzWkkUnvOTg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "21ea275a7c46aef9d4d6ddc962e6d562e9d94183", + "rev": "c25784012c9982bca5b3e0de87e90bbdac8927d3", "type": "github" }, "original": { @@ -524,11 +503,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1784796856, - "narHash": "sha256-vwxWgF+Gj276WznzGb1LxGsK/39HaQwgQXiU3EkC844=", - "rev": "e2587caef70cea85dd97d7daab492899902dbf5d", + "lastModified": 1788614874, + "narHash": "sha256-PRK1fSEiAcO29DkUoOlsVLGYRK3h1YKVr+qQJB0VcYQ=", + "rev": "c043004d1c6985732bcc1cbc5a9c9aecbbb4e0f0", "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1040357.e2587caef70c/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1068089.c043004d1c69/nixexprs.tar.xz" }, "original": { "type": "tarball", @@ -538,11 +517,11 @@ "on-linux": { "flake": false, "locked": { - "lastModified": 1783797218, - "narHash": "sha256-oNQ6gvcibxa7OKPSeAtd+I7BsVLrJbEr7l8DqvZu3pU=", + "lastModified": 1787365621, + "narHash": "sha256-aRS0sZ6p7YJagjFaZFrS1zuvN3PVKNBJOze1Ek/bOi8=", "owner": "seapear", "repo": "AffinityOnLinux", - "rev": "794bb88175f9d43b23f1e023cf0f0bc534639e21", + "rev": "0fe210754999a2ace3039c11fbbd11b45b5ee399", "type": "github" }, "original": { @@ -556,11 +535,11 @@ "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1785500248, - "narHash": "sha256-MLYBOFucQ8bZ4GiERqz+GckNp96DUSst6ZMix58dvis=", + "lastModified": 1788761460, + "narHash": "sha256-6NF/KOK1stARRXWVudzl3sdf3ObbW2MDmse1SJt51SQ=", "owner": "sst", "repo": "opencode", - "rev": "4087cf1a9706101c69d75b15c70ced5395f0e40a", + "rev": "57ef3828431790c53f8f333c7ffbfe88770a1812", "type": "github" }, "original": { @@ -601,23 +580,6 @@ "spicetify-nix": "spicetify-nix" } }, - "rust-analyzer-src": { - "flake": false, - "locked": { - "lastModified": 1785261141, - "narHash": "sha256-sA+DHPejWD68mLA7gtTiHGd5T41F6W+NKf0g+ibFCW4=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "bec66814323579659ffd77c909b3d963af118ece", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, "solaar": { "inputs": { "nixpkgs": [ @@ -646,11 +608,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1785048222, - "narHash": "sha256-LjFVfwxensz76SjnvofF1Jsw+xTLd8Qp31W0J6nh2XI=", + "lastModified": 1788683578, + "narHash": "sha256-bERpuakmPAC2b36zgXy6OXh+SkZUjbaV+vV2sPmm6p8=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "17e524f330c282d31c32dfe076222d4a12277886", + "rev": "a4ef43fb13e3615f36e5a0935aabe8cc29363dc9", "type": "github" }, "original": { @@ -709,11 +671,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1785360170, - "narHash": "sha256-XE1lKgQ3eIO3E7zWryqcRsax+mYXod/5RHBn4YaR9YE=", + "lastModified": 1786901030, + "narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "d1187f8bc71fb8aab02395869ec3f5c1920f75c0", + "rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa", "type": "github" }, "original": { @@ -759,6 +721,39 @@ "type": "github" } }, + "windows-rs": { + "flake": false, + "locked": { + "lastModified": 1771531570, + "narHash": "sha256-UmhpbCd3+0We7JiXFXgcS8jWMnZI2NRqPOs+UOsjrUc=", + "owner": "microsoft", + "repo": "windows-rs", + "rev": "628f84c51645217c7a06a20774ea1275dc7270ca", + "type": "github" + }, + "original": { + "owner": "microsoft", + "repo": "windows-rs", + "rev": "628f84c51645217c7a06a20774ea1275dc7270ca", + "type": "github" + } + }, + "wintypes_shim": { + "flake": false, + "locked": { + "lastModified": 1750396180, + "narHash": "sha256-E3go8SmUkAWrxQnr852WQB0huzdkO7CWiuB8Q2QyMZ4=", + "owner": "ElementalWarrior", + "repo": "wine-wintypes.dll-for-affinity", + "rev": "f8a2d42ba3abc5dcdc584daa6728a2fa019be72e", + "type": "github" + }, + "original": { + "owner": "ElementalWarrior", + "repo": "wine-wintypes.dll-for-affinity", + "type": "github" + } + }, "xwayland-satellite-stable": { "flake": false, "locked": { diff --git a/etc/nixos/modules/ollama.nix b/etc/nixos/modules/ollama.nix index 384b094..26a1f03 100644 --- a/etc/nixos/modules/ollama.nix +++ b/etc/nixos/modules/ollama.nix @@ -3,7 +3,7 @@ # OLLAMA # services.ollama = { enable = true; - #package = ollama-cuda; + package = pkgs.ollama-cuda; environmentVariables = { CUDA_VISIBLE_DEVICES = "0"; NVIDIA_VISIBLE_DEVICES = "all"; diff --git a/etc/nixos/modules/programs.nix b/etc/nixos/modules/programs.nix index 2eec64c..9807947 100644 --- a/etc/nixos/modules/programs.nix +++ b/etc/nixos/modules/programs.nix @@ -110,6 +110,7 @@ in # MEDIA EDITING # pinta + pkgs-unstable.darktable #pkgs-unstable.davinci-resolve # MEDIA # @@ -181,6 +182,10 @@ in gearlever bitwarden-desktop espanso-wayland + fuse2 + android-tools + exiftool + libinput # CUDA # cudaPackages.cudatoolkit @@ -189,8 +194,9 @@ in # AI # (callPackage ./pkgs/msty/default.nix {}) - pkgs-unstable.lmstudio + #lmstudio pkgs-unstable.opencode + tesseract #inputs.opencode.packages.${pkgs.system}.default # AUDIO AND DAW# @@ -222,7 +228,7 @@ in # ISO mounting utils # #programs.cdemu.enable = true; - + # KDE Connect programs.kdeconnect.enable = true; @@ -243,6 +249,12 @@ in #theme = spicePkgs.themes.sleek; #colorScheme = "matugen"; }; + + # APPIMAGES # + programs.appimage = { + enable = true; + binfmt = true; + }; # DOCKER # virtualisation.docker.rootless = { diff --git a/etc/nixos/modules/virtualization.nix b/etc/nixos/modules/virtualization.nix index 1a43f14..36f929a 100644 --- a/etc/nixos/modules/virtualization.nix +++ b/etc/nixos/modules/virtualization.nix @@ -70,6 +70,10 @@ in }; }; + virtualisation.waydroid = { + enable = true; + package = pkgs.waydroid-nftables; + }; # Add additional QEMU configuration to explicitly define device ACLs virtualisation.libvirtd.qemu.verbatimConfig = ''