fastfetch-cli / fastfetch

An actively maintained, feature-rich and performance oriented, neofetch like system information tool.
MIT License
9.39k stars 384 forks source link

[BUG] NixOS Packages not being detected #937

Closed HeitorAugustoLN closed 3 months ago

HeitorAugustoLN commented 3 months ago

General description of bug:

Often helpful information:

Screenshot: image

The content of the configuration file you use (if any):

{
  "display": {
    "size": {
      "maxPrefix": "MB",
      "ndigits": 0
    }
  },
  "modules": [
    "title",
    "separator",
    "os",
    "host",
    "kernel",
    "uptime",
    "packages",
    "shell",
    {
      "compactType": "original",
      "key": "Resolution",
      "type": "display"
    },
    "de",
    "wm",
    "wmtheme",
    "theme",
    "icons",
    "terminal",
    {
      "format": "{/2}{-}{/}{2}{?3} {3}{?}",
      "type": "terminalfont"
    },
    "cpu",
    {
      "key": "GPU",
      "type": "gpu"
    },
    {
      "format": "{/1}{-}{/}{/2}{-}{/}{} / {}",
      "type": "memory"
    },
    "break",
    "colors"
  ]
}

Output of fastfetch -c ci.jsonc --format json (Removed some content that such as Public IP, Location, Weather and Media):

