Add sidecar (prebuilt) package + install
This commit is contained in:
@@ -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";
|
# device = "/dev/disk/by-uuid/27febd74-20aa-4a3a-92c1-6fdd1ad7e88e";
|
||||||
fsType = "ext4";
|
# fsType = "ext4";
|
||||||
options = [ "nofail" "x-systemd.device-timeout=1s" ];
|
# options = [ "nofail" "x-systemd.device-timeout=1s" ];
|
||||||
};
|
# };
|
||||||
|
fileSystems."/mnt/integral300" = {
|
||||||
|
device = "/dev/disk/by-uuid/27febd74-20aa-4a3a-92c1-6fdd1ad7e88e";
|
||||||
|
fsType = "ext4";
|
||||||
|
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,15 +313,33 @@ PermitRootLogin = "no";
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Minimal system packages needed for the session and core usability
|
|
||||||
environment.systemPackages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
swappy
|
nerd-fonts.symbols-only
|
||||||
font-awesome
|
font-awesome
|
||||||
nerd-fonts.jetbrains-mono
|
nerd-fonts.jetbrains-mono
|
||||||
spotify
|
];
|
||||||
vlc
|
|
||||||
telegram-desktop
|
# Minimal system packages needed for the session and core usability
|
||||||
flameshot
|
environment.systemPackages = with pkgs; [
|
||||||
|
(pkgs.callPackage ../../pkgs/sidecar-bin.nix { })
|
||||||
|
tmux
|
||||||
|
brave
|
||||||
|
vorta
|
||||||
|
borgbackup
|
||||||
|
libreoffice-fresh
|
||||||
|
filezilla
|
||||||
|
nushell
|
||||||
|
zed-editor
|
||||||
|
brave
|
||||||
|
swappy
|
||||||
|
nerd-fonts.symbols-only
|
||||||
|
font-awesome
|
||||||
|
nerd-fonts.jetbrains-mono
|
||||||
|
spotify
|
||||||
|
vlc
|
||||||
|
telegram-desktop
|
||||||
|
flameshot
|
||||||
waybar
|
waybar
|
||||||
firefox
|
firefox
|
||||||
google-chrome
|
google-chrome
|
||||||
@@ -262,11 +357,19 @@ 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
|
||||||
# ---
|
# ---
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
|
|||||||
31
pkgs/sidecar-bin.nix
Normal file
31
pkgs/sidecar-bin.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user