nixOS and user configuration for my machines
hosts/
nixpad/
configuration.nix # host config
hardware-configuration.nix
xmm7360/ # LTE helper scripts
home/
bro/
home.nix # Home Manager config
hypr/ # Hyprland + Hyprpaper
iamb/
kitty/
meli/
scripts/
clipboard/
media/
screengrab/
wallpaper/
swaync/
theme/
wallpapers/
waybar/
wofi/
pkgs/
xmm7360-pci/ # local kernel module package
On nixpad, /etc/nixos points at:
/home/bro/gitrepos/github/dotfiles/hosts/nixpad
sudo nixos-rebuild switchexplicit config path:
sudo nixos-rebuild switch -I nixos-config=/home/bro/gitrepos/github/dotfiles/hosts/nixpad/configuration.nixchwp IMAGE # copy image into the repo, set it, reload hyprpaper
chwp --move-file IMAGE # move image into the repo instead of copying
chwp --which # print the configured wallpaper
change-wallpaper IMAGE # same backend, more literal name
rotate-wallpaper # switch to the next wallpaperautomatic rotation is a Home Manager systemd user timer:
systemctl --user list-timers | grep rotate-wallpaper
systemctl --user start rotate-wallpaper.service
journalctl --user -u rotate-wallpaper.servicepreview FILE # images in swayimg, videos in mpv
kitten icat IMAGE # show an image in kittyscreenshot-region # select region and save screenshot
record-region # select/start/stop recording
screencast-status # status text for waybarPrint region screenshot
Ctrl+Print start/stop region recording
files go under:
~/Media/Screengrabs/Screenshots/
~/Media/Screengrabs/Recordings/
clipboard-history # open picker
cliphist-store # internal wl-paste store helperSuper+V clipboard history
Super+Shift+V toggle floating
lte-on # switch internet to LTE
lte-on --verbose
lte-off # return to Wi-Fi
lte-off --verbose
xmm7360-status # modem/service/routes/DNS status
xmm7360-reset # normal modem reset
xmm7360-hard-reset # ACPI/PCI recovery path
xmm7360-use-lte # lower-level LTE routing/DNS
xmm7360-use-wifi # lower-level Wi-Fi restore
xmm7360-use-dns # install LTE DNS onlyhost
hosts/nixpad/configuration.nix is the main NixOS file.
it sets the machine basics, imports Home Manager, enables Hyprland/UWSM, installs system packages, configures fonts, Bluetooth, networking, greetd, TLP, and the experimental LTE stack.
<nixos-unstable> is imported in the host config for selected packages.
Home Manager receives it through home-manager.extraSpecialArgs.
home manager
home/bro/home.nix owns user packages, shell-wrapped helper commands, user
services, and tracked config files under ~/.config.
most config files are normal Home Manager links. hyprpaper.conf is an
out-of-store symlink on purpose, so wallpaper scripts can update the repo file
directly.
desktop
tracked desktop config:
home/bro/hypr/
home/bro/kitty/
home/bro/swaync/
home/bro/theme/
home/bro/waybar/
home/bro/wofi/
current desktop pieces include Hyprland, Hyprpaper, Kitty, Waybar, Wofi, SwayNC, Hackneyed cursors, wallpaper rotation, clipboard history, screenshots, recording, and media previews.
apps
user-side apps are in Home Manager. currently notable ones:
iamb matrix client, using unstable package for newer media support
meli mail client
gitui terminal git UI, installed system-wide
wiremix audio mixer
runelite
iamb config enables kitty image previews.
wallpapers
wallpapers live in:
home/bro/wallpapers/
chwp persists a selected image and reloads Hyprpaper. rotate-wallpaper
walks the wallpaper directory alphabetically and sets the next image.
hyprpaper.conf tracks the current wallpaper, so automatic rotation may leave it
modified in git.
the timer is user-level systemd, generated by Home Manager:
OnBootSec = "30min";
OnUnitActiveSec = "30min";LTE modem
nixpad has a Fibocom L850-GL / Intel XMM7360 modem.
ModemManager does not manage this card in RPC mode:
Intel XMM7360 in RPC mode not supported
so this repo uses:
pkgs/xmm7360-pci/
hosts/nixpad/xmm7360/
the host config disables ModemManager for this machine, blacklists iosm,
builds the local xmm7360 module, enables acpi_call, and installs the LTE
wrapper commands.
APN config lives outside git:
sudo cp /etc/xmm7360.example /etc/xmm7360
sudoedit /etc/xmm7360for Digi Mobil Romania:
apn=internetthis is internet-only experimental support. SMS and calls are not handled here.