aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbootstrap/01_activate.sh29
-rwxr-xr-xbootstrap/01_install.sh92
-rwxr-xr-xbootstrap/02_setup.sh33
-rwxr-xr-xbootstrap/03_config_setup.sh21
-rwxr-xr-xbootstrap/99_ensure_config_variables.sh133
-rw-r--r--bootstrap/default.nix49
-rw-r--r--flake/apps/default.nix32
-rw-r--r--flake/default.nix2
-rw-r--r--flake/packages/default.nix2
9 files changed, 0 insertions, 393 deletions
diff --git a/bootstrap/01_activate.sh b/bootstrap/01_activate.sh
deleted file mode 100755
index 832fe669..00000000
--- a/bootstrap/01_activate.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /usr/bin/env dash
-
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-
-# shellcheck source=/dev/null
-SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
-
-. %SCRIPT_ENSURE_CONFIG_VARIABLES
-
-nix run github:nix-community/disko --experimental-features 'nix-command flakes' -- --flake "git+https://codeberg.org/soispha/nixos-config#$NIX_HOST" --mode mount
-
-msg "Finished mounting"
-
-case "$ACTIVATE_TO_SETUP" in
-"yes")
- nix run "git+https://codeberg.org/soispha/nixos-config#setup" --experimental-features 'nix-command flakes'
- ;;
-*) ;;
-esac
-
-# vim: ft=sh
diff --git a/bootstrap/01_install.sh b/bootstrap/01_install.sh
deleted file mode 100755
index 3e33866a..00000000
--- a/bootstrap/01_install.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-#! /usr/bin/env dash
-
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-
-# shellcheck source=/dev/null
-SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
-
-INSTALL=y . %SCRIPT_ENSURE_CONFIG_VARIABLES
-
-msg "Important information:"
-msg2 "Choose disk id is: $NIX_DISK"
-warning "This information needs to be entered in the host configuration BEFORE rebuilding it. Otherwise you'll have to wait for a 1 h cooldown!"
-info_applied=false
-while [ "$info_applied" = false ]; do
- readp "Have you updated your chosen host with the choose disk id? [N/y]: " result
- # shellcheck disable=SC2154
- case $result in
- [Yy])
- info_applied=true
- ;;
- *)
- warning "You won't be able to boot, if you don't update it!"
- ;;
- esac
-done
-
-msg "Started creating filesystem..."
-nix run github:nix-community/disko --experimental-features 'nix-command flakes' -- --flake "git+https://codeberg.org/soispha/nixos-config#$NIX_HOST" --mode disko
-msg "Finished mounting and generating btrfs subvolumes"
-
-msg "Creating swapfile..."
-msg2 "$(btrfs filesystem mkswapfile --size "$(free -m | awk '{if (NR==2) {printf "%sm\n", $2 + 500}}')" /mnt/swap/swapfile)"
-msg "Finished creating swapfile!"
-
-msg "Important information:"
-msg2 "Swapfile UUID is: $(findmnt -no UUID -T /mnt/swap/swapfile)"
-msg2 "Swapfile resume offset is: $(btrfs inspect-internal map-swapfile -r /mnt/swap/swapfile)"
-warning "This information needs to be entered in the host configuration BEFORE rebuilding it. Otherwise the system won't boot!"
-
-info_applied=false
-while [ "$info_applied" = false ]; do
- readp "Have you updated your chosen host with this information? [N/y]: " result
- case $result in
- [Yy])
- info_applied=true
- ;;
- *)
- warning "You won't be able to boot, if you don't update it!"
- ;;
- esac
-done
-
-msg "Checking for incompatibilities..."
-ssd_or_hdd="$(cat /sys/block/"$(basename "$(readlink -f "/dev/disk/by-id/$NIX_DISK")" | tr -d '\n')"/queue/rotational)"
-case "$ssd_or_hdd" in
-0)
- msg2 "You seem to use a ssd."
- trim_support=$(lsblk --bytes --json --discard | jq --arg name "$(basename "$(readlink -f "/dev/disk/by-id/$NIX_DISK")" | tr -d '\n')" '.blockdevices | .[] | select(.name == $name) | (.["disc-gran"] + .["disc-max"]) != 0')
- case $trim_support in
- "true")
- msg2 "Yay, your ssd supports trim, go on and activate it"
- ;;
- "false")
- msg2 "Nay, your ssd doesn't support trim"
- ;;
- *)
- warning "Your ssd doesn't seem to exists, if this bothers you please open an issue."
- ;;
- esac
- ;;
-1)
- msg2 "You seem to use a hdd there is nothing you have to do"
- ;;
-*)
- warning "There is no indicator, which shows, which drive your are using.\n This means, that you have to check yourself, which optimizations you should activate."
- ;;
-esac
-
-case "$INSTALL_TO_SETUP" in
-"yes")
- nix run "git+https://codeberg.org/soispha/nixos-config#setup" --experimental-features 'nix-command flakes'
- ;;
-*) ;;
-esac
diff --git a/bootstrap/02_setup.sh b/bootstrap/02_setup.sh
deleted file mode 100755
index 5d811030..00000000
--- a/bootstrap/02_setup.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env dash
-
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-
-# shellcheck source=/dev/null
-SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
-
-. %SCRIPT_ENSURE_CONFIG_VARIABLES
-
-nixos-install --flake git+https://codeberg.org/soispha/nixos-config#"$NIX_HOST" --no-root-passwd
-
-# clone the git config
-git clone https://codeberg.org/soispha/nixos-config.git /mnt/srv/etc/nixos
-
-# setup persistent home dir
-mkdir --parents /mnt/srv/home
-chown 1000:100 --recursive /mnt/srv/home
-chmod 700 /mnt/srv/home
-
-case "$SETUP_TO_CONFIG_SETUP" in
-"yes")
- nix run "git+https://codeberg.org/soispha/nixos-config#config_setup" --experimental-features 'nix-command flakes'
- ;;
-*) ;;
-esac
diff --git a/bootstrap/03_config_setup.sh b/bootstrap/03_config_setup.sh
deleted file mode 100755
index 872d1fe1..00000000
--- a/bootstrap/03_config_setup.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /usr/bin/env dash
-
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-
-# shellcheck source=/dev/null
-SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
-
-# clone packer.nvim to the needed dir, for the nvim install to work
-git clone --depth 1 https://github.com/wbthomason/packer.nvim /mnt/srv/home/soispha/.local/share/nvim/site/pack/packer/start/packer.nvim
-
-nixos-enter --command 'nvim -c "PackerSync" -c "qall" -u "/mnt/srv/home/soispha/.config/nvim/init.lua" --headless'
-
-# vim: ft=sh
diff --git a/bootstrap/99_ensure_config_variables.sh b/bootstrap/99_ensure_config_variables.sh
deleted file mode 100755
index 12d9ce8f..00000000
--- a/bootstrap/99_ensure_config_variables.sh
+++ /dev/null
@@ -1,133 +0,0 @@
-#! /usr/bin/env dash
-
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-
-# shellcheck source=/dev/null
-SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
-
-if ! [ "$NIX_ENVIRONMENT_VARIABLES_SET" ]; then
- if ! [ "$NIX_HOST" ]; then
- msg "Select a host:"
- _hosts=$(mktmp)
- curl https://codeberg.org/soispha/nixos-config/raw/branch/prime/flake/nixosConfigurations/default.nix 2>/dev/null | awk -F '"' '/hosts = /{for (i=2;i<NF;i+=2) {print $i}}' >"$_hosts"
-
- while ! grep "$host" "$_hosts" >/dev/null || [ "$(printf "%s" "$host" | wc -c)" -eq 0 ]; do
- i=1
- while read -r host_read; do
- printf "%4s) %s \n" "$i" "$host_read"
- i=$((i + 1))
- done <"$_hosts"
- printf "%4s) Exit\n" "q"
- readp "Enter a option: " host
-
- [ "$host" = "q" ] && exit 1
- host=$(awk -v i="$host" '{if (NR==i) {print $0}}' "$_hosts")
- if ! grep "$host" "$_hosts" >/dev/null || [ "$(printf "%s" "$host" | wc -c)" -eq 0 ]; then
- warning "No host selected. Select a host to continue.\n"
- fi
- done
-
- export NIX_HOST="$host"
- fi
- if ! [ "$NIX_DISK" ] && [ "$INSTALL" ]; then
- available_disks="$(mktmp)"
- lsblk -J | jq '.[] | map(.name) | [foreach .[] as $item ({item: null, index: -1}; {$item, index: (.index + 1)})]' >"$available_disks"
-
- [ "$(jq '.[]' "$available_disks" | wc -l)" -eq 0 ] && die "No disks found"
- msg "Select a disk to format:"
-
- i=9999 # nobody will have so many disks attached
-
- while ! jq -e --argjson i "$i" '.[$i]' "$available_disks" >/dev/null 2>&1; do
- for _disk in $(jq -c '.[]' "$available_disks"); do
- printf "%4s) %s \n" "$(echo "$_disk" | jq '.index')" "$(echo "$_disk" | jq '.item' | tr -d '"')"
- done
- printf "%4s) Exit\n" "q"
- readp "Enter a option: " _disk
-
- if [ "$_disk" = "q" ]; then
- exit 1
- else
- i="$_disk"
- fi
- if jq -e --argjson i "$i" 'nth($i)' "$available_disks" >/dev/null 2>&1; then
- _disk=$(mktmp)
- jq -e --argjson i "$i" 'nth($i)' "$available_disks" >"$_disk"
- else
- warning "No disk selected. Select a disk to continue.\n"
- fi
- done
-
- warn "All data on disk $(jq '.item' "$_disk") will be deleted."
- readp "Continue with this disk? [N/y]: " result
- # shellcheck disable=SC2154
- case "$result" in
- [Yy])
- msg "Great, continuing..."
- _disk="$(jq '.item' "$_disk" | tr -d '"')"
- _disk_serial="$(udevadm info --query=all --name="$_disk" | grep ID_SERIAL= | awk 'BEGIN{FS="="}{print $2}')"
- case "$_disk" in
- "nvme"*)
- _nix_disk="nvme-$_disk_serial"
- ;;
- "sd"*)
- _nix_disk="ata-$_disk_serial"
- ;;
- *)
- die "Disk with name '$_disk' and serial '$_disk_serial' not yet supported!"
- ;;
- esac
- export NIX_DISK="$_nix_disk"
- ;;
- *)
- msg "Sure, keep your data"
- exit 1
- ;;
- esac
- fi
-
- if ! [ "$ACTIVATE_TO_SETUP" ] && ! [ "$INSTALL" ]; then
- readp "Do you want to continue with nixos-install after activation? [N/y]: " result
- case $result in
- [Yy])
- export ACTIVATE_TO_SETUP=yes
- ;;
- *)
- export ACTIVATE_TO_SETUP=no
- ;;
- esac
- fi
- if ! [ "$INSTALL_TO_SETUP" ] && [ "$INSTALL" ]; then
- readp "Do you want to continue with nixos-install after disk formatting? [N/y]: " result
- case $result in
- [Yy])
- export INSTALL_TO_SETUP=yes
- ;;
- *)
- export INSTALL_TO_SETUP=no
- ;;
- esac
- fi
- if ! [ "$SETUP_TO_CONFIG_SETUP" ]; then
- readp "Do you want to continue with the user configuration setup after setup? [N/y]: " result
- case $result in
- [Yy])
- export SETUP_TO_CONFIG_SETUP=yes
- ;;
- *)
- export SETUP_TO_CONFIG_SETUP=no
- ;;
- esac
- fi
- export NIX_ENVIRONMENT_VARIABLES_SET="set"
-fi
-
-# vim: ft=sh
diff --git a/bootstrap/default.nix b/bootstrap/default.nix
deleted file mode 100644
index a5492290..00000000
--- a/bootstrap/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-{
- pkgs,
- sysLib,
- ...
-}: let
- ensure_config_variables_dependencies = builtins.attrValues {inherit (pkgs) systemd jq dash gnugrep curl;};
- replacementStrings = {SCRIPT_ENSURE_CONFIG_VARIABLES = "${ensure_config_variables}/bin/ensure_config_variables";};
- activate = sysLib.writeShellScript {
- dependencies = with pkgs; [jq gawk curl coreutils libuuid lix git] ++ ensure_config_variables_dependencies;
- name = "activate";
- src = ./01_activate.sh;
- inherit replacementStrings;
- };
- install = sysLib.writeShellScript {
- dependencies = with pkgs; [jq dash curl gawk btrfs-progs coreutils libuuid gptfdisk dosfstools toybox lix git] ++ ensure_config_variables_dependencies;
- name = "install";
- src = ./01_install.sh;
- inherit replacementStrings;
- };
- setup = sysLib.writeShellScript {
- dependencies = with pkgs; [dash gawk curl git lix gnugrep nixos-install-tools coreutils libuuid] ++ ensure_config_variables_dependencies;
- name = "setup";
- src = ./02_setup.sh;
- inherit replacementStrings;
- };
- config_setup = sysLib.writeShellScript {
- dependencies = builtins.attrValues {inherit (pkgs) git neovim;} ++ ensure_config_variables_dependencies;
- name = "config_setup";
- src = ./03_config_setup.sh;
- keepPath = true;
- inherit replacementStrings;
- };
- ensure_config_variables = sysLib.writeShellScript {
- name = "ensure_config_variables";
- src = ./99_ensure_config_variables.sh;
- wrap = false;
- };
- output = {inherit activate install setup config_setup ensure_config_variables;};
-in
- output
diff --git a/flake/apps/default.nix b/flake/apps/default.nix
deleted file mode 100644
index b9f4c255..00000000
--- a/flake/apps/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-{
- self,
- system,
- ...
-}: {
- install = {
- type = "app";
- program = "${self.packages."${system}".install}/bin/install";
- };
- activate = {
- type = "app";
- program = "${self.packages."${system}".activate}/bin/activate";
- };
- setup = {
- type = "app";
- program = "${self.packages."${system}".setup}/bin/setup";
- };
- config_setup = {
- type = "app";
- program = "${self.packages."${system}".config_setup}/bin/config_setup";
- };
- default = self.apps."${system}".activate;
-}
diff --git a/flake/default.nix b/flake/default.nix
index 646f9732..f0b74700 100644
--- a/flake/default.nix
+++ b/flake/default.nix
@@ -119,8 +119,6 @@ in {
baseLib."${system}" = baseLib;
- apps."${system}" = import ./apps {inherit self system;};
-
devShells."${system}" = {
default = pkgs.mkShell {
packages = [
diff --git a/flake/packages/default.nix b/flake/packages/default.nix
index 7ea1b6cc..89c7c4f6 100644
--- a/flake/packages/default.nix
+++ b/flake/packages/default.nix
@@ -19,7 +19,6 @@
...
}: let
inherit (pkgs) lib;
- output = import ../../bootstrap {inherit pkgs sysLib;};
run_test_description = pkgs.callPackage ../../tests/infrastructure/run.nix {};
@@ -101,6 +100,5 @@ in
nvim = nvim.tiamat;
inherit run_test_description;
}
- // output
// output_neovim
// myPkgsFlat