2022-01-11 18:44:40 +01:00
{
description = " F r o s t e d F l a k e s " ;
inputs = {
2022-09-05 18:16:09 +02:00
nixpkgs . url = " n i x p k g s / n i x o s - 2 2 . 0 5 " ;
# WARNING: Where possible, prefer the stable branch of nixpkgs as nixpkgs-unstable may have incompatable or vulnerable software.
2022-01-11 18:44:40 +01:00
nixpkgs-unstable . url = " n i x p k g s / n i x o s - u n s t a b l e " ;
2022-09-05 18:16:09 +02:00
# WARNING: The master branch of nixpkgs is unsafe to use and software may break or contain various security vulnerabilities. Use at your own discretion.
nixpkgs-master . url = " g i t h u b : n i x o s / n i x p k g s / m a s t e r " ;
home-manager . url = " g i t h u b : n i x - c o m m u n i t y / h o m e - m a n a g e r / r e l e a s e - 2 2 . 0 5 " ;
2022-01-11 18:44:40 +01:00
home-manager . inputs . nixpkgs . follows = " n i x p k g s " ;
# agenix - age-encrypted secrets
2022-11-15 06:19:54 +01:00
agenix = {
url = " g i t h u b : r y a n t m / a g e n i x " ;
inputs . nixpkgs . follows = " n i x p k g s " ;
} ;
2022-01-11 18:44:40 +01:00
2022-11-15 06:19:54 +01:00
nixos-hardware = {
url = " g i t h u b : n i x o s / n i x o s - h a r d w a r e " ;
inputs . nixpkgs . follows = " n i x p k g s " ;
} ;
2022-01-11 18:44:40 +01:00
2022-11-15 06:19:54 +01:00
nix-minecraft = {
url = " g i t h u b : I n f i n i d o g e / n i x - m i n e c r a f t " ;
inputs . nixpkgs . follows = " n i x p k g s " ;
} ;
2022-01-11 18:44:40 +01:00
2022-09-05 18:16:09 +02:00
jillo . url = " / h o m e / o a t m e a l i n e / j i l l o " ;
watch-party . url = " / h o m e / o a t m e a l i n e / w a t c h - p a r t y " ;
2022-11-15 06:19:54 +01:00
emacs-overlay = {
url = " g i t h u b : n i x - c o m m u n i t y / e m a c s - o v e r l a y " ;
inputs . nixpkgs . follows = " n i x p k g s " ;
} ;
hyprland = {
url = " g i t h u b : h y p r w m / H y p r l a n d " ;
inputs . nixpkgs . follows = " n i x p k g s " ;
} ;
hyprpaper = {
url = " g i t h u b : h y p r w m / h y p r p a p e r " ;
inputs . nixpkgs . follows = " n i x p k g s " ;
} ;
hyprpicker = {
url = " g i t h u b : h y p r w m / h y p r p i c k e r " ;
inputs . nixpkgs . follows = " n i x p k g s " ;
} ;
2022-01-11 18:44:40 +01:00
} ;
2022-11-15 06:19:54 +01:00
outputs = inputs @ { self , nixpkgs , nixpkgs-unstable , nixpkgs-master , nix-minecraft , hyprland , hyprpaper , hyprpicker , . . . }:
2022-01-11 18:44:40 +01:00
let
system = " x 8 6 _ 6 4 - l i n u x " ;
lib = import ./lib { inherit pkgs inputs ; lib = nixpkgs . lib ; } ;
inherit ( lib . _ ) mapModules mapModulesRec mkHost ;
mkPkgs = pkgs : overlays : import pkgs {
inherit system ;
config . allowUnfree = true ;
overlays = overlays ++ ( lib . attrValues self . overlays ) ;
} ;
2022-09-05 18:16:09 +02:00
pkgs = mkPkgs nixpkgs [ self . overlay nix-minecraft . overlay ] ;
2022-01-11 18:44:40 +01:00
in {
packages . " ${ system } " = mapModules ./packages ( p : pkgs . callPackage p { } ) ;
overlay = final : prev : {
_ = self . packages . " ${ system } " ;
unstable = mkPkgs nixpkgs-unstable [ ] ;
2022-09-05 18:16:09 +02:00
master = mkPkgs nixpkgs-master [ ] ;
2022-01-11 18:44:40 +01:00
} ;
2022-01-11 19:06:11 +01:00
overlays = mapModules ./overlays import ;
2022-01-11 18:44:40 +01:00
nixosModules = mapModulesRec ./modules import ;
2022-09-05 18:16:09 +02:00
nixosConfigurations = mapModules ./hosts ( host : mkHost host { inherit system ; } ) ;
2022-04-20 10:53:28 +02:00
devShell . " ${ system } " = import ./shell.nix { inherit pkgs ; } ;
2022-01-11 18:44:40 +01:00
} ;
}