34 lines
907 B
Nix
34 lines
907 B
Nix
# System-manager module for Ubuntu systems
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
workshopPackages = import ./packages.nix { inherit pkgs; };
|
|
in
|
|
{
|
|
config = {
|
|
nixpkgs.hostPlatform = "x86_64-linux";
|
|
|
|
environment.systemPackages = workshopPackages;
|
|
|
|
# Create a script to configure perf permissions
|
|
# (system-manager cannot set sysctl directly)
|
|
environment.etc."perf-workshop-setup.sh" = {
|
|
mode = "0755";
|
|
text = ''
|
|
#!/bin/sh
|
|
# Run this script to enable perf for non-root users
|
|
echo "Setting kernel.perf_event_paranoid=1..."
|
|
sudo sysctl -w kernel.perf_event_paranoid=1
|
|
|
|
# Make it persistent
|
|
if ! grep -q "kernel.perf_event_paranoid" /etc/sysctl.conf 2>/dev/null; then
|
|
echo "kernel.perf_event_paranoid=1" | sudo tee -a /etc/sysctl.conf
|
|
echo "Added to /etc/sysctl.conf for persistence"
|
|
fi
|
|
|
|
echo "Done! You can now use perf as a regular user."
|
|
'';
|
|
};
|
|
};
|
|
}
|