{ description = "NixOs Config"; inputs = { # nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixpkgs-latest-factorio.url = "github:Daholli/nixpkgs/2adc4d1f11c5abcf654ed50c2cbce897c6e78ccc"; home-manager = { url = "github:nix-community/home-manager/master"; # url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-hardware.url = "github:nixos/nixos-hardware"; nixos-wsl = { url = "github:nix-community/NixOS-WSL"; inputs.nixpkgs.follows = "nixpkgs"; }; # Run unpatched dynamically compiled binaries nix-ld = { url = "github:Mic92/nix-ld"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; ### # hyprland stuff hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprlock.url = "github:hyprwm/hyprlock"; hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; hy3 = { url = "github:outfoxxed/hy3"; inputs.hyprland.follows = "hyprland"; }; hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; ### # Snowfall dependencies snowfall-lib = { url = "github:snowfallorg/lib"; inputs.nixpkgs.follows = "nixpkgs"; }; snowfall-flake = { url = "github:snowfallorg/flake"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; # still not sure if I like helix or nvim more, for now helix does mostly everything I need it to kickstartnvim = { url = "github:Daholli/kickstart-nix-nvim"; inputs.nixpkgs.follows = "nixpkgs"; }; helix = { url = "github:helix-editor/helix"; inputs.nixpkgs.follows = "nixpkgs"; }; # GPG default configuration gpg-base-conf = { url = "github:drduh/config"; flake = false; }; sops-nix.url = "github:Mic92/sops-nix"; ## temporary zen-browser.url = "github:ch4og/zen-browser-flake"; raspberry-pi-nix = { url = "github:nix-community/raspberry-pi-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; ################ ## inputs for dev shells # rust fenix = { url = "github:nix-community/fenix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs: let lib = inputs.snowfall-lib.mkLib { inherit inputs; src = ./.; snowfall = { meta = { name = "wyrdgard"; title = "Wyrdgard"; }; namespace = "wyrdgard"; }; }; in lib.mkFlake { channels-config = { allowUnfree = true; }; outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; }; overlays = with inputs; [ snowfall-flake.overlays.default kickstartnvim.overlays.default hyprpanel.overlay ]; systems.modules.nixos = with inputs; [ home-manager.nixosModules.home-manager nix-ld.nixosModules.nix-ld sops-nix.nixosModules.sops ]; systems.hosts.nixberry.modules = with inputs; [ raspberry-pi-nix.nixosModules.raspberry-pi raspberry-pi-nix.nixosModules.sd-image ]; systems.hosts.wsl.modules = with inputs; [ nixos-wsl.nixosModules.default ]; } // { self = inputs.self; }; }