local silo = require 'silo' local path = require 'path' 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 config.firefox_profile = path.join { silo.dirs.home, ".mozilla/firefox/default" } -- default configurations for software config.broot = { icons = false } config.wezterm = { font_size = 12 } -- all software modules / package groups config.modules = { core = default_mod { 'yazi', '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', 'parallel', 'bat', 'cz-cli', 'plantuml', 'websocat', 'pandoc', 'anyrun', 'taplo', }, gui = mod { 'kdePackages.breeze-icons', 'breeze-gtk', 'breeze-qt5', 'vscode', 'insomnia', 'drawio', }, fonts = default_mod { 'fontconfig', 'fira-code-nerdfont', 'lexend', 'joypixels', }, extras = mod { 'spotify', 'libsForQt5.plasma-browser-integration', 'vale', 'nushell', 'helix', 'zellij', 'broot', 'nodePackages.conventional-changelog-cli', 'starship', 'helvum', }, docker = mod { 'docker', 'docker-compose', 'docker-compose-language-service', 'dive', }, podman = mod { 'podman', 'podman-compose', 'shadow', 'slirp4netns', }, localstack = mod { 'localstack', }, node = mod { 'nodejs', 'yarn', 'biome', 'pnpm', 'vscode-langservers-extracted', 'nodePackages.typescript-language-server', }, vue = mod { 'nodePackages.vls', 'nodePackages.vue-language-server' }, deno = mod { 'deno' }, rust = mod { 'rustup', 'cargo-edit', 'cargo-release', 'cargo-lambda', }, go = mod { 'go', 'gopls', }, 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', }, yaml = mod { 'yaml-language-server', }, svelte = mod { 'svelte-language-server', }, markdown = mod { 'marksman', 'nodePackages.prettier', }, terraform = mod { 'terraform-ls', }, nix = mod { 'nil', 'nixfmt', }, aws = mod { 'awscli2' }, } return config