[
  {
    "type": "Title",
    "result": {
      "userName": "heitor",
      "hostName": "Charmander",
      "homeDir": "/home/heitor/",
      "exePath": "/nix/store/m9j5k7ny5wskpsfz0d6cwdhkha20m28b-fastfetch-2.12.0/bin/.fastfetch-wrapped",
      "userShell": "/run/current-system/sw/bin/fish",
      "pageSize": 4096
    },
    "stat": 0
  },
  {
    "type": "Separator",
    "error": "Unsupported for JSON format",
    "stat": 0
  },
  {
    "type": "OS",
    "result": {
      "buildID": "24.05.20240515.33d1e75",
      "codename": "uakari",
      "id": "nixos",
      "idLike": "",
      "name": "NixOS",
      "prettyName": "NixOS 24.05 (Uakari)",
      "variant": "",
      "variantID": "",
      "version": "24.05",
      "versionID": "24.05"
    },
    "stat": 0
  },
  {
    "type": "Host",
    "result": {
      "family": "",
      "name": "H310M H",
      "version": "",
      "sku": "",
      "vendor": "Gigabyte Technology Co., Ltd.",
      "serial": "",
      "uuid": ""
    },
    "stat": 0
  },
  {
    "type": "Bios",
    "result": {
      "date": "11/05/2021",
      "release": "5.13",
      "vendor": "American Megatrends Inc.",
      "version": "F16",
      "type": "UEFI"
    },
    "stat": 0
  },
  {
    "type": "Board",
    "result": {
      "name": "H310M H",
      "vendor": "Gigabyte Technology Co., Ltd.",
      "version": "",
      "serial": ""
    },
    "stat": 0
  },
  {
    "type": "Chassis",
    "result": {
      "type": "Desktop",
      "vendor": "",
      "version": "",
      "serial": ""
    },
    "stat": 0
  },
  {
    "type": "Kernel",
    "result": {
      "architecture": "x86_64",
      "name": "Linux",
      "release": "6.9.0",
      "version": "#1-NixOS SMP PREEMPT_DYNAMIC Sun May 12 21:12:29 UTC 2024",
      "displayVersion": ""
    },
    "stat": 0
  },
  {
    "type": "Uptime",
    "result": {
      "uptime": 2570000,
      "bootTime": "2024-05-18T21:31:43.848-0300"
    },
    "stat": 0
  },
  {
    "type": "Loadavg",
    "result": [
      0.4970703125,
      0.54052734375,
      0.6484375
    ],
    "stat": 0
  },
  {
    "type": "Processes",
    "result": 271,
    "stat": 0
  },
  {
    "type": "Packages",
    "result": {
      "all": 1503,
      "apk": 0,
      "brew": 0,
      "brewCask": 0,
      "choco": 0,
      "dpkg": 0,
      "emerge": 0,
      "eopkg": 0,
      "flatpakSystem": 0,
      "flatpakUser": 0,
      "nixDefault": 0,
      "nixSystem": 1503,
      "nixUser": 0,
      "pacman": 0,
      "paludis": 0,
      "pkg": 0,
      "pkgtool": 0,
      "macports": 0,
      "rpm": 0,
      "scoop": 0,
      "snap": 0,
      "winget": 0,
      "xbps": 0,
      "opkg": 0,
      "am": 0,
      "sorcery": 0,
      "pacmanBranch": ""
    },
    "stat": 28
  },
  {
    "type": "Shell",
    "result": {
      "exe": "/run/current-system/sw/bin/fish",
      "exeName": "fish",
      "exePath": "/nix/store/qsw6vj5mrr2sn06gcf7v77v2n1walcwr-fish-3.7.1/bin/fish",
      "pid": 11422,
      "ppid": 10994,
      "processName": "fish",
      "prettyName": "fish",
      "version": "3.7.1",
      "tty": 0
    },
    "stat": 2
  },
  {
    "type": "Display",
    "result": [
      {
        "width": 1920,
        "height": 1080,
        "id": 0,
        "name": "2260WG5",
        "primary": false,
        "refreshRate": 60.0,
        "rotation": 0,
        "scaledHeight": 1080,
        "scaledWidth": 1920,
        "type": "External"
      }
    ],
    "stat": 6
  },
  {
    "type": "Brightness",
    "result": [],
    "stat": 65
  },
  {
    "type": "Monitor",
    "result": [
      {
        "hdrCompatible": false,
        "name": "2260WG5",
        "resolution": {
          "width": 1920,
          "height": 1080
        },
        "physical": {
          "height": 268,
          "width": 477
        },
        "manufactureDate": {
          "year": 2019,
          "week": 15
        },
        "serial": 111
      }
    ],
    "stat": 0
  },
  {
    "type": "LM",
    "result": {
      "service": "sddm",
      "type": "Wayland",
      "version": ""
    },
    "stat": 0
  },
  {
    "type": "DE",
    "result": {
      "processName": "plasmashell",
      "prettyName": "KDE Plasma",
      "version": ""
    },
    "stat": 1
  },
  {
    "type": "WM",
    "result": {
      "processName": "kwin_wayland_wrapper",
      "prettyName": "KWin",
      "protocolName": "Wayland",
      "pluginName": ""
    },
    "stat": 0
  },
  {
    "type": "WMTheme",
    "result": "Breeze",
    "stat": 0
  },
  {
    "type": "Theme",
    "result": "Breeze (Dark) [QT]",
    "stat": 0
  },
  {
    "type": "Icons",
    "result": "breeze-dark [QT], breeze-dark [GTK2/3/4]",
    "stat": 0
  },
  {
    "type": "Font",
    "result": {
      "display": "Noto Sans (10pt) [QT], Noto Sans (10pt) [GTK2/3/4]",
      "fonts": [
        "Noto Sans (10pt)",
        "Noto Sans (10pt)",
        "Noto Sans (10pt)",
        "Noto Sans (10pt)"
      ]
    },
    "stat": 0
  },
  {
    "type": "Cursor",
    "result": {
      "theme": "breeze_cursors",
      "size": "24"
    },
    "stat": 0
  },
  {
    "type": "Wallpaper",
    "result": "/nix/store/kvn378g903d15hcmsyd1dfjrinxw8axf-source/art/girl_retrowave.png",
    "stat": 0
  },
  {
    "type": "Terminal",
    "result": {
      "processName": ".konsole-wrappe",
      "exe": "/run/current-system/sw/bin/konsole",
      "exeName": "konsole",
      "exePath": "/nix/store/z1zyid8lk2kc9xcxc438j2m87xg9qdl7-konsole-24.02.2/bin/.konsole-wrapped",
      "pid": 10957,
      "ppid": 2050,
      "prettyName": ".konsole-wrappe",
      "version": "",
      "tty": "/dev/pts/0"
    },
    "stat": 0
  },
  {
    "type": "TerminalFont",
    "error": "Unknown terminal: .konsole-wrappe",
    "stat": 0
  },
  {
    "type": "TerminalSize",
    "result": {
      "columns": 210,
      "rows": 46,
      "width": 1891,
      "height": 934
    },
    "stat": 0
  },
  {
    "type": "TerminalTheme",
    "result": {
      "fg": {
        "r": 255,
        "g": 255,
        "b": 255,
        "dark": false
      },
      "bg": {
        "r": 0,
        "g": 0,
        "b": 0,
        "dark": true
      }
    },
    "stat": 0
  },
  {
    "type": "CPU",
    "result": {
      "cpu": "Intel(R) Core(TM) i5-9400F",
      "vendor": "GenuineIntel",
      "cores": {
        "physical": 6,
        "logical": 6,
        "online": 6
      },
      "frequency": {
        "base": 2.9,
        "max": 4.1,
        "min": 0.8
      },
      "temperature": null
    },
    "stat": 1
  },
  {
    "type": "CPUUsage",
    "result": [
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0
    ],
    "stat": 200
  },
  {
    "type": "GPU",
    "result": [
      {
        "coreCount": null,
        "memory": {
          "dedicated": {
            "total": null,
            "used": null
          },
          "shared": {
            "total": null,
            "used": null
          }
        },
        "driver": "amdgpu",
        "name": "AMD Radeon RX 5500 XT",
        "temperature": null,
        "type": "Discrete",
        "vendor": "AMD",
        "platformApi": "",
        "frequency": null
      }
    ],
    "stat": 1
  },
  {
    "type": "Memory",
    "result": {
      "total": 16686178304,
      "used": 4202713088
    },
    "stat": 0
  },
  {
    "type": "PhysicalMemory",
    "error": "Failed to get SMBIOS data",
    "stat": 0
  },
  {
    "type": "Swap",
    "result": {
      "total": 8589930496,
      "used": 0
    },
    "stat": 0
  },
  {
    "type": "Disk",
    "result": [
      {
        "bytes": {
          "available": 211664015360,
          "free": 212857147392,
          "total": 230375292928,
          "used": 17518145536
        },
        "files": {
          "total": null,
          "used": null
        },
        "filesystem": "btrfs",
        "mountpoint": "/",
        "mountFrom": "/dev/dm-1",
        "name": "",
        "volumeType": [
          "Regular"
        ],
        "createTime": "2024-05-14T19:23:05.775-0300"
      },
      {
        "bytes": {
          "available": 922554368,
          "free": 922554368,
          "total": 1071624192,
          "used": 149069824
        },
        "files": {
          "total": null,
          "used": null
        },
        "filesystem": "vfat",
        "mountpoint": "/boot",
        "mountFrom": "/dev/sda1",
        "name": "disk-ssd-boot",
        "volumeType": [
          "Hidden"
        ],
        "createTime": null
      },
      {
        "bytes": {
          "available": 944886046720,
          "free": 946675589120,
          "total": 1000186314752,
          "used": 53510725632
        },
        "files": {
          "total": null,
          "used": null
        },
        "filesystem": "btrfs",
        "mountpoint": "/home",
        "mountFrom": "/dev/mapper/home",
        "name": "",
        "volumeType": [
          "Regular"
        ],
        "createTime": "2024-05-14T19:22:32.147-0300"
      },
      {
        "bytes": {
          "available": 211664015360,
          "free": 212857147392,
          "total": 230375292928,
          "used": 17518145536
        },
        "files": {
          "total": null,
          "used": null
        },
        "filesystem": "btrfs",
        "mountpoint": "/nix",
        "mountFrom": "/dev/dm-1",
        "name": "",
        "volumeType": [
          "Subvolume"
        ],
        "createTime": "2024-05-14T19:23:05.744-0300"
      },
      {
        "bytes": {
          "available": 211664015360,
          "free": 212857147392,
          "total": 230375292928,
          "used": 17518145536
        },
        "files": {
          "total": null,
          "used": null
        },
        "filesystem": "btrfs",
        "mountpoint": "/nix/store",
        "mountFrom": "/dev/dm-1",
        "name": "",
        "volumeType": [
          "Subvolume",
          "Read-only"
        ],
        "createTime": "2024-05-14T21:22:05.622-0300"
      },
      {
        "bytes": {
          "available": 211664015360,
          "free": 212857147392,
          "total": 230375292928,
          "used": 17518145536
        },
        "files": {
          "total": null,
          "used": null
        },
        "filesystem": "btrfs",
        "mountpoint": "/var/log",
        "mountFrom": "/dev/dm-1",
        "name": "",
        "volumeType": [
          "Subvolume"
        ],
        "createTime": "2024-05-14T19:23:05.707-0300"
      }
    ],
    "stat": 1
  },
  {
    "type": "Battery",
    "result": [],
    "stat": 0
  },
  {
    "type": "PowerAdapter",
    "result": [],
    "stat": 0
  },
  {
    "type": "Player",
    "result": {
      "player": "Brave",
      "playerId": "brave.instance5445",
      "url": ""
    },
    "stat": 25
  },
  {
    "type": "Media",
    "result": {
      "song": "",
      "artist": "",
      "album": "",
      "status": ""
    },
    "stat": 0
  },
  {
    "type": "PublicIp",
    "result": {
      "ip": "",
      "location": ""
    },
    "stat": 0
  },
  {
    "type": "LocalIp",
    "result": [
      {
        "defaultRoute": true,
        "ipv4": "",
        "ipv6": "",
        "mac": "",
        "name": "enp5s0"
      }
    ],
    "stat": 0
  },
  {
    "type": "Wifi",
    "result": [
      {
        "inf": {
          "description": "wlp4s0",
          "status": "Disconnected"
        },
        "conn": {
          "status": "",
          "ssid": "",
          "bssid": "",
          "protocol": "",
          "security": "",
          "signalQuality": null,
          "rxRate": null,
          "txRate": null
        }
      }
    ],
    "stat": 42
  },
  {
    "type": "DateTime",
    "result": "2024-05-18T20:48:54.220-0300",
    "stat": 0
  },
  {
    "type": "Locale",
    "result": "pt_BR.UTF-8",
    "stat": 0
  },
  {
    "type": "Vulkan",
    "result": {
      "apiVersion": "1.3.274",
      "conformanceVersion": "1.2.1",
      "driver": "radv [Mesa 24.0.6]",
      "gpus": [
        {
          "type": "Discrete",
          "vendor": "AMD",
          "name": "AMD Radeon RX 5500 XT (RADV NAVI14)",
          "driver": "Mesa 24.0.6",
          "platformApi": "Vulkan 1.3.274",
          "memory": {
            "dedicated": {
              "total": 8589934592,
              "used": null
            },
            "shared": {
              "total": 8343089152,
              "used": null
            }
          },
          "deviceId": 29504
        }
      ]
    },
    "stat": 111
  },
  {
    "type": "OpenGL",
    "result": {
      "version": "4.6 (Compatibility Profile) Mesa 24.0.6",
      "renderer": "AMD Radeon RX 5500 XT (radeonsi, navi14, LLVM 17.0.6, DRM 3.57, 6.9.0)",
      "vendor": "AMD",
      "slv": "4.60"
    },
    "stat": 37
  },
  {
    "type": "OpenCL",
    "error": "clGetPlatformIDs returned 0 platforms",
    "stat": 1
  },
  {
    "type": "Users",
    "result": [
      {
        "name": "heitor",
        "hostName": "",
        "sessionName": "",
        "clientIp": "0.0.0.0",
        "loginTime": "2024-05-18T20:06:37.672-0300"
      }
    ],
    "stat": 0
  },
  {
    "type": "Bluetooth",
    "error": "Failed to call GetManagedObjects",
    "stat": 1
  },
  {
    "type": "Sound",
    "result": [
      {
        "active": true,
        "main": false,
        "volume": 39,
        "name": "Navi 10 HDMI Audio Digital Stereo (HDMI 6)",
        "identifier": "alsa_output.pci-0000_03_00.1.hdmi-stereo-extra5"
      },
      {
        "active": true,
        "main": true,
        "volume": 100,
        "name": "USB Audio Device Estéreo analógico",
        "identifier": "alsa_output.usb-GeneralPlus_USB_Audio_Device-00.analog-stereo"
      }
    ],
    "stat": 7
  },
  {
    "type": "Camera",
    "result": [],
    "stat": 0
  },
  {
    "type": "Gamepad",
    "result": [],
    "stat": 0
  },
  {
    "type": "Weather",
    "result": "",
    "stat": 27
  },
  {
    "type": "NetIO",
    "result": [
      {
        "name": "enp5s0",
        "defaultRoute": true,
        "txBytes": 1080,
        "rxBytes": 1552,
        "txPackets": 14,
        "rxPackets": 10,
        "rxErrors": 0,
        "txErrors": 0,
        "rxDrops": 0,
        "txDrops": 0
      }
    ],
    "stat": 445
  },
  {
    "type": "DiskIO",
    "result": [
      {
        "name": "ATA ST1000DM010-2EP1",
        "devPath": "/dev/sdb",
        "bytesRead": 0,
        "bytesWritten": 2695168,
        "readCount": 0,
        "writeCount": 49
      },
      {
        "name": "General UDisk",
        "devPath": "/dev/sdc",
        "bytesRead": 0,
        "bytesWritten": 0,
        "readCount": 0,
        "writeCount": 0
      },
      {
        "name": "ATA KINGSTON SA400S3",
        "devPath": "/dev/sda",
        "bytesRead": 24113152,
        "bytesWritten": 73728,
        "readCount": 133,
        "writeCount": 7
      }
    ],
    "stat": 1
  },
  {
    "type": "PhysicalDisk",
    "result": [
      {
        "name": "ATA ST1000DM010-2EP1",
        "devPath": "/dev/sdb",
        "interconnect": "ATA",
        "kind": "HDD",
        "size": 1000204886016,
        "serial": "",
        "removable": false,
        "readOnly": false,
        "revision": "",
        "temperature": null
      },
      {
        "name": "General UDisk",
        "devPath": "/dev/sdc",
        "interconnect": "USB",
        "kind": "HDD",
        "size": 31457280000,
        "serial": "",
        "removable": true,
        "readOnly": false,
        "revision": "",
        "temperature": null
      },
      {
        "name": "ATA KINGSTON SA400S3",
        "devPath": "/dev/sda",
        "interconnect": "ATA",
        "kind": "SSD",
        "size": 240057409536,
        "serial": "",
        "removable": false,
        "readOnly": false,
        "revision": "",
        "temperature": null
      }
    ],
    "stat": 1
  },
  {
    "type": "Version",
    "result": {
      "projectName": "fastfetch",
      "architecture": "x86_64",
      "version": "2.12.0",
      "versionTweak": "",
      "cmakeBuiltType": "Release",
      "compileTime": "Jan  1 1980, 00:00:00",
      "compiler": "gcc 13.2.0",
      "debugMode": false,
      "libc": "glibc 2.39"
    },
    "stat": 0
  },
  {
    "type": "Break",
    "error": "Unsupported for JSON format",
    "stat": 0
  },
  {
    "type": "Colors",
    "error": "Unsupported for JSON format",
    "stat": 0
  }
]

