324 lines
8.3 KiB
Scheme
324 lines
8.3 KiB
Scheme
(use-modules
|
|
(gnu packages)
|
|
(guix profiles)
|
|
(guix transformations))
|
|
|
|
(define transform--emacs-helm-mu
|
|
(options->transformation
|
|
'((with-commit . "emacs-helm-mu=392a8c11ab27b625d9f863cdde14e09893401b15"))))
|
|
|
|
(define transform--emacs-org-super-agenda
|
|
(options->transformation
|
|
'((without-tests . "emacs-org-super-agenda"))))
|
|
|
|
(define %emacs-manifest
|
|
(concatenate-manifests
|
|
(list
|
|
(packages->manifest
|
|
(list
|
|
;; Temporary: emacs-helm-mu is broken but has been fixed upstream
|
|
(transform--emacs-helm-mu
|
|
(specification->package "emacs-helm-mu"))
|
|
;; Temporary: emacs-org-super-agenda tests stall and do not complete due to interactive prompt
|
|
(transform--emacs-org-super-agenda
|
|
(specification->package "emacs-org-super-agenda"))
|
|
(transform--emacs-org-super-agenda ;; org-ql propigates org-super-agenda
|
|
(specification->package "emacs-org-ql"))))
|
|
(specifications->manifest
|
|
'("aspell"
|
|
"aspell-dict-en"
|
|
"emacs"
|
|
"emacs-ace-jump-mode"
|
|
"emacs-ace-window"
|
|
"emacs-ag"
|
|
"emacs-all-the-icons-dired"
|
|
"emacs-auctex"
|
|
"emacs-auto-complete"
|
|
"emacs-auto-yasnippet"
|
|
"emacs-dashboard"
|
|
"emacs-dired-hacks"
|
|
"emacs-docker"
|
|
"emacs-docker-tramp"
|
|
"emacs-doom-modeline"
|
|
"emacs-elpher"
|
|
"emacs-emmet-mode"
|
|
"emacs-emms"
|
|
"emacs-expand-region"
|
|
"emacs-exwm"
|
|
"emacs-eval-in-repl"
|
|
"emacs-fill-column-indicator"
|
|
"emacs-flycheck"
|
|
"emacs-flycheck-ledger"
|
|
"emacs-geiser"
|
|
"emacs-gnuplot"
|
|
"emacs-go-mode"
|
|
"emacs-god-mode"
|
|
"emacs-graphql-mode"
|
|
"emacs-graphviz-dot-mode"
|
|
"emacs-guix"
|
|
"emacs-haskell-mode"
|
|
"emacs-helm"
|
|
"emacs-helm-ag"
|
|
"emacs-helm-c-yasnippet"
|
|
"emacs-helm-descbinds"
|
|
"emacs-helm-exwm"
|
|
"emacs-helm-gtags"
|
|
"emacs-helm-ls-git"
|
|
"emacs-helm-org"
|
|
"emacs-helm-pass"
|
|
"emacs-helm-projectile"
|
|
"emacs-helm-swoop"
|
|
"emacs-highlight-sexp"
|
|
"emacs-htmlize"
|
|
"emacs-hydra"
|
|
"emacs-ibuffer-projectile"
|
|
"emacs-isearch+"
|
|
"emacs-ivy"
|
|
"emacs-json-mode"
|
|
"emacs-jsonnet-mode"
|
|
"emacs-ledger-mode"
|
|
"emacs-lua-mode"
|
|
"emacs-magit"
|
|
"emacs-forge"
|
|
"emacs-markdown-mode"
|
|
"emacs-mmm-mode"
|
|
"emacs-mu4e-alert"
|
|
"emacs-mu4e-conversation"
|
|
"emacs-multi-term"
|
|
"emacs-multiple-cursors"
|
|
"emacs-no-littering"
|
|
"emacs-org"
|
|
"emacs-org-babel-eval-in-repl"
|
|
"emacs-org-download"
|
|
"emacs-org-mind-map"
|
|
"emacs-org-noter"
|
|
"emacs-org-roam"
|
|
"emacs-org-web-tools"
|
|
"emacs-orgit"
|
|
"emacs-ob-async"
|
|
"emacs-paredit"
|
|
"emacs-pdf-tools"
|
|
"emacs-persp-mode"
|
|
"emacs-php-mode"
|
|
"emacs-plantuml-mode"
|
|
"emacs-pretty-mode"
|
|
"emacs-projectile"
|
|
"emacs-racket-mode"
|
|
"emacs-rainbow-delimiters"
|
|
"emacs-rainbow-identifiers"
|
|
"emacs-rainbow-mode"
|
|
"emacs-realgud"
|
|
"emacs-recutils"
|
|
"emacs-restclient"
|
|
"emacs-ripgrep"
|
|
"emacs-rust-mode"
|
|
"emacs-scribble-mode"
|
|
"emacs-slime"
|
|
"emacs-string-inflection"
|
|
"emacs-swiper"
|
|
"emacs-terraform-mode"
|
|
"emacs-tramp"
|
|
"emacs-undo-tree"
|
|
"emacs-use-package"
|
|
"emacs-vterm"
|
|
"emacs-yaml-mode"
|
|
"emacs-yasnippet"
|
|
"emacs-yasnippet-snippets"
|
|
"gnuplot"
|
|
"isync"
|
|
"mu"
|
|
"plantuml"
|
|
|
|
; "emacs-ac-geiser" ;; TODO: hash mismatch; possible non-determinism
|
|
;"emacs-helm-mu" ;; TODO: broken, but fixed upstream
|
|
|
|
;;
|
|
;; Remaining packages from the rekahsoft-guix channel
|
|
|
|
"emacs-ace-mc"
|
|
"emacs-all-the-icons-ibuffer"
|
|
"emacs-hamlet-mode"
|
|
"emacs-helm-rg"
|
|
"emacs-helm-tramp"
|
|
"emacs-helm-unicode"
|
|
"emacs-highlight-indent-guides"
|
|
"emacs-highlight-parentheses"
|
|
"emacs-ibuffer-vc"
|
|
"emacs-intel-hex-mode"
|
|
"emacs-ix"
|
|
"emacs-mu4e-dashboard"
|
|
"emacs-mu4e-maildirs-extension"
|
|
"emacs-org-html-theme-darksun"
|
|
"emacs-org-html-themes"
|
|
"emacs-org-roam-extensions"
|
|
"emacs-org-roam-ui"
|
|
"emacs-persp-projectile"
|
|
"emacs-quack"
|
|
"emacs-rcirc-notify"
|
|
"emacs-rebox2"
|
|
"emacs-vimish-fold"
|
|
|
|
;; Use more up-to-date treemacs and treemacs-extra (as well as required dependencies)
|
|
"emacs-treemacs-20201225"
|
|
"emacs-treemacs-extra-20201225"
|
|
"emacs-all-the-icons-20201225"
|
|
"emacs-doom-themes-20201225"
|
|
|
|
;; Use more up-to-date ace-link
|
|
"emacs-ace-link-2021-01-1")))))
|
|
|
|
(define %shell-manifest
|
|
(specifications->manifest
|
|
'("bat"
|
|
"exa"
|
|
"ripgrep"
|
|
|
|
;; Remaining packages from the rekahsoft-guix channel
|
|
"fzf" ;; TODO: this was added upstream (as "go-github-com-junegunn-fzf") but is not as complete as my existing package
|
|
"sh-z"
|
|
"spaceship-prompt"
|
|
"zsh-autosuggestions")))
|
|
|
|
(define %xorg-manifest
|
|
(specifications->manifest
|
|
'("mesa"
|
|
"setxkbmap"
|
|
"xdg-utils"
|
|
"xf86-input-libinput"
|
|
"xf86-video-fbdev"
|
|
"xinit"
|
|
"xkbcomp"
|
|
"xkeyboard-config"
|
|
"xlsfonts"
|
|
"xorg-server"
|
|
"xrandr"
|
|
"xrdb"
|
|
"xsetroot")))
|
|
|
|
(define %wayland-manifest
|
|
(specifications->manifest
|
|
'("grim"
|
|
"hicolor-icon-theme" ;; Required for wofi icon theme
|
|
"slurp"
|
|
"sway"
|
|
"wayland"
|
|
"wofi")))
|
|
|
|
;; Manifest containing x programs (that cannot natively run with wayland).
|
|
(define %xorg-apps-manifest
|
|
(specifications->manifest
|
|
'("dunst" ;; <- May not need this; use something in emacs
|
|
"feh"
|
|
"pavucontrol"
|
|
"redshift"
|
|
"rofi" ;; <- Look into replacing in emacs
|
|
"rofi-pass" ;; <- This should be replacable in emacs with helm-pass
|
|
"unclutter"
|
|
"xautolock"
|
|
"xclip"
|
|
"zathura"
|
|
"zathura-djvu"
|
|
"zathura-pdf-poppler"
|
|
"zathura-ps"
|
|
|
|
;; "xbindkeys" <- should be able to depricate this
|
|
;; "compton" <- this historyically caused issues with screen locking
|
|
|
|
;;
|
|
;; Remaining packages from the rekahsoft-guix channel
|
|
"virt-viewer@11.0")))
|
|
|
|
;; Manifest containing Xorg and Wayland native compatible programs
|
|
(define %xorg-wayland-apps-manifest
|
|
(specifications->manifest
|
|
'("kitty" ;; <- May not need this and instead will use emacs-vterm
|
|
"alacritty" ;; <- ditto
|
|
"adwaita-icon-theme")))
|
|
|
|
(define %guile-manifest
|
|
(specifications->manifest
|
|
'("guile"
|
|
"guile-charting" ;; guile-charting is required for 'guix size --map-file'
|
|
"guile-colorized"
|
|
"guile-hall"
|
|
"guile-readline")))
|
|
|
|
(define %misc-manifest
|
|
(specifications->manifest
|
|
'("ansible"
|
|
"awscliv2"
|
|
"beets"
|
|
"bmon"
|
|
"coreutils"
|
|
"curl"
|
|
"direnv"
|
|
"flatpak"
|
|
"font-dejavu" ;; TODO: check if font is needed
|
|
"font-fira-code" ;; TODO: check if font is needed
|
|
"font-gnu-freefont"
|
|
"font-terminus"
|
|
"font-google-noto"
|
|
"git"
|
|
"git:send-email"
|
|
"git:subtree"
|
|
"glibc-locales"
|
|
"gnupg"
|
|
"graphviz"
|
|
"gs-fonts" ;; TODO: check if font is needed
|
|
"gwl"
|
|
"hledger"
|
|
"htop"
|
|
"ledger"
|
|
"ledger-autosync"
|
|
"mpd"
|
|
"mpv"
|
|
"ncmpcpp" ;; <- This can be replaced by emacs-emms
|
|
"nmap"
|
|
"nss-certs"
|
|
"nyxt"
|
|
"openssh"
|
|
"pass-otp"
|
|
"password-store"
|
|
"recutils"
|
|
"rhash"
|
|
"skopeo"
|
|
"texlive"
|
|
"tmux"
|
|
"ungoogled-chromium"
|
|
"util-linux"
|
|
"wget"
|
|
"youtube-dl"
|
|
|
|
;; TODO: kicad currently broken (wxwidgets does not build)
|
|
;; "kicad" "kicad-library" "kicad-symbols" "gtkwave"
|
|
|
|
;; TODO: (packages I like but maybe should be project specific?)
|
|
;; "avr-toolchain" (propigated inputs: "avrdude" "avr-binutils" "avr-gcc")
|
|
;; "clojure"
|
|
;; "lua"
|
|
;; "chez"
|
|
;; "coq"
|
|
|
|
;; TODO: (these probably should go in the system configuration)
|
|
;; "bitlebee"
|
|
|
|
;;
|
|
;; Remaining packages from the rekahsoft-guix channel
|
|
|
|
"aws-vault"
|
|
"hledger-ui"
|
|
"hledger-web"
|
|
"terraform-provider-aws"
|
|
"terraform-wrapper")))
|
|
|
|
(concatenate-manifests
|
|
(list
|
|
%emacs-manifest
|
|
%shell-manifest
|
|
%xorg-manifest
|
|
%wayland-manifest
|
|
%xorg-apps-manifest
|
|
%xorg-wayland-apps-manifest
|
|
%guile-manifest
|
|
%misc-manifest))
|