{ lib, config, osConfig, pkgs, ... }: let userConfig = osConfig.host.users.leyla; hardware = osConfig.host.hardware; in { imports = [ ./vscode/default.nix ./firefox.nix ]; config = lib.mkMerge [ (lib.mkIf userConfig.isTerminalUser { home.packages = with pkgs; [ # command line tools sox yt-dlp ffmpeg imagemagick ]; }) (lib.mkIf userConfig.isDesktopUser { nixpkgs.config = { allowUnfree = true; }; home.packages = ( lib.lists.optionals userConfig.isDesktopUser ( (with pkgs; [ # helvetica font aileron gnomeExtensions.dash-to-dock # development tools dbeaver-bin bruno proxmark3 ]) ++ ( lib.lists.optionals hardware.directAccess.enable (with pkgs; [ #foss platforms signal-desktop-bin bitwarden ungoogled-chromium libreoffice inkscape gimp krita freecad # cura # kicad-small makemkv onionshare # rhythmbox (lib.mkIf hardware.graphicsAcceleration.enable obs-studio) # wireshark # rpi-imager # fritzing mfoc tor-browser anki pdfarranger calibre qbittorrent picard # proprietary platforms discord obsidian prostudiomasters (lib.mkIf hardware.graphicsAcceleration.enable davinci-resolve) # development tools # androidStudioPackages.canary jetbrains.idea-community qFlipper # system tools protonvpn-gui openvpn noisetorch # hardware management tools (lib.mkIf hardware.piperMouse.enable piper) (lib.mkIf hardware.openRGB.enable openrgb) (lib.mkIf hardware.viaKeyboard.enable via) ]) ) ) ); programs = lib.mkIf userConfig.isDesktopUser { # Let Home Manager install and manage itself. home-manager.enable = true; # set up git defaults git = { enable = true; userName = "Leyla Becker"; userEmail = "git@jan-leila.com"; extraConfig.init.defaultBranch = "main"; }; # add direnv to auto load flakes for development direnv = { enable = true; enableBashIntegration = true; nix-direnv.enable = true; config = { global.hide_env_diff = true; whitelist.exact = ["/home/leyla/documents/code/nix-config"]; }; }; bash.enable = true; openssh = { authorizedKeys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHeItmt8TRW43uNcOC+eIurYC7Eunc0V3LGocQqLaYj leyla@horizon" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIILimFIW2exEH/Xo7LtXkqgE04qusvnPNpPWSCeNrFkP leyla@defiant" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBiZkg1c2aaNHiieBX4cEziqvJVj9pcDfzUrKU/mO0I leyla@twilight" ]; hostKeys = [ { type = "ed25519"; path = "${config.home.username}_${osConfig.networking.hostName}_ed25519"; } ]; }; }; }) ]; }