feat: implement nixpkgs count check in nix as package manager
This commit is contained in:
parent
5769f7a8f2
commit
bec867e6b0
23
main.go
23
main.go
@ -148,16 +148,39 @@ func getHostname() string {
|
|||||||
return fullHostname
|
return fullHostname
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func checkNix() bool {
|
||||||
|
_, err := exec.Command("sh", "-c", "command -v nix-env >/dev/null 2>&1").Output()
|
||||||
|
if err != nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func addNix() string {
|
||||||
|
out, _ := exec.Command("sh", "-c", "nix-env -q | wc -l").Output()
|
||||||
|
nixPkgs := strings.TrimSpace(string(out)) + " (nix)"
|
||||||
|
return nixPkgs
|
||||||
|
}
|
||||||
|
|
||||||
func getPkgs() string {
|
func getPkgs() string {
|
||||||
var pkgs string
|
var pkgs string
|
||||||
|
haveNix := checkNix()
|
||||||
if strings.HasPrefix(dist, "Arch") {
|
if strings.HasPrefix(dist, "Arch") {
|
||||||
out, _ := exec.Command("sh", "-c", "pacman -Qq | wc -l").Output()
|
out, _ := exec.Command("sh", "-c", "pacman -Qq | wc -l").Output()
|
||||||
|
if haveNix {
|
||||||
|
pkgs = strings.TrimSpace(string(out)) + " (pacman), " + addNix()
|
||||||
|
} else {
|
||||||
pkgs = strings.TrimSpace(string(out)) + " (pacman)"
|
pkgs = strings.TrimSpace(string(out)) + " (pacman)"
|
||||||
|
}
|
||||||
return pkgs
|
return pkgs
|
||||||
}
|
}
|
||||||
if strings.HasPrefix(dist, "Debian") {
|
if strings.HasPrefix(dist, "Debian") {
|
||||||
out, _ := exec.Command("sh", "-c", "dpkg -l | grep ^ii | wc -l").Output()
|
out, _ := exec.Command("sh", "-c", "dpkg -l | grep ^ii | wc -l").Output()
|
||||||
|
if haveNix {
|
||||||
|
pkgs = strings.TrimSpace(string(out)) + " (apt), " + addNix()
|
||||||
|
} else {
|
||||||
pkgs = strings.TrimSpace(string(out)) + " (apt)"
|
pkgs = strings.TrimSpace(string(out)) + " (apt)"
|
||||||
|
}
|
||||||
return pkgs
|
return pkgs
|
||||||
}
|
}
|
||||||
if strings.HasPrefix(dist, "NixOS") {
|
if strings.HasPrefix(dist, "NixOS") {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user