right, that makes sense
This commit is contained in:
parent
112fc3ddb3
commit
0f2f2a09f0
6 changed files with 142 additions and 103 deletions
19
LICENSE.md
Normal file
19
LICENSE.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
This is free and unencumbered software released into the public domain.
|
||||||
|
|
||||||
|
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
|
||||||
|
software, either in source code form or as a compiled binary, for any purpose,
|
||||||
|
commercial or non-commercial, and by any means.
|
||||||
|
|
||||||
|
In jurisdictions that recognize copyright laws, the author or authors of this
|
||||||
|
software dedicate any and all copyright interest in the software to the public
|
||||||
|
domain. We make this dedication for the benefit of the public at large and to
|
||||||
|
the detriment of our heirs and successors. We intend this dedication to be an
|
||||||
|
overt act of relinquishment in perpetuity of all present and future rights to
|
||||||
|
this software under copyright law.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||||
|
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@ -5,3 +5,4 @@
|
||||||
- [dafitt/dotfiles](https://github.com/dafitt/dotfiles/)
|
- [dafitt/dotfiles](https://github.com/dafitt/dotfiles/)
|
||||||
- [khaneliman/khanelinix](https://github.com/khaneliman/khanelinix)
|
- [khaneliman/khanelinix](https://github.com/khaneliman/khanelinix)
|
||||||
- [alex007sirois/nix-config](https://github.com/alex007sirois/nix-config) (justfile)
|
- [alex007sirois/nix-config](https://github.com/alex007sirois/nix-config) (justfile)
|
||||||
|
- [hmajid2301/nixicle](https://gitlab.com/hmajid2301/nixicle) (the GOAT, he did what I am aiming for!)
|
|
@ -99,11 +99,6 @@
|
||||||
flux.overlays.default
|
flux.overlays.default
|
||||||
];
|
];
|
||||||
|
|
||||||
system.hosts.varda.modules = with inputs; [
|
|
||||||
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix"
|
|
||||||
"${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix"
|
|
||||||
];
|
|
||||||
|
|
||||||
homes.modules = with inputs; [
|
homes.modules = with inputs; [
|
||||||
stylix.homeModules.stylix
|
stylix.homeModules.stylix
|
||||||
plasma-manager.homeManagerModules.plasma-manager
|
plasma-manager.homeManagerModules.plasma-manager
|
||||||
|
|
120
systems/x86_64-install-iso/minimal/default.nix
Normal file
120
systems/x86_64-install-iso/minimal/default.nix
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkForce;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
boot = {
|
||||||
|
supportedFilesystems = mkForce ["btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs"];
|
||||||
|
|
||||||
|
loader.efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
wireless.enable = true;
|
||||||
|
networkmanager.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
enable = true;
|
||||||
|
extraOptions = "experimental-features = nix-command flakes";
|
||||||
|
channel.enable = false;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
allowed-users = [ "@wheel" ];
|
||||||
|
trusted-users = [ "@wheel" ];
|
||||||
|
|
||||||
|
auto-optimise-store = true;
|
||||||
|
connect-timeout = 5;
|
||||||
|
http-connections = 50;
|
||||||
|
log-lines = 50; # more log lines in case of error
|
||||||
|
min-free = 1 * (1024 * 1024 * 1024); # GiB # start garbage collector
|
||||||
|
max-free = 50 * (1024 * 1024 * 1024); # GiB # until
|
||||||
|
warn-dirty = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
ssh.enable = true;
|
||||||
|
qemuGuest.enable = true;
|
||||||
|
openssh.settings.PermitRootLogin = mkForce "yes";
|
||||||
|
};
|
||||||
|
|
||||||
|
system.locale.enable = true;
|
||||||
|
|
||||||
|
user = {
|
||||||
|
name = "nixos";
|
||||||
|
initialPassword = "kaas";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# sbctl
|
||||||
|
git
|
||||||
|
# gum
|
||||||
|
# (
|
||||||
|
# writeShellScriptBin "rescue" ''
|
||||||
|
# #!/usr/bin/env bash
|
||||||
|
# set -euo pipefail
|
||||||
|
|
||||||
|
# gum "device name"
|
||||||
|
|
||||||
|
# sudo mkdir -p /mnt/{dev,proc,sys,boot}
|
||||||
|
# sudo mount -o bind /dev /mnt/dev
|
||||||
|
# sudo mount -o bind /proc /mnt/proc
|
||||||
|
# sudo mount -o bind /sys /mnt/sys
|
||||||
|
# sudo chroot /mnt /nix/var/nix/profiles/system/activate
|
||||||
|
# sudo chroot /mnt /run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
# sudo mount /dev/vda1 /mnt/boot
|
||||||
|
# sudo cryptsetup open /dev/vda3 cryptroot
|
||||||
|
# sudo mount /dev/mapper/cryptroot /mnt/
|
||||||
|
|
||||||
|
# sudo nixos-enter
|
||||||
|
# ''
|
||||||
|
# )
|
||||||
|
# (
|
||||||
|
# writeShellScriptBin "nix_installer"
|
||||||
|
# ''
|
||||||
|
# #!/usr/bin/env bash
|
||||||
|
# set -euo pipefail
|
||||||
|
|
||||||
|
# if [ "$(id -u)" -eq 0 ]; then
|
||||||
|
# echo "ERROR! $(basename "$0") should be run as a regular user"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# if [ ! -d "$HOME/github/sneeuwvlok/.git" ]; then
|
||||||
|
# git clone https://github.com/chris-kruining/sneeuwvlok.git "$HOME/github/sneeuwvlok"
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# TARGET_HOST=$(ls -1 ~/github/sneeuwvlok/systems/*/default.nix | cut -d'/' -f6 | grep -v iso | gum choose)
|
||||||
|
|
||||||
|
# if [ ! -e "$HOME/github/sneeuwvlok/hosts/$TARGET_HOST/disks.nix" ]; then
|
||||||
|
# echo "ERROR! $(basename "$0") could not find the required $HOME/github/sneeuwvlok/hosts/$TARGET_HOST/disks.nix"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# gum confirm --default=false \
|
||||||
|
# "🔥 🔥 🔥 WARNING!!!! This will ERASE ALL DATA on the disk $TARGET_HOST. Are you sure you want to continue?"
|
||||||
|
|
||||||
|
# echo "Partitioning Disks"
|
||||||
|
# sudo nix run github:nix-community/disko \
|
||||||
|
# --extra-experimental-features "nix-command flakes" \
|
||||||
|
# --no-write-lock-file \
|
||||||
|
# -- \
|
||||||
|
# --mode zap_create_mount \
|
||||||
|
# "$HOME/dotfiles/hosts/$TARGET_HOST/disks.nix"
|
||||||
|
|
||||||
|
# #echo "Creating blank volume"
|
||||||
|
# #sudo btrfs subvolume snapshot -r /mnt/ /mnt/root-blank
|
||||||
|
|
||||||
|
# #echo "Set up attic binary cache"
|
||||||
|
# #attic use prod || true
|
||||||
|
|
||||||
|
# sudo nixos-install --flake "$HOME/dotfiles#$TARGET_HOST"
|
||||||
|
# ''
|
||||||
|
# )
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "23.11";
|
||||||
|
}
|
|
@ -1,3 +1,3 @@
|
||||||
# Description
|
# Description
|
||||||
|
|
||||||
Installer ISO
|
TBD
|
|
@ -1,96 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
let
|
|
||||||
inherit (lib) mkForce;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
sneeuwvlok = {
|
|
||||||
services = {
|
|
||||||
networking.ssh.enable = true;
|
|
||||||
media.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
editor = {
|
|
||||||
nano.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
supportedFilesystems = mkForce ["btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs"];
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
qemuGuest.enable = true;
|
|
||||||
openssh.settings.PermitRootLogin = mkForce "yes";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# sbctl
|
|
||||||
git
|
|
||||||
gum
|
|
||||||
(
|
|
||||||
writeShellScriptBin "rescue" ''
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
gum "device name"
|
|
||||||
|
|
||||||
sudo mkdir -p /mnt/{dev,proc,sys,boot}
|
|
||||||
sudo mount -o bind /dev /mnt/dev
|
|
||||||
sudo mount -o bind /proc /mnt/proc
|
|
||||||
sudo mount -o bind /sys /mnt/sys
|
|
||||||
sudo chroot /mnt /nix/var/nix/profiles/system/activate
|
|
||||||
sudo chroot /mnt /run/current-system/sw/bin/bash
|
|
||||||
|
|
||||||
sudo mount /dev/vda1 /mnt/boot
|
|
||||||
sudo cryptsetup open /dev/vda3 cryptroot
|
|
||||||
sudo mount /dev/mapper/cryptroot /mnt/
|
|
||||||
|
|
||||||
sudo nixos-enter
|
|
||||||
''
|
|
||||||
)
|
|
||||||
(
|
|
||||||
writeShellScriptBin "nix_installer"
|
|
||||||
''
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
if [ "$(id -u)" -eq 0 ]; then
|
|
||||||
echo "ERROR! $(basename "$0") should be run as a regular user"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d "$HOME/github/sneeuwvlok/.git" ]; then
|
|
||||||
git clone https://github.com/chris-kruining/sneeuwvlok.git "$HOME/github/sneeuwvlok"
|
|
||||||
fi
|
|
||||||
|
|
||||||
TARGET_HOST=$(ls -1 ~/github/sneeuwvlok/systems/*/default.nix | cut -d'/' -f6 | grep -v iso | gum choose)
|
|
||||||
|
|
||||||
if [ ! -e "$HOME/github/sneeuwvlok/hosts/$TARGET_HOST/disks.nix" ]; then
|
|
||||||
echo "ERROR! $(basename "$0") could not find the required $HOME/github/sneeuwvlok/hosts/$TARGET_HOST/disks.nix"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
gum confirm --default=false \
|
|
||||||
"🔥 🔥 🔥 WARNING!!!! This will ERASE ALL DATA on the disk $TARGET_HOST. Are you sure you want to continue?"
|
|
||||||
|
|
||||||
echo "Partitioning Disks"
|
|
||||||
sudo nix run github:nix-community/disko \
|
|
||||||
--extra-experimental-features "nix-command flakes" \
|
|
||||||
--no-write-lock-file \
|
|
||||||
-- \
|
|
||||||
--mode zap_create_mount \
|
|
||||||
"$HOME/dotfiles/hosts/$TARGET_HOST/disks.nix"
|
|
||||||
|
|
||||||
#echo "Creating blank volume"
|
|
||||||
#sudo btrfs subvolume snapshot -r /mnt/ /mnt/root-blank
|
|
||||||
|
|
||||||
#echo "Set up attic binary cache"
|
|
||||||
#attic use prod || true
|
|
||||||
|
|
||||||
sudo nixos-install --flake "$HOME/dotfiles#$TARGET_HOST"
|
|
||||||
''
|
|
||||||
)
|
|
||||||
];
|
|
||||||
|
|
||||||
system.stateVersion = "23.11";
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue