add shared config to channel
This commit is contained in:
parent
6dc381aeb5
commit
a1d206b576
1 changed files with 280 additions and 0 deletions
280
snamellit/common.scm
Normal file
280
snamellit/common.scm
Normal file
|
@ -0,0 +1,280 @@
|
|||
(define-module (snamellit common)
|
||||
#:use-module (gnu home)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services desktop)
|
||||
#:use-module (gnu services shepherd)
|
||||
#:use-module (gnu home services)
|
||||
#:use-module (gnu home services desktop)
|
||||
#:use-module (gnu home services fontutils)
|
||||
#:use-module (gnu home services guix)
|
||||
#:use-module (gnu home services mcron)
|
||||
#:use-module (gnu home services shells)
|
||||
#:use-module (gnu home services shepherd)
|
||||
#:use-module (gnu home services sound)
|
||||
#:use-module (gnu home services xdg)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages aspell)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages containers)
|
||||
#:use-module (gnu packages docker)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gimp)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages guile-xyz)
|
||||
#:use-module (gnu packages haskell-xyz)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-viewers)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lsof)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages password-utils)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages rsync)
|
||||
#:use-module (gnu packages rust-apps)
|
||||
#:use-module (gnu packages samba)
|
||||
#:use-module (gnu packages shellutils)
|
||||
#:use-module (gnu packages terminals)
|
||||
#:use-module (gnu packages texlive)
|
||||
#:use-module (gnu packages tmux)
|
||||
#:use-module (gnu packages uml)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages vim)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wm)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (guix channels)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (nongnu packages k8s)
|
||||
#:use-module (nongnu packages nvidia)
|
||||
#:use-module (snamellit packages tools)
|
||||
#:use-module (snamellit packages xca)
|
||||
#:use-module (snamellit packages lazygit-bin)
|
||||
#:use-module (snamellit packages tea-bin)
|
||||
#:use-module (snamellit packages gh-bin)
|
||||
#:use-module (snamellit packages guile-xyz)
|
||||
#:use-module (snamellit packages fzf)
|
||||
#:use-module (srfi srfi-1)
|
||||
)
|
||||
|
||||
|
||||
(define-public %snam-terminal-packages
|
||||
(list
|
||||
kubectl
|
||||
docker
|
||||
docker-compose
|
||||
cifs-utils
|
||||
gnupg
|
||||
pinentry
|
||||
|
||||
starship
|
||||
go-github-com-junegunn-fzf-0.54.3
|
||||
tmux
|
||||
direnv
|
||||
ripgrep
|
||||
unzip
|
||||
watchexec
|
||||
password-store
|
||||
bc
|
||||
texlive
|
||||
rsync
|
||||
curl
|
||||
yq
|
||||
lazygit-bin
|
||||
gh-bin
|
||||
tea-bin
|
||||
lsof
|
||||
|
||||
git
|
||||
gnu-make
|
||||
glibc-locales
|
||||
gcc-toolchain
|
||||
|
||||
guile-3.0
|
||||
guile-colorized
|
||||
guile-readline
|
||||
|
||||
ncurses
|
||||
neovim
|
||||
|
||||
emacs-next
|
||||
node-lts ; emacs startup relies on node being present
|
||||
pandoc ; for org-mode export and markdown
|
||||
plantuml ; for org-mode plantuml export
|
||||
))
|
||||
|
||||
(define-public %snam-desktop-packages
|
||||
(list
|
||||
;; desktop support
|
||||
flatpak
|
||||
flatpak-xdg-utils
|
||||
gsettings-desktop-schemas
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-gnome
|
||||
xdg-utils
|
||||
|
||||
bluez ;; strictly speaking terminal but only useful on desktop?
|
||||
blueman
|
||||
|
||||
xeyes
|
||||
nm-tray
|
||||
alacritty
|
||||
gimp
|
||||
flameshot
|
||||
mpv
|
||||
yt-dlp
|
||||
vlc
|
||||
feh
|
||||
i3status
|
||||
rofi
|
||||
dex
|
||||
xclip
|
||||
xca
|
||||
pavucontrol
|
||||
gnome-keyring
|
||||
keepassxc
|
||||
|
||||
foot
|
||||
kitty
|
||||
|
||||
guile-g-golf
|
||||
guile-cairo
|
||||
gtk
|
||||
libadwaita
|
||||
gobject-introspection
|
||||
|
||||
;; emacs support
|
||||
emacs
|
||||
aspell
|
||||
aspell-dict-en
|
||||
aspell-dict-fr
|
||||
aspell-dict-nl
|
||||
aspell-dict-de
|
||||
|
||||
;; some additional fonts
|
||||
font-dejavu
|
||||
font-fira-code
|
||||
font-hack
|
||||
font-iosevka
|
||||
font-inconsolata
|
||||
font-lato
|
||||
font-liberation
|
||||
font-google-noto-emoji
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(define-public %snam-terminal-services
|
||||
(list
|
||||
(service home-bash-service-type
|
||||
(home-bash-configuration
|
||||
(aliases '(("gst" . "git status")
|
||||
("gca" . "git commit -a")
|
||||
("gcl" . "git clone")
|
||||
("gco" . "git checkout")
|
||||
("gd" . "git diff")
|
||||
("gl" . "git pull")
|
||||
("gp" . "git push")
|
||||
("ggpnp". "git pull && git push")
|
||||
("grb" . "git rebase")
|
||||
("grba" . "git rebase --abort")
|
||||
("grbc" . "git rebase --continue")))
|
||||
(bashrc
|
||||
(list
|
||||
(plain-file
|
||||
"helpers"
|
||||
(format #f "~{~a~&~}"
|
||||
(list
|
||||
"eval \"$(direnv hook bash)\""
|
||||
"eval \"$(starship init bash)\""
|
||||
"source `guix locate fzf | grep bash_completion | awk -e '{print $2}'`"
|
||||
)))))))
|
||||
(service home-zsh-service-type
|
||||
(home-zsh-configuration
|
||||
(zshrc
|
||||
(list
|
||||
(local-file "../../../base/zshrc" "zshrc")))
|
||||
(zlogin
|
||||
(list
|
||||
(local-file "../../../base/zlogin" "zlogin")))
|
||||
(zprofile
|
||||
(list
|
||||
(local-file "../../../base/zprofile" "zprofile")))))
|
||||
(simple-service 'variant-packages-service
|
||||
home-channels-service-type
|
||||
(list (channel
|
||||
(name 'nonguix)
|
||||
(url "https://gitlab.com/nonguix/nonguix")
|
||||
;; Enable signature verification:
|
||||
(introduction
|
||||
(make-channel-introduction
|
||||
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
||||
(openpgp-fingerprint
|
||||
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
|
||||
(channel
|
||||
(name 'guix-science-nonfree)
|
||||
(url "https://github.com/guix-science/guix-science-nonfree.git")
|
||||
(introduction
|
||||
(make-channel-introduction
|
||||
"58661b110325fd5d9b40e6f0177cc486a615817e"
|
||||
(openpgp-fingerprint
|
||||
"CA4F 8CF4 37D7 478F DA05 5FD4 4213 7701 1A37 8446"))))
|
||||
(channel
|
||||
(name 'snamguix)
|
||||
(url "https://forge.snamellit.com/pti/snamguix")
|
||||
(branch "main"))))
|
||||
(service home-mcron-service-type)
|
||||
))
|
||||
|
||||
;; add folders at the end of a PATH like string, removing duplicates but
|
||||
;; keeping the order of first occurrence
|
||||
(define
|
||||
(add-folders-to-path path folders)
|
||||
(if
|
||||
(null? folders)
|
||||
(string-join
|
||||
(delete-duplicates
|
||||
(string-split path #\:))
|
||||
":")
|
||||
(add-folders-to-path
|
||||
(string-append path ":"
|
||||
(car folders))
|
||||
(cdr folders))))
|
||||
|
||||
(define-public %snam-desktop-services
|
||||
(list
|
||||
(service home-dbus-service-type)
|
||||
(service home-pipewire-service-type)
|
||||
(simple-service 'my-xdg-data-dirs home-environment-variables-service-type
|
||||
`(("XDG_DATA_DIRS" .
|
||||
,(add-folders-to-path
|
||||
(getenv "XDG_DATA_DIRS")
|
||||
'("/var/lib/flatpak/exports/share"
|
||||
"/home/pti/.local/share/flatpak/exports/share"
|
||||
"/home/pti/.guix-home/profile/share")))))
|
||||
(simple-service 'additional-fonts-service
|
||||
home-fontconfig-service-type
|
||||
(list
|
||||
'(alias
|
||||
(family "monospace")
|
||||
(prefer
|
||||
(family "FiraCode Nerd Font")
|
||||
(family "Liberation Mono")
|
||||
(family "Google Noto Emoji")
|
||||
))))
|
||||
)
|
||||
)
|
Loading…
Add table
Reference in a new issue