diff --git a/etc/nixos/flake.lock b/etc/nixos/flake.lock index b62ced2..f2c2fb9 100644 --- a/etc/nixos/flake.lock +++ b/etc/nixos/flake.lock @@ -2,17 +2,14 @@ "nodes": { "flake-parts": { "inputs": { - "nixpkgs-lib": [ - "nix-citizen", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1762980239, - "narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "52a2caecc898d0b46b2b905f058ccc5081f842da", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -23,7 +20,10 @@ }, "flake-parts_2": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": [ + "nix-citizen", + "nixpkgs" + ] }, "locked": { "lastModified": 1763759067, @@ -39,6 +39,46 @@ "type": "github" } }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1763759067, + "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "mango": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "scenefx": "scenefx" + }, + "locked": { + "lastModified": 1764559398, + "narHash": "sha256-luz9Z1BrN/keNJ0OcHgkNOvp0OMokOT0cviEKXQD+QU=", + "owner": "DreamMaoMao", + "repo": "mango", + "rev": "e0c80af6b17f8a875de9fdf97bcb736447287843", + "type": "github" + }, + "original": { + "owner": "DreamMaoMao", + "repo": "mango", + "type": "github" + } + }, "niri": { "inputs": { "niri-stable": "niri-stable", @@ -51,11 +91,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1764049319, - "narHash": "sha256-2CoJsDvc+tHY/Ir3A1CCzpnWSuk82xsnjlVx6bYVNd8=", + "lastModified": 1764595404, + "narHash": "sha256-FMKDx+r0c7L1ekkIt2dNYgvXULVfSCDN9zXnAOnArew=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "f86afc6c6a986a15b64f256c0e14f4a0a166299e", + "rev": "36483fec897fc0c336b3075b3b2d387edac71c9e", "type": "github" }, "original": { @@ -84,11 +124,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1764046829, - "narHash": "sha256-XFSR43nAKXDMhtNa+V2sd6Url/bCPGwawkmCqUKKRfI=", + "lastModified": 1764485473, + "narHash": "sha256-RlGEcuZFB/IdvYLrYsf0RpgvNtCMyIuBLt3lS+GZvP8=", "owner": "YaLTeR", "repo": "niri", - "rev": "54c7fdcd1adcfade596aca1070062f3f0fb5d4d0", + "rev": "311ca6b5da19f5acd7d3e481620de57240ce8f7c", "type": "github" }, "original": { @@ -99,7 +139,7 @@ }, "nix-citizen": { "inputs": { - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "nix-gaming": [ "nix-gaming" ], @@ -109,11 +149,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1763920364, - "narHash": "sha256-tjwvIt0DfCPO3ICod6++Nx2qrVVNc0EoSN7t9wgBtMA=", + "lastModified": 1764255766, + "narHash": "sha256-Tpaz0qA6G3feLCY/tCsDRRsEOhq9RHaUN1o1BIi6alk=", "owner": "LovingMelody", "repo": "nix-citizen", - "rev": "9437e64a0632f7048b3a9e6100a0b3c293c04e64", + "rev": "1c12e0d5373306e30a1943bc385184c519fbd2ff", "type": "github" }, "original": { @@ -139,15 +179,15 @@ }, "nix-gaming": { "inputs": { - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1764035827, - "narHash": "sha256-hDpF3nvtGXrUpLdLiac2t+DVq2jbIVwspXSZ+wBju0Y=", + "lastModified": 1764555997, + "narHash": "sha256-R9xuqu+i23t7DQj2hZQ0HINW9V0GsxBFMTQyshGxo0k=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "c3bf5ffdbdcc3612379e380b72fd36834c6284e0", + "rev": "a36dc95a8108fa992cc3ecaaa6b5e50700d2788b", "type": "github" }, "original": { @@ -179,11 +219,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1762977756, - "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", + "lastModified": 1763966396, + "narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", + "rev": "5ae3b07d8d6527c42f17c876e404993199144b6a", "type": "github" }, "original": { @@ -194,6 +234,21 @@ } }, "nixpkgs-lib": { + "locked": { + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_2": { "locked": { "lastModified": 1761765539, "narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=", @@ -210,11 +265,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1763948260, - "narHash": "sha256-dY9qLD0H0zOUgU3vWacPY6Qc421BeQAfm8kBuBtPVE0=", + "lastModified": 1764560356, + "narHash": "sha256-M5aFEFPppI4UhdOxwdmceJ9bDJC4T6C6CzCK1E2FZyo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1c8ba8d3f7634acac4a2094eef7c32ad9106532c", + "rev": "6c8f0cca84510cc79e09ea99a299c9bc17d03cb6", "type": "github" }, "original": { @@ -226,11 +281,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1763835633, - "narHash": "sha256-HzxeGVID5MChuCPESuC0dlQL1/scDKu+MmzoVBJxulM=", + "lastModified": 1764517877, + "narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "050e09e091117c3d7328c7b2b7b577492c43c134", + "rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c", "type": "github" }, "original": { @@ -242,11 +297,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1763618868, - "narHash": "sha256-v5afmLjn/uyD9EQuPBn7nZuaZVV9r+JerayK/4wvdWA=", + "lastModified": 1764384123, + "narHash": "sha256-UoliURDJFaOolycBZYrjzd9Cc66zULEyHqGFH3QHEq0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a8d610af3f1a5fb71e23e08434d8d61a466fc942", + "rev": "59b6c96beacc898566c9be1052ae806f3835f87d", "type": "github" }, "original": { @@ -258,27 +313,27 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1763948260, - "narHash": "sha256-dY9qLD0H0zOUgU3vWacPY6Qc421BeQAfm8kBuBtPVE0=", + "lastModified": 1764522689, + "narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1c8ba8d3f7634acac4a2094eef7c32ad9106532c", + "rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-25.05", + "ref": "nixos-25.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_4": { "locked": { - "lastModified": 1763934636, - "narHash": "sha256-9glbI7f1uU+yzQCq5LwLgdZqx6svOhZWkd4JRY265fc=", + "lastModified": 1764527385, + "narHash": "sha256-nA5ywiGKl76atrbdZ5Aucd8SjF/v8ew9b9QsC+MKL14=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ee09932cedcef15aaf476f9343d1dea2cb77e261", + "rev": "23258e03aaa49b3a68597e3e50eb0cbce7e42e9d", "type": "github" }, "original": { @@ -293,11 +348,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1764072306, - "narHash": "sha256-wUB1Z/p3HDwQ0FQbKRkXfBdXG2hO6fTKh6DFDGq+7j4=", + "lastModified": 1764615793, + "narHash": "sha256-bpH7fXzScQAJN5JHxgsLxTYjSL+tshurvhePYDkN/iI=", "owner": "sst", "repo": "opencode", - "rev": "57bd47a44673a03f7c0fd9b509a796b36c94c130", + "rev": "540407e19318541a26dc353e29ddb1c87ede7b81", "type": "github" }, "original": { @@ -308,6 +363,7 @@ }, "root": { "inputs": { + "mango": "mango", "niri": "niri", "nix-citizen": "nix-citizen", "nix-flatpak": "nix-flatpak", @@ -317,6 +373,27 @@ "opencode": "opencode" } }, + "scenefx": { + "inputs": { + "nixpkgs": [ + "mango", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750785057, + "narHash": "sha256-tGX6j4W91rcb+glXJo43sjPI9zQvPotonknG1BdihR4=", + "owner": "wlrfx", + "repo": "scenefx", + "rev": "3a6cfb12e4ba97b43326357d14f7b3e40897adfc", + "type": "github" + }, + "original": { + "owner": "wlrfx", + "repo": "scenefx", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -373,11 +450,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1763704521, - "narHash": "sha256-ceYEV6PnvUN8Zixao4gpPuN+VT3B0SlAXKuPNHZhqUY=", + "lastModified": 1764560400, + "narHash": "sha256-Qz1WvGdawnoz4dG3JtCtlParmdQHM5xu6osnXeVOqYI=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "f379ff5722a821212eb59ada9cf8e51cb3654aad", + "rev": "9a71e77b1e06dbad4a472265e59b52ac83cbe00c", "type": "github" }, "original": { diff --git a/etc/nixos/flake.nix b/etc/nixos/flake.nix index 8bb30d9..feea1d9 100644 --- a/etc/nixos/flake.nix +++ b/etc/nixos/flake.nix @@ -2,7 +2,7 @@ description = "My Flake"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-25.05"; + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-25.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nix-flatpak.url = "github:gmodena/nix-flatpak"; niri = { @@ -13,9 +13,13 @@ nix-gaming.url = "github:fufexan/nix-gaming"; nix-citizen.inputs.nix-gaming.follows = "nix-gaming"; opencode.url = "github:sst/opencode"; + mango = { + url = "github:DreamMaoMao/mango"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = { self, nixpkgs, nixpkgs-unstable, nix-flatpak, niri, opencode, ... } @inputs: + outputs = { self, nixpkgs, nixpkgs-unstable, nix-flatpak, niri, opencode, mango, ... } @inputs: let system = "x86_64-linux"; @@ -42,6 +46,7 @@ modules = [ niri.nixosModules.niri nix-flatpak.nixosModules.nix-flatpak + mango.nixosModules.mango ./configuration.nix ]; }; diff --git a/etc/nixos/modules/desktop.nix b/etc/nixos/modules/desktop.nix index 777e7da..9e8ff53 100644 --- a/etc/nixos/modules/desktop.nix +++ b/etc/nixos/modules/desktop.nix @@ -6,7 +6,8 @@ { # Enable GDM - services.xserver.displayManager.gdm = { + #services.xserver.displayManager.gdm = { # 25.05 + services.displayManager.gdm = { # 25.11 enable = true; #autoLogin.enable = true; #autoLogin.user = "nicole"; @@ -51,6 +52,9 @@ wantedBy = [ "multi-user.target" ]; #package = pkgs.niri-unstable; enable = true; }; + + # MANGO # + # programs.mango.enable = true; # i3 #services.xserver = { @@ -73,7 +77,7 @@ wantedBy = [ "multi-user.target" ]; #}; # GNOME - #services.xserver.desktopManager.gnome.enable = true; + #services.desktopManager.gnome.enable = true; #environment.gnome.excludePackages = with pkgs; [ # baobab # disk usage analyzer # cheese # photo booth diff --git a/etc/nixos/modules/nvidia.nix b/etc/nixos/modules/nvidia.nix index 737930f..73cab83 100644 --- a/etc/nixos/modules/nvidia.nix +++ b/etc/nixos/modules/nvidia.nix @@ -22,16 +22,16 @@ powerManagement.finegrained = false; nvidiaSettings = false; - #package = config.boot.kernelPackages.nvidiaPackages.latest; + package = config.boot.kernelPackages.nvidiaPackages.latest; - package = config.boot.kernelPackages.nvidiaPackages.mkDriver { - version = "580.95.05"; - sha256_64bit = "sha256-hJ7w746EK5gGss3p8RwTA9VPGpp2lGfk5dlhsv4Rgqc="; - sha256_aarch64 = "sha256-zLRCbpiik2fGDa+d80wqV3ZV1U1b4lRjzNQJsLLlICk="; - openSha256 = "sha256-RFwDGQOi9jVngVONCOB5m/IYKZIeGEle7h0+0yGnBEI="; - settingsSha256 = "sha256-F2wmUEaRrpR1Vz0TQSwVK4Fv13f3J9NJLtBe4UP2f14="; - persistencedSha256 = "sha256-QCwxXQfG/Pa7jSTBB0xD3lsIofcerAWWAHKvWjWGQtg="; - }; + #package = config.boot.kernelPackages.nvidiaPackages.mkDriver { + # version = "580.95.05"; + # sha256_64bit = "sha256-hJ7w746EK5gGss3p8RwTA9VPGpp2lGfk5dlhsv4Rgqc="; + # sha256_aarch64 = "sha256-zLRCbpiik2fGDa+d80wqV3ZV1U1b4lRjzNQJsLLlICk="; + # openSha256 = "sha256-RFwDGQOi9jVngVONCOB5m/IYKZIeGEle7h0+0yGnBEI="; + # settingsSha256 = "sha256-F2wmUEaRrpR1Vz0TQSwVK4Fv13f3J9NJLtBe4UP2f14="; + # persistencedSha256 = "sha256-QCwxXQfG/Pa7jSTBB0xD3lsIofcerAWWAHKvWjWGQtg="; + #}; #package = config.boot.kernelPackages.nvidiaPackages.mkDriver { # version = "575.64.03"; diff --git a/etc/nixos/modules/pkgs/msty/default.nix b/etc/nixos/modules/pkgs/msty/default.nix index c2cb604..eb41f9a 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 = "0.4.0"; + version = "2.1.0"; src = fetchurl { - url = "https://next-assets.msty.studio/app/alpha/linux/MstyStudio_x86_64.AppImage"; - sha256 = "sha256-zJcGK7QEL3ROgVJy13mMdY/437H3Zx8EwSXy7rEhV9w="; + url = "https://next-assets.msty.studio/app/latest/linux/MstyStudio_x86_64.AppImage"; + sha256 = "sha256-Ta2080tHXP2RwSjkV+xuGSj2UUL6vaCa4M/BtoqFrvQ="; }; appimageContents = appimageTools.extractType2 {inherit pname version src;}; in diff --git a/etc/nixos/modules/programs.nix b/etc/nixos/modules/programs.nix index 6b00e8b..3b6e3f6 100644 --- a/etc/nixos/modules/programs.nix +++ b/etc/nixos/modules/programs.nix @@ -78,9 +78,11 @@ mpv feishin spotify + #jellyfin-media-player + jellyfin-mpv-shim # INTERNET # - pkgs-unstable.telegram-desktop + telegram-desktop element-desktop wasistlos vesktop @@ -137,7 +139,7 @@ pkgs-unstable.jan claude-code pkgs-unstable.lmstudio - (inputs.opencode.packages.${system}.default) + #(inputs.opencode.packages.${system}.default) pkgs-unstable.codex pkgs-unstable.gemini-cli diff --git a/etc/nixos/modules/virtualization.nix b/etc/nixos/modules/virtualization.nix index 0472f3b..a0b1285 100644 --- a/etc/nixos/modules/virtualization.nix +++ b/etc/nixos/modules/virtualization.nix @@ -21,24 +21,27 @@ in kernelParams = lib.mkAfter [ "amd_iommu=on" # Change to intel_iommu=on if you're using an Intel CPU "iommu=pt" + "vfio-pci.ids=${builtins.concatStringsSep "," vfioIds}" ]; # Add the required VFIO kernel modules - kernelModules = [ - "vfio-pci" + initrd.kernelModules = [ + "vfio_pci" "vfio" "vfio_iommu_type1" - "vfio_virqfd" + ]; + kernelModules = [ "kvm" "kvmfr" - "allow_unsafe_interrupts=1" ]; # Add the GPU video and audio to VFIO binding - extraModprobeConfig = ''options vfio-pci ids=${builtins.concatStringsSep "," vfioIds} - options kvmfr static_size_mb=128 + extraModprobeConfig = '' + options vfio-pci ids=${builtins.concatStringsSep "," vfioIds} + options vfio_iommu_type1 allow_unsafe_interrupts=1 + options kvmfr static_size_mb=128 ''; - + # Enable the KVMFR kernel package extraModulePackages = [ config.boot.kernelPackages.kvmfr ]; }; @@ -51,7 +54,7 @@ in # Add a udev rule to set permissions for KVMFR (Kernel Frame Relay) device services.udev.extraRules = '' - SUBSYSTEM=="kvmfr", OWNER="${user}", GROUP="kvm", MODE="0660" + KERNEL=="kvmfr*", MODE="0660", GROUP="kvm" ''; # Enable the libvirtd (virtualization) service @@ -86,7 +89,8 @@ in environment.systemPackages = lib.mkAfter (with pkgs; [ spice spice-gtk spice-protocol - win-virtio + #win-virtio # 25.05 + virtio-win # 25.11 win-spice looking-glass-client linuxKernel.packages.linux_zen.kvmfr