nixos-config/modules/packages.nix

194 lines
5.6 KiB
Nix

let
imports = import ../nix/sources.nix;
new = import imports.nixpkgs-unstable { config.allowUnfree = true; };
filterGit =
builtins.filterSource (type: name: name != ".git" || type != "directory");
old = import imports.nixpkgs-old { };
in { pkgs, config, lib, ... }: {
nixpkgs.overlays = [
(self: super:
rec {
inherit imports;
unstable = new;
nur = (import imports.NUR { pkgs = old; }).repos;
inherit (nur.balsoft.pkgs) termNote lambda-launcher nix-patch;
nixfmt = self.callPackage imports.nixfmt { };
inherit (import imports.niv { }) niv;
all-hies = import imports.all-hies { };
firefox-wayland = old.firefox-wayland.overrideAttrs (oa: {
meta = oa.meta // { platforms = [ "x86_64-linux" ]; };
});
yt-utilities =
import (self.fetchgit config.secrets.yt-utilities.source) { };
mtxclient = super.mtxclient.overrideAttrs (oa: rec {
name = "${pname}-${version}";
buildInputs = with self; [
boost170
nlohmann_json
openssl
zlib
libsodium
olm
];
pname = "mtxclient";
cmakeFlags = oa.cmakeFlags ++ [
"-DBoost_NO_BOOST_CMAKE=ON"
"-DBoost_LIBRARY_DIR_RELEASE=${pkgs.boost170}"
];
version = "0.3.0";
src = imports.mtxclient;
});
nheko = super.nheko.overrideAttrs (oa: rec {
name = "${pname}-${version}";
buildInputs = with self; [
nlohmann_json
qt5.qtquickcontrols2
mtxclient
olm
boost170
lmdb
spdlog
cmark
qt5.qtbase
qt5.qtmultimedia
qt5.qttools
qt5.qtgraphicaleffects
];
cmakeFlags = oa.cmakeFlags ++ [
"-DBUILD_SHARED_LIBS=ON"
"-DBoost_NO_BOOST_CMAKE=ON"
"-DBoost_LIBRARY_DIR_RELEASE=${pkgs.boost170}"
];
pname = "nheko";
version = "0.7.0";
src = imports.nheko;
});
sway-unwrapped = (new.sway-unwrapped.override { wlroots = wlroots'; }).overrideAttrs
(oa: rec {
name = "${pname}-${version}";
pname = "sway";
version = "master";
patches = [ ];
src = imports.sway;
});
wlroots' = new.wlroots.overrideAttrs (oa: rec {
name = "${pname}-${version}";
outputs = [ "out" ];
postFixup = "true";
postInstall = "true";
pname = "wlroots";
patches = [ ];
version = "master";
src = imports.wlroots;
});
wl-clipboard = new.wl-clipboard.overrideAttrs (oa: rec {
name = "${pname}-${version}";
pname = "wl-clipboard";
version = "master";
src = imports.wl-clipboard;
});
inherit (new) kanshi mautrix-whatsapp;
nerdfonts = nur.balsoft.pkgs.roboto-mono-nerd;
mopidy = super.mopidy.overridePythonAttrs (oa: {
src = imports.mopidy;
propagatedBuildInputs = with self.pythonPackages; [
gst-python
pygobject3
pykka2
tornado_4
requests
setuptools
dbus-python
protobuf
];
});
mopidy-youtube = super.mopidy-youtube.overridePythonAttrs (oa: {
propagatedBuildInputs = oa.propagatedBuildInputs
++ (with self.pythonPackages; [ cachetools requests-cache ]);
src = imports.mopidy-youtube;
});
mopidy-gmusic = super.mopidy-gmusic.overridePythonAttrs (oa: {
propagatedBuildInputs = oa.propagatedBuildInputs ++ [ self.pythonPackages.protobuf ];
});
mpd-mpris = super.mpd-mpris.overrideAttrs (oa: {
patches = [ ./mpd-mpris.patch ];
});
mautrix-telegram = old.mautrix-telegram;
pythonPackages = super.pythonPackages.override {
overrides = (self: super: {
pykka2 = super.pykka.overridePythonAttrs (oa: {
src = imports.pykka;
version = "2.0.1";
name = "pykka-2.0.1";
});
backports_functools_lru_cache =
super.backports_functools_lru_cache.overrideAttrs
(oldAttrs: oldAttrs // { meta.priority = 1000; });
});
};
ebtables = old.ebtables;
} // (if config.device == "Prestigio-Laptop" then {
grub2 = super.pkgsi686Linux.grub2;
} else
{ }))
];
nixpkgs.pkgs = import imports.nixpkgs {
config.allowUnfree = true;
config.android_sdk.accept_license = true;
config.firefox.enablePlasmaBrowserIntegration = true;
} // config.nixpkgs.config;
systemd.services.setup_root = {
serviceConfig.User = "root";
script = ''
mkdir -p /root/.ssh
cat << EOF > /root/.ssh/id_rsa
${config.secrets.id_rsa}
EOF
chmod 100 /root/.ssh/id_rsa
'';
};
environment.etc.nixpkgs.source = imports.nixpkgs;
nix = rec {
nixPath = lib.mkForce [
"nixpkgs=/etc/nixpkgs"
"nixos-config=/etc/nixos/configuration.nix"
];
binaryCaches = [
"https://cache.nixos.org"
"https://all-hies.cachix.org"
"https://cache.balsoft.ru"
];
trustedUsers = [ "root" "balsoft" "@wheel" ];
optimise.automatic = true;
binaryCachePublicKeys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"all-hies.cachix.org-1:JjrzAOEUsD9ZMt8fdFbzo3jNAyEWlPAwdVuHw4RD43k="
];
};
}