flakes/modules/default.nix
LavaDesu 8c75ba2a2d
treewide: yet another restructure
modules, overlays, and packages have their own default.nix re-exporting
things instead of reading file paths. slightly improves declarativeness.

wine-osu is removed; we're just using nix-gaming (for now).

our custom packages will now have to be accessed via pkgs.me instead of
just pkgs. helps know where it came from

future goals: get rid of our overlays completely, or at least not make
it replace anything from nixpkgs
2021-11-17 10:57:56 +07:00

51 lines
1.2 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 {
system = mkAttrsFromPaths [
./system/audio.nix
./system/base.nix
./system/gui.nix
./system/input.nix
./system/kernel.nix
./system/nix.nix
./system/packages.nix
./system/security.nix
./system/snapper.nix
./system/transmission.nix
./system/wireguard.nix
];
user = mkAttrsFromPaths [
./user/bspwm.nix
./user/direnv.nix
./user/dunst.nix
./user/git.nix
./user/gpg.nix
./user/kitty.nix
./user/mpv.nix
./user/neovim.nix
./user/npm.nix
./user/packages-rin.nix
./user/picom.nix
./user/polybar.nix
./user/rofi.nix
./user/sessionVariables.nix
./user/sxhkd.nix
./user/theming.nix
./user/xdg.nix
./user/xorg.nix
./user/zsh.nix
];
}