This commit is contained in:
Daniel Ziltener 2023-12-18 01:05:20 +01:00
parent 3846c6425a
commit 6c3e14c66f
Signed by: zilti
GPG key ID: B38976E82C9DAE42
7 changed files with 251 additions and 237 deletions

View file

@ -2,18 +2,20 @@
;; This adds the Nonguix channel. ;; This adds the Nonguix channel.
;; #+NAME: root-channels
;; [[file:config.org::*Channels][Channels:1]] ;; [[file:config.org::root-channels][root-channels]]
;; Copy this to ~/.config/guix/channels.scm. (cons* (channel
(append (list (name 'nonguix)
(channel (url "https://gitlab.com/nonguix/nonguix")
(name 'nonguix) ;; Enable signature verification:
(url "https://gitlab.com/nonguix/nonguix") (introduction
;; Enable signature verification: (make-channel-introduction
(introduction "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(make-channel-introduction (openpgp-fingerprint
"897c1a470da759236cc11798f4e0a5f7d4d59fbc" "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
(openpgp-fingerprint (channel
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))) (name 'ziltis-channel)
%default-channels) (url "https://gitea.lyrion.ch/zilti/guixchannel"))
;; Channels:1 ends here %default-channels)
;; root-channels ends here

View file

@ -95,36 +95,6 @@ This is to be run after setting up the partitions.
** File System ** File System
The variable ~%local-filesystem~ extracts the file system definitions from the installer-provided
=config.scm= file.
#+begin_src scheme :tangle config.scm
#;(define %local-filesystem
(call-with-input-file "/etc/config.scm"
(lambda (port)
(read port)
(read port)
(eval (cadar (last-pair (read port)))
(interaction-environment)))))
#+end_src
As a sibling to the former, the variable ~%local-swap~ does the same with the swap partition.
#+begin_src scheme :tangle config.scm
#;(define %local-swap
(call-with-input-file "/etc/config.scm"
(lambda (port)
(read port)
(read port)
(let* ((os-list (read port))
(os-list-length (length os-list)))
(eval
(cadr
(list-ref os-list
(- os-list-length 2)))
(interaction-environment))))))
#+end_src
#+NAME: config-filesystems #+NAME: config-filesystems
#+begin_src scheme :noweb yes #+begin_src scheme :noweb yes
(file-systems (append (list (file-systems (append (list
@ -149,8 +119,8 @@ As a sibling to the former, the variable ~%local-swap~ does the same with the sw
This adds the Nonguix channel. This adds the Nonguix channel.
#+NAME: root-channels
#+begin_src scheme :tangle channels.scm #+begin_src scheme :tangle channels.scm
;; Copy this to ~/.config/guix/channels.scm.
(cons* (channel (cons* (channel
(name 'nonguix) (name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix") (url "https://gitlab.com/nonguix/nonguix")
@ -200,7 +170,9 @@ This adds the Nonguix channel.
<<greeter-service>>) <<greeter-service>>)
(list (list
<<screen-lock-service>>) <<screen-lock-service>>)
)) (list
<<unattended-upgrade>>))
))
#+end_src #+end_src
*** Simple Services *** Simple Services
@ -208,22 +180,34 @@ This adds the Nonguix channel.
These services are unmodified, or have just few settings. These services are unmodified, or have just few settings.
#+NAME: root-simple-services #+NAME: root-simple-services
| Service | Options | | Service | Options |
|-------------+------------------------------------------------------| |--------------------+------------------------------------------------------|
| tlp | () | | tlp | () |
| thermald | ((adaptive? #t)) | | thermald | ((adaptive? #t)) |
| bluetooth | () | | bluetooth | () |
| earlyoom | ((minimum-available-memory 5) (minimum-free-swap 5)) | | earlyoom | ((minimum-available-memory 5) (minimum-free-swap 5)) |
| inputattach | () | | inputattach | () |
| libvirt | ((unix-sock-group "libvirt")) | | libvirt | ((unix-sock-group "libvirt")) |
| fstrim | () | | fstrim | () |
| fprintd | () | | fprintd | () |
| polkit | ((polkit-wheel-service)) |
#+NAME: root-simple-service-block #+NAME: root-simple-service-block
#+begin_src scheme :noweb yes :exports none :results output #+begin_src scheme :noweb yes :exports none :results output
<<service-converter(input=root-simple-services)>> <<service-converter(input=root-simple-services)>>
#+end_src #+end_src
*** Unattended Upgrade Service
#+NAME: unattended-upgrade
#+begin_src scheme :noweb no-export
(service unattended-upgrade-service-type
(unattended-upgrade-configuration
(schedule "5 12 * * 1")
(channels
<<root-channels>>)))
#+end_src
*** Modified Desktop Services *** Modified Desktop Services
#+NAME: nonguix-pubkey #+NAME: nonguix-pubkey
@ -323,7 +307,7 @@ This is the full operating system specification.
(name "zilti") (name "zilti")
(group "users") (group "users")
(supplementary-groups (supplementary-groups
'("wheel" "netdev" "audio" "video" "libvirt"))) '("users" "wheel" "netdev" "audio" "video" "libvirt")))
%base-user-accounts)) %base-user-accounts))
<<root-package-block>> <<root-package-block>>
<<root-services-block>> <<root-services-block>>

View file

@ -3,6 +3,7 @@
;; #+NAME: module-list ;; #+NAME: module-list
;; - gnu ;; - gnu
;; - gnu image ;; - gnu image
;; - gnu packages gnome
;; - gnu services authentication ;; - gnu services authentication
;; - gnu services base ;; - gnu services base
;; - gnu services dbus ;; - gnu services dbus
@ -99,6 +100,8 @@
(targets (targets
'("/boot/efi")) '("/boot/efi"))
(keyboard-layout keyboard-layout))) (keyboard-layout keyboard-layout)))
#;(file-systems %local-filesystem)
#;(swap-devices %local-swap)
(file-systems (append (list (file-systems (append (list
(file-system (file-system
(device (file-system-label "EFI")) (device (file-system-label "EFI"))
@ -117,7 +120,7 @@
(name "zilti") (name "zilti")
(group "users") (group "users")
(supplementary-groups (supplementary-groups
'("wheel" "netdev" "audio" "video" "libvirt"))) '("users" "wheel" "netdev" "audio" "video" "libvirt")))
%base-user-accounts)) %base-user-accounts))
(packages (packages
(append (append
@ -126,8 +129,8 @@
font-terminus font-terminus
git git
hwdata hwdata
network-manager
nss-certs nss-certs
network-manager
readline) readline)
%base-packages)) %base-packages))
@ -145,7 +148,7 @@
%default-substitute-urls)) %default-substitute-urls))
(authorized-keys (authorized-keys
(append (list (plain-file "non-guix.pub" (append (list (plain-file "non-guix.pub"
"<<nonguix-pubkey>>"))))))) "(public-key (ecc (curve Ed25519) (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))")))))))
(list (service tlp-service-type (tlp-configuration)) (list (service tlp-service-type (tlp-configuration))
(service (service
thermald-service-type thermald-service-type
@ -170,7 +173,10 @@
(fstrim-configuration)) (fstrim-configuration))
(service (service
fprintd-service-type fprintd-service-type
(fprintd-configuration))) (fprintd-configuration))
(service
polkit-service-type
(polkit-configuration (polkit-wheel-service))))
(list (list
(service greetd-service-type (service greetd-service-type
@ -203,6 +209,24 @@
(program (program
(file-append swaylock-effects "/bin/swaylock")) (file-append swaylock-effects "/bin/swaylock"))
(using-setuid? #f)))) (using-setuid? #f))))
)) (list
(service unattended-upgrade-service-type
(unattended-upgrade-configuration
(schedule "5 12 * * 1")
(channels
(cons* (channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
;; Enable signature verification:
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
(channel
(name 'ziltis-channel)
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
%default-channels))))))
))
(name-service-switch %mdns-host-lookup-nss)) (name-service-switch %mdns-host-lookup-nss))
;; Operating System:1 ends here ;; Operating System:1 ends here

View file

@ -1,4 +1,3 @@
eval "$(starship init bash)"
# Commands that should be applied only for interactive shells. # Commands that should be applied only for interactive shells.
[[ $- == *i* ]] || return [[ $- == *i* ]] || return
@ -12,22 +11,12 @@ shopt -s extglob
shopt -s globstar shopt -s globstar
shopt -s checkjobs shopt -s checkjobs
if [[ ! -v BASH_COMPLETION_VERSINFO ]]; then
. "/nix/store/fnbf9g79mngi1sxdncizsvdr6xa8dmqc-bash-completion-2.11/etc/profile.d/bash_completion.sh"
fi
if [[ $TERM != "dumb" ]]; then
eval "$(/etc/profiles/per-user/zilti/bin/starship init bash --print-full-init)"
fi
if test -n "$KITTY_INSTALLATION_DIR"; then if test -n "$KITTY_INSTALLATION_DIR"; then
source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash" source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"
fi fi
eval "$(SHELL=bash /nix/store/vrcxmwrgsdgwm51rxdpyzp6ppslavn3n-keychain-2.8.5/bin/keychain --eval --quiet --agents ssh,gpg id_rsa personal_ed 37F655BAF43BC0FF300A91A1B38976E82C9DAE42)" #eval "$(SHELL=bash /nix/store/vrcxmwrgsdgwm51rxdpyzp6ppslavn3n-keychain-2.8.5/bin/keychain --eval --quiet --agents ssh,gpg id_rsa personal_ed 37F655BAF43BC0FF300A91A1B38976E82C9DAE42)"
eval "$(/nix/store/h9m0s8n535y69jg4vpj41i8alhilld8c-hstr-3.1/bin/hstr --show-configuration)" eval "$(hstr --show-configuration)"
eval "$(direnv hook bash)" eval "$(direnv hook bash)"

View file

@ -41,22 +41,6 @@
;; I use `pass` as password storage. ;; I use `pass` as password storage.
(auth-source-pass-enable) (auth-source-pass-enable)
;;;; Straight.el
;; (defvar bootstrap-version)
;; (let ((bootstrap-file
;; (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
;; (bootstrap-version 6))
;; (unless (file-exists-p bootstrap-file)
;; (with-current-buffer
;; (url-retrieve-synchronously
;; "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
;; 'silent 'inhibit-cookies)
;; (goto-char (point-max))
;; (eval-print-last-sexp)))
;; (load bootstrap-file nil 'nomessage))
;; (setq straight-use-package-by-default t)
;;;; Elpaca ;;;; Elpaca
;;;;; Installation ;;;;; Installation
@ -147,7 +131,8 @@
(tool-bar-mode nil) (tool-bar-mode nil)
:custom-face :custom-face
;;(default ((t (:weight bold :height 113 :width normal :family "VictorMono Nerd Font")))) ;;(default ((t (:weight bold :height 113 :width normal :family "VictorMono Nerd Font"))))
(default ((t (:weight regular :height 105 :width normal :family "MonaspiceXe Nerd Font Mono")))) (default ((t (:weight normal :height 105 :width narrow :family "MonaspiceXe Nerd Font Mono"))))
(variable-pitch ((t (:weight normal :height 105 :width narrow :family "MonaspiceXe Nerd Font Propo"))))
:hook :hook
(minibuffer-setup . cursor-intangible-mode) (minibuffer-setup . cursor-intangible-mode)
:config :config
@ -158,10 +143,12 @@
;;;; Org Mode ;;;; Org Mode
(use-package org (use-package org
:elpaca (:repo "https://git.savannah.gnu.org/git/emacs/org-mode.git" :branch "emacs-sync") :elpaca (:repo "https://git.savannah.gnu.org/git/emacs/org-mode.git" :branch "emacs-sync")
:after visual-fill-column
:ensure t :ensure t
:custom :custom
(org-babel-load-languages '((emacs-lisp . t) (org-babel-load-languages '((emacs-lisp . t)
(scheme . t))) (scheme . t)))
(visual-fill-column-center-text t)
:hook :hook
(org-mode . org-indent-mode) (org-mode . org-indent-mode)
(org-src-mode . hack-local-variables) (org-src-mode . hack-local-variables)
@ -250,8 +237,8 @@
)) ))
(global-ligature-mode t)) (global-ligature-mode t))
(set-frame-parameter nil 'alpha-background 80) (set-frame-parameter nil 'alpha-background 90)
(add-to-list 'default-frame-alist '(alpha-background . 80)) (add-to-list 'default-frame-alist '(alpha-background . 90))
(use-package lambda-line (use-package lambda-line
;;:straight (:type git :host github :repo "lambda-emacs/lambda-line") ;;:straight (:type git :host github :repo "lambda-emacs/lambda-line")
@ -301,14 +288,20 @@
;; load preferred theme ;; load preferred theme
(load-theme 'lambda-dark)) (load-theme 'lambda-dark))
;;;;; Long line handling
(use-package visual-fill-column (use-package visual-fill-column
:custom :custom
(visual-fill-column-center-text t)
(visual-fill-column-enable-sensible-window-split t) (visual-fill-column-enable-sensible-window-split t)
:hook visual-line-mode) :hook
(prog-mode . visual-line-mode)
visual-line-mode)
(use-package adaptive-wrap (use-package adaptive-wrap
:hook visual-fill-column) :config
(setq-default adaptive-wrap-extra-indent 4)
:hook
(visual-line-mode . adaptive-wrap-prefix-mode))
;;;; Security ;;;; Security
(use-package keychain-environment (use-package keychain-environment
@ -498,7 +491,6 @@
:hook :hook
evil-mode evil-mode
(evil-mode . evil-snipe-override-mode) (evil-mode . evil-snipe-override-mode)
(evil-mode . evil-snipe-mode)
(magit-mode . turn-off-evil-snipe-override-mode) (magit-mode . turn-off-evil-snipe-override-mode)
;; See https://github.com/hlissner/evil-snipe/issues/95 ;; See https://github.com/hlissner/evil-snipe/issues/95
;; :config ;; :config
@ -570,7 +562,7 @@ Point must be at the beginning of balanced expression (sexp)."
(use-package paredit (use-package paredit
:hook :hook
clojure-mode clojure-ts-mode
emacs-lisp-mode emacs-lisp-mode
scheme-mode scheme-mode
:config :config
@ -722,15 +714,27 @@ Point must be at the beginning of balanced expression (sexp)."
;;;;; Clojure ;;;;; Clojure
(use-package clojure-ts-mode (use-package clojure-ts-mode
:preface
(defun embark-eglot-rename (from to)
"Renames the symbol at point."
(interactive "sRename: \nsRename %s to: ")
(funcall-interactively #'eglot-rename to))
:delight "" :delight ""
:after tree-sitter :after (tree-sitter embark)
:config :config
(require 'sesman) (require 'sesman)
(sesman-install-menu clojure-mode-map) (sesman-install-menu clojure-mode-map)
(defvar-keymap embark-clj-identifier-map
:parent embark-identifier-map
"c" #'embark-eglot-rename)
(add-to-list 'embark-keymap-alist '(identifier . embark-clj-identifier-map))
:hook :hook
((clojure-ts-mode . eglot-ensure) ((clojure-ts-mode . eglot-ensure)
(clojure-ts-mode . prettify-symbols-mode)
(clojure-ts-mode . (lambda () (clojure-ts-mode . (lambda ()
(setq-local sesman-system 'CIDER))) (setq-local sesman-system 'CIDER)
(setq-local prettify-symbols-alist '(("fn" . "λ")))))
(clojure-ts-mode . (lambda () (clojure-ts-mode . (lambda ()
(sesman-install-menu clojure-mode-map))) (sesman-install-menu clojure-mode-map)))
(clojurec-ts-mode . (lambda () (clojurec-ts-mode . (lambda ()
@ -792,11 +796,12 @@ Point must be at the beginning of balanced expression (sexp)."
;;;;;; Chicken Scheme ;;;;;; Chicken Scheme
(use-package scheme (use-package scheme
:elpaca nil :elpaca nil
:config
(setq prettify-symbols-alist
'(("lambda" . "λ")))
:hook :hook
(scheme-mode . eglot-ensure)) (scheme-mode . eglot-ensure)
(scheme-mode . prettify-symbols-mode)
(scheme-mode . (lambda ()
(setq-local prettify-symbols-alist
'(("lambda" . "λ"))))))
(defun flymake-chicken-init () (defun flymake-chicken-init ()
(add-hook 'flymake-diagnostic-functions (add-hook 'flymake-diagnostic-functions
@ -845,7 +850,17 @@ Point must be at the beginning of balanced expression (sexp)."
;;;; Version Control ;;;; Version Control
;;;;; Git ;;;;; Git
;; Magit requires 'transient' >= 0.5.0, but due to bad defaults, Emacs' package manager refuses to
;; upgrade this and other built-in packages to higher releases from GNU Elpa.
;; To fix this, you have to add this to your init file:
;; (setq package-install-upgrade-built-in t)
;; You must also make sure the updated version is loaded, by evaluating the `progn` form below.
(use-package magit (use-package magit
:after transient
:init
(progn (unload-feature 'transient t)
(require 'transient))
:autoload :autoload
magit) magit)

View file

@ -32,24 +32,25 @@
"bolt" "bolt"
"browserpass-native" "browserpass-native"
"chicken" "chicken"
;; "chicken-apropos" "chicken-apropos"
;; "chicken-chicken-doc" "chicken-chicken-doc"
;; "chicken-srfi-18" "chicken-srfi-18"
"curl" "curl"
"direnv" "direnv"
"emacs" "emacs-pgtk-xwidgets"
"entr" "entr"
"eternalterminal" "eternalterminal"
"diff-so-fancy" "diff-so-fancy"
"firefox" "firefox"
"flatpak" "flatpak"
;; "font-nerdfont-monaspice" "font-nerdfont-monaspice"
"fuzzel" "fuzzel"
"fzf" "fzf"
"gammastep" "gammastep"
"grim" "grim"
"guile" "guile"
"glibc-locales" "glibc-locales"
"hstr"
"icecat" "icecat"
"icedove-wayland" "icedove-wayland"
"kitty" "kitty"
@ -58,6 +59,7 @@
"nm-tray" "nm-tray"
"nnn" "nnn"
#;"nss-certs" ; This package is broken #;"nss-certs" ; This package is broken
"openssh"
"password-store" "password-store"
"pass-otp" "pass-otp"
"passff-icecat" "passff-icecat"
@ -65,6 +67,7 @@
"pinentry-qt" "pinentry-qt"
"pipewire" "pipewire"
"pv" "pv"
"rsync"
"rust" "rust"
"rust-cargo" "rust-cargo"
"senpai" "senpai"
@ -84,130 +87,125 @@
;; Below is the list of Home services. To search for available ;; Below is the list of Home services. To search for available
;; services, run 'guix home search KEYWORD' in a terminal. ;; services, run 'guix home search KEYWORD' in a terminal.
(services (services
(list (list
(service home-shepherd-service-type) (service home-shepherd-service-type)
(service home-msmtp-service-type (service home-msmtp-service-type
(home-msmtp-configuration (home-msmtp-configuration
(default-account "LMail") (default-account "LMail")
(accounts (accounts
(list (list
(msmtp-account (msmtp-account
(name "LMail") (name "LMail")
(configuration (configuration
(msmtp-configuration (msmtp-configuration
(host "lyrion.ch") (host "lyrion.ch")
(port 465) (port 465)
(auth? #t) (auth? #t)
(tls? #t) (tls? #t)
(tls-starttls? #f) (tls-starttls? #f)
(user "dziltener") (user "dziltener")
(from "dziltener@lyrion.ch") (from "dziltener@lyrion.ch")
(password-eval "pass Privat/Mailaccount | head -n 1")))) (password-eval "pass Privat/Mailaccount | head -n 1"))))
(msmtp-account (msmtp-account
(name "Red Sky") (name "Red Sky")
(configuration (configuration
(msmtp-configuration (msmtp-configuration
(host "gmail.com") (host "gmail.com")
(port 587) (port 587)
(auth? #t) (auth? #t)
(tls? #t) (tls? #t)
(tls-starttls? #f) (tls-starttls? #f)
(user "dz@redsky.io") (user "dz@redsky.io")
(from "dziltener@lyrion.ch") (from "dziltener@lyrion.ch")
(password-eval "pass Privat/RedSkyGMail")))))))) (password-eval "pass Privat/RedSkyGMail"))))))))
(simple-service 'ziltis-environment-variable-service (simple-service 'ziltis-environment-variable-service
home-environment-variables-service-type home-environment-variables-service-type
`(("PATH" . "$PATH:~/.local/bin") `(("PATH" . "$PATH:~/.local/bin")
("PASSWORD_STORE_DIR" . "$XDG_DATA_HOME/password-store") ("PASSWORD_STORE_DIR" . "$XDG_DATA_HOME/password-store")
("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$XDG_DATA_HOME/flatpak/exports/share") ("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$XDG_DATA_HOME/flatpak/exports/share")
("SSH_ASKPASS" . "ksshaskpass") ("SSH_ASKPASS" . "ksshaskpass")
("ELM_DISPLAY" . "wl") ("ELM_DISPLAY" . "wl")
("SDL_VIDEODRIVER" . "wayland") ("SDL_VIDEODRIVER" . "wayland")
("MOZ_ENABLE_WAYLAND" . "1") ("MOZ_ENABLE_WAYLAND" . "1")
("SSL_CERT_FILE" . "$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt") ("SSL_CERT_FILE" . "$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt")
("CHICKEN_DOC_REPOSITORY" . "$XDG_DATA_HOME/chicken/doc") ("CHICKEN_DOC_REPOSITORY" . "$XDG_DATA_HOME/chicken/doc")
;; ("CHICKEN_INSTALL_REPOSITORY" . "$XDG_DATA_HOME/chicken/eggs") ;; ("CHICKEN_INSTALL_REPOSITORY" . "$XDG_DATA_HOME/chicken/eggs")
;; ("CHICKEN_REPOSITORY_PATH" . "$HOME/.guix-home/profile/var/lib/chicken/11/:$XDG_DATA_HOME/chicken/eggs") ;; ("CHICKEN_REPOSITORY_PATH" . "$HOME/.guix-home/profile/var/lib/chicken/11/:$XDG_DATA_HOME/chicken/eggs")
;; ("CHICKEN_INSTALL_PREFIX" . "$HOME/.local") ;; ("CHICKEN_INSTALL_PREFIX" . "$HOME/.local")
)) ))
(simple-service 'ziltis-home-files-service (simple-service 'ziltis-home-files-service
home-files-service-type home-files-service-type
`(#;(".gnupg/gpg-agent.conf" ,(local-file "gnupg/gpg-agent.conf")))) `(#;(".gnupg/gpg-agent.conf" ,(local-file "gnupg/gpg-agent.conf"))))
(simple-service 'ziltis-xdg-configuration-files-service (simple-service 'ziltis-xdg-configuration-files-service
home-xdg-configuration-files-service-type home-xdg-configuration-files-service-type
`(("sway/config" ,(local-file "./sway/sway")) `(("sway/config" ,(local-file "./sway/sway"))
("waybar/config" ,(local-file "./waybar/config")) ("waybar/config" ,(local-file "./waybar/config"))
("waybar/style.css" ,(local-file "./waybar/style.css")) ("waybar/style.css" ,(local-file "./waybar/style.css"))
("fuzzel/fuzzel.ini" ,(local-file "./fuzzel/fuzzel.ini")) ("fuzzel/fuzzel.ini" ,(local-file "./fuzzel/fuzzel.ini"))
("git/config" ,(local-file "./git/config")) ("git/config" ,(local-file "./git/config"))
("emacs/init.el" ,(local-file "./emacs/init.el")) ("emacs/init.el" ,(local-file "./emacs/init.el"))
("emacs/early-init.el" ,(local-file "./emacs/early-init.el")) ("emacs/early-init.el" ,(local-file "./emacs/early-init.el"))
("emacs/init.org" ,(local-file "./emacs/init.org")) ("emacs/init.org" ,(local-file "./emacs/init.org"))
("emacs/templates" ,(local-file "./emacs/templates")) ("emacs/templates" ,(local-file "./emacs/templates"))
("kitty/kitty.conf" ,(local-file "./kitty/kitty.conf")) ("kitty/kitty.conf" ,(local-file "./kitty/kitty.conf"))
("senpai/senpai.scfg" ,(local-file "./senpai/senpai.scfg")))) ("senpai/senpai.scfg" ,(local-file "./senpai/senpai.scfg"))))
(service home-bash-service-type (service home-bash-service-type
(home-bash-configuration (home-bash-configuration
(aliases (aliases
'(("hh" . "hstr") '(("hh" . "hstr")
("l" . "ls -alh") ("l" . "ls -alh")
("ll" . "ls -l") ("ll" . "ls -l")
("ls" . "ls --color=tty") ("ls" . "ls --color=tty")
("create-guix-patch" . "git format-patch --minimal --to guix-patches@gnu.org --cc dziltener@lyrion.ch --inline --no-attach master; ls *.patch | xargs sed -i '1d'") ("create-guix-patch" . "git format-patch --minimal --to guix-patches@gnu.org --cc dziltener@lyrion.ch --inline --no-attach master; ls *.patch | xargs sed -i '1d'")
("send-guix-patch-series" . "for FILE in $(ls *.patch); do cat $FILE | msmtp -t; done"))) ("send-guix-patch-series" . "for FILE in $(ls *.patch); do cat $FILE | msmtp -t; done")))
(bashrc (bashrc
(list (list
(local-file (local-file
"./.bashrc" "./.bashrc"
"bashrc"))) "bashrc")))))
(bash-profile (service home-batsignal-service-type
(list (home-batsignal-configuration
(local-file (ignore-missing? #t)))
"./.bash_profile" (service home-mcron-service-type
"bash_profile"))))) (home-mcron-configuration
(service home-batsignal-service-type (jobs
(home-batsignal-configuration '())))
(ignore-missing? #t))) (simple-service 'ziltis-channels
(service home-mcron-service-type home-channels-service-type
(home-mcron-configuration (list
(jobs (channel
'()))) (name 'ziltis-channel)
(simple-service 'ziltis-channels (url "https://gitea.lyrion.ch/zilti/guixchannel"))
home-channels-service-type (channel
(list (name 'nongnu-guix)
(channel (url "https://gitlab.com/nonguix/nonguix"))))
(name 'ziltis-channel) (service home-openssh-service-type
(url "https://gitea.lyrion.ch/zilti/guixchannel")) (home-openssh-configuration
(channel (hosts
(name 'nongnu-guix) (list
(url "https://gitlab.com/nonguix/nonguix")))) (openssh-host
(service home-openssh-service-type (name "github.com")
(home-openssh-configuration (host-name "github.com")
(hosts (user "git")
(list (identity-file "~/.ssh/personal_ed"))
(openssh-host (openssh-host
(name "github.com") (name "www.opencode.net")
(host-name "github.com") (host-name "www.opencode.net")
(user "git") (user "git")
(identity-file "~/.ssh/personal_ed")) (identity-file "~/.ssh/personal_ed"))
(openssh-host (openssh-host
(name "www.opencode.net") (name "gitea.lyrion.ch")
(host-name "www.opencode.net") (host-name "gitea.lyrion.ch")
(user "git") (user "git")
(identity-file "~/.ssh/personal_ed")) (port 7920)
(openssh-host (identity-file "~/.ssh/personal_ed"))))))
(name "gitea.lyrion.ch") (service home-gpg-agent-service-type
(host-name "gitea.lyrion.ch") (home-gpg-agent-configuration
(user "git") (pinentry-program
(port 7920) (file-append pinentry-qt "/bin/pinentry-qt"))
(identity-file "~/.ssh/personal_ed")))))) (ssh-support? #t)
(service home-gpg-agent-service-type (default-cache-ttl 7200)
(home-gpg-agent-configuration (default-cache-ttl-ssh 7200)
(pinentry-program (extra-content "grab\nallow-emacs-pinentry\nallow-loopback-pinentry")))
(file-append pinentry-qt "/bin/pinentry-qt")) (service home-dbus-service-type)
(ssh-support? #t) )))
(default-cache-ttl 7200)
(default-cache-ttl-ssh 7200)
(extra-content "grab\nallow-emacs-pinentry\nallow-loopback-pinentry")))
(service home-dbus-service-type)
)))

View file

@ -5,5 +5,7 @@ mkdir -p /mnt/boot/efi
mount /dev/disk/by-label/EFI /mnt/boot/efi mount /dev/disk/by-label/EFI /mnt/boot/efi
herd start cow-store /mnt herd start cow-store /mnt
guix pull -C./channels.scm guix pull -C./channels.scm
$GUIX_PROFILE="/root/.config/guix/current"
. "$GUIX_PROFILE/etc/profile"
hash guix hash guix
guix system -L. init config.scm /mnt --substitute-urls="https://ci.guix.gnu.org https://bordeaux.guix.gnu.org https://substitutes.nonguix.org" guix system -L. init config.scm /mnt --substitute-urls="https://ci.guix.gnu.org https://bordeaux.guix.gnu.org https://substitutes.nonguix.org"