126 lines
2.3 KiB
Nix
126 lines
2.3 KiB
Nix
self: {
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (lib) attrValues mkIf;
|
|
|
|
cfg = config.roles.base;
|
|
in {
|
|
config = mkIf (cfg.enable) {
|
|
nixpkgs.overlays =
|
|
(map (i: self.inputs.${i}.overlays.default) [
|
|
"discord-overlay"
|
|
"grim-hyprland"
|
|
"nixpkgs-wayland"
|
|
])
|
|
++ (attrValues {
|
|
inherit
|
|
(self.overlays)
|
|
xdg-desktop-portal-kde
|
|
;
|
|
});
|
|
|
|
environment.systemPackages =
|
|
(attrValues {
|
|
inherit
|
|
(self.packages.${pkgs.system})
|
|
pokemon-colorscripts
|
|
repl
|
|
;
|
|
|
|
inherit
|
|
(pkgs.nodePackages)
|
|
undollar
|
|
;
|
|
|
|
inherit (pkgs) alejandra;
|
|
|
|
# Archiving
|
|
inherit
|
|
(pkgs)
|
|
zip
|
|
unzip
|
|
p7zip
|
|
bzip2
|
|
gzip
|
|
gnutar
|
|
xz
|
|
;
|
|
|
|
# File management
|
|
inherit
|
|
(pkgs)
|
|
findutils
|
|
diffutils
|
|
util-linux
|
|
which
|
|
imagemagick
|
|
;
|
|
|
|
# Networking
|
|
inherit (pkgs.dig) dnsutils;
|
|
inherit
|
|
(pkgs)
|
|
arp-scan
|
|
openssh
|
|
rsync
|
|
wget
|
|
gnupg
|
|
;
|
|
|
|
# Misc CLI stuff
|
|
inherit
|
|
(pkgs)
|
|
hydra-check
|
|
killall
|
|
nix-output-monitor
|
|
nix-melt
|
|
progress
|
|
tree
|
|
gnugrep
|
|
gnused
|
|
;
|
|
|
|
# Expected Stuff
|
|
inherit
|
|
(pkgs)
|
|
hostname
|
|
man
|
|
perl
|
|
tzdata
|
|
;
|
|
})
|
|
++ [
|
|
# This could help as well: nix derivation show -r /run/current-system
|
|
(pkgs.writeShellApplication {
|
|
name = "listDerivs";
|
|
text = ''
|
|
exec nix-store --query --requisites /run/current-system | cut -d- -f2- | sort -u
|
|
'';
|
|
})
|
|
|
|
(pkgs.writeShellApplication {
|
|
name = "from";
|
|
|
|
runtimeInputs = attrValues {
|
|
inherit
|
|
(pkgs)
|
|
coreutils
|
|
which
|
|
;
|
|
};
|
|
|
|
text = ''
|
|
for var do
|
|
realpath "$(which "$var")"
|
|
done
|
|
'';
|
|
})
|
|
];
|
|
};
|
|
|
|
# For accurate stack trace
|
|
_file = ./default.nix;
|
|
}
|