mirror of
https://codeberg.org/jopejoe1/nix-conf.git
synced 2025-04-12 09:24:09 +02:00
107 lines
2.7 KiB
Nix
107 lines
2.7 KiB
Nix
{
|
|
description = "jopejoe1 NixOS configuration";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
nixos-facter-modules.url = "github:nix-community/nixos-facter-modules";
|
|
|
|
# Outputs
|
|
nixos-generators = {
|
|
url = "github:nix-community/nixos-generators";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# Modules
|
|
disko = {
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
|
nether = {
|
|
url = "github:Lassulus/nether";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
srvos = {
|
|
url = "github:nix-community/srvos";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
sops-nix = {
|
|
url = "github:Mic92/sops-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
impermanence.url = "github:nix-community/impermanence";
|
|
snm = {
|
|
url = "gitlab:yu-re-ka/nixos-mailserver/dovecot2-modules";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nixvim = {
|
|
url = "github:nix-community/nixvim";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nuschtos = {
|
|
url = "github:NuschtOS/search";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# Packages
|
|
firefox-addons = {
|
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# Utility
|
|
nixos-anywhere = {
|
|
url = "github:nix-community/nixos-anywhere";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
inputs.disko.follows = "disko";
|
|
};
|
|
};
|
|
|
|
outputs =
|
|
inputs@{
|
|
self,
|
|
nixpkgs,
|
|
...
|
|
}:
|
|
let
|
|
forSystems = f: nixpkgs.lib.attrsets.genAttrs nixpkgs.lib.systems.flakeExposed (system: f system);
|
|
pkgs' = system: nixpkgs.legacyPackages.${system};
|
|
in
|
|
{
|
|
modules.default = import ./modules;
|
|
nixosModules.default = import ./nixos-modules;
|
|
homeManagerModules.default = import ./home-modules;
|
|
nixosConfigurations = import ./systems { inherit self inputs nixpkgs; };
|
|
packages = forSystems (
|
|
system:
|
|
import ./packages {
|
|
inherit system inputs;
|
|
pkgs = pkgs' system;
|
|
}
|
|
);
|
|
formatter = forSystems (
|
|
system:
|
|
let
|
|
pkgs = pkgs' system;
|
|
in
|
|
pkgs.treefmt.withConfig {
|
|
runtimeInputs = with pkgs; [
|
|
nixfmt-rfc-style
|
|
];
|
|
settings = {
|
|
tree-root-file = ".git/index";
|
|
formatter = {
|
|
nixfmt = {
|
|
command = "nixfmt";
|
|
includes = [ "*.nix" ];
|
|
};
|
|
};
|
|
};
|
|
}
|
|
);
|
|
};
|
|
}
|