152 lines
3.9 KiB
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)
|
|
]
|
|
)
|
|
)
|
|
]
|
|
);
|
|
};
|
|
}
|