commit d34e351bfa42e545c9556c966c4f083555362b04 Author: David Wilson Date: Wed May 26 06:12:36 2021 -0700 Does it build? diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..a90cb29 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,26 @@ +name: Build Guix Installer + +on: + push: main + + # schedule: + # # build every 2 weeks + # - cron: "0 0 */14 * *" + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Git checkout + uses: actions/checkout@v2 + + - name: Install Guix + uses: PromyLOPh/guix-install-action@v1 + + - name: Build ISO + run: | + #$image=$(guix system image installer.scm) + guix system image installer.scm diff --git a/installer.scm b/installer.scm new file mode 100644 index 0000000..6ef49d4 --- /dev/null +++ b/installer.scm @@ -0,0 +1,50 @@ +;;; Copyright © 2019 Alex Griffin +;;; Copyright © 2019 Pierre Neidhardt +;;; Copyright © 2019 David Wilson +;;; +;;; This program is free software: you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation, either version 3 of the License, or +;;; (at your option) any later version. +;;; +;;; This program is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with this program. If not, see . + +;; Generate a bootable image (e.g. for USB sticks, etc.) with: +;; $ guix system disk-image nongnu/system/install.scm + +(define-module (nongnu system install) + #:use-module (gnu system) + #:use-module (gnu system install) + #:use-module (gnu packages version-control) + #:use-module (gnu packages vim) + #:use-module (gnu packages curl) + #:use-module (gnu packages emacs) + #:use-module (gnu packages linux) + #:use-module (gnu packages mtools) + #:use-module (gnu packages package-management) + #:use-module (nongnu packages linux) + #:export (installation-os-nonfree)) + +(define installation-os-nonfree + (operating-system + (inherit installation-os) + (kernel linux) + (firmware (list linux-firmware)) + + ;; Add the 'net.ifnames' argument to prevent network interfaces + ;; from having really long names. This can cause an issue with + ;; wpa_supplicant when you try to connect to a wifi network. + (kernel-arguments '("quiet" "modprobe.blacklist=radeon" "net.ifnames=0")) + + ;; Add some extra packages useful for the installation process + (packages + (append (list git curl stow vim emacs-no-x-toolkit) + (operating-system-packages installation-os))))) + +installation-os-nonfree