~ruther/nixos-config

a95b70dea4a7d75eaf05b38a63e920d7056add36 — Frantisek Bohacek 1 year, 3 months ago a2dcbf6
feat: add vivado and ise udev rule packages from flake
4 files changed, 75 insertions(+), 47 deletions(-)

M flake.lock
M flake.nix
M hosts/laptop-phobos/default.nix
M modules/programs/fpga/vivado/default.nix
M flake.lock => flake.lock +42 -21
@@ 166,11 166,11 @@
        ]
      },
      "locked": {
        "lastModified": 1702195734,
        "narHash": "sha256-MvQa1qT+10dqJyMKtACCpFOcFYIv9i/REek1bHaIhS4=",
        "lastModified": 1702538064,
        "narHash": "sha256-At5GwJPu2tzvS9dllhBoZmqK6lkkh/sOp2YefWRlaL8=",
        "owner": "nix-community",
        "repo": "home-manager",
        "rev": "9a00befa13126e318fa4b895adeb84d383c9ab3f",
        "rev": "0e2e443ff24f9d75925e91b89d1da44b863734af",
        "type": "github"
      },
      "original": {


@@ 207,6 207,26 @@
        "type": "github"
      }
    },
    "nix-fpga-tools": {
      "inputs": {
        "nixpkgs": [
          "nixpkgs"
        ]
      },
      "locked": {
        "lastModified": 1702802881,
        "narHash": "sha256-3E5S2U4GR9H7UHrnSa/4LCsXKwnUOV0U3TUi/DG2U7Q=",
        "owner": "Rutherther",
        "repo": "nix-fpga",
        "rev": "2dd85fb998ba856c8e76a5253dfd3758a899dac3",
        "type": "github"
      },
      "original": {
        "owner": "Rutherther",
        "repo": "nix-fpga",
        "type": "github"
      }
    },
    "nix-index-database": {
      "inputs": {
        "nixpkgs": [


@@ 214,11 234,11 @@
        ]
      },
      "locked": {
        "lastModified": 1702177733,
        "narHash": "sha256-lr3hkmmuqDFPj3i41cHpaALF3Txo3kxsJ3L6jZLujJ8=",
        "lastModified": 1702291765,
        "narHash": "sha256-kfxavgLKPIZdYVPUPcoDZyr5lleymrqbr5G9PVfQ2NY=",
        "owner": "nix-community",
        "repo": "nix-index-database",
        "rev": "58ecd98e27e27fcbb27a51a588555c828b1ec56e",
        "rev": "45d82e0a8b9dd6c5dd9da835ac0c072239af7785",
        "type": "github"
      },
      "original": {


@@ 236,11 256,11 @@
        ]
      },
      "locked": {
        "lastModified": 1702171449,
        "narHash": "sha256-y7wJKjG89YP5TmxFl2jj7WnICqzf/k8z7uJ89J1WBCk=",
        "lastModified": 1702516730,
        "narHash": "sha256-j8EcP04dsvI0bJNC+44pvkdhkvMM2SYOpCt8FGLGr1E=",
        "owner": "nix-community",
        "repo": "nix-vscode-extensions",
        "rev": "99ab3dc46bfe1b39cc30287daca654bbf1f73302",
        "rev": "edf4473be9f0becf2567db862b1d2fe7075de41c",
        "type": "github"
      },
      "original": {


@@ 272,11 292,11 @@
    },
    "nixos-hardware": {
      "locked": {
        "lastModified": 1701656485,
        "narHash": "sha256-xDFormrGCKKGqngHa2Bz1GTeKlFMMjLnHhTDRdMJ1hs=",
        "lastModified": 1702453208,
        "narHash": "sha256-0wRi9SposfE2wHqjuKt8WO2izKB/ASDOV91URunIqgo=",
        "owner": "NixOS",
        "repo": "nixos-hardware",
        "rev": "fa194fc484fd7270ab324bb985593f71102e84d1",
        "rev": "7763c6fd1f299cb9361ff2abf755ed9619ef01d6",
        "type": "github"
      },
      "original": {


@@ 288,11 308,11 @@
    },
    "nixpkgs": {
      "locked": {
        "lastModified": 1701718080,
        "narHash": "sha256-6ovz0pG76dE0P170pmmZex1wWcQoeiomUZGggfH9XPs=",
        "lastModified": 1702312524,
        "narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
        "owner": "nixos",
        "repo": "nixpkgs",
        "rev": "2c7f3c0fb7c08a0814627611d9d7d45ab6d75335",
        "rev": "a9bf124c46ef298113270b1f84a164865987a91c",
        "type": "github"
      },
      "original": {


@@ 320,11 340,11 @@
    },
    "nixpkgs-stable_2": {
      "locked": {
        "lastModified": 1701805708,
        "narHash": "sha256-hh0S14E816Img0tPaNQSEKFvSscSIrvu1ypubtfh6M4=",
        "lastModified": 1702350026,
        "narHash": "sha256-A+GNZFZdfl4JdDphYKBJ5Ef1HOiFsP18vQe9mqjmUis=",
        "owner": "nixos",
        "repo": "nixpkgs",
        "rev": "0561103cedb11e7554cf34cea81e5f5d578a4753",
        "rev": "9463103069725474698139ab10f17a9d125da859",
        "type": "github"
      },
      "original": {


@@ 336,11 356,11 @@
    },
    "nur": {
      "locked": {
        "lastModified": 1702197840,
        "narHash": "sha256-2ehZcpdU+4thpykyABbUF1cjDMocR+VM1YFMv5G4rc4=",
        "lastModified": 1702564911,
        "narHash": "sha256-lrKHEhLkwZYnRIPJ6Y1fsBUmw9N4adm7Aje+60kU5NM=",
        "owner": "nix-community",
        "repo": "NUR",
        "rev": "5c3f53c97e6f52f7a771a5ccdcbe4b76c23d4675",
        "rev": "743c9976764a2888edee27cd247c382368e06efa",
        "type": "github"
      },
      "original": {


@@ 384,6 404,7 @@
      "inputs": {
        "home-manager": "home-manager",
        "lanzaboote": "lanzaboote",
        "nix-fpga-tools": "nix-fpga-tools",
        "nix-index-database": "nix-index-database",
        "nix-vscode-extensions": "nix-vscode-extensions",
        "nixgl": "nixgl",

M flake.nix => flake.nix +4 -0
@@ 52,6 52,10 @@
        inputs.nixpkgs.follows = "nixpkgs";
      };

      nix-fpga-tools = {
        url = "github:Rutherther/nix-fpga";
        inputs.nixpkgs.follows = "nixpkgs";
      };
    };

  outputs = inputs @ { self, nixpkgs, nixpkgs-stable, nix-index-database, home-manager, nur, nixgl, nixos-hardware, lanzaboote, ... }:

M hosts/laptop-phobos/default.nix => hosts/laptop-phobos/default.nix +25 -21
@@ 88,29 88,33 @@
  };

  services = {
    # tlp.enable = true;                      # TLP and auto-cpufreq for power management
    # auto-cpufreq.enable = true;
    logind.lidSwitch = "suspend";           # suspend on lid close

    udev.extraRules = ''
      # Trezor: The Original Hardware Wallet
      # https://trezor.io/
      #
      # Put this file into /etc/udev/rules.d
      #
      # If you are creating a distribution package,
      # put this into /usr/lib/udev/rules.d or /lib/udev/rules.d
      # depending on your distribution

      # Trezor
      SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"
      KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"

      # Trezor v2
      SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c0", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"
      SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c1", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"
      KERNEL=="hidraw*", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"
    '';
    udev = {
      packages = [
        inputs.nix-fpga-tools.packages.x86_64-linux.ise-udev-rules
        inputs.nix-fpga-tools.packages.x86_64-linux.vivado-udev-rules
      ];
      extraRules = ''
        # Trezor: The Original Hardware Wallet
        # https://trezor.io/
        #
        # Put this file into /etc/udev/rules.d
        #
        # If you are creating a distribution package,
        # put this into /usr/lib/udev/rules.d or /lib/udev/rules.d
        # depending on your distribution

        # Trezor
        SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"
        KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"

        # Trezor v2
        SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c0", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"
        SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c1", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"
        KERNEL=="hidraw*", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"
      '';
    };

    xserver.libinput = {
      enable = true;

M modules/programs/fpga/vivado/default.nix => modules/programs/fpga/vivado/default.nix +4 -5
@@ 1,9 1,8 @@
{ config, lib, pkgs, vivadoPath, ... }:
{ inputs, system, config, lib, pkgs, vivadoPath, ... }:

let
  vivadoPkg = pkgs.callPackage ./vivado-pkg.nix {  };
in {
{
  services.udev.packages = [
    vivadoPkg
    inputs.nix-fpga-tools.packages.x86_64-linux.ise-udev-rules
    inputs.nix-fpga-tools.packages.x86_64-linux.vivado-udev-rules
  ];
}

Do not follow this link