nix-config/users/leyla/packages.nix

152 lines
3.9 KiB
Nix

{
lib,
config,
osConfig,
pkgs,
inputs,
...
}: {
nixpkgs = {
overlays = [
inputs.nix-vscode-extensions.overlays.default
];
};
programs = {
bash.shellAliases = lib.mkIf config.isFullUser {
code = "codium";
};
vscode = let
extensions = inputs.nix-vscode-extensions.extensions.${pkgs.system};
open-vsx = extensions.open-vsx;
vscode-marketplace = extensions.vscode-marketplace;
in {
enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = false;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
userSettings = {
"workbench.colorTheme" = "Atom One Dark";
};
extensions = with extensions.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
# the number at the start of the name here doesnt resolve nicely so we have to refernce it as a part of open-vsx directly instead of though with
open-vsx."10nates".ollama-autocoder
]
++ (with extensions.vscode-marketplace; [
# js extensions
karyfoundation.nearley
]);
};
# steam = lib.mkIf config.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 ServerServer
# localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
# };
# noisetorch.enable = config.isFullUser;
# adb.enable = config.isFullUser;
};
home = {
packages = lib.mkIf (config.isFullUser || config.isThinUser) (
lib.mkMerge [
(
with pkgs; [
# comand line tools
yt-dlp
ffmpeg
imagemagick
]
)
(
lib.mkIf (!config.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 config.hasGPU obs-studio)
# wireshark
# rpi-imager
# fritzing
# proprietary platforms
discord
obsidian
steam
(lib.mkIf config.hasGPU davinci-resolve)
# development tools
androidStudioPackages.canary
jetbrains.idea-community
dbeaver-bin
bruno
# system tools
protonvpn-gui
openvpn
nextcloud-client
noisetorch
# hardware managment tools
(lib.mkIf osConfig.hardware.piperMouse.enable piper)
(lib.mkIf osConfig.hardware.openRGB.enable openrgb)
(lib.mkIf osConfig.hardware.viaKeyboard.enable via)
]
)
)
]
);
};
}