From 7ca4798d48f48056e2a6502c82fe284f19390b44 Mon Sep 17 00:00:00 2001 From: Marek Paśnikowski Date: Fri, 3 Feb 2023 13:36:43 +0100 Subject: Reorganise Guix Configuration --- aisaka.org | 323 +++++++++++++++++++++++++++++++------------------------------ 1 file changed, 166 insertions(+), 157 deletions(-) diff --git a/aisaka.org b/aisaka.org index 12810cc..e7752ac 100644 --- a/aisaka.org +++ b/aisaka.org @@ -3,166 +3,14 @@ #+property: header-args:scheme :noweb yes #+property: header-args:scheme+ :noweb-prefix no -* TODO LIBREBOOT - -The first layer of computing is the firmware. The Lenovo Thinkpad X200 has -a free Libreboot firmware installed. It is a good idea to keep it up to date. - -** TODO Flashrom - -Flashrom program is needed to write the computer firmware. The -program needs a relaxed kernel security feature. - -#+begin_src scheme :noweb-ref flashrom-package - (service - (service-type - (name 'flashrom-package) - (extensions - `(,(service-extension home-profile-service-type - (lambda (_) - (map specification->package - '("flashrom")))))) - (description "Flashrom installation.") - (default-value #f))) -#+end_src - -* TODO File Systems - -This system has a very simple file system - a boot partition, main partition -for everything else and swap. The main partition is encrypted. - -** Mapped Devices - -Data encryption layer, password protected. The LUKS encryption type is -used. - -#+begin_src scheme :noweb-ref luks - (mapped-device - (source (uuid "887ac37f-2919-41a0-a62a-e1ff5ea2d6cc")) - (target "aisaka-root") - (type luks-device-mapping)) -#+end_src - -** File Systems - -The data is split into an unencrypted boot partition and encrypted root -filesystem. - -*** Root File System - -The root filesystem is mounted on the encryption layer. Its type is -BTRFS. - -#+begin_src scheme :noweb-ref rootfs - (file-system - (mount-point "/") - (device "/dev/mapper/aisaka-root") - (type "btrfs") - (dependencies mapped-devices)) -#+end_src - -*** Boot File System - -The boot partition is on EXT4 filesystem. - -#+begin_src scheme :noweb-ref bootfs - (file-system - (mount-point "/boot") - (device (uuid "4f77b5fc-56ad-43ae-b6ec-e5adc8c48587")) - (type "ext4")) -#+end_src - -** Swap Devices - -Swap takes half the storage space in order to facilitate edge cases of -memory without overprovisioning, as well as to prolog the lifetime of SSD. - -#+begin_src scheme :noweb-ref swap - (swap-space (target (uuid "73bed3f9-be07-40ad-a228-577cd24f2e1d"))) -#+end_src - -* TODO System Servers +* TODO Guix -** TODO Secure Shell - -#+begin_src scheme :noweb-ref ssh-server :tangle services/ssh-server.scm - (define-module (ssh-server) - #:use-module (gnu) - #:use-module (gnu home) - #:use-module (gnu home services) - #:use-module (gnu services ssh)) - - <> - - <> -#+end_src - -*** TODO SSH Installation - -#+begin_src scheme :noweb-ref ssh-service - (define-public ssh-service - (service openssh-service-type)) -#+end_src +https://guix.gnu.org/en/manual/devel/en/html_node/ -*** TODO SSH Configuration - -#+begin_src scheme :noweb-ref ssh-configuration - (define-public ssh-configuration - (simple-service 'ssh-configuration* home-files-service-type - `((".ssh/config" ,(local-file "../ssh.config"))))) -#+end_src - -* TODO Desktop Environment - -Sway is the currently chosen operating environment. - -** TODO Sway Window Manager - -The Sway Window Manager consists of Sway packages and relevant configurations. - -#+begin_src scheme :noweb-ref sway :tangle services/sway.scm - (add-to-load-path "./services") - - (define-module (sway) - #:use-module (gnu) - #:use-module (gnu home) - #:use-module (gnu home services) - #:use-module (gnu home services shells)) - - <> - - <> -#+end_src - -*** TODO Sway Installation - -#+begin_src scheme :noweb-ref sway-packages - (define-public sway-packages - (service - (service-type - (name 'sway-packages) - (extensions - `(,(service-extension home-profile-service-type - (lambda (_) - (map specification->package - '("sway" - "waybar")))))) - (description "Sway Window Manager installation.") - (default-value #f)))) -#+end_src - -*** TODO Sway configuration - -#+begin_src scheme :noweb-ref sway-configuration - (define-public sway-configuration - (simple-service 'configuration-files home-files-service-type - `((".config/sway/config" ,(local-file "../sway.config")) - (".config/waybar/config" ,(local-file "../waybar.config"))))) -#+end_src - -* imported configuration dump ** TODO System configuration +https://guix.gnu.org/en/manual/devel/en/html_node/System-Configuration.html + #+begin_src scheme :noweb-ref system-dump :tangle system-configuration.scm (add-to-load-path "./services") @@ -237,9 +85,10 @@ The Sway Window Manager consists of Sway packages and relevant configurations. `(,<> ,<>)))) #+end_src - ** TODO Home configuration +https://guix.gnu.org/en/manual/devel/en/html_node/Home-Configuration.html + #+begin_src scheme :noweb-ref home-dump :tangle home-configuration.scm (add-to-load-path "./services") @@ -383,3 +232,163 @@ The Sway Window Manager consists of Sway packages and relevant configurations. ,(local-file "guix-shell-authorized-directories")) (".emacs" ,(local-file "emacs.el"))))))) #+end_src + +* TODO LIBREBOOT + +The first layer of computing is the firmware. The Lenovo Thinkpad X200 has +a free Libreboot firmware installed. It is a good idea to keep it up to date. + +** TODO Flashrom + +Flashrom program is needed to write the computer firmware. The +program needs a relaxed kernel security feature. + +#+begin_src scheme :noweb-ref flashrom-package + (service + (service-type + (name 'flashrom-package) + (extensions + `(,(service-extension home-profile-service-type + (lambda (_) + (map specification->package + '("flashrom")))))) + (description "Flashrom installation.") + (default-value #f))) +#+end_src + +* TODO File Systems + +This system has a very simple file system - a boot partition, main partition +for everything else and swap. The main partition is encrypted. + +** Mapped Devices + +Data encryption layer, password protected. The LUKS encryption type is +used. + +#+begin_src scheme :noweb-ref luks + (mapped-device + (source (uuid "887ac37f-2919-41a0-a62a-e1ff5ea2d6cc")) + (target "aisaka-root") + (type luks-device-mapping)) +#+end_src + +** File Systems + +The data is split into an unencrypted boot partition and encrypted root +filesystem. + +*** Root File System + +The root filesystem is mounted on the encryption layer. Its type is +BTRFS. + +#+begin_src scheme :noweb-ref rootfs + (file-system + (mount-point "/") + (device "/dev/mapper/aisaka-root") + (type "btrfs") + (dependencies mapped-devices)) +#+end_src + +*** Boot File System + +The boot partition is on EXT4 filesystem. + +#+begin_src scheme :noweb-ref bootfs + (file-system + (mount-point "/boot") + (device (uuid "4f77b5fc-56ad-43ae-b6ec-e5adc8c48587")) + (type "ext4")) +#+end_src + +** Swap Devices + +Swap takes half the storage space in order to facilitate edge cases of +memory without overprovisioning, as well as to prolog the lifetime of SSD. + +#+begin_src scheme :noweb-ref swap + (swap-space (target (uuid "73bed3f9-be07-40ad-a228-577cd24f2e1d"))) +#+end_src + +* TODO System Servers + +** TODO Secure Shell + +#+begin_src scheme :noweb-ref ssh-server :tangle services/ssh-server.scm + (define-module (ssh-server) + #:use-module (gnu) + #:use-module (gnu home) + #:use-module (gnu home services) + #:use-module (gnu services ssh)) + + <> + + <> +#+end_src + +*** TODO SSH Installation + +#+begin_src scheme :noweb-ref ssh-service + (define-public ssh-service + (service openssh-service-type)) +#+end_src + +*** TODO SSH Configuration + +#+begin_src scheme :noweb-ref ssh-configuration + (define-public ssh-configuration + (simple-service 'ssh-configuration* home-files-service-type + `((".ssh/config" ,(local-file "../ssh.config"))))) +#+end_src + +* TODO Device Management +** TODO Trezor + +* TODO Desktop Environment + +Sway is the currently chosen operating environment. + +** TODO Sway Window Manager + +The Sway Window Manager consists of Sway packages and relevant configurations. + +#+begin_src scheme :noweb-ref sway :tangle services/sway.scm + (add-to-load-path "./services") + + (define-module (sway) + #:use-module (gnu) + #:use-module (gnu home) + #:use-module (gnu home services) + #:use-module (gnu home services shells)) + + <> + + <> +#+end_src + +*** TODO Sway Installation + +#+begin_src scheme :noweb-ref sway-packages + (define-public sway-packages + (service + (service-type + (name 'sway-packages) + (extensions + `(,(service-extension home-profile-service-type + (lambda (_) + (map specification->package + '("sway" + "waybar")))))) + (description "Sway Window Manager installation.") + (default-value #f)))) +#+end_src + +*** TODO Sway configuration + +#+begin_src scheme :noweb-ref sway-configuration + (define-public sway-configuration + (simple-service 'configuration-files home-files-service-type + `((".config/sway/config" ,(local-file "../sway.config")) + (".config/waybar/config" ,(local-file "../waybar.config"))))) +#+end_src -- cgit v1.2.3