{ description = "Home Manager configuration of doloro"; inputs = { # Specify the source of Home Manager and Nixpkgs. nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; nix-meow.url = "git+https://git.scug.io/nikkuss/nix-meow.git"; # config manager, meow'd hyprland.url = "github:hyprwm/Hyprland"; rsRPC.url = "github:Doloro1978/rsRPC"; quickshell = { url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; }; nikkuss-pkgs = { url = "git+https://git.scug.io/nikkuss/pkgs"; # inputs.nixpkgs.follows = "nixpkgs"; }; zen-browser = { url = "github:0xc000022070/zen-browser-flake"; inputs = { # IMPORTANT: we're using "libgbm" and is only available in unstable so ensure # to have it up-to-date or simply don't specify the nixpkgs input nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; }; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko/latest"; inputs.nixpkgs.follows = "nixpkgs"; }; stylix = { url = "github:nix-community/stylix"; inputs.nixpkgs.follows = "nixpkgs"; }; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; spicetify-nix = { url = "github:Gerg-L/spicetify-nix"; }; nix-warez = { # Blender-bin url = "github:edolstra/nix-warez?dir=blender"; }; nixpkgs-gamescope = { url = "github:Nixos/nixpkgs?rev=8fcb6f1c4948305af52d19f887b89011ee2c080d"; }; font-patcher.url = "github:Doloro1978/nix-nerd-fonts-patcher"; }; outputs = inputs@{ nixpkgs, home-manager, nix-meow, ... }: let overlays = [ # inputs.nikkuss-pkgs.overlays.default (final: prev: { arrpc = prev.arrpc.overrideAttrs (preve: rec { pname = preve.pname + "-meow"; version = "94d3ec81"; patches = [ ./deadlock.patch ]; src = prev.fetchFromGitHub { owner = "XenHat"; repo = "arrpc"; # branch = "improved-detection-fixes"; rev = "94d3ec81339f94e563af512b83db369596d05d3b"; sha256 = "sha256-DI/HCrmiQo1lPkErCNXOpdQli2wua03PDjdlERrpxTg="; }; npmDepsHash = prev.lib.fakeHash; npmDeps = final.fetchNpmDeps { inherit src; name = "${pname}-${version}-npm-deps"; hash = "sha256-lw6pngFC2Pnk+I8818TOTwN4r+8IsjvdMYIyTsTi49g="; }; }); }) ( final: prev: let system = prev.stdenv.hostPlatform.system; pkgs_gamescope = import inputs.nixpkgs-gamescope { inherit system; config = { allow_unfree = true; }; }; packageNix = "${inputs.nixpkgs-gamescope}/pkgs/by-name/ga/gamescope/package.nix"; in { gamescope = pkgs_gamescope.callPackage packageNix { }; } ) (final: prev: { # TODO remove once updated on nixpkgs tlp = prev.tlp.overrideAttrs (old: rec { version = "1.9.0"; src = prev.fetchFromGitHub { owner = "linrunner"; repo = "TLP"; rev = version; hash = "sha256-aM/4+cgtUe6qv3MNT4moXvNzqG5gKvwMbg14L8ifWlc="; }; }); }) (self: super: { intel-npu-driver = super.intel-npu-driver.overrideAttrs (oldAttrs: rec { installPhase = '' mkdir -p $out/lib/firmware ${oldAttrs.installPhase} ''; }); }) ]; utils = nix-meow.lib.setup { inherit (inputs) home-manager nixpkgs; inherit inputs; flakeRoot = ./.; hostsFolder = ./hosts; hardwaresFolder = ./hardwares; modulesFolder = ./modules; globalConfig = { allowUnfree = true; }; globalOverlays = overlays; defaultUser = "doloro"; }; inherit (utils) mkHost; configurations = [ (mkHost { hardware = "doloro"; host = "doloro"; system = "x86_64-linux"; stateVersion = "25.05"; nixpkgsConfig = { rocmSupport = false; cudaSupport = true; }; }) (mkHost { hardware = "doloro-wsl"; host = "doloro-wsl"; system = "aarch64-linux"; stateVersion = "25.05"; nixpkgsConfig = { rocmSupport = false; }; }) (mkHost { hardware = "doloro-laptop"; host = "doloro-laptop"; system = "x86_64-linux"; stateVersion = "25.11"; nixpkgsConfig = { rocmSupport = false; }; }) ]; in (utils.deepMerge configurations); }