mirror of
https://github.com/aviallon/nixos-lib.git
synced 2026-04-05 17:27:50 +00:00
Makes them available for everyone and everything. Add Veracrypt Signed-off-by: Antoine Viallon <antoine@lesviallon.fr>
57 lines
1.8 KiB
Nix
57 lines
1.8 KiB
Nix
{config, pkgs, options, lib, ...}:
|
|
with lib;
|
|
let
|
|
cfg = config.aviallon.overlays;
|
|
unstable = import (builtins.fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz") { config = config.nixpkgs.config; };
|
|
optimizeWithFlag = pkg: flag:
|
|
pkg.overrideAttrs (attrs: {
|
|
NIX_CFLAGS_COMPILE = (attrs.NIX_CFLAGS_COMPILE or "") + " ${flag}";
|
|
doCheck = false;
|
|
});
|
|
optimizeWithFlags = pkg: flags: pkgs.lib.foldl' (pkg: flag: optimizeWithFlag pkg flag) pkg flags;
|
|
optimizeForThisHost = pkg: optimizeWithFlags pkg (builtins.trace "${getName pkg}: ${toString config.aviallon.programs.compileFlags}" config.aviallon.programs.compileFlags);
|
|
in
|
|
{
|
|
options.aviallon.overlays = {
|
|
enable = mkOption {
|
|
default = true;
|
|
example = false;
|
|
description = "Wether to enable system-wide overlays or not";
|
|
type = types.bool;
|
|
};
|
|
};
|
|
config = mkIf cfg.enable {
|
|
nix.nixPath =
|
|
# Prepend default nixPath values.
|
|
options.nix.nixPath.default ++
|
|
# Append our nixpkgs-overlays.
|
|
[ "nixpkgs-overlays=/etc/nixos/overlays-compat/" ]
|
|
;
|
|
|
|
|
|
nixpkgs.overlays = [
|
|
(self: super: {
|
|
inherit unstable;
|
|
})
|
|
(self: super: {
|
|
opensshOptimized = optimizeForThisHost super.openssh;
|
|
rsyncOptimized = optimizeForThisHost super.rsync;
|
|
nano = optimizeForThisHost super.nano;
|
|
veracrypt = optimizeForThisHost pkgs.veracrypt;
|
|
steam = super.steam.override {
|
|
withJava = true;
|
|
};
|
|
ark = optimizeForThisHost (super.ark.override {
|
|
unfreeEnableUnrar = true;
|
|
});
|
|
})
|
|
# (self: super: {
|
|
# nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
|
# inherit pkgs;
|
|
# };
|
|
# })
|
|
];
|
|
|
|
aviallon.programs.allowUnfreeList = [ "unrar" "ark" ];
|
|
};
|
|
}
|