This commit is contained in:
Nicole 2026-04-12 11:58:50 +02:00
parent 11009311e9
commit 0c1be27fe1
9 changed files with 522 additions and 188 deletions

View file

@ -154,7 +154,7 @@ in
#░█░█░█░█░█▀▀░█▀▄░█▀▀░█▀▀ #░█░█░█░█░█▀▀░█▀▄░█▀▀░█▀▀
#░▀▀▀░▀░▀░▀░░░▀░▀░▀▀▀░▀▀▀ #░▀▀▀░▀░▀░▀░░░▀░▀░▀▀▀░▀▀▀
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nixpkgs.config.cudaSupport = true; #nixpkgs.config.cudaSupport = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ];
@ -167,6 +167,7 @@ in
extraPortals = with pkgs; [ extraPortals = with pkgs; [
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
xdg-desktop-portal-gnome xdg-desktop-portal-gnome
xdg-desktop-portal-hyprland
]; ];
config = { config = {
common = { common = {
@ -218,7 +219,7 @@ in
services.ollama = { services.ollama = {
enable = true; enable = true;
acceleration = "cuda"; acceleration = "cuda";
package = pkgs-unstable.ollama; package = pkgs-unstable.ollama-cuda;
environmentVariables = { environmentVariables = {
CUDA_VISIBLE_DEVICES = "0"; CUDA_VISIBLE_DEVICES = "0";
NVIDIA_VISIBLE_DEVICES = "all"; NVIDIA_VISIBLE_DEVICES = "all";

View file

@ -1,9 +1,101 @@
{ {
"nodes": { "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": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib" "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": { "locked": {
"lastModified": 1749398372, "lastModified": 1749398372,
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
@ -20,7 +112,7 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1694529238, "lastModified": 1694529238,
@ -36,20 +128,62 @@
"type": "github" "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": { "mango": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"scenefx": "scenefx" "scenefx": "scenefx"
}, },
"locked": { "locked": {
"lastModified": 1771499264, "lastModified": 1775862084,
"narHash": "sha256-6dUvcEAYGRyrYJJuoJev2JY/vKWIpFGACwENkUlyxy8=", "narHash": "sha256-v0Xtw5+drOJxzdzT4Zw9K3qpjRtez6/6hLtPmttae2U=",
"owner": "DreamMaoMao", "owner": "DreamMaoMao",
"repo": "mango", "repo": "mango",
"rev": "2f12f46919a3e224156f6c83e07aeff1f48b72e2", "rev": "7cfeeb3687ab95028b2c41bd010044a9051eb968",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -60,14 +194,14 @@
}, },
"musnix": { "musnix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1767232402, "lastModified": 1773185476,
"narHash": "sha256-li+h6crnhc5Zqs+M6pn7D7M0W9M63ECNennDjRgzioE=", "narHash": "sha256-COuJkFg669oalmEN3T61gD3gM9SfUsiGvDS9pCOphZY=",
"owner": "musnix", "owner": "musnix",
"repo": "musnix", "repo": "musnix",
"rev": "d65f98e0b1f792365f1705653d7b2d266ceeff6e", "rev": "739e2a1f94c87d5f4c8b880a12480185cf0d7620",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -88,11 +222,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1771514840, "lastModified": 1775877135,
"narHash": "sha256-t3WbZvwoDj/75YDX/nwkZuxanZLZaWr9meSfKswaN6g=", "narHash": "sha256-nAqtUMy22olwyiOJB0CASVrbu5XB5+43GjlbIJ1KuvQ=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "4f69ab280e9bb34e2c0b67fdfa6f0978a170ef56", "rev": "f943da038fd668d435c2d17916577f295faa8839",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -121,11 +255,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1771305475, "lastModified": 1775561155,
"narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=", "narHash": "sha256-TK2IrqQivRcwqJa0suZMbcsN17CtA8Uu0v7CDnLATb0=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "a2a52911757cb3b497db9407592f9b4c439571ea", "rev": "599db847f857b8a7ff78ce02f15acab5d5d9fee1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -151,21 +285,36 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1766902085, "lastModified": 1770073757,
"narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=", "narHash": "sha256-Vy+G+F+3E/Tl+GMNgiHl9Pah2DgShmIUBJXmbiQPHbI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4", "rev": "47472570b1e607482890801aeaf29bfb749884f6",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": { "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": { "locked": {
"lastModified": 1748740939, "lastModified": 1748740939,
"narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
@ -182,11 +331,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1771419570, "lastModified": 1775811116,
"narHash": "sha256-bxAlQgre3pcQcaRUm/8A0v/X8d2nhfraWSFqVmMcBcU=", "narHash": "sha256-t+HZK42pB6N+i5RGbuy7Xluez/VvWbembBdvzsc23Ss=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6d41bc27aaf7b6a3ba6b169db3bd5d6159cfaa47", "rev": "54170c54449ea4d6725efd30d719c5e505f1c10e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -198,11 +347,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1771369470, "lastModified": 1775710090,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb", "rev": "4c1018dae018162ec878d42fec712642d214fdfa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -212,13 +361,77 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs-wine": {
"locked": { "locked": {
"lastModified": 1771419570, "lastModified": 1735834308,
"narHash": "sha256-bxAlQgre3pcQcaRUm/8A0v/X8d2nhfraWSFqVmMcBcU=", "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "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" "type": "github"
}, },
"original": { "original": {
@ -228,36 +441,43 @@
"type": "github" "type": "github"
} }
}, },
"nvidia-patch": { "on-linux": {
"inputs": { "flake": false,
"nixpkgs": [
"nixpkgs"
],
"utils": "utils"
},
"locked": { "locked": {
"lastModified": 1771131227, "lastModified": 1772699425,
"narHash": "sha256-YuWhXw8zeVyCqhXcVurmK4EtyDtTeQxCKSFxe3iz2Tg=", "narHash": "sha256-xhqkN2I5r+Ty2k8HEsLg5e8Eaazb0Qyioqjs87BQOnY=",
"owner": "icewind1991", "owner": "seapear",
"repo": "nvidia-patch-nixos", "repo": "AffinityOnLinux",
"rev": "0117e5b5e0fa6f8bb1e3f673544e1838027aeafb", "rev": "a0c4421946709c24c3f371fcbf15a45b814f188c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "icewind1991", "owner": "seapear",
"repo": "nvidia-patch-nixos", "repo": "AffinityOnLinux",
"type": "github" "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": { "root": {
"inputs": { "inputs": {
"affinity-nix": "affinity-nix",
"mango": "mango", "mango": "mango",
"musnix": "musnix", "musnix": "musnix",
"niri": "niri", "niri": "niri",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_5",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nvidia-patch": "nvidia-patch",
"solaar": "solaar" "solaar": "solaar"
} }
}, },
@ -287,7 +507,7 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"utils": "utils_2" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1767894877, "lastModified": 1767894877,
@ -319,40 +539,25 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": { "treefmt-nix": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1775636079,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
"owner": "nix-systems", "owner": "numtide",
"repo": "default", "repo": "treefmt-nix",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "numtide",
"repo": "default", "repo": "treefmt-nix",
"type": "github" "type": "github"
} }
}, },
"utils": { "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": { "inputs": {
"flake-utils": "flake-utils" "flake-utils": "flake-utils"
}, },
@ -391,11 +596,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1771195969, "lastModified": 1773622265,
"narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=", "narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "536bd32efc935bf876d6de385ec18a1b715c9358", "rev": "a879e5e0896a326adc79c474bf457b8b99011027",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -16,18 +16,17 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
musnix.url = "github:musnix/musnix"; musnix.url = "github:musnix/musnix";
nvidia-patch = {
url = "github:icewind1991/nvidia-patch-nixos";
inputs.nixpkgs.follows = "nixpkgs";
};
solaar = { solaar = {
#url = "https://flakehub.com/f/Svenum/Solaar-Flake/*.tar.gz"; # For latest stable version #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 url = "github:Svenum/Solaar-Flake/main"; # Uncomment line for latest unstable version
inputs.nixpkgs.follows = "nixpkgs"; 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 let
system = "x86_64-linux"; system = "x86_64-linux";
@ -52,11 +51,13 @@
inherit pkgs-unstable; inherit pkgs-unstable;
}; };
modules = [ modules = [
{
environment.systemPackages = [affinity-nix.packages.x86_64-linux.v3];
}
niri.nixosModules.niri niri.nixosModules.niri
nix-flatpak.nixosModules.nix-flatpak nix-flatpak.nixosModules.nix-flatpak
mango.nixosModules.mango mango.nixosModules.mango
musnix.nixosModules.musnix musnix.nixosModules.musnix
{nixpkgs.overlays = [inputs.nvidia-patch.overlays.default];}
solaar.nixosModules.default solaar.nixosModules.default
./configuration.nix ./configuration.nix
]; ];

View file

@ -40,11 +40,11 @@
services.gnome.gnome-keyring.enable = true; services.gnome.gnome-keyring.enable = true;
# HYPRLAND # # HYPRLAND #
#programs.hyprland = { programs.hyprland = {
# enable = true; enable = true;
# withUWSM = true; withUWSM = true;
# xwayland.enable = true; xwayland.enable = true;
#}; };
# NIRI # # NIRI #
nixpkgs.overlays = [ inputs.niri.overlays.niri ]; nixpkgs.overlays = [ inputs.niri.overlays.niri ];
@ -77,25 +77,38 @@
#}; #};
# GNOME # GNOME
services.desktopManager.gnome.enable = true; #services.desktopManager.gnome.enable = true;
environment.gnome.excludePackages = with pkgs; [ #environment.gnome.excludePackages = with pkgs; [
baobab # disk usage analyzer # baobab # disk usage analyzer
cheese # photo booth # cheese # photo booth
eog # image viewer # eog # image viewer
epiphany # web browser # epiphany # web browser
gedit # text editor # gedit # text editor
simple-scan # document scanner # simple-scan # document scanner
totem # video player # totem # video player
yelp # help viewer # yelp # help viewer
evince # document viewer # evince # document viewer
file-roller # archive manager # file-roller # archive manager
geary # email client # geary # email client
seahorse # password manager # seahorse # password manager
gnome-calculator gnome-calendar gnome-characters gnome-clocks gnome-contacts # gnome-calculator gnome-calendar gnome-characters gnome-clocks gnome-contacts
gnome-font-viewer gnome-logs gnome-maps gnome-music gnome-photos gnome-screenshot # 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-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 = { environment.sessionVariables = {
WLR_NO_HARDWARE_CURSOR = "1"; WLR_NO_HARDWARE_CURSOR = "1";

View file

@ -26,15 +26,15 @@ in
powerManagement.enable = false; powerManagement.enable = false;
powerManagement.finegrained = false; powerManagement.finegrained = false;
nvidiaSettings = 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 { #package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "590.48.01"; # version = "590.48.01";
sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok="; # sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok=";
openSha256 = "sha256-hECHfguzwduEfPo5pCDjWE/MjtRDhINVr4b1awFdP44="; # openSha256 = "sha256-hECHfguzwduEfPo5pCDjWE/MjtRDhINVr4b1awFdP44=";
usePersistenced = false; # usePersistenced = false;
useSettings = false; # useSettings = false;
}; #};
#package = config.boot.kernelPackages.nvidiaPackages.mkDriver { #package = config.boot.kernelPackages.nvidiaPackages.mkDriver {

View file

@ -8,7 +8,6 @@
writeShellScript, writeShellScript,
gtk3, gtk3,
glib, glib,
glibc,
libGL, libGL,
mesa, mesa,
cairo, cairo,
@ -16,18 +15,18 @@
gdk-pixbuf, gdk-pixbuf,
atk, atk,
dbus, dbus,
libX11, libx11,
libXext, libxext,
libXrender, libxrender,
libXtst, libxtst,
libXi, libxi,
libXfixes, libxfixes,
libxcb, libxcb,
libXcomposite, libxcomposite,
libXcursor, libxcursor,
libXdamage, libxdamage,
libXrandr, libxrandr,
libXScrnSaver, libxscrnsaver,
alsa-lib, alsa-lib,
udev, udev,
nspr, nspr,
@ -49,58 +48,147 @@
sqlite, sqlite,
curl, curl,
vulkan-loader, vulkan-loader,
vulkan-tools,
}: }:
let let
unwrapped = stdenv.mkDerivation rec { unwrapped = stdenv.mkDerivation (finalAttrs: {
pname = "anycubic-slicer-next-unwrapped"; pname = "anycubic-slicer-next-unwrapped";
version = "1.3.7171-20250928"; version = "1.3.7171";
src = fetchurl { 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="; hash = "sha256-oB/oY8xO/o+UOXR4K/yy0dAIrjB3ztBl9j24k9ceH5I=";
}; };
nativeBuildInputs = [ autoPatchelfHook dpkg ]; nativeBuildInputs = [
autoPatchelfHook
buildInputs = [ dpkg
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
]; ];
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 = '' installPhase = ''
runHook preInstall runHook preInstall
install -Dm755 unpacked/usr/bin/AnycubicSlicerNext \ install -Dm755 unpacked/usr/bin/AnycubicSlicerNext $out/lib/anycubic-slicer-next/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") install -Dm755 "$f" $out/lib/anycubic-slicer-next/$(basename "$f")
done done
mkdir -p $out/share mkdir -p $out/share
cp -r unpacked/usr/share/AnycubicSlicerNext $out/share/AnycubicSlicerNext 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 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 = [ runtimeLibs = [
gtk3 glib glibc libGL mesa cairo pango gdk-pixbuf atk dbus gtk3
libX11 libXext libXrender libXtst libXi libXfixes libxcb glib
libXcomposite libXcursor libXdamage libXrandr libXScrnSaver libGL
alsa-lib udev nspr nss expat cups at-spi2-atk at-spi2-core mesa
libdrm wayland libxkbcommon webkitgtk_4_1 openssl zlib libpng cairo
libjpeg freetype fontconfig sqlite curl 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 vulkan-loader
]; ];
@ -109,52 +197,64 @@ let
export LD_LIBRARY_PATH=/run/opengl-driver/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/run/opengl-driver/lib:$LD_LIBRARY_PATH
fi fi
# Workaround for blank 3D preview on Nvidia+Wayland # 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 __GLX_VENDOR_LIBRARY_NAME=mesa
export MESA_LOADER_DRIVER_OVERRIDE=zink export MESA_LOADER_DRIVER_OVERRIDE=zink
export GALLIUM_DRIVER=zink export GALLIUM_DRIVER=zink
export WEBKIT_DISABLE_DMABUF_RENDERER=1 export WEBKIT_DISABLE_DMABUF_RENDERER=1
if [ -f /run/opengl-driver/share/glvnd/egl_vendor.d/50_mesa.json ]; then 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 export __EGL_VENDOR_LIBRARY_FILENAMES=/run/opengl-driver/share/glvnd/egl_vendor.d/50_mesa.json
fi fi
fi
exec /lib/anycubic-slicer-next/AnycubicSlicerNext "$@" exec /lib/anycubic-slicer-next/AnycubicSlicerNext "$@"
''; '';
in buildFHSEnv { in
name = "AnycubicSlicerNext"; buildFHSEnv {
name = "anycubic-slicer-next";
targetPkgs = _: runtimeLibs ++ [ unwrapped ]; targetPkgs = _: runtimeLibs ++ [ unwrapped ];
extraBwrapArgs = [ extraBwrapArgs = [
"--ro-bind" "${unwrapped}/share/AnycubicSlicerNext" "/usr/share/AnycubicSlicerNext" "--ro-bind"
"${unwrapped}/share/AnycubicSlicerNext"
"/usr/share/AnycubicSlicerNext"
]; ];
runScript = "${launcherScript}"; runScript = "${launcherScript}";
extraInstallCommands = '' extraInstallCommands = ''
mkdir -p $out/share/applications mkdir -p $out/share/applications $out/share/icons/hicolor/256x256/apps
cat > $out/share/applications/AnycubicSlicerNext.desktop << EOF
[Desktop Entry] if [ -f ${unwrapped}/share/icons/hicolor/256x256/apps/anycubic-slicer-next.png ]; then
Name=Anycubic Slicer Next cp ${unwrapped}/share/icons/hicolor/256x256/apps/anycubic-slicer-next.png \
Comment=G-code slicer for Anycubic 3D printers $out/share/icons/hicolor/256x256/apps/
Exec=$out/bin/AnycubicSlicerNext fi
Icon=AnycubicSlicer
Terminal=false cat > $out/share/applications/anycubic-slicer-next.desktop << EOF
Type=Application [Desktop Entry]
Categories=Graphics;3DGraphics;Engineering; Name=Anycubic Slicer Next
StartupNotify=true Comment=G-code slicer for Anycubic 3D printers
EOF 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"; description = "G-code slicer for Anycubic 3D printers, based on OrcaSlicer";
homepage = "https://wiki.anycubic.com/en/software-and-app/anycubic-slicer-next-linux "; homepage = "https://wiki.anycubic.com/en/software-and-app/anycubic-slicer-next-linux";
license = licenses.agpl3Only; changelog = "https://wiki.anycubic.com/en/software-and-app/anycubic-slicer-next-linux";
sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
mainProgram = "AnycubicSlicerNext"; mainProgram = "anycubic-slicer-next";
maintainers = [ ]; maintainers = with lib.maintainers; [ ];
}; };
} }

View file

@ -8,10 +8,10 @@
makeWrapper, makeWrapper,
}: let }: let
pname = "msty-studio"; pname = "msty-studio";
version = "2.4.1"; version = "2.6.2";
src = fetchurl { src = fetchurl {
url = "https://next-assets.msty.studio/app/latest/linux/MstyStudio_x86_64.AppImage"; 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;}; appimageContents = appimageTools.extractType2 {inherit pname version src;};
in in

View file

@ -41,6 +41,7 @@ in
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# TERM UTILS # # TERM UTILS #
neovim neovim
kitty
wget wget
git git
fastfetch fastfetch
@ -50,6 +51,8 @@ in
starship starship
cava cava
vulkan-tools vulkan-tools
zip
jq
# FILES # # FILES #
gvfs gvfs
@ -87,7 +90,7 @@ in
rofi rofi
libnotify libnotify
wayvnc wayvnc
#xwayland-satellite #pkgs-unstable.xwayland-satellite
(callPackage ./pkgs/xwayland-satellite/default.nix {}) (callPackage ./pkgs/xwayland-satellite/default.nix {})
xwayland-run xwayland-run
@ -117,8 +120,8 @@ in
wasistlos wasistlos
vesktop vesktop
#geary #geary
pkgs-unstable.mailspring #pkgs-unstable.mailspring
#pkgs-unstable.thunderbird pkgs-unstable.thunderbird
#tutanota-desktop #tutanota-desktop
pkgs-unstable.protonmail-desktop pkgs-unstable.protonmail-desktop
teams-for-linux teams-for-linux
@ -156,6 +159,8 @@ in
remmina remmina
appimage-run appimage-run
gnomeExtensions.appindicator gnomeExtensions.appindicator
pywalfox-native
linux-wallpaperengine
# UTILS # # UTILS #
monitorets monitorets
@ -168,6 +173,7 @@ in
rbw rbw
pinentry-tty pinentry-tty
kando kando
gearlever
# CUDA # # CUDA #
cudaPackages.cudatoolkit cudaPackages.cudatoolkit
@ -195,23 +201,24 @@ in
# qjackctl # qjackctl
alsa-utils alsa-utils
#vital #vital
(callPackage ./pkgs/vital-stable/default.nix {}) #(callPackage ./pkgs/vital-stable/default.nix {})
# WINE # # WINE #
wineWowPackages.stable wineWowPackages.stable
#wineWowPackages.waylandFull #wineWowPackages.waylandFull
#wineWowPackages.staging #wineWowPackages.staging
winetricks winetricks
bottles
# CAD&3D # # CAD&3D #
orca-slicer-fixed orca-slicer-fixed
#freecad
(callPackage ./pkgs/anycubic-slicer-next/default.nix {}) (callPackage ./pkgs/anycubic-slicer-next/default.nix {})
]; ];
# Enable Flaktpak # Enable Flaktpak
services.flatpak.enable = true; services.flatpak.enable = true;
services.flatpak.packages = [ services.flatpak.packages = [
"com.github.tchx84.Flatseal"
"org.pitivi.Pitivi" "org.pitivi.Pitivi"
"app.zen_browser.zen" "app.zen_browser.zen"
"org.blender.Blender" "org.blender.Blender"
@ -221,10 +228,15 @@ in
"com.anydesk.Anydesk" "com.anydesk.Anydesk"
"com.github.iwalton3.jellyfin-media-player" "com.github.iwalton3.jellyfin-media-player"
"com.sweethome3d.Sweethome3d" "com.sweethome3d.Sweethome3d"
"org.freecad.FreeCAD"
]; ];
services.hardware.openrgb.enable = true; services.hardware.openrgb.enable = true;
programs.firefox = {
enable = true;
};
virtualisation.docker.rootless = { virtualisation.docker.rootless = {
enable = true; enable = true;
setSocketVariable = true; setSocketVariable = true;

View file

@ -40,6 +40,8 @@ in
options vfio-pci ids=${builtins.concatStringsSep "," vfioIds} options vfio-pci ids=${builtins.concatStringsSep "," vfioIds}
options vfio_iommu_type1 allow_unsafe_interrupts=1 options vfio_iommu_type1 allow_unsafe_interrupts=1
options kvmfr static_size_mb=128 options kvmfr static_size_mb=128
options kvm_amd nested=1
options kvm ignore_msrs=1
''; '';
# Enable the KVMFR kernel package # Enable the KVMFR kernel package