mirror of
https://github.com/caperren/nixos-configs.git
synced 2025-11-08 19:51:14 +00:00
Save before consolidation
This commit is contained in:
7
.gitignore
vendored
7
.gitignore
vendored
@@ -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
12
flake.lock
generated
@@ -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": {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user