diff --git a/flake.lock b/flake.lock index 3b16cf6..0660fe5 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1735172763, - "narHash": "sha256-a6n8RsiAolz6p24Fsr/gTndx9xr9USpKqKK6kzBeXQc=", + "lastModified": 1741663108, + "narHash": "sha256-9RaZ3HuOptioE94IQ/nnzC2x5cMaRi6NX8d8ZOqhJ68=", "owner": "tpwrules", "repo": "nixos-apple-silicon", - "rev": "3daf0637409689d7a1304cedc50d20542bc47905", + "rev": "4264de082e92e7d7ba7fa2ad5b5b1a8818b5d048", "type": "github" }, "original": { @@ -20,24 +20,18 @@ "type": "github" } }, - "devshell": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, + "crane": { "locked": { - "lastModified": 1735644329, - "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", - "owner": "numtide", - "repo": "devshell", - "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", + "lastModified": 1737689766, + "narHash": "sha256-ivVXYaYlShxYoKfSo5+y5930qMKKJ8CLcAoIBPQfJ6s=", + "owner": "ipetkov", + "repo": "crane", + "rev": "6fe74265bbb6d016d663b1091f015e2976c4a527", "type": "github" }, "original": { - "owner": "numtide", - "repo": "devshell", + "owner": "ipetkov", + "repo": "crane", "type": "github" } }, @@ -84,7 +78,7 @@ }, "fedi-emotes_2": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1714013418, @@ -115,20 +109,6 @@ "type": "github" } }, - "flake-compat_2": { - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "revCount": 57, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -155,11 +135,11 @@ ] }, "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "type": "github" }, "original": { @@ -244,6 +224,24 @@ "inputs": { "systems": "systems_2" }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, "locked": { "lastModified": 1726560853, "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", @@ -258,9 +256,9 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_4": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1731533236, @@ -291,54 +289,6 @@ "type": "github" } }, - "git-hooks": { - "inputs": { - "flake-compat": [ - "nixvim", - "flake-compat" - ], - "gitignore": "gitignore", - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "nixvim", - "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" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -346,32 +296,11 @@ ] }, "locked": { - "lastModified": 1736508663, - "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", + "lastModified": 1741791118, + "narHash": "sha256-4Y427uj0eql4yRU5rely3EcOlB9q457UDbG9omPtXiA=", "owner": "nix-community", "repo": "home-manager", - "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736508663, - "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", + "rev": "18780912345970e5b546b1b085385789b6935a83", "type": "github" }, "original": { @@ -453,6 +382,27 @@ "type": "github" } }, + "lenovo-rgb": { + "inputs": { + "crane": "crane", + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_2", + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1740256865, + "narHash": "sha256-KhcnH5vgn9QMXeiYmpk1jtqr3hEAOuLoRuLmhVvr5FA=", + "owner": "4jx", + "repo": "l5p-keyboard-rgb", + "rev": "2fd9dba693f9bed89fb07c672dd6c522e6cf4301", + "type": "github" + }, + "original": { + "owner": "4jx", + "repo": "l5p-keyboard-rgb", + "type": "github" + } + }, "lightrunner-emotes": { "inputs": { "fedi-emotes": "fedi-emotes_2", @@ -510,7 +460,7 @@ }, "lix-module": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "flakey-profile": "flakey-profile", "lix": "lix", "nixpkgs": [ @@ -529,34 +479,13 @@ "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz" } }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736370755, - "narHash": "sha256-iWcjToBpx4PUd74uqvIGAfqqVfyrvRLRauC/SxEKIF0=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "57733bd1dc81900e13438e5b4439239f1b29db0e", - "type": "github" - }, - "original": { - "owner": "lnl7", - "repo": "nix-darwin", - "type": "github" - } - }, "nixlib": { "locked": { - "lastModified": 1734829460, - "narHash": "sha256-dPhc+f2wkmhMqMIfq+hColJdysgVxKP9ilZ5bR0NRZI=", + "lastModified": 1736643958, + "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "0a31e8d833173ae63e43fd9dbff1ccf09c4f778c", + "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181", "type": "github" }, "original": { @@ -568,14 +497,14 @@ "nixos-generators": { "inputs": { "nixlib": "nixlib", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1734915500, - "narHash": "sha256-A7CTIQ8SW0hfbhKlwK+vSsu4pD+Oaelw3v6goX6go+U=", + "lastModified": 1740947705, + "narHash": "sha256-Co2kAD2SZalOm+5zoxmzEVZNvZ17TyafuFsD46BwSdY=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4", + "rev": "507911df8c35939050ae324caccc7cf4ffb76565", "type": "github" }, "original": { @@ -586,11 +515,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736441705, - "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", + "lastModified": 1741792691, + "narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", + "rev": "e1f12151258b12c567f456d8248e4694e9390613", "type": "github" }, "original": { @@ -602,11 +531,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1741379970, + "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", "type": "github" }, "original": { @@ -678,11 +607,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1736720562, - "narHash": "sha256-rpFc5ESdsfxKe2VvXluzH89GsyT2bIWr0+LvEJ3sV9M=", + "lastModified": 1741819579, + "narHash": "sha256-5+hR3hv98x0RouAYrZfAMezBYtRW39K7qdjuUOartdQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "48962e31ce66f23883472a665fc2f6395fdd4fbf", + "rev": "b33a84fddaf04c082553d6f785145a88c6735eee", "type": "github" }, "original": { @@ -694,11 +623,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1736549401, - "narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=", + "lastModified": 1741600792, + "narHash": "sha256-yfDy6chHcM7pXpMF4wycuuV+ILSTG486Z/vLx/Bdi6Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1dab772dd4a68a7bba5d9460685547ff8e17d899", + "rev": "ebe2788eafd539477f83775ef93c3c7e244421d3", "type": "github" }, "original": { @@ -710,11 +639,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1736523798, - "narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=", + "lastModified": 1741513245, + "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "130595eba61081acde9001f43de3248d8888ac4a", + "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", "type": "github" }, "original": { @@ -725,6 +654,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1737717945, + "narHash": "sha256-ET91TMkab3PmOZnqiJQYOtSGvSTvGeHoegAv4zcTefM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ecd26a469ac56357fd333946a99086e992452b6a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1713596654, "narHash": "sha256-LJbHQQ5aX1LVth2ST+Kkse/DRzgxlVhTL1rxthvyhZc=", @@ -740,13 +685,13 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { - "lastModified": 1734435836, - "narHash": "sha256-kMBQ5PRiFLagltK0sH+08aiNt3zGERC2297iB6vrvlU=", + "lastModified": 1736657626, + "narHash": "sha256-FWlPMUzp0lkQBdhKlPqtQdqmp+/C+1MBiEytaYfrCTY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4989a246d7a390a859852baddb1013f825435cee", + "rev": "2f9e2f85cb14a46410a1399aa9ea7ecf433e422e", "type": "github" }, "original": { @@ -756,13 +701,13 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { - "lastModified": 1736523798, - "narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=", + "lastModified": 1741513245, + "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "130595eba61081acde9001f43de3248d8888ac4a", + "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", "type": "github" }, "original": { @@ -772,7 +717,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1731763621, "narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=", @@ -790,24 +735,18 @@ }, "nixvim": { "inputs": { - "devshell": "devshell", - "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_2", - "git-hooks": "git-hooks", - "home-manager": "home-manager_2", - "nix-darwin": "nix-darwin", "nixpkgs": [ "nixpkgs-unstable" ], - "nuschtosSearch": "nuschtosSearch", - "treefmt-nix": "treefmt-nix" + "nuschtosSearch": "nuschtosSearch" }, "locked": { - "lastModified": 1736715511, - "narHash": "sha256-5YAiZ3wrEJ/fzFoCwNf14xqfRTvgdcnl/+y0vye3Y6A=", + "lastModified": 1741709061, + "narHash": "sha256-G1YTksB0CnVhpU1gEmvO3ugPS5CAmUpm5UtTIUIPnEI=", "owner": "nix-community", "repo": "nixvim", - "rev": "35d6c12626f9895cd5d8ccf5d19c3d00de394334", + "rev": "3a3abf11700f76738d8ad9d15054ceaf182d2974", "type": "github" }, "original": { @@ -839,7 +778,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_4", "ixx": "ixx", "nixpkgs": [ "nixvim", @@ -847,11 +786,11 @@ ] }, "locked": { - "lastModified": 1735854821, - "narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=", + "lastModified": 1738508923, + "narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=", "owner": "NuschtOS", "repo": "search", - "rev": "836908e3bddd837ae0f13e215dd48767aee355f0", + "rev": "86e2038290859006e05ca7201425ea5b5de4aecb", "type": "github" }, "original": { @@ -916,12 +855,13 @@ "home-manager": "home-manager", "iceshrimp": "iceshrimp", "iceshrimp-withdrawal": "iceshrimp-withdrawal", + "lenovo-rgb": "lenovo-rgb", "lightrunner-emotes": "lightrunner-emotes", "linger": "linger", "lix-module": "lix-module", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "nixpkgs-master": "nixpkgs-master", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", @@ -950,6 +890,27 @@ "type": "github" } }, + "rust-overlay_2": { + "inputs": { + "nixpkgs": [ + "lenovo-rgb", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737771740, + "narHash": "sha256-lWIdF4qke63TdCHnJ0QaUHfG8YvsDrBqzL4jiHYQd+Y=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "cfaaa1dddd280af09aca84af84612fbccd986ae2", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "saerro": { "inputs": { "flake-parts": "flake-parts_5", @@ -973,14 +934,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1736515725, - "narHash": "sha256-4P99yL8vGehwzytkpP87eklBePt6aqeEC5JFsIzhfUs=", + "lastModified": 1741644481, + "narHash": "sha256-E0RrMykMtEv15V3QhpsFutgoSKhL1JBhidn+iZajOyg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f214c1b76c347a4e9c8fb68c73d4293a6820d125", + "rev": "e653d71e82575a43fe9d228def8eddb73887b866", "type": "github" }, "original": { @@ -1034,6 +995,21 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tachikoma": { "inputs": { "nixpkgs": [ @@ -1053,27 +1029,6 @@ "type": "git", "url": "https://git.sapphic.engineer/noe/tachikoma" } - }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736154270, - "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 4bb183c..203ee63 100644 --- a/flake.nix +++ b/flake.nix @@ -36,6 +36,7 @@ nixos-generators.url = "github:nix-community/nixos-generators"; nixos-hardware.url = "github:nixos/nixos-hardware/master"; flake-utils.url = "github:numtide/flake-utils"; + lenovo-rgb.url = "github:4jx/l5p-keyboard-rgb"; # Iceshrimpy iceshrimp = { diff --git a/home-manager/noe/hosts/aerial.nix b/home-manager/noe/hosts/aerial.nix index 7052c19..f6fa5f3 100644 --- a/home-manager/noe/hosts/aerial.nix +++ b/home-manager/noe/hosts/aerial.nix @@ -6,6 +6,7 @@ ../../features/kitty.nix ../../features/vesktop ../../features/retroarch.nix + ../../features/wine.nix ]; home.packages = with pkgs; let diff --git a/home-manager/noe/hosts/unicorn.nix b/home-manager/noe/hosts/unicorn.nix index 8516851..8bd7768 100644 --- a/home-manager/noe/hosts/unicorn.nix +++ b/home-manager/noe/hosts/unicorn.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: { +{ pkgs, config, ... }: { imports = [ ../common ../common/home-user.nix @@ -20,6 +20,7 @@ plexamp plex-media-player obsidian + local-pkgs.mspaint ]; programs.vscode = { diff --git a/nixos/features/no-rgb.nix b/nixos/features/no-rgb.nix index 630477a..c7d1497 100644 --- a/nixos/features/no-rgb.nix +++ b/nixos/features/no-rgb.nix @@ -20,7 +20,7 @@ in { ExecStart = "${no-rgb}/bin/no-rgb"; Type = "oneshot"; }; - wantedBy = [ "multi-user.target" ]; + after = [ "multi-user.target" ]; }; }; } diff --git a/nixos/features/steam.nix b/nixos/features/steam.nix index e82a2c9..417069f 100644 --- a/nixos/features/steam.nix +++ b/nixos/features/steam.nix @@ -6,7 +6,7 @@ }; environment.systemPackages = with pkgs; [ - steamcmd - steam-tui + # steamcmd + # steam-tui ]; } diff --git a/nixos/features/wine.nix b/nixos/features/wine.nix new file mode 100644 index 0000000..5589357 --- /dev/null +++ b/nixos/features/wine.nix @@ -0,0 +1,17 @@ +{ pkgs, config, lib, ... }: let + winePkg = config.internal.wine; +in { + options = { + internal.wine = lib.mkOption { + type = lib.types.package; + default = pkgs.wineWowPackages.waylandFull; + }; + }; + + config = { + environment.systemPackages = [ + pkgs.winetricks + winePkg + ]; + }; +} diff --git a/nixos/hosts/ingress-proxy/default.nix b/nixos/hosts/ingress-proxy/default.nix index 1c13e4a..543db12 100644 --- a/nixos/hosts/ingress-proxy/default.nix +++ b/nixos/hosts/ingress-proxy/default.nix @@ -91,6 +91,7 @@ in rec { "foxxolay.com" = staticSite; "kitsu.love" = staticSite; "doll.repair" = staticSite; + "blood.pet" = staticSite; "git.sapphic.engineer" = { locations."/" = { diff --git a/nixos/hosts/static-sites/default.nix b/nixos/hosts/static-sites/default.nix index ccc5d5e..4a57c71 100644 --- a/nixos/hosts/static-sites/default.nix +++ b/nixos/hosts/static-sites/default.nix @@ -54,6 +54,7 @@ in rec { # "3d.noe.sh" = static { src = flakePackage "3d-noe-sh"; aliases = [ "art.mekanoe.com" ]; }; "doll.repair" = static { src = flakePackage "doll-repair"; }; + "blood.pet" = static { src = flakePackage "blood-pet"; }; "foxxolay.com" = static { url = "https://github.com/foxxolay/foxxolay.com.git"; diff --git a/nixos/hosts/unicorn/default.nix b/nixos/hosts/unicorn/default.nix index ef9ede8..7b9d135 100644 --- a/nixos/hosts/unicorn/default.nix +++ b/nixos/hosts/unicorn/default.nix @@ -14,6 +14,9 @@ ../../features/tailscale.nix ../../features/telemetry ../../features/wifi.nix + ../../features/protonvpn.nix + ../../features/wine.nix + ./rgb.nix inputs.nixos-hardware.nixosModules.common-cpu-amd inputs.nixos-hardware.nixosModules.common-gpu-amd @@ -43,9 +46,15 @@ nvidiaBusId = "PCI:1:0:0"; }; - environment.systemPackages = with pkgs; [ - openrgb - ]; + # always enable prime (fixes vulkan precaching -- it will compile them on AMD, trust aki, deal with it.) + programs.steam.package = pkgs.steam.override { + extraEnv = { + __NV_PRIME_RENDER_OFFLOAD="1"; + __NV_PRIME_RENDER_OFFLOAD_PROVIDER="NVIDIA-G0"; + __GLX_VENDOR_LIBRARY_NAME="nvidia"; + __VK_LAYER_NV_optimus="NVIDIA_only"; + }; + }; # √(2560² + 1600²) px / 16 in ≃ 189 dpi services.xserver.dpi = 189; diff --git a/nixos/hosts/unicorn/rgb.nix b/nixos/hosts/unicorn/rgb.nix new file mode 100644 index 0000000..52fa539 --- /dev/null +++ b/nixos/hosts/unicorn/rgb.nix @@ -0,0 +1,12 @@ +{ inputs, pkgs, ... }: let + pkg = inputs.lenovo-rgb.packages.${pkgs.system}.default; +in { + systemd.services.rgb = { + description = "rgb"; + serviceConfig = { + ExecStart = "${pkg}/bin/legion-kb-rgb set --effect Static --colors 255,0,0,39,5,5,26,9,0,192,95,0"; + Type = "oneshot"; + }; + wantedBy = [ "multi-user.target" ]; + }; +} diff --git a/pkgs/beyond-all-reason.nix b/pkgs/beyond-all-reason.nix index 710190a..f7452e7 100644 --- a/pkgs/beyond-all-reason.nix +++ b/pkgs/beyond-all-reason.nix @@ -26,6 +26,7 @@ exec = pname; icon = pname; desktopName = pname; + type = "Applications"; comment = "Open Source RTS game"; categories = [ "Game" diff --git a/pkgs/default.nix b/pkgs/default.nix index 3bf4b9c..e233222 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -2,4 +2,5 @@ transmission-exporter = import ./transmission-exporter.nix { inherit pkgs; }; plex-exporter = import ./plex-exporter.nix { inherit pkgs; }; beyond-all-reason = import ./beyond-all-reason.nix { inherit pkgs; }; + mspaint = import ./mspaint { inherit pkgs; }; } diff --git a/pkgs/mspaint/bin/mfc42u.dll b/pkgs/mspaint/bin/mfc42u.dll new file mode 100644 index 0000000..09413f3 Binary files /dev/null and b/pkgs/mspaint/bin/mfc42u.dll differ diff --git a/pkgs/mspaint/bin/mspaint.exe b/pkgs/mspaint/bin/mspaint.exe new file mode 100644 index 0000000..a6565f8 Binary files /dev/null and b/pkgs/mspaint/bin/mspaint.exe differ diff --git a/pkgs/mspaint/default.nix b/pkgs/mspaint/default.nix new file mode 100644 index 0000000..7627652 --- /dev/null +++ b/pkgs/mspaint/default.nix @@ -0,0 +1,22 @@ +{ pkgs, wine ? pkgs.wine, ... }: let + wrapped = pkgs.writeShellScriptBin "mspaint" '' + ${wine}/bin/wine ${./bin}/mspaint.exe + ''; + desktopItem = pkgs.makeDesktopItem { + name = "mspaint"; + desktopName = "mspaint"; + type = "Application"; + categories = [ "Graphics" ]; + exec = "${wrapped}/bin/mspaint"; + }; +in pkgs.stdenvNoCC.mkDerivation { + pname = "mspaint"; + version = "0.0.0"; + src = wrapped; + + nativeBuildInputs = [ + pkgs.copyDesktopItems + ]; + + desktopItems = [ desktopItem ]; +} diff --git a/pkgs/wrapWine.nix b/pkgs/wrapWine.nix new file mode 100644 index 0000000..a39ce39 --- /dev/null +++ b/pkgs/wrapWine.nix @@ -0,0 +1,82 @@ +# https://github.com/lucasew/nixcfg/blob/master/nix/pkgs/wrapWine.nix +{ pkgs }: +let + inherit (builtins) length concatStringsSep; + inherit (pkgs) lib cabextract writeShellScriptBin; + inherit (lib) makeBinPath; +in +{ + is64bits ? false, + wine ? if is64bits then pkgs.wineWowPackages.stable else pkgs.wine, + wineFlags ? "", + executable, + chdir ? null, + name, + tricks ? [ ], + setupScript ? "", + firstrunScript ? "", + home ? "", +}: +let + wineBin = "${wine}/bin/wine${if is64bits then "64" else ""}"; + requiredPackages = [ + wine + cabextract + ]; + WINENIX_PROFILES = "$HOME/WINENIX_PROFILES"; + PATH = makeBinPath requiredPackages; + NAME = name; + HOME = if home == "" then "${WINENIX_PROFILES}/${name}" else home; + WINEARCH = if is64bits then "win64" else "win32"; + setupHook = '' + ${wine}/bin/wineboot + ''; + tricksHook = + if (length tricks) > 0 then + let + tricksStr = concatStringsSep " " tricks; + tricksCmd = '' + pushd $(mktemp -d) + wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks + chmod +x winetricks + ./winetricks ${tricksStr} + popd + ''; + in + tricksCmd + else + ""; + script = writeShellScriptBin name '' + export APP_NAME="${NAME}" + export WINEARCH=${WINEARCH} + export WINE_NIX="$HOME/.wine-nix" # define antes de definir $HOME senão ele vai gravar na nova $HOME a .wine-nix + export WINE_NIX_PROFILES="${WINENIX_PROFILES}" + export PATH=$PATH:${PATH} + export HOME="${HOME}" + mkdir -p "$HOME" + export WINEPREFIX="$WINE_NIX/${name}" + export EXECUTABLE="${executable}" + mkdir -p "$WINE_NIX" "$WINE_NIX_PROFILES" + ${setupScript} + if [ ! -d "$WINEPREFIX" ] # if the prefix does not exist + then + ${setupHook} + # ${wineBin} cmd /c dir > /dev/null 2> /dev/null # initialize prefix + wineserver -w + ${tricksHook} + rm "$WINEPREFIX/drive_c/users/$USER" -rf + ln -s "$HOME" "$WINEPREFIX/drive_c/users/$USER" + ${firstrunScript} + fi + ${if chdir != null then ''cd "${chdir}"'' else ""} + if [ ! "$REPL" == "" ]; # if $REPL is setup then start a shell in the context + then + bash + exit 0 + fi + + ${wineBin} ${wineFlags} "$EXECUTABLE" "$@" + wineserver -w + ''; +in +script \ No newline at end of file diff --git a/settings.json b/settings.json new file mode 100644 index 0000000..b0877e6 --- /dev/null +++ b/settings.json @@ -0,0 +1 @@ +{"profiles":[],"effects":[],"current_profile":{"name":"awawa2","rgb_zones":[{"rgb":[255,0,0],"enabled":true},{"rgb":[39,5,5],"enabled":true},{"rgb":[26,9,0],"enabled":true},{"rgb":[192,95,0],"enabled":true}],"effect":"Static","direction":"Left","speed":1,"brightness":"Low"}} \ No newline at end of file