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

7
.gitignore vendored
View File

@@ -1,5 +1,2 @@
/.idea/inspectionProfiles/profiles_settings.xml /.idea
/.idea/.gitignore flake.lock
/.idea/modules.xml
/.idea/nixos.iml
/.idea/vcs.xml

12
flake.lock generated
View File

@@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722462338, "lastModified": 1750798083,
"narHash": "sha256-ss0G8t8RJVDewA3MyqgAlV951cWRK6EtVhVKEZ7J5LU=", "narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "6e090576c4824b16e8759ebca3958c5b09659ee8", "rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -22,11 +22,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1722421184, "lastModified": 1750741721,
"narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=", "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58", "rev": "4b1164c3215f018c4442463a27689d973cffd750",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -1,8 +1,8 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on your system.
# your system. Help is available in the configuration.nix(5) man page # Help is available in the configuration.nix(5) man page and in the NixOS manual
# and in the NixOS manual (accessible by running nixos-help). # (accessible by running nixos-help).
{ config, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
imports = [ imports = [
@@ -10,6 +10,32 @@
./hardware-configuration.nix ./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. # Bootloader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
@@ -24,6 +50,10 @@
# Enable networking # Enable networking
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
# hardware.u2f.enable = true;
services.flatpak.enable = true;
# Enable flakes # Enable flakes
nix.settings.experimental-features = [ nix.settings.experimental-features = [
"nix-command" "nix-command"
@@ -64,8 +94,16 @@
# Enable CUPS to print documents. # Enable CUPS to print documents.
services.printing.enable = true; services.printing.enable = true;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
hardware.xone.enable = true;
# Enable sound with pipewire. # Enable sound with pipewire.
hardware.pulseaudio.enable = false; services.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = { services.pipewire = {
enable = true; enable = true;
@@ -91,11 +129,36 @@
"networkmanager" "networkmanager"
"wheel" "wheel"
"input" "input"
"dialout"
"plugdev"
"adbusers"
]; ];
packages = with pkgs; [ packages = with pkgs; [
# thunderbird # 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. # Install firefox.
programs.firefox.enable = true; # -# programs.firefox.enable = true; # -#
@@ -122,6 +185,8 @@
telegram-desktop telegram-desktop
discord discord
# spotify # spotify
vscode-with-extensions
swayimg
pavucontrol pavucontrol
networkmanagerapplet networkmanagerapplet
pasystray pasystray
@@ -135,18 +200,138 @@
playerctl playerctl
google-chrome google-chrome
killall killall
jetbrains.pycharm-professional #jetbrains.pycharm-professional
wget wget
jq jq
rofi-bluetooth rofi-bluetooth
wl-clipboard wl-clipboard
networkmanager networkmanager
alsaUtils alsa-utils
nixfmt-rfc-style nixfmt-rfc-style
mako mako
podman 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.fontDir.enable = true;
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
fonts.fontconfig.antialias = true; fonts.fontconfig.antialias = true;
@@ -161,7 +346,8 @@
dina-font dina-font
proggyfonts proggyfonts
font-awesome font-awesome
nerdfonts nerd-fonts.symbols-only
nerd-fonts.jetbrains-mono
]; ];
programs.thunar.enable = true; programs.thunar.enable = true;
@@ -176,6 +362,9 @@
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
services.blueman.enable = true; services.blueman.enable = true;
hardware.rtl-sdr.enable = true;
security.sudo = { security.sudo = {
enable = true; enable = true;
extraRules = [ extraRules = [
@@ -202,6 +391,13 @@
gamescopeSession.enable = true; gamescopeSession.enable = true;
}; };
programs.gamescope = {
enable = true;
capSysNice = true;
};
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are
# started in user sessions. # started in user sessions.
# programs.mtr.enable = true; # programs.mtr.enable = true;

View File

@@ -20,21 +20,23 @@
WLR_NO_HARDWARE_CURSORS = "1"; WLR_NO_HARDWARE_CURSORS = "1";
# Hint electron apps to use wayland # Hint electron apps to use wayland
NIXOS_OZONE_WL = "1"; NIXOS_OZONE_WL = "1";
# Fix waiting on vsync
__GL_SYNC_TO_VBLANK = "0";
}; };
services.xserver = { services.xserver = {
enable = true; enable = true;
videoDrivers = [ "nvidia" ]; videoDrivers = [ "nvidia" ];
displayManager.gdm = { };
services.displayManager.gdm = {
enable = true; enable = true;
wayland = true; wayland = true;
};
}; };
services.displayManager.autoLogin = { # services.displayManager.autoLogin = {
enable = true; # enable = true;
user = "caperren"; # user = "caperren";
}; # };
hardware.graphics = { hardware.graphics = {
enable = true; enable = true;
@@ -45,7 +47,8 @@
# Enable modesetting for Wayland compositors (hyprland) # Enable modesetting for Wayland compositors (hyprland)
modesetting.enable = true; modesetting.enable = true;
# Use the open source version of the kernel module (for driver 515.43.04+) # Use the open source version of the kernel module (for driver 515.43.04+)
# open = true; # Actually, just overridden to false for now
open = false;
# Enable the Nvidia settings menu # Enable the Nvidia settings menu
nvidiaSettings = true; nvidiaSettings = true;
# Select the appropriate driver version for your specific GPU # Select the appropriate driver version for your specific GPU