194 lines
5.6 KiB
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="
|
||
|
];
|
||
|
};
|
||
|
}
|