Save before consolidation

This commit is contained in:
2025-06-25 04:14:23 -07:00
parent 08bfd4be4b
commit 4155ac86ee
4 changed files with 222 additions and 26 deletions

View File

@@ -1,8 +1,8 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
# Edit this configuration file to define what should be installed on your system.
# Help is available in the configuration.nix(5) man page and in the NixOS manual
# (accessible by running nixos-help).
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
{
imports = [
@@ -10,6 +10,32 @@
./hardware-configuration.nix
];
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
boot = {
# Make v4l2loopback kernel module available to NixOS.
extraModulePackages = with config.boot.kernelPackages; [
v4l2loopback
];
# Activate kernel module(s).
kernelModules = [
# Virtual camera.
"v4l2loopback"
# Virtual Microphone. Custom DroidCam v4l2loopback driver needed for audio.
# "snd-aloop"
];
};
boot.extraModprobeConfig = ''
# exclusive_caps: Skype, Zoom, Teams etc. will only show device when actually streaming
# card_label: Name of virtual camera, how it'll show up in Skype, Zoom, Teams
# https://github.com/umlaeute/v4l2loopback
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
'';
#
nix.settings.download-buffer-size = 524288000;
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
@@ -24,6 +50,10 @@
# Enable networking
networking.networkmanager.enable = true;
# hardware.u2f.enable = true;
services.flatpak.enable = true;
# Enable flakes
nix.settings.experimental-features = [
"nix-command"
@@ -64,8 +94,16 @@
# Enable CUPS to print documents.
services.printing.enable = true;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
hardware.xone.enable = true;
# Enable sound with pipewire.
hardware.pulseaudio.enable = false;
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
@@ -91,11 +129,36 @@
"networkmanager"
"wheel"
"input"
"dialout"
"plugdev"
"adbusers"
];
packages = with pkgs; [
# thunderbird
];
};
# users.users.crestline = {
# isNormalUser = true;
# description = "Crestline";
# extraGroups = [
# "networkmanager"
# "wheel"
# "input"
# "dialout"
# ];
# packages = with pkgs; [
# # thunderbird
# ];
# };
#services.displayManager.autoLogin = {
# enable = true;
# user = "crestline";
#};
#services.xserver.displayManager.gdm.autoLogin.delay = 60;
# Install firefox.
programs.firefox.enable = true; # -#
@@ -122,6 +185,8 @@
telegram-desktop
discord
# spotify
vscode-with-extensions
swayimg
pavucontrol
networkmanagerapplet
pasystray
@@ -135,18 +200,138 @@
playerctl
google-chrome
killall
jetbrains.pycharm-professional
#jetbrains.pycharm-professional
wget
jq
rofi-bluetooth
wl-clipboard
networkmanager
alsaUtils
alsa-utils
nixfmt-rfc-style
mako
podman
kicad
obsidian
speedcrunch
deadbeef
vlc
sox
audacity
platformio
# flatcam
pcb2gcode
jetbrains-toolbox
arduino-ide
# python311Full
gcc
stm32cubemx
stm32flash
easyeffects
ncspot
#yubikey-personalization-gui
#yubikey-manager-qt
#zoom-us
mangohud
distrobox
# plex-desktop
rpi-imager
rpiboot
imagemagick
prusa-slicer
freecad
wlogout
gparted
nix-update
ffmpeg-full
projectm_3
heroic
flameshot
krename
xfce.mousepad
yt-dlp
soapysdr
soapyrtlsdr
# sdrpp
# brave
python3
#nodejs_23
streamdeck-ui
scrcpy
kanshi
#wsmancli
#realvnc-vnc-viewer
ncdu
hyprlock
openrgb-with-all-plugins
swayidle
transmission_4-qt
nixos-generators
openwsman
wsmancli
bs-manager
];
services.monado = {
enable = true;
defaultRuntime = true;
highPriority = true;
};
services.hardware.openrgb.enable = true;
services.meshcentral.enable = true;
programs.ydotool.enable = true;
programs.adb.enable = true;
hardware.logitech.wireless.enable = true;
hardware.logitech.wireless.enableGraphical = true;
services.sunshine = {
enable = true;
autoStart = true;
capSysAdmin = true;
openFirewall = true;
};
programs.bash.shellAliases = {
nixrebuild = "cd /etc/nixos && sudo nixos-rebuild switch --flake .#default";
nixupdate = "cd /etc/nixos && sudo nix flake update && sudo nixos-rebuild switch --flake .#default";
nixedit = "sudo nano /etc/nixos/hosts/cap-nr200p/configuration.nix";
scrwebcam = "sudo pkill scrcpy ; sudo modprobe -r v4l2loopback ; sudo modprobe v4l2loopback && nohup scrcpy --camera-facing=back --video-source=camera --v4l2-sink=/dev/video0 --no-window --no-audio-playback 2>&1 1>/dev/null";
};
virtualisation.waydroid.enable = true;
hardware.steam-hardware.enable = true;
virtualisation.podman = {
enable = true;
dockerCompat = true;
};
services.udev.extraRules = ''
# ST-LINK V2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE="600", TAG+="uaccess", SYMLINK+="stlinkv2_%n"
# ST-LINK V2.1
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE="600", TAG+="uaccess", SYMLINK+="stlinkv2-1_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3752", MODE="600", TAG+="uaccess", SYMLINK+="stlinkv2-1_%n"
# ST-LINK V3
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374d", MODE="600", TAG+="uaccess", SYMLINK+="stlinkv3loader_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374e", MODE="600", TAG+="uaccess", SYMLINK+="stlinkv3_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374f", MODE="600", TAG+="uaccess", SYMLINK+="stlinkv3_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3753", MODE="600", TAG+="uaccess", SYMLINK+="stlinkv3_%n"
# CP2101 - CP 2104
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE="600", TAG+="uaccess", SYMLINK+="usb2ser_%n"
# ATEN UC-232A
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0557", ATTRS{idProduct}=="2008", MODE="600", TAG+="uaccess", SYMLINK+="usb2ser_aten_%n"
'';
fonts.fontDir.enable = true;
fonts.fontconfig.enable = true;
fonts.fontconfig.antialias = true;
@@ -161,7 +346,8 @@
dina-font
proggyfonts
font-awesome
nerdfonts
nerd-fonts.symbols-only
nerd-fonts.jetbrains-mono
];
programs.thunar.enable = true;
@@ -176,6 +362,9 @@
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
services.blueman.enable = true;
hardware.rtl-sdr.enable = true;
security.sudo = {
enable = true;
extraRules = [
@@ -202,6 +391,13 @@
gamescopeSession.enable = true;
};
programs.gamescope = {
enable = true;
capSysNice = true;
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;