local silo = require 'silo' local config = silo.default_config -- put your packages here config.packages = {} local default_mod = function(packages) return { enabled = true, packages = packages } end local mod = function(packages) return { enabled = false, packages = packages } end -- default configurations for software config.broot = { icons = false } config.wezterm = { font_size = 12 } -- all software modules / package groups config.modules = { core = default_mod { 'nushell', 'starship', 'wezterm', 'helix', 'zellij', 'broot', 'bottom', 'thefuck', 'hyperfine', 'most', 'direnv', 'htop', 'neofetch', 'translate-shell', 'tealdeer', 'jq', 'nodePackages.bash-language-server', 'shellcheck', 'shfmt', 'tree', 'yq', 'zoxide', 'dogdns', 'ouch', 'tailspin', 'topgrade', 'skim', 'pastel', 'pueue', 'onefetch', 'efm-langserver', 'gitlint', 'commitlint', 'meld', 'pueue', }, gui = mod { 'kdePackages.breeze-icons', 'breeze-gtk', 'breeze-qt5', 'vscode', 'insomnia', }, fonts = default_mod { 'fontconfig', 'fira-code-nerdfont', 'lexend', 'joypixels', }, extras = mod { 'librewolf', 'spotify', }, docker = mod { 'docker', 'docker-compose', 'docker-compose-language-service', 'dive', }, podman = mod { 'podman', 'podman-compose', 'shadow', 'slirp4netns', }, node = mod { 'nodejs', 'yarn', 'biome', 'vscode-langservers-extracted', 'nodePackages.typescript-language-server', }, rust = mod { 'rustup', 'cargo-edit', 'cargo-release', 'cargo-lambda', }, lua = mod { 'lua-language-server', 'lua5', 'lua54Packages.luarocks', }, java = mod { 'jdk', 'kotlin', 'kotlin-language-server', 'jdt-language-server', 'gradle', }, graphql = mod { 'nodePackages.get-graphql-schema', }, terraform = mod { 'terraform-ls', }, nix = mod { 'nil', 'nixfmt', }, aws = mod { 'awscli2' }, lunarvim = mod { 'lunarvim' } } return config