diff --git a/hosts/graphical-installer/README.adoc b/hosts/graphical-installer/README.adoc new file mode 100644 index 00000000..a2996de5 --- /dev/null +++ b/hosts/graphical-installer/README.adoc @@ -0,0 +1,15 @@ += graphical-installer, the personalized graphical installer for NixOS + +My other personalized NixOS installation medium. +Similar to `bootstrap`, it isn't supposed to be used as a daily system (if you are, you're still pretty weird :/). +This is based from the GNOME graphical installer from nixpkgs. +Also uses my link:../../modules/nixos/themes/a-happy-gnome[A happy GNOME theme]. + +To make use of this, you can generate an ISO through link:https://github.com/nix-community/nixos-generators[nixos-generators]. footnote:[You can also try this for other hosts as well for MORE BEEFY OFFLINE INSTALLATION MEDIUM!] + +[source, shell] +---- +nix run github:nix-community/nixos-generators -- --flake .#graphical-installer --format iso --out-link result +---- + +With the ISO built, you can now use it for yourself for whatever reason. diff --git a/hosts/graphical-installer/default.nix b/hosts/graphical-installer/default.nix new file mode 100644 index 00000000..8c15fbd5 --- /dev/null +++ b/hosts/graphical-installer/default.nix @@ -0,0 +1,49 @@ +{ self, lib, config, pkgs, inputs, modulesPath, ... }: + +{ + imports = [ + "${modulesPath}/installer/cd-dvd/installation-cd-graphical-base.nix" + (lib.getUser "nixos" "nixos") + ]; + + networking.hostName = "graphical-installer"; + + boot.loader.systemd-boot.enable = true; + boot.supportedFilesystems = lib.mkForce [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ]; + users.users.root.password = ""; + + isoImage = { + isoBaseName = config.networking.hostName; + contents = [{ + source = self; + target = "/bootstrap/"; + }]; + storeContents = [ + self.devShell.${config.nixpkgs.system} + ] ++ builtins.attrValues inputs; + }; + + profiles = { + desktop = { + enable = true; + fonts.enable = true; + }; + dev = { + enable = true; + shell.enable = true; + neovim.enable = true; + }; + }; + + themes.themes.a-happy-gnome.enable = true; + services.xserver.displayManager = { + gdm = { + enable = true; + autoSuspend = false; + }; + autoLogin = { + enable = true; + user = "nixos"; + }; + }; +}