Add software module config

main
Julius Riegel 9 months ago
parent ab3db2e209
commit ff7e8d6c5c

@ -4,61 +4,22 @@
home.stateVersion = "23.11";
home.packages = with pkgs; [
# core cli tools
nushell
starship
wezterm
helix
zellij
broot
bottom
thefuck
hyperfine
most
direnv
htop
neofetch
# common tools
librewolf
spotify
# fonts
fontconfig
(nerdfonts.override {
fonts = ["FiraCode"];
})
lexend
joypixels
# nodejs packages
nodejs
yarn
biome
vscode-langservers-extracted
nodePackages.typescript-language-server
nodePackages.get-graphql-schema
# java packages
jdk
kotlin
kotlin-language-server
jdt-language-server
gradle
# rust packages
rustup
cargo-edit
cargo-release
cargo-lambda
# lua packages
lua-language-server
# terraform packages
terraform-ls
home.packages = [
# START silo
{{#each cfg.packages}}
pkgs.{{this}}
{{/each}}
{{#each cfg.modules}}
{{#if this.enabled}}
# {{@key}} packages
{{#each this.packages}}
pkgs.{{this}}
{{/each}}
{{/if}}
{{/each}}
# END
];
fonts.fontconfig.enable = true;
# Let Home Manager install and manage itself.

@ -0,0 +1,92 @@
local silo = require 'silo'
local config = silo.default_config
-- put your packages here
config.packages = {}
-- all software modules / package groups
config.modules = {
core = {
enabled = true,
packages = {
'nushell',
'starship',
'wezterm',
'helix',
'zellij',
'broot',
'bottom',
'thefuck',
'hyperfine',
'most',
'direnv',
'htop',
'neofetch',
}
},
fonts = {
enabled = true,
packages = {
'fontconfig',
'fira-code-nerdfont',
'lexend',
'joypixels',
}
},
extras = {
enabled = false,
packages = {
'librewolf',
'spotify',
}
},
node = {
enabled = false,
packages = {
'nodejs',
'yarn',
'biome',
'vscode-langservers-extracted',
'nodePackages.typescript-language-server',
}
},
rust = {
enabled = false,
packages = {
'rustup',
'cargo-edit',
'cargo-release',
'cargo-lambda',
}
},
lua = {
enabled = false,
packages = {
'lua-language-server',
}
},
java = {
enabled = false,
packages = {
'jdk',
'kotlin',
'kotlin-language-server',
'jdt-language-server',
'gradle',
}
},
graphql = {
enabled = false,
packages = {
'nodePackages.get-graphql-schema',
}
},
terraform = {
enabled = false,
packages = {
'terraform-ls',
}
}
}
return config
Loading…
Cancel
Save