nix-conf/hosts/Nixstation/default.nix
Thiago Sposito b41147d8e1 refactor: drop disko, simplify inputs, centralize fuse/rclone, bump state versions
- Remove disko everywhere:
  - Delete hosts/Nixbook/disko.nix and hosts/Nixtest/disko.nix
  - Drop disko input, modules, and disko-install app
  - Update README to remove disko mention
- Simplify flake inputs:
  - Use nixpkgs = nixos-unstable only
  - Home Manager -> master (follows nixpkgs)
  - Remove nixpkgs-unstable and vscode-extensions
  - Pass allowUnfree via specialArgs
- Centralize storage tools:
  - Add fuse3 and rclone to hosts/common/default.nix
  - Remove hosts/common/rclone.nix and screen.nix
  - Add user thiago to "fuse" group
  - Drop per-host rclone packages
- NVIDIA module:
  - Use pkgs.linuxPackages.nvidiaPackages.latest (no unstable import)
  - Keep nvidiaSettings=true, open=false
  - Remove sunshine service block
- Hosts:
  - Nixstation: remove Hyprland block, zramSwap 30% -> 25%
  - Clean hardware-configuration args
- Versions:
  - system.stateVersion: 24.05 -> 25.11 (Nixstation)
  - home.stateVersion: 24.05 -> 25.11
- README: adjust Nixbook and common modules descriptions
2025-08-24 14:07:15 -03:00

197 lines
4 KiB
Nix

{ pkgs
, ...
}:
{
imports = [
../common/default.nix
../common/keychron.nix
../common/network.nix
../common/nvidia/default.nix
./hardware-configuration.nix
];
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
};
environment.etc."libwacom/intuos4-4x6.tablet".text = ''
# Wacom
# Intuos4 Small
[Device]
Name=Wacom Intuos4 4x6
DeviceMatch=usb:056a:00b8
Class=Intuos4
Width=6
Height=4
Layout=intuos4-4x6.svg
IntegratedIn=
Styli=0x802;0x804;0x806;0x80a;0x80c;0x902;0x90a;0x100802;0x100804;0x10080a;0x10080c;0x100902;0x10090a;0x120802;0x140802;0x14080a;0x160802;0x16080a;
[Features]
Reversible=true
Stylus=true
Ring=true
Buttons=7
StatusLEDs=Ring
[Buttons]
Left=A;B;C;D;E;F;G
Ring=A
RingNumModes=4
'';
environment = {
systemPackages = with pkgs; [
act
btrfs-progs
cudatoolkit
networkmanagerapplet
libwacom
wacomtablet
gnome-tweaks
gnome-session
];
variables = {
NIXOS_HOST = "nixstation";
NIXOS_DE = "wayland";
};
sessionVariables = {
NIXOS_OZONE_WL = "1";
XDG_SESSION_TYPE = "wayland";
QT_QPA_PLATFORM = "wayland";
GDK_BACKEND = "wayland";
};
};
hardware = {
sane.enable = true;
graphics.enable = true;
};
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "pt_BR.UTF-8";
LC_IDENTIFICATION = "pt_BR.UTF-8";
LC_MEASUREMENT = "pt_BR.UTF-8";
LC_MONETARY = "pt_BR.UTF-8";
LC_NAME = "pt_BR.UTF-8";
LC_NUMERIC = "pt_BR.UTF-8";
LC_PAPER = "pt_BR.UTF-8";
LC_TELEPHONE = "pt_BR.UTF-8";
LC_TIME = "pt_BR.UTF-8";
};
networking.firewall = {
enable = true;
allowPing = true;
allowedTCPPorts = [
11434
8888
8000
8080
];
};
nix = {
settings = {
auto-optimise-store = true;
};
};
programs = {
# steam = {
# enable = true;
# remotePlay.openFirewall = true;
# dedicatedServer.openFirewall = true;
# localNetworkGameTransfers.openFirewall = true;
# };
dconf.enable = true;
virt-manager.enable = true;
};
security.pam.services.gdm.enableGnomeKeyring = true;
security.rtkit.enable = true;
services = {
xserver = {
enable = true;
desktopManager.gnome.enable = true;
displayManager.gdm = {
enable = true;
wayland = true;
};
displayManager.defaultSession = "gnome";
};
udev.packages = [ pkgs.libwacom ];
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
extraConfig = ''
[server]
allow-interfaces=wlp7s0
'';
};
earlyoom = {
enable = true;
freeMemThreshold = 5;
freeSwapThreshold = 10;
};
flatpak.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
};
systemd = {
services."getty@tty1".enable = false;
services."autovt@tty1".enable = false;
};
systemd.timers.btrfs-scrub = {
description = "Run Btrfs Scrub Daily";
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "daily";
Persistent = true;
};
};
systemd.services = {
btrfs-scrub = {
description = "Daily Btrfs Scrub";
serviceConfig = {
Type = "oneshot";
Nice = 19;
IOSchedulingClass = "idle";
ExecStart = "${pkgs.btrfs-progs}/bin/btrfs scrub start -n 2 -B / && ${pkgs.btrfs-progs}/bin/btrfs scrub start -n 2 -B /mnt/hdd0";
};
};
};
system.stateVersion = "25.11"; # keep it!
time.timeZone = "America/Sao_Paulo";
virtualisation = {
vmware.host.enable = false;
spiceUSBRedirection.enable = true;
libvirtd = {
enable = true;
qemu.ovmf.enable = true;
qemu.package = pkgs.qemu_full;
};
};
zramSwap = {
enable = true;
memoryPercent = 25;
algorithm = "zstd";
};
}