{ lib, config, pkgs, inputs, ... }: let cfg = config.users.leyla; in { imports = [ ../../overlays/intellij.nix ../../overlays/vscodium.nix ]; nixpkgs = { overlays = [ inputs.nix-vscode-extensions.overlays.default ]; }; programs = { bash.shellAliases = lib.mkIf cfg.isFullUser { code = "codium"; }; steam = lib.mkIf cfg.isFullUser { enable = true; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server }; noisetorch.enable = cfg.isFullUser; adb.enable = cfg.isFullUser; }; users.users.leyla.packages = lib.mkIf (cfg.isFullUser || cfg.isThinUser) ( lib.mkMerge [ ( with pkgs; [ # comand line tools yt-dlp ffmpeg imagemagick ] ) ( lib.mkIf (!cfg.isThinUser) ( with pkgs; [ #foss platforms signal-desktop bitwarden firefox ungoogled-chromium libreoffice inkscape gimp krita freecad # cura kicad-small makemkv transmission_4-gtk onionshare easytag # rhythmbox (lib.mkIf cfg.hasGPU obs-studio) # wireshark # rpi-imager # fritzing # proprietary platforms discord obsidian steam (lib.mkIf cfg.hasGPU davinci-resolve) # development tools (vscode-with-extensions.override { vscode = vscodium; vscodeExtensions = with open-vsx; [ # vs code feel extensions ms-vscode.atom-keybindings akamud.vscode-theme-onedark streetsidesoftware.code-spell-checker streetsidesoftware.code-spell-checker-german streetsidesoftware.code-spell-checker-italian jeanp413.open-remote-ssh # nix extensions pinage404.nix-extension-pack jnoortheen.nix-ide # html extensions formulahendry.auto-rename-tag ms-vscode.live-server # js extensions dsznajder.es7-react-js-snippets dbaeumer.vscode-eslint standard.vscode-standard firsttris.vscode-jest-runner stylelint.vscode-stylelint tauri-apps.tauri-vscode # misc extensions bungcip.better-toml open-vsx."10nates".ollama-autocoder ] ++ (with vscode-marketplace; [ # js extensions karyfoundation.nearley ]); }) androidStudioPackages.canary jetbrains.idea-community dbeaver-bin bruno # system tools protonvpn-gui openvpn nextcloud-client noisetorch # hardware managment tools (lib.mkIf config.hardware.piperMouse.enable piper) (lib.mkIf config.hardware.openRGB.enable openrgb) (lib.mkIf config.hardware.viaKeyboard.enable via) ] ) ) ] ); }