refactor: added flake parts
This commit is contained in:
parent
db7ac35613
commit
88041e86bd
66 changed files with 3538 additions and 2163 deletions
118
modules/parts.nix
Normal file
118
modules/parts.nix
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
{inputs, ...}: let
|
||||
home-manager = inputs.home-manager;
|
||||
sops-nix = inputs.sops-nix;
|
||||
nix-syncthing = inputs.nix-syncthing;
|
||||
disko = inputs.disko;
|
||||
impermanence = inputs.impermanence;
|
||||
|
||||
common-modules = [
|
||||
../legacy-modules/common-modules
|
||||
];
|
||||
|
||||
home-manager-modules =
|
||||
common-modules
|
||||
++ [
|
||||
sops-nix.homeManagerModules.sops
|
||||
../legacy-modules/home-manager-modules
|
||||
];
|
||||
|
||||
home-manager-base = _: {
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
home-manager.sharedModules = home-manager-modules;
|
||||
};
|
||||
|
||||
system-modules =
|
||||
common-modules
|
||||
++ [
|
||||
home-manager-base
|
||||
../legacy-modules/system-modules
|
||||
];
|
||||
in {
|
||||
systems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
|
||||
|
||||
flake.homeModules.homeModules = {imports = home-manager-modules;};
|
||||
|
||||
flake.nixosModules.nixosModules = {
|
||||
imports =
|
||||
system-modules
|
||||
++ [
|
||||
sops-nix.nixosModules.sops
|
||||
nix-syncthing.nixosModules.syncthing
|
||||
impermanence.nixosModules.impermanence
|
||||
home-manager.nixosModules.home-manager
|
||||
disko.nixosModules.disko
|
||||
# lix-module.nixosModules.default
|
||||
../legacy-modules/nixos-modules
|
||||
({
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
home-manager.users = {
|
||||
leyla = lib.mkIf config.host.users.leyla.isNormalUser inputs.self.homeModules.leylaConfiguration;
|
||||
eve = lib.mkIf config.host.users.eve.isNormalUser inputs.self.homeModules.eveConfiguration;
|
||||
git = lib.mkIf (config.services.forgejo.enable or false) inputs.self.homeModules.gitConfiguration;
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
flake.darwinModules.darwinModules = {
|
||||
imports =
|
||||
system-modules
|
||||
++ [
|
||||
sops-nix.darwinModules.sops
|
||||
home-manager.darwinModules.home-manager
|
||||
../legacy-modules/darwin-modules
|
||||
({
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
home-manager.users = {
|
||||
leyla = lib.mkIf config.host.users.leyla.isNormalUser inputs.self.homeModules.leylaConfiguration;
|
||||
eve = lib.mkIf config.host.users.eve.isNormalUser inputs.self.homeModules.eveConfiguration;
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
perSystem = {
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
formatter = pkgs.alejandra;
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
packages = with pkgs; [
|
||||
# for version controlling this repo
|
||||
git
|
||||
# for formatting code in this repo
|
||||
alejandra
|
||||
# for editing secrets in the secrets repo
|
||||
sops
|
||||
# for viewing configuration options defined in this repo
|
||||
nix-inspect
|
||||
# for installing flakes from this repo onto other systems
|
||||
nixos-anywhere
|
||||
# for updating disko configurations
|
||||
pkgs.disko
|
||||
# for viewing dconf entries
|
||||
dconf-editor
|
||||
# for MCP NixOS server support in development
|
||||
inputs.mcp-nixos.packages.${system}.default
|
||||
];
|
||||
|
||||
SOPS_AGE_KEY_DIRECTORY = import ../const/sops_age_key_directory.nix;
|
||||
|
||||
shellHook = ''
|
||||
git config core.hooksPath .hooks
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue