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}