You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
727 B
Lua
36 lines
727 B
Lua
8 months ago
|
local silo = require 'silo'
|
||
|
local utils = require 'utils'
|
||
|
local log = require 'log'
|
||
|
|
||
|
local config = {
|
||
|
path = silo.dirs.config,
|
||
|
mode = "exclude",
|
||
|
exclude = {},
|
||
|
}
|
||
|
|
||
|
local function not_installed(program)
|
||
|
return utils.nu ("which "..program.." | is-empty") == "true\n"
|
||
|
end
|
||
|
|
||
|
local function needs(program, glob)
|
||
|
if not_installed(program) then
|
||
|
table.insert(config.exclude, glob)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
needs("broot", "broot")
|
||
|
needs("firecfg", "firejail")
|
||
|
needs("btm", "bottom")
|
||
|
needs("helix", "helix")
|
||
|
needs("home-manager", "home-manager")
|
||
|
needs("nix", "nixpkgs")
|
||
|
needs("nu", "nushell")
|
||
|
needs("systemctl", "systemd")
|
||
|
needs("wezterm", "wezterm")
|
||
|
needs("zellij", "zellij")
|
||
|
needs("starship", "starship")
|
||
|
|
||
|
log.debug(config)
|
||
|
|
||
|
return config
|