Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

❄️ nix (and nixos) support #765

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions core/tabs/applications-setup/alacritty-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ installAlacritty() {
pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm alacritty
;;
nix-env)
"$PACKAGER" -iA nixpkgs.alacritty
;;
*)
"$ESCALATION_TOOL" "$PACKAGER" install -y alacritty
;;
Expand Down
3 changes: 3 additions & 0 deletions core/tabs/applications-setup/android-debloat.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ install_adb() {
dnf|zypper)
"$ESCALATION_TOOL" "$PACKAGER" install -y android-tools
;;
nix-env)
"$PACKAGER" -iA nixpkgs.android-tools
;;
*)
printf "%b\n" "${RED}Unsupported package manager: "$PACKAGER"${RC}"
exit 1
Expand Down
11 changes: 9 additions & 2 deletions core/tabs/applications-setup/docker-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

# Function to prompt the user for installation choice
choose_installation() {
clear
printf "%b\n" "${YELLOW}Choose what to install:${RC}"
printf "%b\n" "1. ${YELLOW}Docker${RC}"
printf "%b\n" "2. ${YELLOW}Docker Compose${RC}"
Expand Down Expand Up @@ -36,6 +35,11 @@ install_docker() {
"$ESCALATION_TOOL" systemctl enable docker
"$ESCALATION_TOOL" systemctl start docker
;;
nix-env)
"$PACKAGER" -iA nixpkgs.docker
"$ESCALATION_TOOL" sed -i'' -E '/^[[:space:]]*virtualisation\.docker\.enable/!b; s/^([[:space:]]*)virtualisation\.docker\.enable.*/\1virtualisation.docker.enable = true;/' "$NIXOS_CONFIG" || echo 'virtualisation.docker.enable = true;' | "$ESCALATION_TOOL" tee -a "$NIXOS_CONFIG"
"$ESCALATION_TOOL" nixos-rebuild switch
;;
*)
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
exit 1
Expand All @@ -55,6 +59,9 @@ install_docker_compose() {
pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm docker-compose
;;
nix-env)
"$PACKAGER" -iA nixpkgs.docker-compose
;;
*)
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
exit 1
Expand Down Expand Up @@ -84,4 +91,4 @@ install_components() {

checkEnv
checkEscalationTool
install_components
install_components
2 changes: 2 additions & 0 deletions core/tabs/applications-setup/dwmtitus-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ setupDWM() {
"$ESCALATION_TOOL" "$PACKAGER" groupinstall -y "Development Tools"
"$ESCALATION_TOOL" "$PACKAGER" install -y libX11-devel libXinerama-devel libXft-devel imlib2-devel libxcb-devel unzip flameshot lxappearance feh mate-polkit # no need to include git here as it should be already installed via "Development Tools"
;;
nix-env)
;;
*)
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
exit 1
Expand Down
5 changes: 5 additions & 0 deletions core/tabs/applications-setup/setup-flatpak.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ setup_flatpak() {
pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm flatpak
;;
nix-env)
"$PACKAGER" -iA nixpkgs.flatpak
"$ESCALATION_TOOL" sed -i'' -E '/^[[:space:]]*services\.flatpak\.enable/!b; s/^([[:space:]]*)services\.flatpak\.enable.*/\1services.flatpak.enable = true;/' "$NIXOS_CONFIG" || echo 'services.flatpak.enable = true;' | "$ESCALATION_TOOL" tee -a "$NIXOS_CONFIG"
"$ESCALATION_TOOL" nixos-rebuild switch
;;
*)
"$ESCALATION_TOOL" "$PACKAGER" install -y flatpak
;;
Expand Down
12 changes: 11 additions & 1 deletion core/tabs/common-script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,16 @@ checkPackageManager() {
if command_exists "${pgm}"; then
PACKAGER=${pgm}
printf "%b\n" "${CYAN}Using ${pgm} as package manager${RC}"

if [ $PACKAGER = 'nix-env' ] && [ -z "$NIXOS_CONFIG" ]; then
NIXOS_CONFIG="/etc/nixos/configuration.nix"
while [ ! -f "$NIXOS_CONFIG" ]; do
printf "%b\n" "${RED}configuration.nix not found.${RC}"
printf "%b" "${YELLOW}Enter the path manually: ${RC}"
read -r NIXOS_CONFIG
done
fi

break
fi
done
Expand Down Expand Up @@ -127,7 +137,7 @@ checkDistro() {
checkEnv() {
checkEscalationTool
checkCommandRequirements "curl groups $ESCALATION_TOOL"
checkPackageManager 'nala apt-get dnf pacman zypper'
checkPackageManager 'nala apt-get dnf pacman zypper nix-env'
checkCurrentDirectoryWritable
checkSuperUser
checkDistro
Expand Down