From 0c1be27fe1f199d2d64a3dcbe648d7259f8e6d10 Mon Sep 17 00:00:00 2001 From: Nicole Date: Sun, 12 Apr 2026 11:58:50 +0200 Subject: [PATCH] Update --- etc/nixos/configuration.nix | 5 +- etc/nixos/flake.lock | 355 ++++++++++++++---- etc/nixos/flake.nix | 13 +- etc/nixos/modules/desktop.nix | 59 +-- etc/nixos/modules/nvidia.nix | 16 +- .../pkgs/anycubic-slicer-next/package.nix | 232 ++++++++---- etc/nixos/modules/pkgs/msty/default.nix | 4 +- etc/nixos/modules/programs.nix | 24 +- etc/nixos/modules/virtualization.nix | 2 + 9 files changed, 522 insertions(+), 188 deletions(-) diff --git a/etc/nixos/configuration.nix b/etc/nixos/configuration.nix index 8738112..08ddad9 100644 --- a/etc/nixos/configuration.nix +++ b/etc/nixos/configuration.nix @@ -154,7 +154,7 @@ in #░█░█░█░█░█▀▀░█▀▄░█▀▀░█▀▀ #░▀▀▀░▀░▀░▀░░░▀░▀░▀▀▀░▀▀▀ nixpkgs.config.allowUnfree = true; - nixpkgs.config.cudaSupport = true; + #nixpkgs.config.cudaSupport = true; nix.settings.experimental-features = [ "nix-command" "flakes" ]; @@ -167,6 +167,7 @@ in extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-gnome + xdg-desktop-portal-hyprland ]; config = { common = { @@ -218,7 +219,7 @@ in services.ollama = { enable = true; acceleration = "cuda"; - package = pkgs-unstable.ollama; + package = pkgs-unstable.ollama-cuda; environmentVariables = { CUDA_VISIBLE_DEVICES = "0"; NVIDIA_VISIBLE_DEVICES = "all"; diff --git a/etc/nixos/flake.lock b/etc/nixos/flake.lock index 4bdf204..95f23f0 100644 --- a/etc/nixos/flake.lock +++ b/etc/nixos/flake.lock @@ -1,9 +1,101 @@ { "nodes": { + "affinity-nix": { + "inputs": { + "elemental-wine-source": "elemental-wine-source", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", + "nixpkgs": "nixpkgs_2", + "nixpkgs-wine": "nixpkgs-wine", + "on-linux": "on-linux", + "plugin-loader": "plugin-loader", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1775783274, + "narHash": "sha256-Ebvn8gN4Vw4FJBQZxKm3sV9Cw+/99IwT7U83zIsboN8=", + "owner": "mrshmllow", + "repo": "affinity-nix", + "rev": "1aa96ece7d3c39aee027b126005cf401cfb591f2", + "type": "github" + }, + "original": { + "owner": "mrshmllow", + "repo": "affinity-nix", + "type": "github" + } + }, + "elemental-wine-source": { + "flake": false, + "locked": { + "host": "gitlab.winehq.org", + "lastModified": 1722747031, + "narHash": "sha256-XVhz9p2kgFBoJ376vg8OaFXxcMEjAe9AK1hk0I1rb1Q=", + "owner": "ElementalWarrior", + "repo": "wine", + "rev": "a7c9b19e1a26cf49c63a7c19189a3e2bbe2c6ac2", + "type": "gitlab" + }, + "original": { + "host": "gitlab.winehq.org", + "owner": "ElementalWarrior", + "ref": "affinity-photo3-wine9.13-part3", + "repo": "wine", + "type": "gitlab" + } + }, + "flake-compat": { + "locked": { + "lastModified": 1751685974, + "narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=", + "rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1", + "type": "tarball", + "url": "https://git.lix.systems/api/v1/repos/lix-project/flake-compat/archive/549f2762aebeff29a2e5ece7a7dc0f955281a1d1.tar.gz?rev=549f2762aebeff29a2e5ece7a7dc0f955281a1d1" + }, + "original": { + "type": "tarball", + "url": "https://git.lix.systems/lix-project/flake-compat/archive/main.tar.gz" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, + "locked": { + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, "locked": { "lastModified": 1749398372, "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", @@ -20,7 +112,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems_2" + "systems": "systems" }, "locked": { "lastModified": 1694529238, @@ -36,20 +128,62 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1775585728, + "narHash": "sha256-8Psjt+TWvE4thRKktJsXfR6PA/fWWsZ04DVaY6PUhr4=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "580633fa3fe5fc0379905986543fd7495481913d", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "affinity-nix", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "mango": { "inputs": { - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" ], "scenefx": "scenefx" }, "locked": { - "lastModified": 1771499264, - "narHash": "sha256-6dUvcEAYGRyrYJJuoJev2JY/vKWIpFGACwENkUlyxy8=", + "lastModified": 1775862084, + "narHash": "sha256-v0Xtw5+drOJxzdzT4Zw9K3qpjRtez6/6hLtPmttae2U=", "owner": "DreamMaoMao", "repo": "mango", - "rev": "2f12f46919a3e224156f6c83e07aeff1f48b72e2", + "rev": "7cfeeb3687ab95028b2c41bd010044a9051eb968", "type": "github" }, "original": { @@ -60,14 +194,14 @@ }, "musnix": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1767232402, - "narHash": "sha256-li+h6crnhc5Zqs+M6pn7D7M0W9M63ECNennDjRgzioE=", + "lastModified": 1773185476, + "narHash": "sha256-COuJkFg669oalmEN3T61gD3gM9SfUsiGvDS9pCOphZY=", "owner": "musnix", "repo": "musnix", - "rev": "d65f98e0b1f792365f1705653d7b2d266ceeff6e", + "rev": "739e2a1f94c87d5f4c8b880a12480185cf0d7620", "type": "github" }, "original": { @@ -88,11 +222,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1771514840, - "narHash": "sha256-t3WbZvwoDj/75YDX/nwkZuxanZLZaWr9meSfKswaN6g=", + "lastModified": 1775877135, + "narHash": "sha256-nAqtUMy22olwyiOJB0CASVrbu5XB5+43GjlbIJ1KuvQ=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "4f69ab280e9bb34e2c0b67fdfa6f0978a170ef56", + "rev": "f943da038fd668d435c2d17916577f295faa8839", "type": "github" }, "original": { @@ -121,11 +255,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1771305475, - "narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=", + "lastModified": 1775561155, + "narHash": "sha256-TK2IrqQivRcwqJa0suZMbcsN17CtA8Uu0v7CDnLATb0=", "owner": "YaLTeR", "repo": "niri", - "rev": "a2a52911757cb3b497db9407592f9b4c439571ea", + "rev": "599db847f857b8a7ff78ce02f15acab5d5d9fee1", "type": "github" }, "original": { @@ -151,21 +285,36 @@ }, "nixpkgs": { "locked": { - "lastModified": 1766902085, - "narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=", + "lastModified": 1770073757, + "narHash": "sha256-Vy+G+F+3E/Tl+GMNgiHl9Pah2DgShmIUBJXmbiQPHbI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4", + "rev": "47472570b1e607482890801aeaf29bfb749884f6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-lib": { + "locked": { + "lastModified": 1774748309, + "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "333c4e0545a6da976206c74db8773a1645b5870a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_2": { "locked": { "lastModified": 1748740939, "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", @@ -182,11 +331,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1771419570, - "narHash": "sha256-bxAlQgre3pcQcaRUm/8A0v/X8d2nhfraWSFqVmMcBcU=", + "lastModified": 1775811116, + "narHash": "sha256-t+HZK42pB6N+i5RGbuy7Xluez/VvWbembBdvzsc23Ss=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6d41bc27aaf7b6a3ba6b169db3bd5d6159cfaa47", + "rev": "54170c54449ea4d6725efd30d719c5e505f1c10e", "type": "github" }, "original": { @@ -198,11 +347,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1771369470, - "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", + "lastModified": 1775710090, + "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0182a361324364ae3f436a63005877674cf45efb", + "rev": "4c1018dae018162ec878d42fec712642d214fdfa", "type": "github" }, "original": { @@ -212,13 +361,77 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs-wine": { "locked": { - "lastModified": 1771419570, - "narHash": "sha256-bxAlQgre3pcQcaRUm/8A0v/X8d2nhfraWSFqVmMcBcU=", + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6d41bc27aaf7b6a3ba6b169db3bd5d6159cfaa47", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1769789167, + "narHash": "sha256-kKB3bqYJU5nzYeIROI82Ef9VtTbu4uA3YydSk/Bioa8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "62c8382960464ceb98ea593cb8321a2cf8f9e3e5", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1770107345, + "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1772198003, + "narHash": "sha256-I45esRSssFtJ8p/gLHUZ1OUaaTaVLluNkABkk6arQwE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "dd9b079222d43e1943b6ebd802f04fd959dc8e61", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1775811116, + "narHash": "sha256-t+HZK42pB6N+i5RGbuy7Xluez/VvWbembBdvzsc23Ss=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "54170c54449ea4d6725efd30d719c5e505f1c10e", "type": "github" }, "original": { @@ -228,36 +441,43 @@ "type": "github" } }, - "nvidia-patch": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ], - "utils": "utils" - }, + "on-linux": { + "flake": false, "locked": { - "lastModified": 1771131227, - "narHash": "sha256-YuWhXw8zeVyCqhXcVurmK4EtyDtTeQxCKSFxe3iz2Tg=", - "owner": "icewind1991", - "repo": "nvidia-patch-nixos", - "rev": "0117e5b5e0fa6f8bb1e3f673544e1838027aeafb", + "lastModified": 1772699425, + "narHash": "sha256-xhqkN2I5r+Ty2k8HEsLg5e8Eaazb0Qyioqjs87BQOnY=", + "owner": "seapear", + "repo": "AffinityOnLinux", + "rev": "a0c4421946709c24c3f371fcbf15a45b814f188c", "type": "github" }, "original": { - "owner": "icewind1991", - "repo": "nvidia-patch-nixos", + "owner": "seapear", + "repo": "AffinityOnLinux", "type": "github" } }, + "plugin-loader": { + "flake": false, + "locked": { + "narHash": "sha256-kNkJdzyH7hWjFNuXohGNYazYaqNgJQSpWFT3fRIdcsg=", + "type": "file", + "url": "https://github.com/noahc3/AffinityPluginLoader/releases/download/v0.3.0/affinitypluginloader-plus-winefix.tar.xz" + }, + "original": { + "type": "file", + "url": "https://github.com/noahc3/AffinityPluginLoader/releases/download/v0.3.0/affinitypluginloader-plus-winefix.tar.xz" + } + }, "root": { "inputs": { + "affinity-nix": "affinity-nix", "mango": "mango", "musnix": "musnix", "niri": "niri", "nix-flatpak": "nix-flatpak", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_5", "nixpkgs-unstable": "nixpkgs-unstable", - "nvidia-patch": "nvidia-patch", "solaar": "solaar" } }, @@ -287,7 +507,7 @@ "nixpkgs": [ "nixpkgs" ], - "utils": "utils_2" + "utils": "utils" }, "locked": { "lastModified": 1767894877, @@ -319,40 +539,25 @@ "type": "github" } }, - "systems_2": { + "treefmt-nix": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "lastModified": 1775636079, + "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", "type": "github" }, "original": { - "owner": "nix-systems", - "repo": "default", + "owner": "numtide", + "repo": "treefmt-nix", "type": "github" } }, "utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "utils_2": { "inputs": { "flake-utils": "flake-utils" }, @@ -391,11 +596,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1771195969, - "narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=", + "lastModified": 1773622265, + "narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "536bd32efc935bf876d6de385ec18a1b715c9358", + "rev": "a879e5e0896a326adc79c474bf457b8b99011027", "type": "github" }, "original": { diff --git a/etc/nixos/flake.nix b/etc/nixos/flake.nix index edb379c..747070e 100644 --- a/etc/nixos/flake.nix +++ b/etc/nixos/flake.nix @@ -16,18 +16,17 @@ inputs.nixpkgs.follows = "nixpkgs"; }; musnix.url = "github:musnix/musnix"; - nvidia-patch = { - url = "github:icewind1991/nvidia-patch-nixos"; - inputs.nixpkgs.follows = "nixpkgs"; - }; solaar = { #url = "https://flakehub.com/f/Svenum/Solaar-Flake/*.tar.gz"; # For latest stable version url = "github:Svenum/Solaar-Flake/main"; # Uncomment line for latest unstable version inputs.nixpkgs.follows = "nixpkgs"; }; + affinity-nix = { + url = "github:mrshmllow/affinity-nix"; + }; }; - outputs = { self, nixpkgs, nixpkgs-unstable, nix-flatpak, niri, mango, musnix, nvidia-patch, solaar, ... } @inputs: + outputs = { self, nixpkgs, nixpkgs-unstable, nix-flatpak, niri, mango, musnix, solaar, affinity-nix, ... } @inputs: let system = "x86_64-linux"; @@ -52,11 +51,13 @@ inherit pkgs-unstable; }; modules = [ + { + environment.systemPackages = [affinity-nix.packages.x86_64-linux.v3]; + } niri.nixosModules.niri nix-flatpak.nixosModules.nix-flatpak mango.nixosModules.mango musnix.nixosModules.musnix - {nixpkgs.overlays = [inputs.nvidia-patch.overlays.default];} solaar.nixosModules.default ./configuration.nix ]; diff --git a/etc/nixos/modules/desktop.nix b/etc/nixos/modules/desktop.nix index 912dd3a..6ee7b18 100644 --- a/etc/nixos/modules/desktop.nix +++ b/etc/nixos/modules/desktop.nix @@ -40,11 +40,11 @@ services.gnome.gnome-keyring.enable = true; # HYPRLAND # - #programs.hyprland = { - # enable = true; - # withUWSM = true; - # xwayland.enable = true; - #}; + programs.hyprland = { + enable = true; + withUWSM = true; + xwayland.enable = true; + }; # NIRI # nixpkgs.overlays = [ inputs.niri.overlays.niri ]; @@ -77,25 +77,38 @@ #}; # GNOME - services.desktopManager.gnome.enable = true; - environment.gnome.excludePackages = with pkgs; [ - baobab # disk usage analyzer - cheese # photo booth - eog # image viewer - epiphany # web browser - gedit # text editor - simple-scan # document scanner - totem # video player - yelp # help viewer - evince # document viewer - file-roller # archive manager - geary # email client - seahorse # password manager + #services.desktopManager.gnome.enable = true; + #environment.gnome.excludePackages = with pkgs; [ + # baobab # disk usage analyzer + # cheese # photo booth + # eog # image viewer + # epiphany # web browser + # gedit # text editor + # simple-scan # document scanner + # totem # video player + # yelp # help viewer + # evince # document viewer + # file-roller # archive manager + # geary # email client + # seahorse # password manager - gnome-calculator gnome-calendar gnome-characters gnome-clocks gnome-contacts - gnome-font-viewer gnome-logs gnome-maps gnome-music gnome-photos gnome-screenshot - gnome-system-monitor gnome-weather gnome-disk-utility pkgs.gnome-connections - ]; + # gnome-calculator gnome-calendar gnome-characters gnome-clocks gnome-contacts + # gnome-font-viewer gnome-logs gnome-maps gnome-music gnome-photos gnome-screenshot + # gnome-system-monitor gnome-weather gnome-disk-utility pkgs.gnome-connections + #]; + + # KDE + #services.desktopManager.plasma6.enable = true; + #environment.plasma6.excludePackages = with pkgs; [ + #kdePackages.elisa # Music player + #kdePackages.kdepim-runtime # Akonadi agents + #kdePackages.kmahjongg + #kdePackages.kmines + #kdePackages.konversation # IRC client + #kdePackages.kpat # Solitaire + #kdePackages.ksudoku + #kdePackages.ktorrent + #]; environment.sessionVariables = { WLR_NO_HARDWARE_CURSOR = "1"; diff --git a/etc/nixos/modules/nvidia.nix b/etc/nixos/modules/nvidia.nix index f1c2e06..b0cc888 100644 --- a/etc/nixos/modules/nvidia.nix +++ b/etc/nixos/modules/nvidia.nix @@ -26,15 +26,15 @@ in powerManagement.enable = false; powerManagement.finegrained = false; nvidiaSettings = false; - #package = pkgs.nvidia-patch.patch-nvenc (pkgs.nvidia-patch.patch-fbc package); + package = config.boot.kernelPackages.nvidiaPackages.latest; - package = config.boot.kernelPackages.nvidiaPackages.mkDriver { - version = "590.48.01"; - sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok="; - openSha256 = "sha256-hECHfguzwduEfPo5pCDjWE/MjtRDhINVr4b1awFdP44="; - usePersistenced = false; - useSettings = false; - }; + #package = config.boot.kernelPackages.nvidiaPackages.mkDriver { + # version = "590.48.01"; + # sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok="; + # openSha256 = "sha256-hECHfguzwduEfPo5pCDjWE/MjtRDhINVr4b1awFdP44="; + # usePersistenced = false; + # useSettings = false; + #}; #package = config.boot.kernelPackages.nvidiaPackages.mkDriver { diff --git a/etc/nixos/modules/pkgs/anycubic-slicer-next/package.nix b/etc/nixos/modules/pkgs/anycubic-slicer-next/package.nix index 35b719f..0531c74 100644 --- a/etc/nixos/modules/pkgs/anycubic-slicer-next/package.nix +++ b/etc/nixos/modules/pkgs/anycubic-slicer-next/package.nix @@ -8,7 +8,6 @@ writeShellScript, gtk3, glib, - glibc, libGL, mesa, cairo, @@ -16,18 +15,18 @@ gdk-pixbuf, atk, dbus, - libX11, - libXext, - libXrender, - libXtst, - libXi, - libXfixes, + libx11, + libxext, + libxrender, + libxtst, + libxi, + libxfixes, libxcb, - libXcomposite, - libXcursor, - libXdamage, - libXrandr, - libXScrnSaver, + libxcomposite, + libxcursor, + libxdamage, + libxrandr, + libxscrnsaver, alsa-lib, udev, nspr, @@ -49,58 +48,147 @@ sqlite, curl, vulkan-loader, - vulkan-tools, }: let - unwrapped = stdenv.mkDerivation rec { + unwrapped = stdenv.mkDerivation (finalAttrs: { pname = "anycubic-slicer-next-unwrapped"; - version = "1.3.7171-20250928"; + version = "1.3.7171"; src = fetchurl { - url = "https://cdn-universe-slicer.anycubic.com/prod/dists/noble/main/binary-amd64/AnycubicSlicerNext-1.3.7171_20250928_162543-Ubuntu_24_04_2_LTS.deb "; + url = "https://cdn-universe-slicer.anycubic.com/prod/dists/noble/main/binary-amd64/AnycubicSlicerNext-${finalAttrs.version}_20250928_162543-Ubuntu_24_04_2_LTS.deb"; hash = "sha256-oB/oY8xO/o+UOXR4K/yy0dAIrjB3ztBl9j24k9ceH5I="; }; - nativeBuildInputs = [ autoPatchelfHook dpkg ]; - - buildInputs = [ - gtk3 glib glibc libGL mesa cairo pango gdk-pixbuf atk dbus - libX11 libXext libXrender libXtst libXi libXfixes libxcb - libXcomposite libXcursor libXdamage libXrandr libXScrnSaver - alsa-lib udev nspr nss expat cups at-spi2-atk at-spi2-core - libdrm wayland libxkbcommon webkitgtk_4_1 openssl zlib libpng - libjpeg freetype fontconfig sqlite curl + nativeBuildInputs = [ + autoPatchelfHook + dpkg ]; - autoPatchelfLibs = [ "lib/anycubic-slicer-next" ]; + buildInputs = [ + gtk3 + glib + libGL + mesa + cairo + pango + gdk-pixbuf + atk + dbus + libx11 + libxext + libxrender + libxtst + libxi + libxfixes + libxcb + libxcomposite + libxcursor + libxdamage + libxrandr + libxscrnsaver + alsa-lib + udev + nspr + nss + expat + cups + at-spi2-atk + at-spi2-core + libdrm + wayland + libxkbcommon + webkitgtk_4_1 + openssl + zlib + libpng + libjpeg + freetype + fontconfig + sqlite + curl + ]; - unpackPhase = "dpkg-deb -x $src unpacked"; + dontBuild = true; + + unpackPhase = '' + dpkg-deb -x $src unpacked + ''; installPhase = '' runHook preInstall - install -Dm755 unpacked/usr/bin/AnycubicSlicerNext \ - $out/lib/anycubic-slicer-next/AnycubicSlicerNext + install -Dm755 unpacked/usr/bin/AnycubicSlicerNext $out/lib/anycubic-slicer-next/AnycubicSlicerNext - find unpacked -name '*.so' -o -name '*.so.*' | while read f; do + find unpacked -name '*.so' -o -name '*.so.*' | while read -r f; do install -Dm755 "$f" $out/lib/anycubic-slicer-next/$(basename "$f") done mkdir -p $out/share cp -r unpacked/usr/share/AnycubicSlicerNext $out/share/AnycubicSlicerNext + # Extract icon - just take the first png/svg found (avoids case statement issues) + iconFile=$(find unpacked -type f \( -name "*.png" -o -name "*.svg" \) -print -quit 2>/dev/null) + if [ -n "$iconFile" ]; then + mkdir -p $out/share/icons/hicolor/256x256/apps + cp "$iconFile" $out/share/icons/hicolor/256x256/apps/anycubic-slicer-next.png + fi + runHook postInstall ''; - }; + + meta = { + description = "G-code slicer for Anycubic 3D printers (unwrapped binary)"; + homepage = "https://wiki.anycubic.com/en/software-and-app/anycubic-slicer-next-linux"; + license = lib.licenses.unfree; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + platforms = [ "x86_64-linux" ]; + maintainers = with lib.maintainers; [ ]; + }; + }); runtimeLibs = [ - gtk3 glib glibc libGL mesa cairo pango gdk-pixbuf atk dbus - libX11 libXext libXrender libXtst libXi libXfixes libxcb - libXcomposite libXcursor libXdamage libXrandr libXScrnSaver - alsa-lib udev nspr nss expat cups at-spi2-atk at-spi2-core - libdrm wayland libxkbcommon webkitgtk_4_1 openssl zlib libpng - libjpeg freetype fontconfig sqlite curl + gtk3 + glib + libGL + mesa + cairo + pango + gdk-pixbuf + atk + dbus + libx11 + libxext + libxrender + libxtst + libxi + libxfixes + libxcb + libxcomposite + libxcursor + libxdamage + libxrandr + libxscrnsaver + alsa-lib + udev + nspr + nss + expat + cups + at-spi2-atk + at-spi2-core + libdrm + wayland + libxkbcommon + webkitgtk_4_1 + openssl + zlib + libpng + libjpeg + freetype + fontconfig + sqlite + curl vulkan-loader ]; @@ -109,52 +197,64 @@ let export LD_LIBRARY_PATH=/run/opengl-driver/lib:$LD_LIBRARY_PATH fi - # Workaround for blank 3D preview on Nvidia+Wayland - export __GLX_VENDOR_LIBRARY_NAME=mesa - export MESA_LOADER_DRIVER_OVERRIDE=zink - export GALLIUM_DRIVER=zink - export WEBKIT_DISABLE_DMABUF_RENDERER=1 - - if [ -f /run/opengl-driver/share/glvnd/egl_vendor.d/50_mesa.json ]; then - export __EGL_VENDOR_LIBRARY_FILENAMES=/run/opengl-driver/share/glvnd/egl_vendor.d/50_mesa.json + # Workaround for blank 3D preview on NVIDIA + Wayland + # Uses Zink (OpenGL-on-Vulkan) to avoid NVIDIA's GBM/EGL issues + if [ "''${XDG_SESSION_TYPE:-}" = "wayland" ] && [ -f /run/opengl-driver/share/glvnd/egl_vendor.d/10_nvidia.json ]; then + export __GLX_VENDOR_LIBRARY_NAME=mesa + export MESA_LOADER_DRIVER_OVERRIDE=zink + export GALLIUM_DRIVER=zink + export WEBKIT_DISABLE_DMABUF_RENDERER=1 + if [ -f /run/opengl-driver/share/glvnd/egl_vendor.d/50_mesa.json ]; then + export __EGL_VENDOR_LIBRARY_FILENAMES=/run/opengl-driver/share/glvnd/egl_vendor.d/50_mesa.json + fi fi exec /lib/anycubic-slicer-next/AnycubicSlicerNext "$@" ''; -in buildFHSEnv { - name = "AnycubicSlicerNext"; +in +buildFHSEnv { + name = "anycubic-slicer-next"; targetPkgs = _: runtimeLibs ++ [ unwrapped ]; extraBwrapArgs = [ - "--ro-bind" "${unwrapped}/share/AnycubicSlicerNext" "/usr/share/AnycubicSlicerNext" + "--ro-bind" + "${unwrapped}/share/AnycubicSlicerNext" + "/usr/share/AnycubicSlicerNext" ]; runScript = "${launcherScript}"; extraInstallCommands = '' - mkdir -p $out/share/applications - cat > $out/share/applications/AnycubicSlicerNext.desktop << EOF -[Desktop Entry] -Name=Anycubic Slicer Next -Comment=G-code slicer for Anycubic 3D printers -Exec=$out/bin/AnycubicSlicerNext -Icon=AnycubicSlicer -Terminal=false -Type=Application -Categories=Graphics;3DGraphics;Engineering; -StartupNotify=true -EOF + mkdir -p $out/share/applications $out/share/icons/hicolor/256x256/apps + + if [ -f ${unwrapped}/share/icons/hicolor/256x256/apps/anycubic-slicer-next.png ]; then + cp ${unwrapped}/share/icons/hicolor/256x256/apps/anycubic-slicer-next.png \ + $out/share/icons/hicolor/256x256/apps/ + fi + + cat > $out/share/applications/anycubic-slicer-next.desktop << EOF + [Desktop Entry] + Name=Anycubic Slicer Next + Comment=G-code slicer for Anycubic 3D printers + Exec=$out/bin/anycubic-slicer-next + Icon=anycubic-slicer-next + Terminal=false + Type=Application + Categories=Graphics;3DGraphics;Engineering; + StartupNotify=true + EOF ''; - meta = with lib; { + meta = { description = "G-code slicer for Anycubic 3D printers, based on OrcaSlicer"; - homepage = "https://wiki.anycubic.com/en/software-and-app/anycubic-slicer-next-linux "; - license = licenses.agpl3Only; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + homepage = "https://wiki.anycubic.com/en/software-and-app/anycubic-slicer-next-linux"; + changelog = "https://wiki.anycubic.com/en/software-and-app/anycubic-slicer-next-linux"; + license = lib.licenses.unfree; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; platforms = [ "x86_64-linux" ]; - mainProgram = "AnycubicSlicerNext"; - maintainers = [ ]; + mainProgram = "anycubic-slicer-next"; + maintainers = with lib.maintainers; [ ]; }; } diff --git a/etc/nixos/modules/pkgs/msty/default.nix b/etc/nixos/modules/pkgs/msty/default.nix index c22a151..3e13c88 100644 --- a/etc/nixos/modules/pkgs/msty/default.nix +++ b/etc/nixos/modules/pkgs/msty/default.nix @@ -8,10 +8,10 @@ makeWrapper, }: let pname = "msty-studio"; - version = "2.4.1"; + version = "2.6.2"; src = fetchurl { url = "https://next-assets.msty.studio/app/latest/linux/MstyStudio_x86_64.AppImage"; - sha256 = "sha256-YsXa4W0so5lQs6uex14QIoVg21cN7Bi0fWJMhChSDnA="; + sha256 = "sha256-U1gubMaCoeS3Oys9+e0xmNN6qBZY57XXXrlx52lsfpA="; }; appimageContents = appimageTools.extractType2 {inherit pname version src;}; in diff --git a/etc/nixos/modules/programs.nix b/etc/nixos/modules/programs.nix index 8d8c3df..14821e5 100644 --- a/etc/nixos/modules/programs.nix +++ b/etc/nixos/modules/programs.nix @@ -36,11 +36,12 @@ in "qtwebengine-5.15.19" "mbedtls-2.28.10" ]; - + # Defined Programs environment.systemPackages = with pkgs; [ # TERM UTILS # neovim + kitty wget git fastfetch @@ -50,6 +51,8 @@ in starship cava vulkan-tools + zip + jq # FILES # gvfs @@ -87,7 +90,7 @@ in rofi libnotify wayvnc - #xwayland-satellite + #pkgs-unstable.xwayland-satellite (callPackage ./pkgs/xwayland-satellite/default.nix {}) xwayland-run @@ -117,8 +120,8 @@ in wasistlos vesktop #geary - pkgs-unstable.mailspring - #pkgs-unstable.thunderbird + #pkgs-unstable.mailspring + pkgs-unstable.thunderbird #tutanota-desktop pkgs-unstable.protonmail-desktop teams-for-linux @@ -156,6 +159,8 @@ in remmina appimage-run gnomeExtensions.appindicator + pywalfox-native + linux-wallpaperengine # UTILS # monitorets @@ -168,6 +173,7 @@ in rbw pinentry-tty kando + gearlever # CUDA # cudaPackages.cudatoolkit @@ -195,23 +201,24 @@ in # qjackctl alsa-utils #vital - (callPackage ./pkgs/vital-stable/default.nix {}) + #(callPackage ./pkgs/vital-stable/default.nix {}) # WINE # wineWowPackages.stable #wineWowPackages.waylandFull #wineWowPackages.staging winetricks + bottles # CAD&3D # orca-slicer-fixed - #freecad (callPackage ./pkgs/anycubic-slicer-next/default.nix {}) ]; # Enable Flaktpak services.flatpak.enable = true; services.flatpak.packages = [ + "com.github.tchx84.Flatseal" "org.pitivi.Pitivi" "app.zen_browser.zen" "org.blender.Blender" @@ -221,10 +228,15 @@ in "com.anydesk.Anydesk" "com.github.iwalton3.jellyfin-media-player" "com.sweethome3d.Sweethome3d" + "org.freecad.FreeCAD" ]; services.hardware.openrgb.enable = true; +programs.firefox = { + enable = true; +}; + virtualisation.docker.rootless = { enable = true; setSocketVariable = true; diff --git a/etc/nixos/modules/virtualization.nix b/etc/nixos/modules/virtualization.nix index a0b1285..1a43f14 100644 --- a/etc/nixos/modules/virtualization.nix +++ b/etc/nixos/modules/virtualization.nix @@ -40,6 +40,8 @@ in options vfio-pci ids=${builtins.concatStringsSep "," vfioIds} options vfio_iommu_type1 allow_unsafe_interrupts=1 options kvmfr static_size_mb=128 + options kvm_amd nested=1 + options kvm ignore_msrs=1 ''; # Enable the KVMFR kernel package