Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commita0c3561302773920435cc5fd2d2f4ccf7202fa95 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-06-29 16:20:28 +0300
Committer
 Syndamia <kamen@syndamia.com>
2025-06-29 16:20:28 +0300
Files93dcbec604b3f451b8b4eadba695d38ea350ffba
nix-a0c3561302773920435cc5fd2d2f4ccf7202fa95.tar
nix-a0c3561302773920435cc5fd2d2f4ccf7202fa95.tar.gz
nix-a0c3561302773920435cc5fd2d2f4ccf7202fa95.zip
Parent2e1cb14ae6a8eacc3d028b59c75683798b5a6fe8 (diff)
feat(machines): Add an ISO configuration
I'll use the built ISO as a general system rescue tool and a nixos installation tool.
4 files changed, 74 insertions, 0 deletions
-rw-r--r--machines/iso/configuration.nix67
l---------machines/iso/hardware-configuration.nix1
-rw-r--r--machines/iso/sysidentity.nix5
-rw-r--r--modules/none/default.nix1
diff --git a/machines/iso/configuration.nix b/machines/iso/configuration.nix
new file mode 100644
index 0000000..c8b641f
--- /dev/null
+++ b/machines/iso/configuration.nix
@@ -0,0 +1,67 @@
+{ pkgs, modulesPath, lib, ... }: {
+ imports = [
+ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix")
+ ];
+
+ isoImage.edition = lib.mkForce "handmade";
+
+ services.getty.helpLine = lib.mkForce ''
+ The "nixos" and "root" accounts have empty passwords.
+
+ If you need a wireless connection, type
+ `sudo systemctl start wpa_supplicant` and configure a
+ network using `wpa_cli`. See the NixOS manual (`nixos-help`)
+ for details.
+
+ Run `startx` to start the graphical user interface.
+ '';
+
+ environment.systemPackages = with pkgs; [
+ # General CLI
+ git texinfo lsof tree bc
+ # Hardware managment
+ lshw lm_sensors efibootmgr usbutils cdrtools pipewire bluez
+ unetbootin
+ # Laptop
+ brightnessctl upower
+ # X11 utilities
+ xorg.xev xfontsel xorg.xmodmap xorg.xwininfo
+ xdotool xorg.setxkbmap xclip wmctrl
+ pavucontrol
+ # X11 file utilities
+ xarchiver firefox
+ # Data recovery
+ gparted testdisk extundelete ext4magic
+ gptfdisk
+ # Other
+ memtest86plus memtester
+ ];
+
+ services.xserver = {
+ enable = true;
+
+ windowManager.icewm.enable = true;
+ displayManager.startx = {
+ enable = true;
+ generateScript = true;
+ extraCommands = ''
+ xterm -bg black -fg white -fs 12 -geometry 87x54+0+0 &
+ BROWSER=${pkgs.w3m}/bin/w3m xterm -fs 12 -geometry 80x54+532+0 -e nixos-help &
+ '';
+ };
+ };
+
+ programs.mtr.enable = true;
+
+ services.libinput = {
+ enable = true;
+ touchpad.naturalScrolling = true;
+ };
+
+ fonts.packages = with pkgs; [
+ # Note to self: DO NOT INSTALL ADOBE FONTS!
+ corefonts vistafonts liberation_ttf helvetica-neue-lt-std noto-fonts noto-fonts-emoji cm_unicode #symbola
+ # CJK
+ noto-fonts-cjk-sans arphic-ukai arphic-uming takao wqy_microhei wqy_zenhei
+ ];
+}
diff --git a/machines/iso/hardware-configuration.nix b/machines/iso/hardware-configuration.nix
new file mode 120000
index 0000000..bfebb5c
--- /dev/null
+++ b/machines/iso/hardware-configuration.nix
@@ -0,0 +1 @@
+../../modules/none/default.nix \ No newline at end of file
diff --git a/machines/iso/sysidentity.nix b/machines/iso/sysidentity.nix
new file mode 100644
index 0000000..3ccbe0b
--- /dev/null
+++ b/machines/iso/sysidentity.nix
@@ -0,0 +1,5 @@
+groups: {
+ name = "iso";
+ arch = "x86_64-linux";
+ kind = "none";
+}
diff --git a/modules/none/default.nix b/modules/none/default.nix
new file mode 100644
index 0000000..ffcd441
--- /dev/null
+++ b/modules/none/default.nix
@@ -0,0 +1 @@
+{ }