dots/modules/nixos/default.nix
2025-09-24 19:06:55 +10:00

61 lines
1.6 KiB
Nix

{
lib,
pkgs,
...
}:
let
featureBundler =
featuresDir:
map (name: featuresDir + "/${name}") (builtins.attrNames (builtins.readDir featuresDir));
in
{
imports = (featureBundler ./bundles) ++ (featureBundler ./features);
agenix.enable = lib.mkDefault true;
fonts.enable = lib.mkDefault true;
home-manager.enable = lib.mkDefault true;
localisation.enable = lib.mkDefault true;
network.enable = lib.mkDefault true;
nh.enable = lib.mkDefault true;
nix-settings.enable = lib.mkDefault true;
nixpkgs.enable = lib.mkDefault true;
nixvim.enable = lib.mkDefault true;
syncthing.enable = lib.mkDefault true;
systemd-boot.enable = lib.mkDefault true;
tailscale.enable = lib.mkDefault true;
environment.systemPackages = with pkgs; [
# keep-sorted start
bottom # top
broot # large directory browser
dogdns # dns
fd # find
fselect # find with sql syntax
fx # json processor and viewer
fzf # fuzzy finder
glow # markdown viewer
gping # pretty ping
grex # regular expression generator
hexyl # hexadecimal viewer
hyperfine # benchmarking tool
keep-sorted # alphabetical formatter
lazygit # git tui
mprocs # run long running commands and monitor output
navi # cheatsheet browser
nb # note taking
nixfmt-rfc-style # nix file formatting
nom # stylistic nix dependency graphs
procs # ps
ripgrep-all # grep
ripunzip # unzip
sd # sed
slides # presentations
ticker # stock ticker
tldr # cheat sheets
tmpmail # temporary email address
tt # typing test
wtfutil # terminal homepage
xh # curl
# keep-sorted end
];
}