diff --git a/flake.lock b/flake.lock index 3b16cf6..48bfdb3 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,27 +20,6 @@ "type": "github" } }, - "devshell": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735644329, - "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", - "owner": "numtide", - "repo": "devshell", - "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, "doll-repair": { "inputs": { "flake-parts": "flake-parts", @@ -115,20 +94,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 +120,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": { @@ -291,54 +256,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 +263,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": { @@ -529,34 +425,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": { @@ -571,11 +446,11 @@ "nixpkgs": "nixpkgs_3" }, "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 +461,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 +477,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 +553,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 +569,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 +585,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": { @@ -742,11 +617,11 @@ }, "nixpkgs_3": { "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": { @@ -758,11 +633,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1736523798, - "narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=", + "lastModified": 1741513245, + "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "130595eba61081acde9001f43de3248d8888ac4a", + "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", "type": "github" }, "original": { @@ -790,24 +665,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": { @@ -847,11 +716,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": { @@ -976,11 +845,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1736515725, - "narHash": "sha256-4P99yL8vGehwzytkpP87eklBePt6aqeEC5JFsIzhfUs=", + "lastModified": 1741644481, + "narHash": "sha256-E0RrMykMtEv15V3QhpsFutgoSKhL1JBhidn+iZajOyg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f214c1b76c347a4e9c8fb68c73d4293a6820d125", + "rev": "e653d71e82575a43fe9d228def8eddb73887b866", "type": "github" }, "original": { @@ -1053,27 +922,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..51ea2a5 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/features/wine.nix b/home-manager/features/wine.nix new file mode 100644 index 0000000..a4dd6e6 --- /dev/null +++ b/home-manager/features/wine.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ + wine + winetricks + wineWowPackages.waylandFull + ]; +} 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..e431317 100644 --- a/home-manager/noe/hosts/unicorn.nix +++ b/home-manager/noe/hosts/unicorn.nix @@ -6,6 +6,7 @@ ../../features/kitty.nix ../../features/vesktop ../../features/retroarch.nix + ../../features/wine.nix ]; home.packages = with pkgs; [ @@ -20,6 +21,7 @@ plexamp plex-media-player obsidian + local-pkgs.mspaint ]; programs.vscode = { 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..73e2be2 100644 --- a/nixos/hosts/unicorn/default.nix +++ b/nixos/hosts/unicorn/default.nix @@ -14,6 +14,7 @@ ../../features/tailscale.nix ../../features/telemetry ../../features/wifi.nix + ../../features/protonvpn.nix inputs.nixos-hardware.nixosModules.common-cpu-amd inputs.nixos-hardware.nixosModules.common-gpu-amd diff --git a/nixos/hosts/unicorn/rgb.nix b/nixos/hosts/unicorn/rgb.nix new file mode 100644 index 0000000..088ea75 --- /dev/null +++ b/nixos/hosts/unicorn/rgb.nix @@ -0,0 +1,8 @@ +{ inputs, pkgs, ... }: let + config = pkgs.writeFile "config.rgb" ''{"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"}''; +in { + systemd.services.rgb = { + description = "rgb"; + serviceConfig = {}; + }; +} 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/default.nix b/pkgs/mspaint/default.nix new file mode 100644 index 0000000..19ee69d --- /dev/null +++ b/pkgs/mspaint/default.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: let + wrapped = pkgs.writeShellScriptBin "mspaint" '' + ${pkgs.wine}/bin/wine ${./mspaint.exe} + ''; +in pkgs.makeDesktopItem { + name = "mspaint"; + desktopName = "mspaint"; + type = "Application"; + exec = "${wrapped}/bin/mspaint"; +} \ No newline at end of file diff --git a/pkgs/mspaint/mspaint.exe b/pkgs/mspaint/mspaint.exe new file mode 100644 index 0000000..a6565f8 Binary files /dev/null and b/pkgs/mspaint/mspaint.exe differ 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