72 lines
1.7 KiB
Nix
72 lines
1.7 KiB
Nix
{ lib }:
|
|
let
|
|
getName = path: lib.removeSuffix ".nix" ( # Strip extension
|
|
lib.last ( # Gets the last part (filename)
|
|
lib.splitString "/" ( # Splits the path into components
|
|
builtins.toString path # Converts the path into a string
|
|
)
|
|
)
|
|
);
|
|
mkAttrsFromPaths = paths: builtins.listToAttrs (
|
|
builtins.map (path: {
|
|
name = getName path;
|
|
value = path;
|
|
}) paths
|
|
);
|
|
in {
|
|
services = mkAttrsFromPaths [
|
|
./services/jellyfin.nix
|
|
./services/nginx.nix
|
|
./services/postgres.nix
|
|
./services/sonarr.nix
|
|
./services/synapse.nix
|
|
./services/tmptsync.nix
|
|
./services/unbound.nix
|
|
./services/vaultwarden.nix
|
|
];
|
|
system = mkAttrsFromPaths [
|
|
./system/aagl.nix
|
|
./system/audio.nix
|
|
./system/base.nix
|
|
./system/bluetooth.nix
|
|
./system/ccache.nix
|
|
./system/corectrl.nix
|
|
./system/flatpak.nix
|
|
./system/greetd.nix
|
|
./system/gui.nix
|
|
./system/home-manager.nix
|
|
./system/input.nix
|
|
./system/kernel.nix
|
|
./system/nix.nix
|
|
./system/nix-stable.nix
|
|
./system/packages.nix
|
|
./system/printing.nix
|
|
./system/security.nix
|
|
./system/snapper.nix
|
|
./system/transmission.nix
|
|
./system/virtualisation.nix
|
|
./system/wireguard.nix
|
|
];
|
|
user = mkAttrsFromPaths [
|
|
./user/catppuccin.nix
|
|
./user/direnv.nix
|
|
./user/dunst.nix
|
|
./user/eww.nix
|
|
./user/git.nix
|
|
./user/gpg.nix
|
|
./user/hypridle.nix
|
|
./user/hyprlock.nix
|
|
./user/kitty.nix
|
|
./user/mpv.nix
|
|
./user/neovim.nix
|
|
./user/neovim-minimal.nix
|
|
./user/npm.nix
|
|
./user/obs.nix
|
|
./user/rofi.nix
|
|
./user/sessionVariables.nix
|
|
./user/spicetify.nix
|
|
./user/theming.nix
|
|
./user/xdg.nix
|
|
./user/zsh.nix
|
|
];
|
|
}
|