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

View file

@ -19,9 +19,15 @@
#:use-module (gnu services networking)
#:use-module (gnu services ssh)
#: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
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
(locale "en_CA.utf8")
(timezone "America/Vancouver")
(keyboard-layout (keyboard-layout "gb"))
@ -33,7 +39,7 @@
(comment "Kat Inskip")
(group "users")
(home-directory "/home/kat")
(shell (file-append zsh "/bin/zsh"))
(shell (file-append fish "/bin/fish"))
(supplementary-groups '("wheel" "netdev" "audio" "video")))
%base-user-accounts))
@ -42,10 +48,7 @@
;; for packages and 'guix install PACKAGE' to install a package.
(packages (append (list (specification->package "sway")
(specification->package "wmenu")
(specification->package "librewolf")
(specification->package "neovim")
(specification->package "git")
(specification->package "foot")) %base-packages))
(specification->package "git")) %base-packages))
;; Below is the list of system services. To search for available
;; services, run 'guix system search KEYWORD' in a terminal.
@ -58,9 +61,21 @@
(guix-service-type
config => (guix-configuration
(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)
(guix (guix-for-channels %kittywitch-channels)))))
))
(guix (guix-for-channels %kittywitch-channels)))))))
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(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)
(gnu)
(gnu home)
(gnu home services)
(gnu home services dotfiles)
(gnu home services shells)
(gnu home services sway)
(packages nvim)
(gnu system keyboard)
(gnu services)
(gnu system shadow))
(use-package-modules wm ; grimshot
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 "
#$coreutils "/bin/date"
@ -38,27 +52,35 @@
(define home-config
(home-environment
(packages (list jujutsu))
(packages (append neovim-packages
(list jujutsu
librewolf
fennel
fennel-ls
foot)))
(services
(append
(list
;; Uncomment the shell you wish to use for your user:
;(service home-bash-service-type)
;(service home-fish-service-type)
(service home-zsh-service-type)
(simple-service 'editor-env-var
home-environment-variables-service-type
'(("EDITOR" . "neovim")))
(service home-fish-service-type)
(service home-sway-service-type sway-config)
(service home-dotfiles-service-type
(home-dotfiles-configuration
(directories '("./dotfiles"))))
(service home-files-service-type
`((".guile" ,%default-dotguile)
(".Xdefaults" ,%default-xdefaults)
(".gitconfig" ,(local-file "files/gitconfig"))
))
(service home-xdg-configuration-files-service-type
`(("gdb/gdbinit" ,%default-gdbinit)
("nano/nanorc" ,%default-nanorc)
("jj/config.toml" ,(local-file "files/jj-config.toml")))))
("nano/nanorc" ,%default-nanorc))))
%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)))