LINUX.ORG.RU

Nixos не могу обращаться к пакету через pkgs.some

 


0

1
cat /etc/nixos/hosts/libvirt/configuration.nix
...
  imports = [
   ...
    ../common/packages/dwm-flexipatch.nix
   ...
   ];
...
/etc/nixos/hosts/common/packages/dwm-flexipatch.nix

{ config, pkgs, ... }:

let
  my_cfg = builtins.fromJSON (builtins.readFile /etc/nixos/.env.json);
  sysconfig = (import <nixpkgs/nixos> {}).config;

  myDwm = pkgs.callPackage ../modules/dwm-flexipatch/dwm-flexipatch.nix {
  ...
  };
in

{
  environment.systemPackages = with pkgs; [
    myDwm
    dmenu
  ];
}
cat /etc/nixos/hosts/common/modules/dwm-flexipatch/dwm-flexipatch.nix

{ pkgs ? import <nixpkgs> {},
  configFile ? null,
  patches ? {},
}:

with pkgs;

let
  lib = pkgs.lib;
in

stdenv.mkDerivation rec {
  pname = "dwm-flexipatch";
  version = "8333d7cccfd61a785fe6b2f00c394561b905fb57";

  src = fetchFromGitHub {
    owner = "bakkeby";
    repo = "dwm-flexipatch";
    rev = version;
    # sha256 = lib.fakeSha256;
    sha256 = "sha256-I8x2IUsNd2YKtevMbmw6Oq4iIcb/EoRlTFipAZf3vp4=";
  };

  nativeBuildInputs = [ pkg-config ];
  buildInputs = [ xorg.libX11 xorg.libXft xorg.libXinerama ];

  ...

  meta = with lib; {
    description = "Fork of dwm with flexipatch functionality";
    homepage = "https://github.com/bakkeby/dwm-flexipatch";
    license = licenses.mit;
    maintainers = with maintainers; [ ];
    platforms = platforms.linux;
  };
}
cat /etc/nixos/hosts/common/services/xorg.nix
    ...
    windowManager.session = [{
      name = "myDwm";
      start = ''
          ${pkgs.myDwm}/bin/dwm &
          waitPID=$!
          '';
    }];
       error: attribute 'myDwm' missing
       at /etc/nixos/hosts/common/services/xorg.nix:57:13:
           56|       start = ''
           57|           ${pkgs.myDwm}/bin/dwm &
             |             ^
           58|           waitPID=$!
       Did you mean mlvwm?
★★★★

Последнее исправление: bryak (всего исправлений: 1)

waitPID=$!

Не перестаю угорать с nix. Это же надо было додуматься изобрести специальный НЁХ функциональный язык, а потом подмешивать туда дедовские императивные баш портянки.

ox55ff ★★★★★
()