From a95b70dea4a7d75eaf05b38a63e920d7056add36 Mon Sep 17 00:00:00 2001 From: Frantisek Bohacek Date: Sun, 17 Dec 2023 13:05:19 +0100 Subject: [PATCH] feat: add vivado and ise udev rule packages from flake --- flake.lock | 63 ++++++++++++++++-------- flake.nix | 4 ++ hosts/laptop-phobos/default.nix | 46 +++++++++-------- modules/programs/fpga/vivado/default.nix | 9 ++-- 4 files changed, 75 insertions(+), 47 deletions(-) diff --git a/flake.lock b/flake.lock index 1a359f6..8043af8 100644 --- a/flake.lock +++ b/flake.lock @@ -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", diff --git a/flake.nix b/flake.nix index 381e018..4de34d0 100644 --- a/flake.nix +++ b/flake.nix @@ -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, ... }: diff --git a/hosts/laptop-phobos/default.nix b/hosts/laptop-phobos/default.nix index c4b8b3b..f687c5a 100644 --- a/hosts/laptop-phobos/default.nix +++ b/hosts/laptop-phobos/default.nix @@ -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; diff --git a/modules/programs/fpga/vivado/default.nix b/modules/programs/fpga/vivado/default.nix index cd779f1..dad2270 100644 --- a/modules/programs/fpga/vivado/default.nix +++ b/modules/programs/fpga/vivado/default.nix @@ -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 ]; } -- 2.48.1