168 lines
4.5 KiB
Scheme
168 lines
4.5 KiB
Scheme
(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)
|
|
(gnu home services desktop)
|
|
(gnu home services sound)
|
|
(packages nvim)
|
|
(packages fonts)
|
|
(gnu system keyboard)
|
|
(gnu services)
|
|
(gnu system shadow))
|
|
|
|
(use-package-modules wm ; grimshot
|
|
xdisorg ; wl-clipboard
|
|
rust-apps ; jujutsu
|
|
emacs ; self-explanatory
|
|
emacs-xyz ; evil
|
|
vim ; self-explanatory
|
|
librewolf ; self-explanatory
|
|
lua ; fennel
|
|
video ; mpv, yt-dlp
|
|
terminals ; foot
|
|
admin ; fastfetch
|
|
pulseaudio ; pavucontrol
|
|
fonts ; cozette
|
|
shellutils ; starship
|
|
)
|
|
|
|
(define neovim-packages
|
|
(list neovim
|
|
neovim-nfnl
|
|
neovim-conjure
|
|
vim-guile
|
|
vim-paredit
|
|
vim-guix-vim))
|
|
|
|
(define emacs-packages
|
|
(list emacs-pgtk
|
|
emacs-paredit
|
|
emacs-geiser
|
|
emacs-geiser-guile
|
|
emacs-gruvbox-theme
|
|
emacs-evil
|
|
emacs-evil-collection
|
|
emacs-evil-commentary
|
|
emacs-evil-paredit))
|
|
|
|
(define sway-bar-status (file-append i3status-rust "/bin/i3status-rs"))
|
|
|
|
(define sway-config
|
|
(sway-configuration
|
|
(inherit %empty-sway-configuration)
|
|
(bar (sway-bar
|
|
(identifier 'bar0)
|
|
(position 'top)
|
|
(colors (sway-color (background "$dark")
|
|
(statusline "$light")
|
|
(focused-workspace
|
|
(sway-border-color (border "$gray")
|
|
(background "$gray")
|
|
(text "$light")))
|
|
(active-workspace
|
|
(sway-border-color (border "$mid")
|
|
(background "$mid")
|
|
(text "$light")))
|
|
(inactive-workspace
|
|
(sway-border-color (border "$inactive")
|
|
(background "$inactive")
|
|
(text "$light")))
|
|
(urgent-workspace
|
|
(sway-border-color (border "$urgent")
|
|
(background "$urgent")
|
|
(text "$light")))))
|
|
(status-command sway-bar-status)))
|
|
;;(startup+reload-programs TODO)
|
|
(extra-content (list
|
|
"client.focused $focused $focused $light $focused $focused"
|
|
"client.focused_inactive $inactive $inactive $light $inactive $inactive"
|
|
"client.unfocused $unfocused $unfocused $light $unfocused $unfocused"
|
|
"client.urgent $urgent $urgent $light $urgent $urgent"
|
|
"smart_gaps on"
|
|
"gaps inner 0"
|
|
"gaps outer -4"
|
|
"gaps top -2"
|
|
"gaps bottom 0"
|
|
"default_border pixel 0"
|
|
"default_floating_border pixel 2"
|
|
"font pango:Atkinson Hyperlegible Next 10"
|
|
))
|
|
(variables (append `((mod . "Mod4")
|
|
(light . "#ebdbb2")
|
|
(dark . "#3c3836")
|
|
(gray . "#928374")
|
|
(mid . "#665c54")
|
|
(focused . "#3c3836")
|
|
(inactive . "#282828")
|
|
(unfocused . "#282828")
|
|
(urgent . "#b8bb26")
|
|
) %sway-default-variables))
|
|
(keybindings %sway-default-keybindings)
|
|
(gestures %sway-default-gestures)
|
|
(outputs
|
|
(list (sway-output
|
|
(identifier '*)
|
|
(background (local-file "files/lain-wallpaper.jpg")))))
|
|
(packages (append (list
|
|
grimshot
|
|
i3status-rust
|
|
wl-clipboard) %sway-default-packages))
|
|
(modes %sway-default-modes)
|
|
;(startup-programs %sway-default-startup-programs)
|
|
(inputs (list (sway-input (identifier "type:keyboard")
|
|
(layout (keyboard-layout "us" #:options '("ctrl:nocaps"))))))))
|
|
|
|
(define home-config
|
|
(home-environment
|
|
(packages (append neovim-packages
|
|
emacs-packages
|
|
(list jujutsu
|
|
yt-dlp
|
|
mpv
|
|
starship
|
|
font-awesome
|
|
font-atkinson-hyperlegible-next
|
|
font-atkinson-hyperlegible-mono
|
|
fastfetch
|
|
pavucontrol
|
|
ripgrep
|
|
fd
|
|
sd
|
|
librewolf
|
|
fennel
|
|
fennel-ls
|
|
foot)))
|
|
(services
|
|
(append
|
|
(list
|
|
(simple-service 'editor-env-var
|
|
home-environment-variables-service-type
|
|
'(("EDITOR" . "nvim")))
|
|
|
|
(service home-fish-service-type (home-fish-configuration (config (list (local-file "files/starship.fish")))))
|
|
|
|
(service home-sway-service-type sway-config)
|
|
|
|
(service home-dbus-service-type)
|
|
(service home-pipewire-service-type)
|
|
|
|
(service home-dotfiles-service-type
|
|
(home-dotfiles-configuration
|
|
(directories '("./dotfiles"))))
|
|
|
|
(service home-files-service-type
|
|
`((".guile" ,%default-dotguile)
|
|
(".Xdefaults" ,%default-xdefaults)
|
|
))
|
|
|
|
(service home-xdg-configuration-files-service-type
|
|
`(("gdb/gdbinit" ,%default-gdbinit)
|
|
("nano/nanorc" ,%default-nanorc))))
|
|
|
|
%base-home-services))))
|
|
|
|
home-config
|