nixos: gen 113 @ nix-pad — 2026-07-22 23:02
26.05.20260717.293d6ab (Yarara)
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
security.rtkit.enable = true;
|
||||
services.avahi.enable = true;
|
||||
services.pulseaudio.enable = false;
|
||||
|
||||
systemd.user.services.mpris-proxy = {
|
||||
description = "Mpris proxy";
|
||||
after = [ "network.target" "sound.target" ];
|
||||
wantedBy = [ "default.target" ];
|
||||
};
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
raopOpenFirewall = true;
|
||||
|
||||
# Dynamic, optimized buffer sizes to eliminate data starvation
|
||||
extraConfig.pipewire = {
|
||||
"context.properties" = {
|
||||
"default.clock.rate" = 48000;
|
||||
"default.clock.quantum" = 1024;
|
||||
"default.clock.min-quantum" = 512;
|
||||
"default.clock.max-quantum" = 2048;
|
||||
};
|
||||
|
||||
"10-airplay" = {
|
||||
"context-modules" = [
|
||||
{
|
||||
name = "libpipewire-module-raop-discover";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
wireplumber.extraConfig = {
|
||||
"10-bluetooth-policy" = {
|
||||
"wireplumber.settings" = {
|
||||
"bluetooth.autoswitch-to-headset" = false;
|
||||
};
|
||||
};
|
||||
|
||||
# Properly disables node suspension using WirePlumber 0.5+ syntax
|
||||
"10-disable-suspend" = {
|
||||
"monitor.bluez.rules" = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
"node.name" = "~bluez_output.*";
|
||||
}
|
||||
];
|
||||
actions = {
|
||||
update-props = {
|
||||
"session.suspend-timeout-seconds" = 0;
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# Force High Quality Audio profiles ONLY (Blocks Handsfree Mic Downgrades)
|
||||
"11-bluetooth-enhancements" = {
|
||||
"monitor.bluez.properties" = {
|
||||
"bluez5.roles" = [ "a2dp_sink" "a2dp_source" ];
|
||||
"bluez5.codecs" = [ "aac" "aptx" "sbc" ];
|
||||
"bluez5.enable-sbc-xq" = false;
|
||||
"bluez5.enable-hw-volume" = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
{
|
||||
imports = [
|
||||
./audio.nix
|
||||
./boot.nix
|
||||
./env.nix
|
||||
./locale.nix
|
||||
|
||||
+5
-1
@@ -8,6 +8,10 @@
|
||||
nerd-fonts.hack
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
|
||||
nix.settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
@@ -26,10 +30,10 @@
|
||||
|
||||
shellAliases = {
|
||||
enix = "nvim $HOME/.dotfiles/flake.nix";
|
||||
unix = "sudo nixos-rebuild switch --flake $HOME/.dotfiles#thinkpad";
|
||||
ehome = "nvim $HOME/.dotfiles/home/jashton.nix";
|
||||
l = "ls -la";
|
||||
ports = "cat $HOME/.dotfiles/ports.registry";
|
||||
accentum = "bluetoothctl connect 80:C3:BA:50:43:DF";
|
||||
};
|
||||
|
||||
ohMyZsh = {
|
||||
|
||||
@@ -13,7 +13,16 @@
|
||||
firefox
|
||||
git
|
||||
github-cli
|
||||
gnomeExtensions.blur-my-shell
|
||||
gnomeExtensions.caffeine
|
||||
gnomeExtensions.clipboard-indicator
|
||||
gnomeExtensions.dash-to-panel
|
||||
gnomeExtensions.gjs-osk
|
||||
gnomeExtensions.gsconnect
|
||||
gnomeExtensions.just-perfection
|
||||
gnomeExtensions.removable-drive-menu
|
||||
gnome-keyring
|
||||
gnome-network-displays
|
||||
google-chrome
|
||||
libnotify
|
||||
mypy
|
||||
@@ -23,13 +32,54 @@
|
||||
picom
|
||||
polkit_gnome
|
||||
pulseaudioFull
|
||||
rnote
|
||||
tldr
|
||||
tmux
|
||||
unrar
|
||||
unzip
|
||||
v4l-utils
|
||||
vim
|
||||
wget
|
||||
xclip
|
||||
xournalpp
|
||||
|
||||
(pkgs.writeShellScriptBin "unix" ''
|
||||
set -u
|
||||
|
||||
DOTFILES="$HOME/.dotfiles"
|
||||
ERRFILE=$(mktemp)
|
||||
trap "rm -f '$ERRFILE'" EXIT
|
||||
|
||||
echo "Building NixOS..."
|
||||
sudo nixos-rebuild switch --flake "$DOTFILES#thinkpad" 2>&1 | tee "$ERRFILE"
|
||||
STATUS=''${PIPESTATUS[0]}
|
||||
|
||||
if [ "$STATUS" -ne 0 ]; then
|
||||
PATTERN=$(find "$DOTFILES" -type f -name "*.nix" -printf "%f\n" | sort -u | tr '\n' '|' | sed 's/|$//')
|
||||
MATCHES=$(grep -E "$PATTERN" "$ERRFILE" | sort -u)
|
||||
if [ -n "$MATCHES" ]; then
|
||||
printf '\nErrors in repo files:\n%s\n' "$MATCHES"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
GEN=$(readlink /nix/var/nix/profiles/system | sed 's/system-\([0-9]*\)-link/\1/')
|
||||
VER=$(nixos-version)
|
||||
TIMESTAMP=$(date '+%Y-%m-%d %H:%M')
|
||||
|
||||
cd "$DOTFILES"
|
||||
|
||||
if [ -z "$(${pkgs.git}/bin/git status --porcelain)" ]; then
|
||||
echo "Generation $GEN active — no config changes to commit."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
${pkgs.git}/bin/git add -A
|
||||
${pkgs.git}/bin/git commit -m "nixos: gen $GEN @ $(hostname) — $TIMESTAMP
|
||||
|
||||
$VER"
|
||||
${pkgs.git}/bin/git push
|
||||
'')
|
||||
];
|
||||
|
||||
programs.firefox.enable = true;
|
||||
|
||||
@@ -10,5 +10,11 @@
|
||||
security = {
|
||||
polkit.enable = true;
|
||||
rtkit.enable = true;
|
||||
|
||||
tpm2 = {
|
||||
enable = true;
|
||||
pkcs11.enable = true;
|
||||
tctiEnvironment.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
isNormalUser = true;
|
||||
description = "Josh Ashton";
|
||||
group = "jashton";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
extraGroups = [ "networkmanager" "wheel" "tss" "video" ];
|
||||
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
@@ -2,8 +2,12 @@
|
||||
|
||||
{
|
||||
services = {
|
||||
displayManager = {
|
||||
ly.enable = true;
|
||||
displayManager.gdm.enable = true;
|
||||
desktopManager.gnome.enable = true;
|
||||
gnome = {
|
||||
core-apps.enable = true;
|
||||
core-developer-tools.enable = true;
|
||||
games.enable = true;
|
||||
};
|
||||
|
||||
xserver = {
|
||||
@@ -27,13 +31,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
picom = {
|
||||
enable = true;
|
||||
backend = "glx";
|
||||
vSync = true;
|
||||
};
|
||||
|
||||
|
||||
libinput = {
|
||||
enable = true;
|
||||
};
|
||||
@@ -46,13 +43,5 @@
|
||||
gvfs.enable = true;
|
||||
gnome.gnome-keyring.enable = true;
|
||||
blueman.enable = true;
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
pulse.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user