btw i use nix
1{ pkgs, config, ... }:
2
3{
4 imports = [ ./hardware-configuration.nix ];
5
6 custom = {
7 enable = true;
8 tailscale = true;
9 laptop = true;
10 printing = true;
11 gui.i3 = true;
12 gui.sway = true;
13 workstation = true;
14 autoUpgrade.enable = true;
15 homeManager.enable = true;
16 zsa = true;
17 };
18
19 home-manager.users.${config.custom.username} = {
20 services.kdeconnect.enable = true;
21 custom = {
22 machineColour = "magenta";
23 mail.enable = true;
24 calendar.enable = true;
25 battery.enable = true;
26 };
27 home.sessionVariables = {
28 LEDGER_FILE = "~/vault/finaces.ledger";
29 };
30 };
31
32 boot.loader.grub = {
33 enable = true;
34 default = "saved";
35 device = "nodev";
36 efiSupport = true;
37 };
38 boot.loader.efi.canTouchEfiVariables = true;
39 boot.supportedFilesystems = [ "ntfs" ];
40
41 environment.systemPackages = with pkgs; [
42 pciutils
43 file-roller
44 unzip
45 cheese
46 chromium
47 calibre
48 zotero
49 element-desktop
50 spotify
51 gimp
52 gthumb
53 restic
54 evince
55 libreoffice
56 obs-studio
57 ffmpeg
58 deploy-rs
59 nix-prefetch-git
60 tcpdump
61 pandoc
62 ledger
63 ];
64
65 security.sudo.extraConfig = ''
66 Defaults !tty_tickets
67 '';
68
69 services = {
70 syncthing = {
71 enable = true;
72 user = config.custom.username;
73 dataDir = "/home/ryan/syncthing";
74 configDir = "/home/ryan/.config/syncthing";
75 };
76 };
77
78 services.avahi.enable = true;
79
80 programs.steam.enable = true;
81
82 specialisation.nvidia.configuration = {
83 services.xserver.videoDrivers = [ "nvidia" ];
84 };
85}