It's Chicken Time

This commit is contained in:
Daniel Ziltener 2023-11-16 11:30:36 +01:00
parent 0b17384f73
commit 9eefbce8cf
Signed by: zilti
GPG key ID: B38976E82C9DAE42
5 changed files with 123 additions and 84 deletions

View file

@ -26,4 +26,7 @@ install-system: configuration.nix
cp disko-config.nix /mnt/etc/nixos
nixos-install
install:
env NIXPKGS_ALLOW_BROKEN=1 nixos-rebuild switch --flake . --impure
# end

14
chicken/chicken.nix Normal file
View file

@ -0,0 +1,14 @@
{ config, libs, pkgs, ... }:
{
config.home.packages = with pkgs.chickenPackages_5.chickenEggs; [
chicken-update
csm
edn
lsp-server
mistie
nanomsg
r7rs
srfi-197
] ++ [ pkgs.chicken ];
}

View file

@ -51,6 +51,7 @@
moe-theme
nerd-icons-completion
nerd-icons-corfu
nix-mode
nix-ts-mode
orderless
org

View file

@ -7,7 +7,11 @@
;; Created: November 13, 2023
;; Modified: November 13, 2023
;; Version: 0.0.1
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp
;; Keywords: abbrev bib c calendar comm convenience data docs
;; emulations extensions faces files frames games hardware help
;; hypermedia i18n internal languages lisp local maint mail matching
;; mouse multimedia news outlines processes terminals tex tools unix
;; vc wp
;; Homepage: https://github.com/dziltener@lyrion.ch/init
;; Package-Requires: ((emacs "24.3"))
;;
@ -53,12 +57,19 @@
(use-package emacs
:custom
(completion-cycle-threshold 10)
(read-extended-command-predicate #'command-completion-default-include-p)
(read-extended-command-predicate
#'command-completion-default-include-p)
(minibuffer-prompt-properties
(read-only t cursor-intangible t face minibuffer-prompt))
(tab-always-indent 'complete)
(enable-recursive-minibuffers t)
(global-hl-line-mode t)
(menu-bar-mode nil)
(scroll-bar-mode nil)
(tool-bar-mode nil))
(tool-bar-mode nil)
(recentf-mode t)
:hook
(minibuffer-setup . cursor-intangible-mode))
;;;; Org Mode
(use-package org
@ -157,8 +168,10 @@
(savehist-mode))
(use-package orderless
:after eglot
:after consult
:config
(eval-after-load 'eglot
(lambda () (setq completion-category-defaults nil)))
(setq completion-styles '(orderless basic)
completion-category-defaults nil
completion-category-overrides '((file (styles partial-completion)))))
@ -167,8 +180,9 @@
:bind
(:map evil-normal-state-map
("<leader><SPC>" . 'consult-find)
("<leader>es" . 'consult-eglot-symbols)
("<leader>gs" . 'consult-eglot-symbols)
("<leader>b" . 'consult-buffer)
("<leader>gb" . 'consult-project-buffer)
("<leader>g/" . 'consult-git-grep)
("<leader>/" . 'consult-grep)
("/" . 'consult-line)))
@ -239,14 +253,7 @@
:commands
global-corfu-mode
:init
(global-corfu-mode)
;:bind
;; (:map corfu-map
;; ("TAB" . corfu-next)
;; ([tab] . corfu-next)
;; ("S-TAB" . corfu-previous)
;; ([backtab] . corfu-previous))
)
(global-corfu-mode))
(use-package corfu-history
:config
@ -269,13 +276,12 @@
(add-to-list 'corfu-margin-formatters 'nerd-icons-corfu-formatter))
(use-package corfu-terminal
:if (display-graphic-p)
:if (not (display-graphic-p))
:after corfu
:commands
corfu-terminal-mode
:init
(corfu-terminal-mode +1))
(use-package tempel)
;;;; Basic Navigation
@ -327,11 +333,17 @@
:init
(editorconfig-mode 1))
(use-package flymake)
(use-package consult-flymake
:after (consult flymake))
(defun my/eglot-capf ()
(setq-local completion-at-point-functions
(list (cape-super-capf
#'eglot-completion-at-point
#'tempel-complete
#'cape-dabbrev
#'cape-file
#'cape-dict))))
@ -391,10 +403,14 @@
:hook
((clojure-ts-mode . eglot-ensure)
(clojure-ts-mode . rainbow-delimiters-mode)
(clojure-ts-mode . (lambda () (setq-local sesman-system 'CIDER)))
(clojure-ts-mode . (lambda () (sesman-install-menu clojure-mode-map)))
(clojurec-ts-mode . (lambda () (sesman-install-menu clojurec-mode-map)))
(clojurescript-ts-mode . (lambda () (sesman-install-menu clojurescript-mode-map))))
(clojure-ts-mode . (lambda ()
(setq-local sesman-system 'CIDER)))
(clojure-ts-mode . (lambda ()
(sesman-install-menu clojure-mode-map)))
(clojurec-ts-mode . (lambda ()
(sesman-install-menu clojurec-mode-map)))
(clojurescript-ts-mode . (lambda ()
(sesman-install-menu clojurescript-mode-map))))
:mode
("\\.clj\\'" . #'clojure-ts-mode)
("\\.cljc\\'" . #'clojurec-ts-mode)
@ -403,9 +419,12 @@
(add-to-list 'lispy-clojure-modes 'clojure-ts-mode)
(add-to-list 'lispy-clojure-modes 'clojurec-ts-mode)
(add-to-list 'lispy-clojure-modes 'clojurescript-ts-mode)
(add-to-list 'tree-sitter-major-mode-language-alist '(clojure-ts-mode . clojure))
(add-to-list 'tree-sitter-major-mode-language-alist '(clojurec-ts-mode . clojure))
(add-to-list 'tree-sitter-major-mode-language-alist '(clojurescript-ts-mode . clojure)))
(add-to-list 'tree-sitter-major-mode-language-alist
'(clojure-ts-mode . clojure))
(add-to-list 'tree-sitter-major-mode-language-alist
'(clojurec-ts-mode . clojure))
(add-to-list 'tree-sitter-major-mode-language-alist
'(clojurescript-ts-mode . clojure)))
(use-package cider
:hook
@ -418,7 +437,8 @@
;;;;; Chicken Scheme
(defun flymake-chicken-init ()
(add-hook 'flymake-diagnostic-functions #'flymake-chicken-backend nil t)
(add-hook 'flymake-diagnostic-functions
#'flymake-chicken-backend nil t)
(flymake-mode))
(use-package geiser
@ -432,7 +452,8 @@
:custom
(lsp-scheme-implementation "chicken")
:config
(progn (add-to-list 'eglot-server-programs '(scheme-mode . ("chicken-lsp-server"))))
(progn (add-to-list 'eglot-server-programs
'(scheme-mode . ("chicken-lsp-server"))))
(require 'lsp-scheme))
;; (use-package flymake-chicken
@ -445,10 +466,10 @@
;; (add-hook 'flymake-diagnostic-functions #'flymake-chicken-backend nil t))
;;;; Other Languages
(use-package nix-ts-mode
(use-package nix-mode
:hook
eglot-ensure
:mode ("\\.nix\\'" . nix-ts-mode))
:mode ("\\.nix\\'" . nix-mode))
;; (use-package lsp-tailwindcss
;; :init
@ -478,7 +499,8 @@
(use-package forge
:after magit
:config
(advice-add 'magit :after (lambda (&rest _args) (call-interactively #'forge-pull))))
(advice-add 'magit :after (lambda (&rest _args)
(call-interactively #'forge-pull))))
(use-package code-review
:after forge
@ -490,7 +512,8 @@
;;;; LaTeX
;; https://github.com/politza/pdf-tools/#known-problems
(add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer)
(add-hook 'TeX-after-compilation-finished-functions
#'TeX-revert-document-buffer)
;;;; Communication
;;;;; IRC
@ -506,7 +529,8 @@
:tls t
:nick "zilti"
:sasl-username "zilti/irc.libera.chat"
:sasl-password (lambda (_) (password-store-get "Privat/Soju"))))))
:sasl-password (lambda (_)
(password-store-get "Privat/Soju"))))))
(provide 'init)
;;; init.el ends here

107
home.nix
View file

@ -5,74 +5,71 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
home.homeDirectory = "/home/zilti";
home.packages = with pkgs; [
pwvucontrol
sysstat
lm_sensors
pciutils
usbutils
coreutils-full
unzip
(nerdfonts.override { fonts = [ "VictorMono" "MPlus" ]; })
lagrange
stow
nixfmt
pinentry-qt
libsForQt5.ksshaskpass
swappy
grim
slurp
hyprpaper
gamescope
git-cola
fossil
nil
gcc
libgccjit
SDL2
babashka
bitwarden
chicken
clj-kondo
clojure
clojure-lsp
clj-kondo
babashka
podman-compose
sqlite
nodejs_20
sqlite
tofi
pinentry-qt
wlr-randr
nwg-displays
libsForQt5.okular
libsForQt5.dolphin
kteatime
coreutils-full
discord
bitwarden
fossil
freetube
space-cadet-pinball
qtpass
ungoogled-chromium
slack
signal-desktop
telegram-desktop
zoom-us
git-filter-repo
git-doc
# For pharo
freetype
pixman
SDL2
gamescope
gcc
git-cola
git-doc
git-filter-repo
grim
hyprpaper
iconv
kteatime
lagrange
libffi
libuuid
libgccjit
libsForQt5.dolphin
libsForQt5.ksshaskpass
perl538Packages.IOSocketSSL
libsForQt5.okular
libuuid
lm_sensors
(nerdfonts.override { fonts = [ "VictorMono" "MPlus" ]; })
nil
nixfmt
nodejs_20
nwg-displays
pciutils
perl538Packages.DigestHMAC
perl538Packages.TermReadKey
perl538Packages.MIMELite
perl538Packages.FileLibMagic
perl538Packages.IOSocketINET6
iconv
perl538Packages.IOSocketSSL
perl538Packages.MIMELite
perl538Packages.TermReadKey
pinentry-qt
pixman
podman-compose
pwvucontrol
qtpass
signal-desktop
slack
slurp
space-cadet-pinball
sqlite
stow
swappy
sysstat
telegram-desktop
tofi
ungoogled-chromium
unzip
usbutils
wlr-randr
zoom-us
];
imports = [ ./hyprland/hyprland.nix ./waybar/settings.nix ./emacs/emacs.nix ];
imports = [ ./hyprland/hyprland.nix ./waybar/settings.nix ./emacs/emacs.nix
./chicken/chicken.nix ];
home.stateVersion = "23.11";
programs.home-manager.enable = true;