# Nixos System Configuration { description = "Modules and configuration for my NixOS system"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-23.11"; systems.url = "github:nix-systems/default-linux"; my-nix-packages = { url = "github:eriedaberrie/my-nix-packages"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; }; lisp-scripts = { url = "git+https://git.eriedaberrie.me/eriedaberrie/lisp-scripts.git"; inputs.nixpkgs.follows = "nixpkgs"; inputs.cl-hyprland-ipc.follows = "cl-hyprland-ipc"; inputs.systems.follows = "systems"; }; nix-index-database = { url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; lanzaboote = { url = "github:nix-community/lanzaboote"; inputs.nixpkgs.follows = "nixpkgs"; }; nixpak = { url = "github:nixpak/nixpak"; inputs.nixpkgs.follows = "nixpkgs"; }; # nur.url = github:nix-community/NUR; hyprgraphics = { url = "github:hyprwm/hyprgraphics"; inputs.nixpkgs.follows = "nixpkgs"; inputs.hyprutils.follows = "hyprutils"; inputs.systems.follows = "systems"; }; hyprland-qtutils = { url = "github:hyprwm/hyprland-qtutils"; inputs.nixpkgs.follows = "nixpkgs"; inputs.hyprutils.follows = "hyprutils"; inputs.systems.follows = "systems"; }; hyprland-protocols = { url = "github:hyprwm/hyprland-protocols"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; }; hyprlang = { url = "github:hyprwm/hyprlang"; inputs.nixpkgs.follows = "nixpkgs"; inputs.hyprutils.follows = "hyprutils"; inputs.systems.follows = "systems"; }; hyprutils = { url = "github:hyprwm/hyprutils"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; }; hyprwayland-scanner = { url = "github:hyprwm/hyprwayland-scanner"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; }; hyprland = { url = "github:hyprwm/Hyprland"; inputs.nixpkgs.follows = "nixpkgs"; inputs.hyprgraphics.follows = "hyprgraphics"; inputs.hyprland-qtutils.follows = "hyprland-qtutils"; inputs.hyprland-protocols.follows = "hyprland-protocols"; inputs.hyprlang.follows = "hyprlang"; inputs.hyprutils.follows = "hyprutils"; inputs.hyprwayland-scanner.follows = "hyprwayland-scanner"; inputs.xdph.follows = "xdph"; inputs.systems.follows = "systems"; }; hy3 = { url = "github:outfoxxed/hy3"; inputs.hyprland.follows = "hyprland"; }; xdph = { url = "github:hyprwm/xdg-desktop-portal-hyprland"; inputs.nixpkgs.follows = "nixpkgs"; inputs.hyprland-protocols.follows = "hyprland-protocols"; inputs.hyprlang.follows = "hyprlang"; inputs.hyprutils.follows = "hyprutils"; inputs.hyprwayland-scanner.follows = "hyprwayland-scanner"; inputs.systems.follows = "systems"; }; hyprlock = { url = "github:hyprwm/hyprlock"; inputs.nixpkgs.follows = "nixpkgs"; inputs.hyprgraphics.follows = "hyprgraphics"; inputs.hyprlang.follows = "hyprlang"; inputs.hyprutils.follows = "hyprutils"; inputs.hyprwayland-scanner.follows = "hyprwayland-scanner"; inputs.systems.follows = "systems"; }; cl-hyprland-ipc = { url = "github:eriedaberrie/cl-hyprland-ipc"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; }; emacs-overlay = { url = "github:nix-community/emacs-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; }; grim-hyprland = { url = "github:eriedaberrie/grim-hyprland"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; }; nix-minecraft = { url = "github:Infinidoge/nix-minecraft"; inputs.nixpkgs.follows = "nixpkgs"; }; umu = { url = "github:Open-Wine-Components/umu-launcher/?dir=packaging\/nix"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-gaming = { url = "github:fufexan/nix-gaming"; inputs.nixpkgs.follows = "nixpkgs"; inputs.umu.follows = "umu"; }; }; outputs = inputs: { nixosConfigurations = import ./hosts inputs; lib = import ./lib inputs; homeManagerModules.default = import ./modules/home; nixosModules.default = import ./modules/os; }; nixConfig = { extra-substituters = [ "https://nix-community.cachix.org" # "https://hyprland.cachix.org" # "https://nix-gaming.cachix.org" ]; extra-trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" # "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" # "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ]; }; }