This commit is contained in:
Aleksandr Lebedev 2025-11-11 18:53:14 +01:00
parent 7ce7fae7ea
commit b33c731e71
4 changed files with 25 additions and 89 deletions

View file

@ -1,81 +0,0 @@
(define-module (guix-config packages emacs)
#:use-module (gnu packages emacs)
#:use-module (gnu packages emacs-xyz)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages bash)
#:use-module (guix build utils)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix licenses)
#:use-module (guix build-system trivial)
#:export (guixmacs))
(define emacs-config
(local-file "./config.org"))
(define emacs-init
(mixed-text-file "init.el"
";;; -*- lexical-binding: t; -*-
(require 'package)
;;https://github.com/wbolster/emacs-direnv/issues/85
(setenv \"PATH\" (mapconcat 'identity exec-path \":\")) ;;fixes direnv losing nix/guix pkgs
(add-to-list 'package-archives '(\"melpa\" . \"https://melpa.org/packages/\") t)
(package-initialize)
(org-babel-load-file
\"" emacs-config "\")
"))
(define emacs-pkgs
(list emacs-guix ripgrep))
(define guixmacs
(package
(name "guixmacs")
(version (package-version emacs-pgtk))
(source #f)
(synopsis "KyleKreins Emacs config wrapper")
(description "Emacs PGTK wrapped with useful Guix packages in PATH and EMACSLOADPATH.")
(license gpl3+)
(home-page "https://git.kylekrein.com/kylekrein/dotfiles")
(build-system trivial-build-system)
(propagated-inputs (append (list emacs-pgtk
bash-minimal)
emacs-pkgs))
(arguments
(list
#:modules '((guix build utils))
#:builder
#~(begin
(use-modules (guix build utils))
(define (wrap-external-program target out-bin env-vars)
(let ((script (open-output-file out-bin)))
(display (string-append "#!" #$bash-minimal "/bin/bash" "\n") script)
(for-each
(lambda (pair)
(display (string-append "export " (car pair) "=\"" (cdr pair) "\"\n") script))
env-vars)
(display (string-append target " -l " #$emacs-init " $@\n") script)
(close-output-port script))
(chmod out-bin #o755))
(let* ((out #$output)
(emacs #$(this-package-input "emacs-pgtk"))
(dep-paths '#$emacs-pkgs)
(site-lisps (map (lambda (p)
(string-append p "/share/emacs/site-lisp"))
dep-paths))
(bins (map (lambda (p)
(string-append p "/bin"))
dep-paths))
(bin (string-append out "/bin"))
(emacsloadpath (string-join site-lisps ":"))
(path (string-join (append (list "$PATH") bins) ":")))
(mkdir-p bin)
;(mkdir-p (string-append out "/native-lisp"))
(symlink (string-append emacs "/share") (string-append out "/share"))
(symlink (string-append emacs "/native-lisp") (string-append out "/native-lisp"))
(wrap-external-program
(string-append emacs "/bin/emacs")
(string-append out "/bin/emacs")
(list (cons "EMACSLOADPATH" emacsloadpath)
(cons "PATH" path)))))))))

View file

@ -4,14 +4,16 @@
(operating-system
(inherit base-system)
(host-name "iuseguixbtw")
(host-name "anaconda")
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))))
(targets (list "/boot/efi"))
(keyboard-layout (keyboard-layout "eu,ru"
#:options '("grp:alt_shift_toggle")))))
(mapped-devices (list (mapped-device
(source (uuid
"e6686154-def0-41d3-a724-c89a36a5b3ed"))
(target "cryptroot")
"c40078f6-8a49-4353-a047-48e8666c207e"))
(target "guix-luks")
(type luks-device-mapping))))
;; The list of file systems that get "mounted". The unique
@ -19,11 +21,11 @@
;; by running 'blkid' in a terminal.
(file-systems (cons* (file-system
(mount-point "/")
(device "/dev/mapper/cryptroot")
(type "ext4")
(device "/dev/mapper/guix-luks")
(type "btrfs")
(dependencies mapped-devices))
(file-system
(mount-point "/boot/efi")
(device (uuid "B677-E030"
(device (uuid "8183-EB03"
'fat32))
(type "vfat")) %base-file-systems)))

View file

@ -18,7 +18,16 @@
(elogind-configuration
(inherit config)
(suspend-state '("mem"))
(suspend-mode '("s2idle"))))))
(suspend-mode '("s2idle"))))
(guix-service-type config =>
(guix-configuration
(inherit config)
(substitute-urls
(append (list "https://guix.kylekrein.com")
%default-substitute-urls))
(authorized-keys
(append (list (local-file "./keys/kylekrein.pub"))
%default-authorized-guix-keys))))))
(define my-polkit-wheel
(file-union

View file

@ -0,0 +1,6 @@
(public-key
(ecc
(curve Ed25519)
(q #75FAA79699B768EBC22B1AA2954E1D99E5AA32BA35B641D9A1600F2D4CF47C60#)
)
)