because apparently i need a git repo
1# common configuration for workstation.nixes.
2# (joke for 65-wide terminals ^)
3{ config, lib, pkgs, pkgs-unstable, ... }:
4{
5 isWorkstation = true;
6 imports = [ ./nonfree/_allow.nix ./nonfree/hplip.nix ]; # because i have hp bullshit
7 services = {
8 # workstations have a tendency to move one way or another
9 automatic-timezoned.enable = true;
10
11
12
13 # hardware support
14 udev.packages = [ pkgs.yubikey-personalization ];
15 fwupd.enable = true;
16
17
18
19 # software support
20 flatpak.enable = true;
21
22 # kde is comfy /shrug (praying tde shows up)
23 displayManager.sddm.enable = true;
24 desktopManager.plasma6.enable = true;
25 # in this house, we suck off red hat.
26 xserver.enable = false;
27 displayManager.sddm.wayland.enable = true;
28
29 # audio! yay! my tunes!
30 pipewire = {
31 enable = true;
32 pulse.enable = true; # enables pulseaudio emulation
33 };
34
35 # fucking hp oh my god
36 printing = {
37 enable = true;
38 };
39 avahi = {
40 enable = true;
41 nssmdns4 = true;
42 openFirewall = true;
43 };
44 };
45
46 # for better or worse, my workstations use efi.
47 boot.loader = {
48 grub.device = "nodev";
49 systemd-boot.enable = true;
50 efi.canTouchEfiVariables = true;
51 };
52
53 # i have a vague idea of something cool involving this
54 networking.domain = "workstations.hotsocket.fyi";
55 networking.networkmanager.enable = true;
56
57 home-manager = {
58 extraSpecialArgs = {
59 inherit pkgs-unstable;
60 };
61 useGlobalPkgs = true;
62 useUserPackages = true;
63 };
64 swapDevices = [{
65 device = "/var/lib/swapfile";
66 size = 8*1024; # 8 GB
67 }];
68}