diff --git a/flake.nix b/flake.nix index 0fb426e7..0ff44d19 100644 --- a/flake.nix +++ b/flake.nix @@ -3,8 +3,10 @@ description = "Sako's NixOS Configuration"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # nixpkgs unstable branch - nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; # nixpkgs stable branch because some things break + nixpkgs.url = + "github:NixOS/nixpkgs/nixos-unstable"; # nixpkgs unstable branch + nixpkgs-stable.url = + "github:nixos/nixpkgs/nixos-24.05"; # nixpkgs stable branch because some things break home-manager = { # this manages your dotfiles for the most part url = "github:nix-community/home-manager"; @@ -20,8 +22,10 @@ url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + agenix.url = "github:ryantm/agenix"; emacs-overlay = { - url = "github:nix-community/emacs-overlay/0442d57ffa83985ec2ffaec95db9c0fe742f5182"; + url = + "github:nix-community/emacs-overlay/0442d57ffa83985ec2ffaec95db9c0fe742f5182"; }; ags = { url = "github:Aylur/ags"; @@ -31,79 +35,63 @@ hyprpaper.url = "github:hyprwm/hyprpaper"; }; - outputs = { - self, - nixpkgs, - home-manager, - NixOS-WSL, - sops-nix, - emacs-overlay, - hyprland, - hyprpaper, - ags, - ... - } @ inputs: let - inherit (self) outputs; - forAllSystems = nixpkgs.lib.genAttrs [ - "x86_64-linux" - ]; - in rec { - # custom packages - packages = forAllSystems ( - system: let - pkgs = nixpkgs.legacyPackages.${system}; - in - import ./packages {inherit pkgs;} - ); - # dev shell for bootstrap - devShells = forAllSystems ( - system: let - pkgs = nixpkgs.legacyPackages.${system}; - in - import ./shell.nix {inherit pkgs;} - ); + outputs = { self, nixpkgs, home-manager, NixOS-WSL, sops-nix, agenix + , emacs-overlay, hyprland, hyprpaper, ags, ... }@inputs: + let + inherit (self) outputs; + forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" ]; + in rec { + # custom packages + packages = forAllSystems (system: + let pkgs = nixpkgs.legacyPackages.${system}; + in import ./packages { inherit pkgs; }); + # dev shell for bootstrap + devShells = forAllSystems (system: + let pkgs = nixpkgs.legacyPackages.${system}; + in import ./shell.nix { inherit pkgs; }); - # overlays here - overlays = import ./overlays {inherit inputs;}; + # overlays here + overlays = import ./overlays { inherit inputs; }; - # modules :D - nixosModules = import ./modules; + # modules :D + nixosModules = import ./modules; - nixosConfigurations = { - sakotop = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs outputs;}; - modules = [ - ./default.nix - ./hosts/sakotop/configuration.nix - sops-nix.nixosModules.sops - ]; - }; - sakopc = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs outputs;}; - modules = [ - ./default.nix - ./hosts/sakopc/configuration.nix - sops-nix.nixosModules.sops - ]; - }; - #sakoserver = nixpkgs.lib.nixosSystem { - # specialArgs = {inherit inputs outputs;}; - # modules = [ - # ./default.nix - # ./hosts/sakoserver/configuration.nix - # ]; - #}; - sakowsl = nixpkgs.lib.nixosSystem { - # because theres no hardware-configuration.nix - system = "x86_64-linux"; - specialArgs = {inherit inputs outputs;}; - modules = [ - {nix.registry.nixpkgs.flake = nixpkgs;} - ./hosts/sakowsl/configuration.nix - NixOS-WSL.nixosModules.wsl - sops-nix.nixosModules.sops - ]; + nixosConfigurations = { + sakotop = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs outputs; }; + modules = [ + ./default.nix + ./hosts/sakotop/configuration.nix + sops-nix.nixosModules.sops + agenix.nixosModules.default + ]; + }; + sakopc = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs outputs; }; + modules = [ + ./default.nix + ./hosts/sakopc/configuration.nix + sops-nix.nixosModules.sops + ]; + }; + #sakoserver = nixpkgs.lib.nixosSystem { + # specialArgs = {inherit inputs outputs;}; + # modules = [ + # ./default.nix + # ./hosts/sakoserver/configuration.nix + # ]; + #}; + sakowsl = nixpkgs.lib.nixosSystem { + # because theres no hardware-configuration.nix + system = "x86_64-linux"; + specialArgs = { inherit inputs outputs; }; + modules = [ + { nix.registry.nixpkgs.flake = nixpkgs; } + ./hosts/sakowsl/configuration.nix + NixOS-WSL.nixosModules.wsl + sops-nix.nixosModules.sops + ]; + }; }; }; - }; }