diff --git a/flake.lock b/flake.lock index 774bc8d..8e996ed 100644 --- a/flake.lock +++ b/flake.lock @@ -14,19 +14,54 @@ "type": "indirect" } }, - "nixpkgs": { + "nixos-hardware_2": { "locked": { - "lastModified": 1695825837, - "narHash": "sha256-4Ne11kNRnQsmSJCRSSNkFRSnHC4Y5gPDBIQGjjPfJiU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "5cfafa12d57374f48bcc36fda3274ada276cf69e", + "lastModified": 1693718952, + "narHash": "sha256-+nGdJlgTk0MPN7NygopipmyylVuAVi7OItIwTlwtGnw=", + "owner": "nixos", + "repo": "nixos-hardware", + "rev": "793de77d9f83418b428e8ba70d1e42c6507d0d35", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-23.05", - "type": "indirect" + "owner": "nixos", + "repo": "nixos-hardware", + "type": "github" + } + }, + "nixos-raspberrypi": { + "inputs": { + "nixos-hardware": "nixos-hardware_2", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1694008706, + "narHash": "sha256-meTmBKNRCx1NO2u8wfQKdsiom4uZ6laWs4WuMXqUCEk=", + "owner": "ramblurr", + "repo": "nixos-raspberrypi", + "rev": "fc75d0b1d67afab2a7275bc131c10b5bf1f48bf6", + "type": "github" + }, + "original": { + "owner": "ramblurr", + "repo": "nixos-raspberrypi", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-unstable": { @@ -44,10 +79,26 @@ "type": "indirect" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1695825837, + "narHash": "sha256-4Ne11kNRnQsmSJCRSSNkFRSnHC4Y5gPDBIQGjjPfJiU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5cfafa12d57374f48bcc36fda3274ada276cf69e", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-23.05", + "type": "indirect" + } + }, "root": { "inputs": { "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", + "nixos-raspberrypi": "nixos-raspberrypi", + "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable" } } diff --git a/flake.nix b/flake.nix index 85efc8a..20a4aaa 100644 --- a/flake.nix +++ b/flake.nix @@ -5,9 +5,11 @@ nixpkgs.url = "nixpkgs/nixos-23.05"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; nixos-hardware.url = "nixos-hardware"; + nixos-raspberrypi.url = "github:ramblurr/nixos-raspberrypi"; + # nixos-raspberrypi.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { nixpkgs, nixos-hardware, nixpkgs-unstable, ... }: + outputs = { nixpkgs, nixos-hardware, nixpkgs-unstable, nixos-raspberrypi, ... }: let overlay-unstable = final: prev: { unstable = import nixpkgs-unstable { @@ -24,6 +26,7 @@ }; nixosSystem = (systemModules: nixpkgs.lib.nixosSystem { modules = systemModules; }); nixos-hw = nixos-hardware.nixosModules; + nixos-rpi = nixos-raspberrypi.nixosModules; in { nixosConfigurations = { @@ -52,6 +55,7 @@ NObangers = nixosSystem [ # ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable-arm ]; }) nixos-hw.raspberry-pi-4 + nixos-rpi.hardware ./systems/BASED.nix ./systems/NObangers.nix ./users/pi.nix diff --git a/systems/NObangers.nix b/systems/NObangers.nix index b2a146a..5628c1c 100644 --- a/systems/NObangers.nix +++ b/systems/NObangers.nix @@ -8,7 +8,7 @@ device = "/dev/disk/by-label/NIXOS_SD"; fsType = "ext4"; options = [ "noatime" ]; - autoResize = true; + # autoResize = true; }; programs.partition-manager.enable = false; @@ -16,8 +16,8 @@ services.btrfs.autoScrub.enable = false; boot = { - # initrd.availableKernelModules = [ "xhci_pci" "usbhid" "usb_storage" ]; - initrd.availableKernelModules = [ "xhci_pci" ]; + initrd.availableKernelModules = [ "xhci_pci" "usbhid" "usb_storage" "vc4" "pcie_brcmstb" "reset-raspberrypi" ]; + # initrd.availableKernelModules = [ "xhci_pci" ]; kernelParams = [ "8250.nr_uarts=1" "cma=128M" @@ -45,80 +45,11 @@ }; deviceTree = { enable = true; - # filter = "bcm2711-rpi-4-*.dtb"; }; }; - hardware.deviceTree.overlays = [{ - name = "hifiberry-dacplusadc"; - dtsText = '' - // Definitions for HiFiBerry DAC+ - /dts-v1/; - /plugin/; - - / { - compatible = "brcm,bcm2711"; - - fragment@0 { - target-path = "/"; - __overlay__ { - dacpro_osc: dacpro_osc { - compatible = "hifiberry,dacpro-clk"; - #clock-cells = <0>; - }; - }; - }; - - fragment@1 { - target = <&i2s>; - __overlay__ { - status = "okay"; - }; - }; - - fragment@2 { - target = <&i2c1>; - __overlay__ { - #address-cells = <1>; - #size-cells = <0>; - status = "okay"; - - pcm5122@4d { - #sound-dai-cells = <0>; - compatible = "ti,pcm5122"; - reg = <0x4d>; - clocks = <&dacpro_osc>; - AVDD-supply = <&vdd_3v3_reg>; - DVDD-supply = <&vdd_3v3_reg>; - CPVDD-supply = <&vdd_3v3_reg>; - status = "okay"; - }; - hpamp: hpamp@60 { - compatible = "ti,tpa6130a2"; - reg = <0x60>; - status = "disabled"; - }; - }; - }; - - fragment@3 { - target = <&sound>; - hifiberry_dacplus: __overlay__ { - compatible = "hifiberry,hifiberry-dacplus"; - i2s-controller = <&i2s>; - status = "okay"; - }; - }; - - __overrides__ { - 24db_digital_gain = - <&hifiberry_dacplus>,"hifiberry,24db_digital_gain?"; - slave = <&hifiberry_dacplus>,"hifiberry-dacplus,slave?"; - leds_off = <&hifiberry_dacplus>,"hifiberry-dacplus,leds_off?"; - }; - }; - ''; - }]; + raspberry-pi.hardware.platform.type = "rpi4"; + raspberry-pi.hardware.hifiberry-dacplus.enable = true; nixpkgs.hostPlatform = "aarch64-linux"; system.stateVersion = "23.11"; diff --git a/users/tao.nix b/users/tao.nix index 35428d9..a7c77e9 100644 --- a/users/tao.nix +++ b/users/tao.nix @@ -42,6 +42,7 @@ zathura zoom-us zoxide + onefetch ]; environment.shells = with pkgs; [ unstable.nushell ];