Output of fastfetch --list-features:

threads
vulkan
wayland
xcb-randr
xcb
xrandr
x11
gio
dconf
dbus
imagemagick7
chafa
zlib
xfconf
sqlite3
egl
glx
opencl
libpulse
libnm
libddcutil
Proprietary GPU driver API
System yyjson
linux/videodev2
linux/wireless

If fastfatch crashed or freezed

Paste the stacktrace here. You may get it with:

# You may need Ctrl+C to stop the process if it freezes
gdb -q -ex 'set confirm off' -ex run -ex 'bt full' -ex quit --args /path/to/fastfetch

If you are able to identify which module crashed, the strace can be helpful too

strace /path/to/fastfetch --multithreading false -s {MODULE} --pipe

If you cannot do the instructions above, please upload the core dump file:

If fastfetch is slow

Use time fastfetch --stat to show time usage for each module.

If my image logo didn't show / work

If fastfetch behaves incorrectly on shell starting

CarterLi commented 3 months ago

The neofetch output for nix package count is inaccurate. Neofetch counts the output of nix-store -qR /run/current-system/sw, which

  1. Misses some packages in /run/current-system/sw/kernel and other folders. diff <(nix-store -qR /run/current-system/sw) <(nix-store -qR /run/current-system)
  2. Incorrectly take a lot of meta packages into account. eg. nix-store -qR /run/current-system/sw | grep -e 'man$'

I don't know why nix-user doesn't work. It does work for me in VM. Maybe remove this line https://github.com/fastfetch-cli/fastfetch/pull/844/files#diff-7e1606f87baf0c6ee9d09351142102852dc3b5e7db95290e5774287d6d93ae8aR514 @xoltia

HeitorAugustoLN commented 3 months ago

The neofetch output for nix package count is inaccurate. Neofetch counts the output of nix-store -qR /run/current-system/sw, which

  1. Misses some packages in /run/current-system/sw/kernel and other folders. diff <(nix-store -qR /run/current-system/sw) <(nix-store -qR /run/current-system)
  2. Incorrectly take a lot of meta packages into account. eg. nix-store -qR /run/current-system/sw | grep -e 'man$'

I don't know why nix-user doesn't work. It does work for me in VM. Maybe remove this line https://github.com/fastfetch-cli/fastfetch/pull/844/files#diff-7e1606f87baf0c6ee9d09351142102852dc3b5e7db95290e5774287d6d93ae8aR514 @xoltia

Oh, i didn't know that. Maybe it is not working because both .nix-profile and $XDG_STATE_HOME/nix/profile exists for me, but i'm not sure

HeitorAugustoLN commented 3 months ago

Nice!