Add sidecar (prebuilt) package + install

This commit is contained in:
2026-02-12 20:17:50 +11:00
parent 0e5c5afa53
commit 6c37e18206
2 changed files with 151 additions and 17 deletions

View File

@@ -6,6 +6,7 @@
# Stop nouveau from binding the NVIDIA GPU # Stop nouveau from binding the NVIDIA GPU
boot.blacklistedKernelModules = [ "nouveau" ]; boot.blacklistedKernelModules = [ "nouveau" ];
boot.kernelParams = [ boot.kernelParams = [
"nvidia.NVreg_PreserveVideoMemoryAllocations=1"
"intel_iommu=off" "intel_iommu=off"
"dev_mem_signed_off=1" "dev_mem_signed_off=1"
"modprobe.blacklist=nouveau" "modprobe.blacklist=nouveau"
@@ -13,6 +14,11 @@
]; ];
boot.extraModprobeConfig = ''
options nvidia_modeset vblank_sem_control=0
'';
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
@@ -204,12 +210,83 @@ PermitRootLogin = "no";
# --- # ---
# Mounts # Mounts
# --- # ---
fileSystems."/data" = { # fileSystems."/data" = {
# device = "/dev/disk/by-uuid/27febd74-20aa-4a3a-92c1-6fdd1ad7e88e";
# fsType = "ext4";
# options = [ "nofail" "x-systemd.device-timeout=1s" ];
# };
fileSystems."/mnt/integral300" = {
device = "/dev/disk/by-uuid/27febd74-20aa-4a3a-92c1-6fdd1ad7e88e"; device = "/dev/disk/by-uuid/27febd74-20aa-4a3a-92c1-6fdd1ad7e88e";
fsType = "ext4"; fsType = "ext4";
options = [ "nofail" "x-systemd.device-timeout=1s" ]; options = [
"nofail"
"noauto"
"x-systemd.automount"
"x-systemd.idle-timeout=60"
"x-systemd.device-timeout=30s"
];
}; };
fileSystems."/mnt/backup" = {
device = "/dev/disk/by-uuid/0806B92006B90FA4";
fsType = "ntfs3";
options = [
"ro"
"nofail"
"noauto"
"x-systemd.automount"
"x-systemd.idle-timeout=60"
"x-systemd.device-timeout=30s"
"uid=1000"
"gid=100"
"umask=022"
];
};
fileSystems."/mnt/tempbackup" = {
device = "/dev/disk/by-uuid/4f9c4bd5-fea5-408f-9370-731fc095da3f";
fsType = "ext4";
options = [
"nofail"
"noauto"
"x-systemd.automount"
"x-systemd.idle-timeout=60"
"x-systemd.device-timeout=30s"
];
};
fileSystems."/mnt/xpsystemdrive" = {
device = "/dev/disk/by-uuid/82c994f1-9adb-49e4-ba1e-5b6e5ccbd49b";
fsType = "ext4";
options = [
"nofail"
"noauto"
"x-systemd.automount"
"x-systemd.idle-timeout=60"
"x-systemd.device-timeout=30s"
];
};
fileSystems."/mnt/smartdrive" = {
device = "/dev/disk/by-uuid/819c3228-c1af-4d8e-b507-2ad11b20cbef";
fsType = "ext4";
options = [
"nofail"
"noauto"
"x-systemd.automount"
"x-systemd.idle-timeout=60"
"x-systemd.device-timeout=30s"
];
};
systemd.tmpfiles.rules = lib.mkAfter [
"d /mnt/integral300 0755 root root -"
"d /mnt/backup 0755 root root -"
"d /mnt/tempbackup 0755 root root -"
"d /mnt/xpsystemdrive 0755 root root -"
"d /mnt/smartdrive 0755 root root -"
];
# --- # ---
# Niri + login (greetd) # Niri + login (greetd)
# --- # ---
@@ -236,9 +313,27 @@ PermitRootLogin = "no";
]; ];
}; };
fonts.packages = with pkgs; [
nerd-fonts.symbols-only
font-awesome
nerd-fonts.jetbrains-mono
];
# Minimal system packages needed for the session and core usability # Minimal system packages needed for the session and core usability
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
(pkgs.callPackage ../../pkgs/sidecar-bin.nix { })
tmux
brave
vorta
borgbackup
libreoffice-fresh
filezilla
nushell
zed-editor
brave
swappy swappy
nerd-fonts.symbols-only
font-awesome font-awesome
nerd-fonts.jetbrains-mono nerd-fonts.jetbrains-mono
spotify spotify
@@ -262,10 +357,18 @@ services.tailscale.enable = true;
# NVIDIA (simple, first-boot stable config; PRIME tuning later) # NVIDIA (simple, first-boot stable config; PRIME tuning later)
# --- # ---
services.xserver.videoDrivers = [ "nvidia" ]; services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.modesetting.enable = true;
hardware.nvidia.nvidiaSettings = true; hardware.nvidia = {
hardware.nvidia.nvidiaPersistenced = true; modesetting.enable = true;
hardware.nvidia.open = false; nvidiaSettings = true;
nvidiaPersistenced = true;
open = false;
# Helps resume by preserving VRAM allocations:
powerManagement.enable = true;
};
# --- # ---
# NixOS release compatibility # NixOS release compatibility
# --- # ---

31
pkgs/sidecar-bin.nix Normal file
View File

@@ -0,0 +1,31 @@
{ lib, stdenvNoCC, fetchurl }:
stdenvNoCC.mkDerivation {
pname = "sidecar";
version = "0.71.1";
src = fetchurl {
url =
"https://github.com/marcus/sidecar/releases/download/v0.71.1/sidecar_0.71.1_linux_amd64.tar.gz";
sha256 = lib.fakeSha256;
};
dontUnpack = false;
unpackPhase = ''
tar -xzf "$src"
'';
installPhase = ''
mkdir -p "$out/bin"
install -m0755 sidecar "$out/bin/sidecar"
'';
meta = with lib; {
description = "Sidecar terminal dashboard for monitoring AI coding agents";
homepage = "https://github.com/marcus/sidecar";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
mainProgram = "sidecar";
};
}