diff --git a/README.md b/README.md index 5c76f76..11e08eb 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,10 @@ sudo -i # Use german keyboard layout loadkeys de -# List block devices -lsbkl +# Short for all the stuff below !!! ONLY ON EMPTY DRIVES !!! +curl -L https://www.fischer.im/nixos/minimal-install --output install.sh +chmod 744 ./install.sh +./install.sh ``` ### 2. Partitionierung @@ -115,15 +117,7 @@ boot.loader = { }; ``` -### 8. Home Manager Channel hinzufuegen - -```bash -nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager -nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager -nix-channel --update -``` - -### 9. System installieren +### 8. System installieren ```bash nixos-install @@ -135,9 +129,12 @@ Nach der Installation wird ein Root-Passwort abgefragt. Danach: reboot ``` -### 10. Nach dem ersten Start +### 9. Nach dem ersten Start ```bash +nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager +nix-channel --update + # Konfiguration anwenden sudo nixos-rebuild switch diff --git a/config/common.nix b/config/common.nix index 6567f1d..c1c7e3b 100644 --- a/config/common.nix +++ b/config/common.nix @@ -54,9 +54,6 @@ programs.zsh.enable = true; programs.git.enable = true; - # Flatpak Support - services.flatpak.enable = true; - # Sound services.pulseaudio.enable = false; services.pipewire = { diff --git a/config/home.nix b/config/home.nix index dd86b6b..8d55161 100644 --- a/config/home.nix +++ b/config/home.nix @@ -21,6 +21,7 @@ in hunspellDicts.de_DE darktable + kdePackages.kdenlive # davinci-resolve-studio # Browser @@ -35,6 +36,7 @@ in # Gaming lutris steam + prismlauncher # Entwicklung jetbrains-toolbox @@ -66,40 +68,6 @@ in fi ''; - # Flatpak Apps installieren - # HINWEIS: Diese werden beim ersten home-manager switch installiert - # Dandanch werden sie von Flatpak selbst verwaltet - home.activation.installFlatpakApps = config.lib.dag.entryAfter ["writeBoundary"] '' - # Flathub Remote hinzufügen (falls noch nicht vorhanden) - $DRY_RUN_CMD ${pkgs.flatpak}/bin/flatpak remote-add --if-not-exists --user \ - flathub https://dl.flathub.org/repo/flathub.flatpakrepo || true - - # Extension Manager - if ! ${pkgs.flatpak}/bin/flatpak list --user | grep -q "com.mattjakeman.ExtensionManager"; then - $DRY_RUN_CMD ${pkgs.flatpak}/bin/flatpak install --user -y flathub \ - com.mattjakeman.ExtensionManager || true - fi - - # Kdenlive (Video-Bearbeitung) - if ! ${pkgs.flatpak}/bin/flatpak list --user | grep -q "org.kde.kdenlive"; then - $DRY_RUN_CMD ${pkgs.flatpak}/bin/flatpak install --user -y flathub \ - org.kde.kdenlive || true - fi - - # PrismLauncher (Minecraft) - if ! ${pkgs.flatpak}/bin/flatpak list --user | grep -q "org.prismlauncher.PrismLauncher"; then - $DRY_RUN_CMD ${pkgs.flatpak}/bin/flatpak install --user -y flathub \ - org.prismlauncher.PrismLauncher || true - - mkdir -p /home/Programme/Minecraft/ - chmod 2775 /home/Programme/Minecraft/ - chgrp users /home/Programme/Minecraft/ - # Minecraft-Verzeichnis Zugriff gewähren - $DRY_RUN_CMD ${pkgs.flatpak}/bin/flatpak override --user \ - org.prismlauncher.PrismLauncher --filesystem=/home/Programme/Minecraft/ || true - fi - ''; - # mkcert installieren (für lokale SSL-Zertifikate) home.activation.setupMkcert = config.lib.dag.entryAfter ["writeBoundary"] '' if [ ! -f "$HOME/.local/share/mkcert/rootCA.pem" ]; then diff --git a/scripts/minimal-install.sh b/scripts/minimal-install.sh new file mode 100644 index 0000000..a45065a --- /dev/null +++ b/scripts/minimal-install.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env sh + +sudo -i + +loadkeys de + +lsbkl + + +# Partitioning +read -p "Create partitions table? DELETES ALL DATA! (j/N): " answer +if [ "$answer" = "j" ] || [ "$answer" = "J" ]; then + # GPT-partition table creation + parted /dev/sda -- mklabel gpt + + # EFI-partition (512 MB) + parted /dev/sda -- mkpart esp fat32 1MB 512MB + parted /dev/sda -- set 1 esp on + + # Swap-partition (8 GB) + parted /dev/sda -- mkpart swap linux-swap 512MB 8626MB + + # Root-partition (ca. 45 GB) + parted /dev/sda -- mkpart root ext4 8636MB 40000MB + + # Home-partition (Rest) + parted /dev/sda -- mkpart home ext4 40000MB 100% +fi + +# Check results +parted /dev/sda -- print + + +# Format EFI-partition +mkfs.fat -F 32 -n boot /dev/sda1 + +# Format swap-partition +mkswap -L swap /dev/sda2 + +# Format root-partition +mkfs.ext4 -L nixos /dev/sda3 + +read -p "Home-Partition formatieren? LOESCHT BENUTZERDATEN! (j/N): " answer +if [ "$answer" = "j" ] || [ "$answer" = "J" ]; then + # Format home-partition + mkfs.ext4 -L home /dev/sda4 +fi + + +# Mount partitions +mount /dev/disk/by-label/nixos /mnt + +mkdir /mnt/boot +mount -o umask=077 /dev/disk/by-label/boot /mnt/boot + +mkdir -p /mnt/home +mount /dev/disk/by-label/home /mnt/home + +# Activate swap +swapon /dev/disk/by-label/swap + + +nixos-generate-config --root /mnt + + +# If root password wasn't set because the installation needed to be restarted. +read -p "Root-Passwort mit nixos-enter setzen? (j/N): " answer +if [ "$answer" = "j" ] || [ "$answer" = "J" ]; then + nixos-enter --root '/mnt' + passwd +fi