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 nvim-lsps = true;
24 mail.enable = true;
25 calendar.enable = true;
26 battery.enable = true;
27 };
28 home.sessionVariables = {
29 LEDGER_FILE = "~/vault/finaces.ledger";
30 };
31 };
32
33 boot.loader.grub = {
34 enable = true;
35 default = "saved";
36 device = "nodev";
37 efiSupport = true;
38 };
39 boot.loader.efi.canTouchEfiVariables = true;
40 boot.supportedFilesystems = [ "ntfs" ];
41
42 environment.systemPackages = with pkgs; [
43 pciutils
44 file-roller
45 unzip
46 cheese
47 chromium
48 calibre
49 zotero
50 element-desktop
51 spotify
52 gimp
53 gthumb
54 restic
55 evince
56 libreoffice
57 obs-studio
58 ffmpeg
59 deploy-rs
60 nix-prefetch-git
61 tcpdump
62 pandoc
63 ledger
64 ];
65
66 security.sudo.extraConfig = ''
67 Defaults !tty_tickets
68 '';
69
70 services = {
71 syncthing = {
72 enable = true;
73 user = config.custom.username;
74 dataDir = "/home/ryan/syncthing";
75 configDir = "/home/ryan/.config/syncthing";
76 };
77 };
78
79 services.avahi.enable = true;
80
81 programs.steam.enable = true;
82
83 specialisation.nvidia.configuration = {
84 services.xserver.videoDrivers = [ "nvidia" ];
85 };
86}