feat: more work, package nfnl

This commit is contained in:
Kat Inskip 2026-02-03 05:57:00 -08:00
parent c7fc40674f
commit c5310013ae
9 changed files with 118 additions and 28 deletions

View file

@ -3,14 +3,15 @@
#:use-module (guix monads) #:use-module (guix monads)
#:export (%kittywitch-channels)) #:export (%kittywitch-channels))
(define %kittywitch-channels %default-channels) (define %kittywitch-channels (cons*
;(cons* (channel
; (channel (name 'nonguix)
; (name 'rde) (url "https://gitlab.com/nonguix/nonguix")
; (url "https://git.sr.ht/~abcdw/rde") (branch "master")
; (introduction (introduction
; (make-channel-introduction (make-channel-introduction
; "257cebd587b66e4d865b3537a9a88cccd7107c95" "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
; (openpgp-fingerprint (openpgp-fingerprint
; "2841 9AC6 5038 7440 C7E9 2FFA 2208 D209 58C1 DEB0")))) "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
; %default-channels)) %default-channels))

View file

@ -19,9 +19,15 @@
#:use-module (gnu services networking) #:use-module (gnu services networking)
#:use-module (gnu services ssh) #:use-module (gnu services ssh)
#:use-module (gnu services xorg) #:use-module (gnu services xorg)
#:use-module (gnu packages shells)) #:use-module (gnu packages shells)
; forgive me Saint IGNUcius, for i have sinned
#:use-module (nongnu packages linux)
#:use-module (nongnu system linux-initrd))
(operating-system (operating-system
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
(locale "en_CA.utf8") (locale "en_CA.utf8")
(timezone "America/Vancouver") (timezone "America/Vancouver")
(keyboard-layout (keyboard-layout "gb")) (keyboard-layout (keyboard-layout "gb"))
@ -33,7 +39,7 @@
(comment "Kat Inskip") (comment "Kat Inskip")
(group "users") (group "users")
(home-directory "/home/kat") (home-directory "/home/kat")
(shell (file-append zsh "/bin/zsh")) (shell (file-append fish "/bin/fish"))
(supplementary-groups '("wheel" "netdev" "audio" "video"))) (supplementary-groups '("wheel" "netdev" "audio" "video")))
%base-user-accounts)) %base-user-accounts))
@ -42,10 +48,7 @@
;; for packages and 'guix install PACKAGE' to install a package. ;; for packages and 'guix install PACKAGE' to install a package.
(packages (append (list (specification->package "sway") (packages (append (list (specification->package "sway")
(specification->package "wmenu") (specification->package "wmenu")
(specification->package "librewolf") (specification->package "git")) %base-packages))
(specification->package "neovim")
(specification->package "git")
(specification->package "foot")) %base-packages))
;; Below is the list of system services. To search for available ;; Below is the list of system services. To search for available
;; services, run 'guix system search KEYWORD' in a terminal. ;; services, run 'guix system search KEYWORD' in a terminal.
@ -58,9 +61,21 @@
(guix-service-type (guix-service-type
config => (guix-configuration config => (guix-configuration
(inherit config) (inherit config)
(substitute-urls
(append (list "https://substitutes.nonguix.org")
%default-substitute-urls))
(authorized-keys
(append (list (plain-file "non-guix.pub"
"(public-key
(ecc
(curve Ed25519)
(q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)
)
)
"))
%default-authorized-guix-keys))
(channels %kittywitch-channels) (channels %kittywitch-channels)
(guix (guix-for-channels %kittywitch-channels))))) (guix (guix-for-channels %kittywitch-channels)))))))
))
(bootloader (bootloader-configuration (bootloader (bootloader-configuration
(bootloader grub-efi-bootloader) (bootloader grub-efi-bootloader)
(targets (list "/boot/efi")) (targets (list "/boot/efi"))

View file

@ -0,0 +1 @@
{}

View file

@ -0,0 +1,11 @@
(set vim.g.mapleader " ")
(set vim.g.maplocalleader ",")
(set vim.o.ignorecase true)
(set vim.o.smartcase true)
(set vim.o.splitright true)
(set vim.o.splitbelow true)
(set vim.o.foldenable false)
(set vim.o.undofile true)
(set vim.o.spell true)
(set vim.o.termguicolors true)
(set vim.o.exrc true)

View file

@ -0,0 +1,13 @@
-- [nfnl] init.fnl
vim.g.mapleader = " "
vim.g.maplocalleader = ","
vim.o.ignorecase = true
vim.o.smartcase = true
vim.o.splitright = true
vim.o.splitbelow = true
vim.o.foldenable = false
vim.o.undofile = true
vim.o.spell = true
vim.o.termguicolors = true
vim.o.exrc = true
return nil

View file

@ -1,16 +1,30 @@
(add-to-load-path (dirname (current-filename)))
(use-modules (ice-9 match) (use-modules (ice-9 match)
(gnu) (gnu)
(gnu home) (gnu home)
(gnu home services) (gnu home services)
(gnu home services dotfiles)
(gnu home services shells) (gnu home services shells)
(gnu home services sway) (gnu home services sway)
(packages nvim)
(gnu system keyboard) (gnu system keyboard)
(gnu services) (gnu services)
(gnu system shadow)) (gnu system shadow))
(use-package-modules wm ; grimshot (use-package-modules wm ; grimshot
xdisorg ; wl-clipboard xdisorg ; wl-clipboard
rust-apps) ; jujutsu rust-apps ; jujutsu
vim ; self-explanatory
librewolf ; self-explanatory
lua ; fennel
terminals ; foot
)
(define neovim-packages
(list neovim
neovim-nfnl
vim-paredit
vim-guix-vim))
(define sway-bar-status #~(string-append "while " (define sway-bar-status #~(string-append "while "
#$coreutils "/bin/date" #$coreutils "/bin/date"
@ -38,27 +52,35 @@
(define home-config (define home-config
(home-environment (home-environment
(packages (list jujutsu)) (packages (append neovim-packages
(list jujutsu
librewolf
fennel
fennel-ls
foot)))
(services (services
(append (append
(list (list
;; Uncomment the shell you wish to use for your user: (simple-service 'editor-env-var
;(service home-bash-service-type) home-environment-variables-service-type
;(service home-fish-service-type) '(("EDITOR" . "neovim")))
(service home-zsh-service-type)
(service home-fish-service-type)
(service home-sway-service-type sway-config) (service home-sway-service-type sway-config)
(service home-dotfiles-service-type
(home-dotfiles-configuration
(directories '("./dotfiles"))))
(service home-files-service-type (service home-files-service-type
`((".guile" ,%default-dotguile) `((".guile" ,%default-dotguile)
(".Xdefaults" ,%default-xdefaults) (".Xdefaults" ,%default-xdefaults)
(".gitconfig" ,(local-file "files/gitconfig"))
)) ))
(service home-xdg-configuration-files-service-type (service home-xdg-configuration-files-service-type
`(("gdb/gdbinit" ,%default-gdbinit) `(("gdb/gdbinit" ,%default-gdbinit)
("nano/nanorc" ,%default-nanorc) ("nano/nanorc" ,%default-nanorc))))
("jj/config.toml" ,(local-file "files/jj-config.toml")))))
%base-home-services)))) %base-home-services))))

27
packages/nvim.scm Normal file
View file

@ -0,0 +1,27 @@
(define-module (packages nvim)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix build-system vim)
#:use-module (guix git-download))
(define-public neovim-nfnl
(package
(name "neovim-nfnl")
(version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Olical/nfnl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32 "1c1gai38cmdiv6yvl55prw0x34h0zq7mys8icx9xy2rpa80sy3ds"))))
(build-system vim-build-system)
(arguments (list
#:plugin-name "nfnl"))
(synopsis "Enhance your Neovim with Fennel")
(description "Enhance your Neovim experience through Fennel with zero overhead. Write Fennel, run Lua, nfnl will not load unless you're actively modifying your Neovim configuration or plugin source code.")
(home-page "https://github.com/Olical/nfnl/")
(license license:unlicense)))