|
|
|
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
|