53 lines
1.7 KiB
Nix
53 lines
1.7 KiB
Nix
|
{
|
||
|
description = "Joey's NixOS configuration";
|
||
|
|
||
|
inputs = {
|
||
|
firefox-gnome-theme = {
|
||
|
flake = false;
|
||
|
url = "github:rafaelmardojai/firefox-gnome-theme";
|
||
|
};
|
||
|
|
||
|
home-manager = {
|
||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||
|
url = "github:nix-community/home-manager/release-24.05";
|
||
|
};
|
||
|
|
||
|
impermanence.url = "github:nix-community/impermanence";
|
||
|
lanzaboote.url = "github:nix-community/lanzaboote/v0.4.1";
|
||
|
nix-flatpak.url = "github:gmodena/nix-flatpak/v0.4.1";
|
||
|
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
|
||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||
|
};
|
||
|
|
||
|
outputs = inputs @ { self, ... }:
|
||
|
let
|
||
|
directories = rec {
|
||
|
commonHomeModule = homeModules + "/common";
|
||
|
commonHostModule = hostModules + "/common";
|
||
|
customModules = self + "/modules";
|
||
|
customOptions = customModules + "/options";
|
||
|
homeModules = self + "/home";
|
||
|
hostModules = self + "/hosts";
|
||
|
userModules = customModules + "/users";
|
||
|
};
|
||
|
|
||
|
eachSystem = # Replacement for flake-utils.eachDefaultSystem
|
||
|
with inputs.nixpkgs.lib;
|
||
|
f: foldAttrs mergeAttrs { } (
|
||
|
map (s: mapAttrs (_: v: { ${s} = v; }) (f s)) systems.flakeExposed
|
||
|
);
|
||
|
in
|
||
|
eachSystem (system:
|
||
|
let
|
||
|
outputs = self.outputs // directories;
|
||
|
pkgs = import ./custom-pkgs { inherit inputs pkgs system; };
|
||
|
in
|
||
|
{
|
||
|
packages = {
|
||
|
homeConfigurations = import ./home.nix { inherit inputs outputs pkgs; };
|
||
|
nixosConfigurations = import ./nixos.nix { inherit inputs outputs pkgs system; };
|
||
|
};
|
||
|
});
|
||
|
}
|