{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; rycee = { url = "gitlab:rycee/nur-expressions"; flake = false; }; noctalia = { url = "github:noctalia-dev/noctalia/cachix"; }; niri = { url = "github:epireyn/niri-flake"; }; nix-index-database = { url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; }; nixConfig = { extra-substituters = ["https://niri.cachix.org" "https://noctalia.cachix.org"]; extra-trusted-public-keys = ["niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" "noctalia.cachix.org-1:pCOR47nnMEo5thcxNDtzWpOxNFQsBRglJzxWPp3dkU4="]; }; outputs = { self, nixpkgs, niri, ... } @ inputs: { overlays.niri = niri.overlays.niri; nixosModules = let m = { ezpassthru = import ./modules/ezpassthru.nix; ezwg = import ./modules/ezwg.nix; fuckingprint = import ./modules/fuckingprint.nix; workstation = import ./modules/workstation.nix; ezpw = import ./modules/ezpw.nix; ezpc = import ./modules/ezpc.nix inputs; }; in m // rec { all = {...}: { imports = builtins.attrValues m; }; common = import ./common.nix all inputs; common-notgne2 = import ./users/notgne2.nix; common-glooder = import ./users/glooder.nix; common-chekkie = import ./users/chekkie.nix; }; homeManagerModules = let m = { ezpcusr = import ./home-manager/modules/ezpcusr.nix inputs; gaming = import ./home-manager/modules/gaming.nix inputs; kermit = import ./home-manager/modules/kermit.nix; elvish = import ./home-manager/modules/elvish.nix; }; in m // rec { all = {...}: { imports = builtins.attrValues m; }; common = import ./home-manager/common.nix inputs all; common-notgne2 = import ./home-manager/users/notgne2.nix inputs; common-glooder = import ./home-manager/users/glooder.nix; common-chekkie = import ./home-manager/users/chekkie.nix; }; }; }