summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aisaka.org417
-rw-r--r--home-configuration.scm151
-rw-r--r--system-configuration.scm52
3 files changed, 319 insertions, 301 deletions
diff --git a/aisaka.org b/aisaka.org
index 870f745..929af98 100644
--- a/aisaka.org
+++ b/aisaka.org
@@ -1,7 +1,7 @@
#+title: Configuration of the Aisaka computer -*- mode: org -*-
#+startup: overview
#+property: header-args:scheme :noweb yes
-#+property: header-args:scheme+ :noweb-prefix no
+#+property: header-args:scheme+ :noweb-prefix yes
* TODO Guix
@@ -12,72 +12,78 @@ https://guix.gnu.org/en/manual/devel/en/html_node/
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")
-
- (define-module (aisaka-system-configuration)
- #:use-module (gnu)
- #:use-module (gnu packages cups)
- #:use-module (gnu packages finance)
- #:use-module (gnu services cups)
- #:use-module (gnu services configuration)
- #:use-module (gnu services desktop)
- #:use-module (gnu services networking)
- #:use-module (gnu services ssh)
- #:use-module (gnu services xorg)
- #:use-module (ssh-server))
-
- (define keyboard-layout
- (keyboard-layout "pl"))
-
- (operating-system
- (locale "pl_PL.utf8")
- (timezone "Europe/Warsaw")
- (keyboard-layout keyboard-layout)
- (host-name "aisaka")
- (users (cons* (user-account (name "marek")
- (comment "Marek Paśnikowski")
- (group "users")
- (home-directory "/home/marek")
- (supplementary-groups '("audio"
- "netdev"
- "tor"
- "video"
- "wheel")))
- %base-user-accounts))
- (packages (append (map <<to-package+output>>
- '("netcat-openbsd"
- "nss-certs"
- "ntfs-3g"
- "trezord"
- "trezord-udev-rules"))
- %base-packages))
- (services (cons* ssh-service
- (service cups-service-type
- (cups-configuration (extensions `(,cups-filters
- ,epson-inkjet-printer-escpr))
- (web-interface? #t)))
- (service gnome-desktop-service-type)
- (service tor-service-type
- (tor-configuration (config-file (local-file "torrc"))
- (control-socket? #t)))
- (udev-rules-service 'trezord trezord-udev-rules)
- (modify-services %desktop-services
- (elogind-service-type
- configuration =>
- (elogind-configuration
- (inherit configuration)
- (handle-lid-switch 'ignore))))))
- (bootloader (bootloader-configuration (bootloader grub-bootloader)
- (targets '("/dev/sda"))
- (keyboard-layout keyboard-layout)))
- (swap-devices
- `(,<<swap>>))
- (mapped-devices
- `(,<<luks>>))
- (file-systems
- (append %base-file-systems
- `(,<<rootfs>>
- ,<<bootfs>>))))
+(add-to-load-path "./services")
+
+(define-module (aisaka-system-configuration)
+ #:use-module (gnu)
+ #:use-module (gnu packages cups)
+ #:use-module (gnu packages finance)
+ #:use-module (gnu services cups)
+ #:use-module (gnu services configuration)
+ #:use-module (gnu services desktop)
+ #:use-module (gnu services networking)
+ #:use-module (gnu services ssh)
+ #:use-module (gnu services xorg)
+ #:use-module (ssh-server))
+
+(define keyboard-layout
+ (keyboard-layout "pl"))
+
+(operating-system
+ (locale "pl_PL.utf8")
+ (timezone "Europe/Warsaw")
+ (keyboard-layout keyboard-layout)
+ (host-name "aisaka")
+ (users (cons* (user-account (name "marek")
+ (comment "Marek Paśnikowski")
+ (group "users")
+ (home-directory "/home/marek")
+ (supplementary-groups '("audio"
+ "netdev"
+ "tor"
+ "video"
+ "wheel")))
+ %base-user-accounts))
+ (packages
+ (append
+ (map
+ <<to-package+output>>
+ '("netcat-openbsd"
+ "nss-certs"
+ "ntfs-3g"
+ "trezord"
+ "trezord-udev-rules"))
+ %base-packages))
+ (services (cons* ssh-service
+ (service cups-service-type
+ (cups-configuration (extensions `(,cups-filters
+ ,epson-inkjet-printer-escpr))
+ (web-interface? #t)))
+ (service gnome-desktop-service-type)
+ (service tor-service-type
+ (tor-configuration (config-file (local-file "torrc"))
+ (control-socket? #t)))
+ (udev-rules-service 'trezord trezord-udev-rules)
+ (modify-services %desktop-services
+ (elogind-service-type
+ configuration =>
+ (elogind-configuration
+ (inherit configuration)
+ (handle-lid-switch 'ignore))))))
+ (bootloader (bootloader-configuration (bootloader grub-bootloader)
+ (targets '("/dev/sda"))
+ (keyboard-layout keyboard-layout)))
+ (swap-devices
+ (list
+ <<swap>>))
+ (mapped-devices
+ (list
+ <<luks>>))
+ (file-systems
+ (append %base-file-systems
+ (list
+ <<rootfs>>
+ <<bootfs>>))))
#+end_src
** TODO Home configuration
@@ -85,143 +91,146 @@ https://guix.gnu.org/en/manual/devel/en/html_node/System-Configuration.html
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")
-
- (define-module (aisaka-home-configuration)
- #:use-module (gnu home)
- #:use-module (gnu home services)
- #:use-module (gnu home services shells)
- #:use-module (gnu packages)
- #:use-module (gnu services)
- #:use-module (guix gexp)
- #:use-module (ssh-server))
-
- (define allow-downgrades
- "--allow-downgrades ")
-
- (define config-prefix
- "/home/marek/src/guix-config/")
-
- (define pull-guix
- "guix pull ")
-
- (define pull-guix-
- (string-append pull-guix
- allow-downgrades
- "--disable-authentication "))
-
- (define guix-home
- "guix home reconfigure ")
-
- (define home-configuration
- "home-configuration.scm ")
-
- (define reconfigure-home
- (string-append guix-home
- config-prefix
- home-configuration))
-
- (define reconfigure-home-
- (string-append reconfigure-home
- allow-downgrades))
-
- (define guix-system
- "sudo guix system reconfigure ")
-
- (define system-configuration
- "system-configuration.scm ")
-
- (define reconfigure-system
- (string-append guix-system
- config-prefix
- system-configuration))
-
- (define reconfigure-system-
- (string-append reconfigure-system
- allow-downgrades))
-
- (define and
- "&& ")
-
- (define system-update
- (string-append pull-guix
- and
- reconfigure-system
- and
- reconfigure-home))
-
- (define system-update-
- (string-append pull-guix-
- and
- reconfigure-system-
- and
- reconfigure-home-))
-
- (home-environment
- (packages (map <<to-package+output>>
- '("adwaita-icon-theme"
- "alacritty"
- "clamav"
- "cpupower"
- "dconf-editor"
- "dmenu"
- "emacs"
- "emacs-aggressive-indent"
- "emacs-eldoc"
- "emacs-geiser"
- "emacs-geiser-guile"
- "emacs-nov-el"
- "emacs-org-auto-tangle"
- "emacs-org-contacts"
- "emacs-org-contrib"
- "font-google-noto"
- "git"
- "git-lfs"
- "gnome-tweaks"
- "gnupg"
- "guile"
- "guile-spec"
- "hicolor-icon-theme"
- "icecat"
- "jami"
- "libadwaita"
- "libreoffice"
- "nm-tray"
- "pwgen"
- "seahorse"
- "sicp"
- "strace"
- "trezor-agent"
- "unzip"
- "zip")))
- (services
- `(,<<flashrom-package>>
- ,ssh-configuration
- ,(service home-bash-service-type
- (home-bash-configuration
- (environment-variables '(("EDITOR" . "emacs -nw")
- ("LIBGL_ALWAYS_SOFTWARE" . "1")
- ("NVM_DIR" . "$HOME/src/nvm")
- ("GUILE_AUTO_COMPILE" . "0")))
- (aliases `(("grep" . "grep --color=auto ")
- ("ll" . "ls -l ")
- ("ls" . "ls -p --color=auto ")
- ("pull-guix" . ,pull-guix)
- ("pull-guix-" . ,pull-guix-)
- ("reconfigure-home" . ,reconfigure-home)
- ("reconfigure-home-" . ,reconfigure-home-)
- ("reconfigure-system" . ,reconfigure-system)
- ("reconfigure-system-" . ,reconfigure-system-)
- ("system-update" . ,system-update)
- ("system-update-" . ,system-update-)))
- (bash-profile `(,(local-file "bash_profile")))
- (bashrc `(,(local-file "bashrc")))))
- ,(simple-service 'configuration-files
- home-files-service-type
- `((".config/git/config" ,(local-file "git.config"))
- (".config/guix/shell-authorized-directories"
- ,(local-file "guix-shell-authorized-directories"))
- (".emacs" ,(local-file "emacs.el")))))))
+(add-to-load-path "./services")
+
+(define-module (aisaka-home-configuration)
+ #:use-module (gnu home)
+ #:use-module (gnu home services)
+ #:use-module (gnu home services shells)
+ #:use-module (gnu packages)
+ #:use-module (gnu services)
+ #:use-module (guix gexp)
+ #:use-module (ssh-server))
+
+(define allow-downgrades
+ "--allow-downgrades ")
+
+(define config-prefix
+ "/home/marek/src/guix-config/")
+
+(define pull-guix
+ "guix pull ")
+
+(define pull-guix-
+ (string-append pull-guix
+ allow-downgrades
+ "--disable-authentication "))
+
+(define guix-home
+ "guix home reconfigure ")
+
+(define home-configuration
+ "home-configuration.scm ")
+
+(define reconfigure-home
+ (string-append guix-home
+ config-prefix
+ home-configuration))
+
+(define reconfigure-home-
+ (string-append reconfigure-home
+ allow-downgrades))
+
+(define guix-system
+ "sudo guix system reconfigure ")
+
+(define system-configuration
+ "system-configuration.scm ")
+
+(define reconfigure-system
+ (string-append guix-system
+ config-prefix
+ system-configuration))
+
+(define reconfigure-system-
+ (string-append reconfigure-system
+ allow-downgrades))
+
+(define and
+ "&& ")
+
+(define system-update
+ (string-append pull-guix
+ and
+ reconfigure-system
+ and
+ reconfigure-home))
+
+(define system-update-
+ (string-append pull-guix-
+ and
+ reconfigure-system-
+ and
+ reconfigure-home-))
+
+(home-environment
+ (packages
+ (map
+ <<to-package+output>>
+ '("adwaita-icon-theme"
+ "alacritty"
+ "clamav"
+ "cpupower"
+ "dconf-editor"
+ "dmenu"
+ "emacs"
+ "emacs-aggressive-indent"
+ "emacs-eldoc"
+ "emacs-geiser"
+ "emacs-geiser-guile"
+ "emacs-nov-el"
+ "emacs-org-auto-tangle"
+ "emacs-org-contacts"
+ "emacs-org-contrib"
+ "font-google-noto"
+ "git"
+ "git-lfs"
+ "gnome-tweaks"
+ "gnupg"
+ "guile"
+ "guile-spec"
+ "hicolor-icon-theme"
+ "icecat"
+ "jami"
+ "libadwaita"
+ "libreoffice"
+ "nm-tray"
+ "pwgen"
+ "seahorse"
+ "sicp"
+ "strace"
+ "trezor-agent"
+ "unzip"
+ "zip")))
+ (services
+ (list
+ <<flashrom-package>>
+ ssh-configuration
+ (service home-bash-service-type
+ (home-bash-configuration
+ (environment-variables '(("EDITOR" . "emacs -nw")
+ ("LIBGL_ALWAYS_SOFTWARE" . "1")
+ ("NVM_DIR" . "$HOME/src/nvm")
+ ("GUILE_AUTO_COMPILE" . "0")))
+ (aliases `(("grep" . "grep --color=auto ")
+ ("ll" . "ls -l ")
+ ("ls" . "ls -p --color=auto ")
+ ("pull-guix" . ,pull-guix)
+ ("pull-guix-" . ,pull-guix-)
+ ("reconfigure-home" . ,reconfigure-home)
+ ("reconfigure-home-" . ,reconfigure-home-)
+ ("reconfigure-system" . ,reconfigure-system)
+ ("reconfigure-system-" . ,reconfigure-system-)
+ ("system-update" . ,system-update)
+ ("system-update-" . ,system-update-)))
+ (bash-profile `(,(local-file "bash_profile")))
+ (bashrc `(,(local-file "bashrc")))))
+ (simple-service 'configuration-files
+ home-files-service-type
+ `((".config/git/config" ,(local-file "git.config"))
+ (".config/guix/shell-authorized-directories"
+ ,(local-file "guix-shell-authorized-directories"))
+ (".emacs" ,(local-file "emacs.el")))))))
#+end_src
* TODO LIBREBOOT
diff --git a/home-configuration.scm b/home-configuration.scm
index 157fac4..a378364 100644
--- a/home-configuration.scm
+++ b/home-configuration.scm
@@ -71,78 +71,81 @@
reconfigure-home-))
(home-environment
- (packages (map (compose ; &rest
- list
- specification->package+output)
- '("adwaita-icon-theme"
- "alacritty"
- "clamav"
- "cpupower"
- "dconf-editor"
- "dmenu"
- "emacs"
- "emacs-aggressive-indent"
- "emacs-eldoc"
- "emacs-geiser"
- "emacs-geiser-guile"
- "emacs-nov-el"
- "emacs-org-auto-tangle"
- "emacs-org-contacts"
- "emacs-org-contrib"
- "font-google-noto"
- "git"
- "git-lfs"
- "gnome-tweaks"
- "gnupg"
- "guile"
- "guile-spec"
- "hicolor-icon-theme"
- "icecat"
- "jami"
- "libadwaita"
- "libreoffice"
- "nm-tray"
- "pwgen"
- "seahorse"
- "sicp"
- "strace"
- "trezor-agent"
- "unzip"
- "zip")))
+ (packages
+ (map
+ (compose ; &rest
+ list
+ specification->package+output)
+ '("adwaita-icon-theme"
+ "alacritty"
+ "clamav"
+ "cpupower"
+ "dconf-editor"
+ "dmenu"
+ "emacs"
+ "emacs-aggressive-indent"
+ "emacs-eldoc"
+ "emacs-geiser"
+ "emacs-geiser-guile"
+ "emacs-nov-el"
+ "emacs-org-auto-tangle"
+ "emacs-org-contacts"
+ "emacs-org-contrib"
+ "font-google-noto"
+ "git"
+ "git-lfs"
+ "gnome-tweaks"
+ "gnupg"
+ "guile"
+ "guile-spec"
+ "hicolor-icon-theme"
+ "icecat"
+ "jami"
+ "libadwaita"
+ "libreoffice"
+ "nm-tray"
+ "pwgen"
+ "seahorse"
+ "sicp"
+ "strace"
+ "trezor-agent"
+ "unzip"
+ "zip")))
(services
- `(,(service
- (service-type
- (name 'flashrom-package)
- (extensions
- `(,(service-extension home-profile-service-type
- (lambda (_)
- (map specification->package
- '("flashrom"))))))
- (description "Flashrom installation.")
- (default-value #f)))
- ,ssh-configuration
- ,(service home-bash-service-type
- (home-bash-configuration
- (environment-variables '(("EDITOR" . "emacs -nw")
- ("LIBGL_ALWAYS_SOFTWARE" . "1")
- ("NVM_DIR" . "$HOME/src/nvm")
- ("GUILE_AUTO_COMPILE" . "0")))
- (aliases `(("grep" . "grep --color=auto ")
- ("ll" . "ls -l ")
- ("ls" . "ls -p --color=auto ")
- ("pull-guix" . ,pull-guix)
- ("pull-guix-" . ,pull-guix-)
- ("reconfigure-home" . ,reconfigure-home)
- ("reconfigure-home-" . ,reconfigure-home-)
- ("reconfigure-system" . ,reconfigure-system)
- ("reconfigure-system-" . ,reconfigure-system-)
- ("system-update" . ,system-update)
- ("system-update-" . ,system-update-)))
- (bash-profile `(,(local-file "bash_profile")))
- (bashrc `(,(local-file "bashrc")))))
- ,(simple-service 'configuration-files
- home-files-service-type
- `((".config/git/config" ,(local-file "git.config"))
- (".config/guix/shell-authorized-directories"
- ,(local-file "guix-shell-authorized-directories"))
- (".emacs" ,(local-file "emacs.el")))))))
+ (list
+ (service
+ (service-type
+ (name 'flashrom-package)
+ (extensions
+ `(,(service-extension home-profile-service-type
+ (lambda (_)
+ (map specification->package
+ '("flashrom"))))))
+ (description "Flashrom installation.")
+ (default-value #f)))
+ ssh-configuration
+ (service home-bash-service-type
+ (home-bash-configuration
+ (environment-variables '(("EDITOR" . "emacs -nw")
+ ("LIBGL_ALWAYS_SOFTWARE" . "1")
+ ("NVM_DIR" . "$HOME/src/nvm")
+ ("GUILE_AUTO_COMPILE" . "0")))
+ (aliases `(("grep" . "grep --color=auto ")
+ ("ll" . "ls -l ")
+ ("ls" . "ls -p --color=auto ")
+ ("pull-guix" . ,pull-guix)
+ ("pull-guix-" . ,pull-guix-)
+ ("reconfigure-home" . ,reconfigure-home)
+ ("reconfigure-home-" . ,reconfigure-home-)
+ ("reconfigure-system" . ,reconfigure-system)
+ ("reconfigure-system-" . ,reconfigure-system-)
+ ("system-update" . ,system-update)
+ ("system-update-" . ,system-update-)))
+ (bash-profile `(,(local-file "bash_profile")))
+ (bashrc `(,(local-file "bashrc")))))
+ (simple-service 'configuration-files
+ home-files-service-type
+ `((".config/git/config" ,(local-file "git.config"))
+ (".config/guix/shell-authorized-directories"
+ ,(local-file "guix-shell-authorized-directories"))
+ (".emacs" ,(local-file "emacs.el")))))))
diff --git a/system-configuration.scm b/system-configuration.scm
index 4114d24..522b4d9 100644
--- a/system-configuration.scm
+++ b/system-configuration.scm
@@ -30,15 +30,18 @@
"video"
"wheel")))
%base-user-accounts))
- (packages (append (map (compose ; &rest
- list
- specification->package+output)
- '("netcat-openbsd"
- "nss-certs"
- "ntfs-3g"
- "trezord"
- "trezord-udev-rules"))
- %base-packages))
+ (packages
+ (append
+ (map
+ (compose ; &rest
+ list
+ specification->package+output)
+ '("netcat-openbsd"
+ "nss-certs"
+ "ntfs-3g"
+ "trezord"
+ "trezord-udev-rules"))
+ %base-packages))
(services (cons* ssh-service
(service cups-service-type
(cups-configuration (extensions `(,cups-filters
@@ -59,20 +62,23 @@
(targets '("/dev/sda"))
(keyboard-layout keyboard-layout)))
(swap-devices
- `(,(swap-space (target (uuid "73bed3f9-be07-40ad-a228-577cd24f2e1d")))))
+ (list
+ (swap-space (target (uuid "73bed3f9-be07-40ad-a228-577cd24f2e1d")))))
(mapped-devices
- `(,(mapped-device
- (source (uuid "887ac37f-2919-41a0-a62a-e1ff5ea2d6cc"))
- (target "aisaka-root")
- (type luks-device-mapping))))
+ (list
+ (mapped-device
+ (source (uuid "887ac37f-2919-41a0-a62a-e1ff5ea2d6cc"))
+ (target "aisaka-root")
+ (type luks-device-mapping))))
(file-systems
(append %base-file-systems
- `(,(file-system
- (mount-point "/")
- (device "/dev/mapper/aisaka-root")
- (type "btrfs")
- (dependencies mapped-devices))
- ,(file-system
- (mount-point "/boot")
- (device (uuid "4f77b5fc-56ad-43ae-b6ec-e5adc8c48587"))
- (type "ext4"))))))
+ (list
+ (file-system
+ (mount-point "/")
+ (device "/dev/mapper/aisaka-root")
+ (type "btrfs")
+ (dependencies mapped-devices))
+ (file-system
+ (mount-point "/boot")
+ (device (uuid "4f77b5fc-56ad-43ae-b6ec-e5adc8c48587"))
+ (type "ext4"))))))