Compare commits
19 commits
wip/pkgs/u
...
main
Author | SHA1 | Date | |
---|---|---|---|
0773738cca | |||
62738d411c | |||
2715e3140d | |||
80c06ca3d7 | |||
9a81551bfe | |||
07ca427669 | |||
7dce41a818 | |||
384bc2e88b | |||
a8c92f2a6a | |||
6e95f125ce | |||
2d88df163a | |||
955083407e | |||
a3735e02a9 | |||
d5569e4321 | |||
f54c76a6ce | |||
91e4fdba56 | |||
4aa8236957 | |||
a1208a79b2 | |||
2389ca1a05 |
7 changed files with 94 additions and 45 deletions
16
lock.nix
16
lock.nix
|
@ -4,19 +4,19 @@
|
|||
sha256 = "sha256-DlvJv33ml5UTKgu4b0HauOfFIoDx6QXtbqUF3vWeRCY=";
|
||||
};
|
||||
nixpkgs = {
|
||||
revision = "55d1f923c480dadce40f5231feb472e81b0bab48";
|
||||
sha256 = "sha256-y2ZtlIlNTuVJUZCqzZAhIw5rrKP4DOSklev6c8PyCkQ=";
|
||||
revision = "36ab78dab7da2e4e27911007033713bab534187b";
|
||||
sha256 = "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=";
|
||||
};
|
||||
nixpkgs-unstable = {
|
||||
revision = "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f";
|
||||
sha256 = "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=";
|
||||
revision = "9e83b64f727c88a7711a2c463a7b16eedb69a84c";
|
||||
sha256 = "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=";
|
||||
};
|
||||
nix-bitcoin = {
|
||||
revision = "e7e6353b3a72205b037be53eda2e71e24e46b45e";
|
||||
sha256 = "sha256-Y53kyw7CQUEUiKPVQQzCMB4OIiZtOoFNurJhhM6Xvx4=";
|
||||
revision = "ac1344fb6d91e2af219803eaaa67d1d974666156";
|
||||
sha256 = "sha256-qLwBEXlGY2pLNPhPNpeOE0DNC1luovTYE3ZDPMyMPXc=";
|
||||
};
|
||||
cosmic-modules = {
|
||||
revision = "e3bea95daa167bf84a4bf3387ef6f01f081152b6";
|
||||
sha256 = "sha256-QhmqgiAGqR7VYxyNsdpR2qfejRnviyf7ElZ8v8MtwwY=";
|
||||
revision = "ef3b52e04d4294aa98fdac6c065b2d818022efd1";
|
||||
sha256 = "sha256-zuONfwNObFx8A2zunwwkW2jUgO6rvd6dO2okiiCxPO8=";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -27,12 +27,7 @@
|
|||
kdePackages.kdeconnect-kde
|
||||
pcmanfm
|
||||
pwvucontrol
|
||||
(qimgv.override {
|
||||
opencv4 = opencv4.override {
|
||||
# https://github.com/NixOS/nixpkgs/issues/383175
|
||||
enableCuda = false;
|
||||
};
|
||||
})
|
||||
qimgv
|
||||
];
|
||||
|
||||
programs.mpv = let
|
||||
|
|
|
@ -24,12 +24,18 @@
|
|||
nvidiaSettings = true;
|
||||
package = let
|
||||
mkDriverArgs = {
|
||||
version = "575.51.02";
|
||||
sha256_64bit = "sha256-XZ0N8ISmoAC8p28DrGHk/YN1rJsInJ2dZNL8O+Tuaa0=";
|
||||
sha256_aarch64 = "sha256-NNeQU9sPfH1sq3d5RUq1MWT6+7mTo1SpVfzabYSVMVI=";
|
||||
openSha256 = "sha256-NQg+QDm9Gt+5bapbUO96UFsPnz1hG1dtEwT/g/vKHkw=";
|
||||
settingsSha256 = "sha256-6n9mVkEL39wJj5FB1HBml7TTJhNAhS/j5hqpNGFQE4w=";
|
||||
persistencedSha256 = "sha256-dgmco+clEIY8bedxHC4wp+fH5JavTzyI1BI8BxoeJJI=";
|
||||
version = "575.64";
|
||||
sha256_64bit = "sha256-6wG8/nOwbH0ktgg8J+ZBT2l5VC8G5lYBQhtkzMCtaLE=";
|
||||
sha256_aarch64 = "sha256-uHj8fB1sSJfX0NWZEE1eZN1LQQkf7J0jPV3EeQCSG10=";
|
||||
openSha256 = "sha256-y93FdR5TZuurDlxc/p5D5+a7OH93qU4hwQqMXorcs/g=";
|
||||
settingsSha256 = "sha256-3BvryH7p0ioweNN4S8oLDCTSS47fQPWVYwNq4AuWQgQ=";
|
||||
persistencedSha256 = "sha256-QkDNQKwCsakZOLcSie1NBiFCM5e5NFGiIKtPSFeWdXs=";
|
||||
patches = [
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/rpmfusion/nvidia-kmod/020f5fabfb067150f8dd0d6e470a7a694f59eb59/Workaround-nv_vm_flags_-calling-GPL-only-code.patch";
|
||||
hash = "sha256-2WQs8WDVzNivwUSWn7t2hoduUVvmem5e+JpGt04380c=";
|
||||
})
|
||||
];
|
||||
};
|
||||
in ( config.boot.kernelPackages.nvidiaPackages.mkDriver mkDriverArgs ).overrideAttrs (super: {
|
||||
passthru = super.passthru or {} // {
|
||||
|
|
|
@ -15,14 +15,14 @@
|
|||
# NIXPKGS-PR: 384992
|
||||
packages = let
|
||||
oldVersion = pkgs.python3Packages.openrazer-daemon.version;
|
||||
version = "3.10.1";
|
||||
version = "3.10.3";
|
||||
in lib.mapAttrs (_: package: package.overrideAttrs (oldAttrs: {
|
||||
version = lib.replaceStrings [ oldVersion ] [ version ] oldAttrs.version;
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "openrazer";
|
||||
repo = "openrazer";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-igrGx7Y6ENtZatJCTAW43/0q6ZjljJ9/kU3QFli4yIU=";
|
||||
hash = "sha256-M5g3Rn9WuyudhWQfDooopjexEgGVB0rzfJsPg+dqwn4=";
|
||||
};
|
||||
})) {
|
||||
kernel = config.boot.kernelPackages.openrazer;
|
||||
|
|
|
@ -15,7 +15,17 @@ in
|
|||
aliasDrag
|
||||
ranger-git
|
||||
ripgrep
|
||||
kitty
|
||||
(kitty.overrideAttrs (superAttrs: {
|
||||
patches = superAttrs.patches or [] ++ [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AmirulAndalib/kitty/commit/61fd8c4003b361503160424cbed1960153f40290.patch";
|
||||
excludes = lib.map lib.escapeRegex [
|
||||
"docs/changelog.rst"
|
||||
];
|
||||
hash = "sha256-TqO/pLRkxN+Mz4nfNfTntGpPoy6OgbtAGmdohG/1BFs=";
|
||||
})
|
||||
];
|
||||
}))
|
||||
zoxide
|
||||
]) ++ [
|
||||
(
|
||||
|
@ -29,15 +39,19 @@ in
|
|||
HISTCONTROL=ignoreboth
|
||||
'';
|
||||
|
||||
programs.bash.interactiveShellInit = ''
|
||||
programs.bash.interactiveShellInit = lib.mkMerge [
|
||||
''
|
||||
HISTCONTROL=ignoreboth
|
||||
if test -n "$KITTY_INSTALLATION_DIR"; then
|
||||
export KITTY_SHELL_INTEGRATION="enabled,no-sudo"
|
||||
source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"
|
||||
fi
|
||||
eval "''$(zoxide init bash)"
|
||||
alias bye=exit
|
||||
'';
|
||||
''
|
||||
(lib.mkAfter ''
|
||||
eval "''$(${lib.getExe pkgs.zoxide} init bash)"
|
||||
'')
|
||||
];
|
||||
|
||||
environment.etc."xdg/kitty/kitty.conf".text = ''
|
||||
font_family MesloLGS Nerd Font
|
||||
|
|
|
@ -16,8 +16,8 @@ ranger.overrideAttrs (selfAttrs: superAttrs: {
|
|||
src = fetchFromGitHub {
|
||||
owner = "ranger";
|
||||
repo = "ranger";
|
||||
rev = "b00f923911090204139c9e19ba42e9d80aa0889f";
|
||||
hash = "sha256-uMvo+5I5WCJGT5+XRS/NFClDGH4F59ogQJb+RYuraX4=";
|
||||
rev = "7e38143eaa91c82bed8f309aa167b1e6f2607576";
|
||||
hash = "sha256-O0DjecncpN+Bv8Ng+keuvU9iVtWAV4a50p959pMvkww=";
|
||||
};
|
||||
|
||||
patches = superAttrs.patches or [] ++ [
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{
|
||||
unstableSource,
|
||||
attributeName ? "unstable",
|
||||
# callPackage :: function | boolean
|
||||
callPackage ? false,
|
||||
}:
|
||||
|
||||
self: super:
|
||||
|
@ -15,26 +17,58 @@ let
|
|||
"parsed"
|
||||
];
|
||||
|
||||
unstablePkgsForNixpkgs = nixpkgs: import unstableSource {
|
||||
# if overlay is found in previous layer, then it was provided in "overlays" argument
|
||||
# otherwise, it is provided in "crossOverlays" argument.
|
||||
overlays = self.lib.groupBy (overlay:
|
||||
if self.lib.elem overlay self.buildPackages.overlays then "allLayers"
|
||||
else "finalLayer"
|
||||
) self.overlays;
|
||||
|
||||
unstablePkgs = import unstableSource {
|
||||
# localSystem -> pkgs.stdenv.buildPlatform
|
||||
localSystem = sanitizePlatform nixpkgs.stdenv.buildPlatform;
|
||||
localSystem = sanitizePlatform self.stdenv.buildPlatform;
|
||||
# crossSystem -> pkgs.stdenv.hostPlatform or pkgs.stdenv.targetPlatform ??
|
||||
# passing below
|
||||
# config -> pkgs.config
|
||||
config = nixpkgs.config;
|
||||
# overlays -> partial of pkgs.overlays
|
||||
overlays = nixpkgs.overlays;
|
||||
# crossOverlays -> partial of pkgs.overlays
|
||||
# crossOverlays are merged to overlays, not sure what issues that might raise.
|
||||
# ignoring.
|
||||
config = self.config;
|
||||
# overlays -> pkgs.buildPackages.overlays
|
||||
overlays = overlays.allLayers or [];
|
||||
# crossOverlays -> pkgs.overlays without pkgs.buildPackages.overlays
|
||||
crossOverlays = overlays.finalLayer or [];
|
||||
} // self.lib.optionalAttrs (
|
||||
self.lib.systems.equals nixpkgs.stdenv.buildPlatform nixpkgs.stdenv.hostPlatform
|
||||
self.lib.systems.equals self.stdenv.buildPlatform self.stdenv.hostPlatform
|
||||
) {
|
||||
# workaround for some odd structured packages that changes behaviour
|
||||
# when crossSystem is passed.
|
||||
crossSystem = sanitizePlatform nixpkgs.stdenv.hostPlatform;
|
||||
crossSystem = sanitizePlatform self.stdenv.hostPlatform;
|
||||
};
|
||||
|
||||
callPackage' = if builtins.isFunction callPackage then callPackage
|
||||
else if builtins.isBool callPackage && callPackage then self.callPackage
|
||||
else if builtins.isBool callPackage && !callPackage then throw "this should never be evaluated"
|
||||
else throw ''
|
||||
callPackage argument should be a function or a boolean.
|
||||
If you want to use the callPackage from self, set it to true.
|
||||
If you want to use a custom callPackage, set it to a function (pkgs.callPackage).
|
||||
'';
|
||||
|
||||
callPackagesUnstablePkgs = self.lib.mapAttrsRecursiveCond (
|
||||
attrset: !(self.lib.hasAttr "override" attrset) && attrset.recurseForDerivations or false
|
||||
) (
|
||||
_: unstablePackage: callPackage' {
|
||||
# For some reason, override functor of the package has its argument set as required,
|
||||
# which is totally false! the override functor can take all of those arguemnts optionally.
|
||||
__functionArgs = self.lib.mapAttrs (_: _: true) (self.lib.functionArgs unstablePackage.override);
|
||||
__functor =
|
||||
if builtins.isFunction unstablePackage.override then unstablePackage.override
|
||||
else unstablePackage.override.__functor;
|
||||
} {}
|
||||
) unstablePkgs;
|
||||
|
||||
in
|
||||
{
|
||||
"${attributeName}" = if useUnstable then unstablePkgsForNixpkgs self else self;
|
||||
"${attributeName}" = if !useUnstable then self
|
||||
# if callPackage is not false
|
||||
else if !(builtins.isBool callPackage && !callPackage) then callPackagesUnstablePkgs
|
||||
else unstablePkgs;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue