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}