home-environments: radio: Define the buer home-environment
parent
36aa98d445
commit
52f1df730e
|
@ -1,7 +1,9 @@
|
|||
(define-module (radix home-enviroments radio)
|
||||
#|GNU|#
|
||||
#:use-module (gnu)
|
||||
#:use-module (gnu home)
|
||||
#:use-module ((gnu home) #:select (this-home-environment))
|
||||
#:use-module ((gnu home) #:hide (this-home-environment)
|
||||
#:prefix user-)
|
||||
#:use-module (gnu home services)
|
||||
|
||||
#|GNU packages|#
|
||||
|
@ -43,12 +45,12 @@
|
|||
#:use-module (gnu packages xorg)
|
||||
|
||||
#|GNU home services|#
|
||||
#|D|# (gnu home services desktop)
|
||||
#|G|# (gnu home services guix)
|
||||
#|M|# (gnu home services mcron)
|
||||
#|S|# (gnu home services ssh)
|
||||
(gnu home services shepherd)
|
||||
(gnu home services sound)
|
||||
#|D|# #:use-module (gnu home services desktop)
|
||||
#|G|# #:use-module (gnu home services guix)
|
||||
#|M|# #:use-module (gnu home services mcron)
|
||||
#|S|# #:use-module (gnu home services ssh)
|
||||
#:use-module (gnu home services shepherd)
|
||||
#:use-module (gnu home services sound)
|
||||
|
||||
#|Guix|#
|
||||
#:use-module (guix channels)
|
||||
|
@ -79,483 +81,485 @@
|
|||
#|M|# #:use-module ((radix files mpv) #:prefix file:mpv-)
|
||||
#|N|# #:use-module ((radix files newsraft) #:prefix file:newsraft-))
|
||||
|
||||
(home-environment
|
||||
(packages
|
||||
(list #|admin |# neofetch netcat-openbsd
|
||||
#|bittorrent |# aria2 qbittorrent
|
||||
#|c |# c-intro-and-ref
|
||||
#|calendar |# remind
|
||||
#|curl |# curl
|
||||
#|disk |# lf
|
||||
#|file |# file
|
||||
#|fonts |# font-arabic-misc font-liberation font-meslo-lg-dz
|
||||
font-misc-misc font-un font-wqy-zenhei
|
||||
#|freedesktop |# xdg-utils
|
||||
#|games |# minetest supertuxkart xonotic
|
||||
#|gnome |# adwaita-icon-theme
|
||||
#|gnu-doc |# gnu-standards
|
||||
#|gnupg |# gnupg pinentry
|
||||
#|gnuzilla |# icecat
|
||||
#|guile-xyz |# haunt
|
||||
#|image-viewers |# imv
|
||||
#|linux |# alsa-utils
|
||||
#|math |# libqalculate
|
||||
#|password-utils|# keepassxc
|
||||
#|pdf |# zathura zathura-pdf-mupdf zathura-djvu
|
||||
#|pulseaudio |# pamixer pavucontrol
|
||||
#|python-xyz |# python-ueberzug
|
||||
#|scheme |# sicp
|
||||
#|shells |# fish
|
||||
#|syndication |# newsraft
|
||||
#|ssh |# openssh
|
||||
#|suckless |# xst
|
||||
#|telegram |# telegram-desktop
|
||||
#|tor |# torbrowser
|
||||
#|toys |# oneko
|
||||
#|vesion-control|# git
|
||||
#|video |# ffmpeg mpv yt-dlp
|
||||
#|wm |# awesome-git
|
||||
#|xdisorg |# maim xbanish xclip xinit xsel
|
||||
#|xorg |# setxkbmap xinput xf86-input-libinput xkill xmodmap
|
||||
xorg-server xrdb xset))
|
||||
(define home-environment
|
||||
(user-home-environment
|
||||
(packages
|
||||
(list #|admin |# neofetch netcat-openbsd
|
||||
#|bittorrent |# aria2 qbittorrent
|
||||
#|c |# c-intro-and-ref
|
||||
#|calendar |# remind
|
||||
#|curl |# curl
|
||||
#|disk |# lf
|
||||
#|file |# file
|
||||
#|fonts |# font-arabic-misc font-liberation font-meslo-lg-dz
|
||||
font-misc-misc font-un font-wqy-zenhei
|
||||
#|freedesktop |# xdg-utils
|
||||
#|games |# minetest supertuxkart xonotic
|
||||
#|gnome |# adwaita-icon-theme
|
||||
#|gnu-doc |# gnu-standards
|
||||
#|gnupg |# gnupg pinentry
|
||||
#|gnuzilla |# icecat
|
||||
#|guile-xyz |# haunt
|
||||
#|image-viewers |# imv
|
||||
#|linux |# alsa-utils
|
||||
#|math |# libqalculate
|
||||
#|password-utils|# keepassxc
|
||||
#|pdf |# zathura zathura-pdf-mupdf zathura-djvu
|
||||
#|pulseaudio |# pamixer pavucontrol
|
||||
#|python-xyz |# python-ueberzug
|
||||
#|scheme |# sicp
|
||||
#|shells |# fish
|
||||
#|syndication |# newsraft
|
||||
#|ssh |# openssh
|
||||
#|suckless |# xst
|
||||
#|telegram |# telegram-desktop
|
||||
#|tor |# torbrowser
|
||||
#|toys |# oneko
|
||||
#|vesion-control|# git
|
||||
#|video |# ffmpeg mpv yt-dlp
|
||||
#|wm |# awesome-git
|
||||
#|xdisorg |# maim xbanish xclip xinit xsel
|
||||
#|xorg |# setxkbmap xinput xf86-input-libinput xkill xmodmap
|
||||
xorg-server xrdb xset))
|
||||
|
||||
(services
|
||||
(list #|XDG services|#
|
||||
(service home-xdg-user-directories-service-type
|
||||
(home-xdg-user-directories-configuration
|
||||
(desktop "$HOME/areas")
|
||||
(documents "$HOME/areas/documents")
|
||||
(music "$HOME/media/music")
|
||||
(pictures "$HOME/media/pictures")
|
||||
(videos "$HOME/media/videos")
|
||||
(publicshare "$HOME/resources/public")
|
||||
(download "$HOME/.local/share/downloads")
|
||||
(templates "$HOME/.local/share/templates")))
|
||||
(services
|
||||
(list #|XDG services|#
|
||||
(service home-xdg-user-directories-service-type
|
||||
(home-xdg-user-directories-configuration
|
||||
(desktop "$HOME/areas")
|
||||
(documents "$HOME/areas/documents")
|
||||
(music "$HOME/media/music")
|
||||
(pictures "$HOME/media/pictures")
|
||||
(videos "$HOME/media/videos")
|
||||
(publicshare "$HOME/resources/public")
|
||||
(download "$HOME/.local/share/downloads")
|
||||
(templates "$HOME/.local/share/templates")))
|
||||
|
||||
(service home-xdg-mime-applications-service-type
|
||||
(home-xdg-mime-applications-configuration
|
||||
(default (associate-right
|
||||
('icecat.desktop
|
||||
`("text/html"
|
||||
"application/xhtml+xml"
|
||||
"application/x-extension-htm"
|
||||
"application/x-extension-xhtml"
|
||||
"application/x-extension-xht"
|
||||
"x-scheme-handler/http"
|
||||
"x-scheme-handler/https"))
|
||||
('kak.desktop
|
||||
`("text/plain"
|
||||
"text/troff"
|
||||
"text/xml"
|
||||
"text/x-c"
|
||||
"text/x-c++"
|
||||
"text/x-diff"
|
||||
"text/x-lisp"
|
||||
"text/x-scheme"
|
||||
"text/x-shellscript"
|
||||
"text/x-tex"))
|
||||
('lf.desktop
|
||||
`("inode/directory"
|
||||
"x-scheme-handler/ftp"
|
||||
"x-scheme-handler/nfs"
|
||||
"x-scheme-handler/smb"
|
||||
"x-scheme-handler/ssh"
|
||||
"application/x-directory"))
|
||||
('mpv.desktop
|
||||
`("image/gif"
|
||||
"audio/mpeg"
|
||||
"audio/ogg"
|
||||
"audio/opus"
|
||||
"audio/x-opus+ogg"
|
||||
"video/mp4"
|
||||
"video/x-matroska"
|
||||
"video/webm"))
|
||||
('imv.desktop
|
||||
`("image/avif"
|
||||
"image/bmp"
|
||||
"image/jpeg"
|
||||
"image/png"
|
||||
"image/svg+xml"
|
||||
"image/webp"))
|
||||
('org.pwmt.zathura.desktop
|
||||
`("image/vnd.djvu"
|
||||
"application/pdf"
|
||||
"application/epub+zip"))))))
|
||||
(service home-xdg-mime-applications-service-type
|
||||
(home-xdg-mime-applications-configuration
|
||||
(default (associate-right
|
||||
('icecat.desktop
|
||||
`("text/html"
|
||||
"application/xhtml+xml"
|
||||
"application/x-extension-htm"
|
||||
"application/x-extension-xhtml"
|
||||
"application/x-extension-xht"
|
||||
"x-scheme-handler/http"
|
||||
"x-scheme-handler/https"))
|
||||
('kak.desktop
|
||||
`("text/plain"
|
||||
"text/troff"
|
||||
"text/xml"
|
||||
"text/x-c"
|
||||
"text/x-c++"
|
||||
"text/x-diff"
|
||||
"text/x-lisp"
|
||||
"text/x-scheme"
|
||||
"text/x-shellscript"
|
||||
"text/x-tex"))
|
||||
('lf.desktop
|
||||
`("inode/directory"
|
||||
"x-scheme-handler/ftp"
|
||||
"x-scheme-handler/nfs"
|
||||
"x-scheme-handler/smb"
|
||||
"x-scheme-handler/ssh"
|
||||
"application/x-directory"))
|
||||
('mpv.desktop
|
||||
`("image/gif"
|
||||
"audio/mpeg"
|
||||
"audio/ogg"
|
||||
"audio/opus"
|
||||
"audio/x-opus+ogg"
|
||||
"video/mp4"
|
||||
"video/x-matroska"
|
||||
"video/webm"))
|
||||
('imv.desktop
|
||||
`("image/avif"
|
||||
"image/bmp"
|
||||
"image/jpeg"
|
||||
"image/png"
|
||||
"image/svg+xml"
|
||||
"image/webp"))
|
||||
('org.pwmt.zathura.desktop
|
||||
`("image/vnd.djvu"
|
||||
"application/pdf"
|
||||
"application/epub+zip"))))))
|
||||
|
||||
(service home-xdg-configuration-files-service-type
|
||||
`(("awesome/rc.lua" ,file:awesome-config)
|
||||
("awesome/themes/current.lua" ,file:awesome-theme)
|
||||
("emacs/init.el" ,file:emacs-init)
|
||||
("emacs/theme.el" ,file:emacs-theme)
|
||||
("fish/functions" ,file:fish-functions)
|
||||
("fish/conf.d" ,file:fish-config)
|
||||
("git" ,file:git-config)
|
||||
("info" ,file:info-config)
|
||||
("kak/kakrc" ,file:kak-config)
|
||||
("kak/autoload/colorscheme.kak" ,file:kak-colorscheme)
|
||||
("lf" ,file:lf-config)
|
||||
("mpv" ,file:mpv-config)
|
||||
("newsraft" ,file:newsraft-config)))
|
||||
(service home-xdg-configuration-files-service-type
|
||||
`(("awesome/rc.lua" ,file:awesome-config)
|
||||
("awesome/themes/current.lua" ,file:awesome-theme)
|
||||
("emacs/init.el" ,file:emacs-init)
|
||||
("emacs/theme.el" ,file:emacs-theme)
|
||||
("fish/functions" ,file:fish-functions)
|
||||
("fish/conf.d" ,file:fish-config)
|
||||
("git" ,file:git-config)
|
||||
("info" ,file:info-config)
|
||||
("kak/kakrc" ,file:kak-config)
|
||||
("kak/autoload/colorscheme.kak" ,file:kak-colorscheme)
|
||||
("lf" ,file:lf-config)
|
||||
("mpv" ,file:mpv-config)
|
||||
("newsraft" ,file:newsraft-config)))
|
||||
|
||||
#|Guix service|#
|
||||
(simple-service 'channels-service
|
||||
home-channels-service-type
|
||||
(list (channel
|
||||
(name 'radix)
|
||||
(url "https://codeberg.org/anemofilia/radix")
|
||||
(branch "main")
|
||||
(introduction
|
||||
(make-channel-introduction
|
||||
"f9130e11e35d2c147c6764ef85542dc58dc09c4f"
|
||||
(openpgp-fingerprint
|
||||
(format #f "F164 709E 5FC7 B32B AEC7 ~
|
||||
9F37 1F2E 76AC E3F5 31C8")))))))
|
||||
#|Guix service|#
|
||||
(simple-service 'channels-service
|
||||
home-channels-service-type
|
||||
(list (channel
|
||||
(name 'radix)
|
||||
(url "https://codeberg.org/anemofilia/radix")
|
||||
(branch "main")
|
||||
(introduction
|
||||
(make-channel-introduction
|
||||
"f9130e11e35d2c147c6764ef85542dc58dc09c4f"
|
||||
(openpgp-fingerprint
|
||||
(format #f "F164 709E 5FC7 B32B AEC7 ~
|
||||
9F37 1F2E 76AC E3F5 31C8")))))))
|
||||
|
||||
#|Shepherd service|#
|
||||
(service home-shepherd-service-type)
|
||||
#|Shepherd service|#
|
||||
(service home-shepherd-service-type)
|
||||
|
||||
#|Shell services|#
|
||||
(service home-fish-service-type
|
||||
(home-fish-configuration
|
||||
(config (list file:fish-custom-functions))
|
||||
(environment-variables
|
||||
`(("GPG_TTY" . "(tty)")
|
||||
("fish_complete_path"
|
||||
. ,(format #f "$fish_complete_path~@{ ~a/fish/completions}"
|
||||
"$HOME/.guix-home/profile/share"))))
|
||||
(aliases
|
||||
`(#|Common aliases|#
|
||||
("df" . "df -h")
|
||||
("du" . "du -h")
|
||||
("diff" . "diff --color=auto")
|
||||
("grep" . "grep --color=auto")
|
||||
("ip" . "ip --color=auto")
|
||||
("ls" . ,(format #f "ls --color=auto ~
|
||||
--group-directories-first ~
|
||||
--classify ~
|
||||
-hv"))
|
||||
#|Shell services|#
|
||||
(service home-fish-service-type
|
||||
(home-fish-configuration
|
||||
(config (list file:fish-custom-functions))
|
||||
(environment-variables
|
||||
`(("GPG_TTY" . "(tty)")
|
||||
("fish_complete_path"
|
||||
. ,(format #f "$fish_complete_path~@{ ~a/fish/completions}"
|
||||
"$HOME/.guix-home/profile/share"))))
|
||||
(aliases
|
||||
`(#|Common aliases|#
|
||||
("df" . "df -h")
|
||||
("du" . "du -h")
|
||||
("diff" . "diff --color=auto")
|
||||
("grep" . "grep --color=auto")
|
||||
("ip" . "ip --color=auto")
|
||||
("ls" . ,(format #f "ls --color=auto ~
|
||||
--group-directories-first ~
|
||||
--classify ~
|
||||
-hv"))
|
||||
|
||||
#|Clear terminal screen without ncurses|#
|
||||
("clear" . "printf \"\\033c\"")
|
||||
#|Clear terminal screen without ncurses|#
|
||||
("clear" . "printf \"\\033c\"")
|
||||
|
||||
#|Make ln idempotent|#
|
||||
("ln" . "ln -sfn")
|
||||
#|Make ln idempotent|#
|
||||
("ln" . "ln -sfn")
|
||||
|
||||
#|Kakoune bindings for info|#
|
||||
("info" . "info --init-file $XDG_CONFIG_HOME/info")
|
||||
#|Kakoune bindings for info|#
|
||||
("info" . "info --init-file $XDG_CONFIG_HOME/info")
|
||||
|
||||
#|Easy presentation setup with xrandr|#
|
||||
("present" . ,(format #f "xrandr --output LVDS-1 ~
|
||||
--mode 1366x768 ~
|
||||
--scale 1x1 ~
|
||||
--output VGA-1 ~
|
||||
--same-as LVDS-1 ~
|
||||
--mode 1920x1080 ~
|
||||
--scale 0.711x0.711"))
|
||||
#|Easy presentation setup with xrandr|#
|
||||
("present" . ,(format #f "xrandr --output LVDS-1 ~
|
||||
--mode 1366x768 ~
|
||||
--scale 1x1 ~
|
||||
--output VGA-1 ~
|
||||
--same-as LVDS-1 ~
|
||||
--mode 1920x1080 ~
|
||||
--scale 0.711x0.711"))
|
||||
|
||||
#|Display images in lf using ueberzug|#
|
||||
("lf" . "$HOME/.local/bin/lf/lfrun")
|
||||
#|Display images in lf using ueberzug|#
|
||||
("lf" . "$HOME/.local/bin/lf/lfrun")
|
||||
|
||||
#|Listen to libre music on vern's radio|#
|
||||
("radio" . "https://radio.vern.cc")
|
||||
#|Listen to libre music on vern's radio|#
|
||||
("radio" . "https://radio.vern.cc")
|
||||
|
||||
#|Kakoune aliases for the shell|#
|
||||
("':e'" . "kak")
|
||||
("':q'" . "exit")))
|
||||
(abbreviations
|
||||
(let ((code-projects "~/projects/code")
|
||||
(code-project-extensions
|
||||
'(c clj cpp el html kak md org pl py scm sh tex zig))
|
||||
(xdg-user-directories
|
||||
'(desktop documents downloads music
|
||||
pictures public templates videos))
|
||||
(bookmarks
|
||||
'(emacs guile guix haunt misc)))
|
||||
(list #|Quick access|#
|
||||
#|Kakoune aliases for the shell|#
|
||||
("':e'" . "kak")
|
||||
("':q'" . "exit")))
|
||||
(abbreviations
|
||||
(let ((code-projects "~/projects/code")
|
||||
(code-project-extensions
|
||||
'(c clj cpp el html kak md org pl py scm sh tex zig))
|
||||
(xdg-user-directories
|
||||
'(desktop documents downloads music
|
||||
pictures public templates videos))
|
||||
(bookmarks
|
||||
'(emacs guile guix haunt misc)))
|
||||
(list #|Quick access|#
|
||||
(abbreviation
|
||||
(name "@user-dirs")
|
||||
(position 'anywhere)
|
||||
(pattern
|
||||
(apply format #f "@(~a~@{|~a~})"
|
||||
xdg-user-directories))
|
||||
(expansion (fish-function "xdg-user-directory")))
|
||||
(abbreviation
|
||||
(name "@extension")
|
||||
(position 'anywhere)
|
||||
(pattern
|
||||
(apply format #f "@(~a~@{|~a~})"
|
||||
code-project-extensions))
|
||||
(expansion
|
||||
(fish-function "code-projects")))
|
||||
(abbreviation
|
||||
(name "@punk")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(format #f "~a/cpp/punk"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name "@guix")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(format #f "~a/scm/guix"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name "@radix")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(format #f "~a/scm/radix"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name "@files")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(format #f "~a/scm/radix/files"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name "@modules")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(format #f "~a/scm/radix/modules/radix"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name "@research")
|
||||
(position 'anywhere)
|
||||
(expansion "~/areas/research"))
|
||||
(abbreviation
|
||||
(name "@bookmarks")
|
||||
(position 'anywhere)
|
||||
(expansion "~/resources/bookmarks"))
|
||||
(abbreviation
|
||||
(name "@git-root")
|
||||
(pattern "@git-root")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(fish-function "git-root")))
|
||||
|
||||
#|Quick edit|#
|
||||
(abbreviation
|
||||
(name ":e")
|
||||
(expansion "$EDITOR"))
|
||||
(abbreviation
|
||||
(name ":system")
|
||||
(expansion
|
||||
(format #f "~a/scm/radix && $EDITOR buer.scm"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name ":home")
|
||||
(expansion
|
||||
(format #f "~a/scm/radix && $EDITOR radio.scm"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name ":todo")
|
||||
(expansion "~/areas/organization/todo"))
|
||||
(abbreviation
|
||||
(name ":bookmark")
|
||||
(position 'anywhere)
|
||||
(pattern
|
||||
(apply format #f ":(~a~@{|~a~})" bookmarks))
|
||||
(expansion
|
||||
(fish-function "bookmarks")))
|
||||
|
||||
#|Media downloading|#
|
||||
(abbreviation
|
||||
(name "i")
|
||||
(expansion "ipfs get %"))
|
||||
(abbreviation
|
||||
(name "d")
|
||||
(expansion "aria -j 10 '%'"))
|
||||
(abbreviation
|
||||
(name "m")
|
||||
(expansion
|
||||
(format #f "yt-dlp --prefer-free-formats ~
|
||||
--extract-audio '%'")))
|
||||
(abbreviation
|
||||
(name "v")
|
||||
(expansion
|
||||
"yt-dlp --prefer-free-formats '%'"))
|
||||
|
||||
#|Command history reuse|#
|
||||
(abbreviation
|
||||
(name "!!")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(fish-function "bang-bang")))
|
||||
(abbreviation
|
||||
(name "!!:k")
|
||||
(position 'anywhere)
|
||||
(pattern "!!:[0-9]+")
|
||||
(expansion
|
||||
(fish-function "bang-bang-k")))
|
||||
(abbreviation
|
||||
(name "!$")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(fish-function "bang-dollar")))
|
||||
(abbreviation
|
||||
(name "!*")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(fish-function "bang-star")))
|
||||
|
||||
#|Guix reconfiguration|#
|
||||
(abbreviation
|
||||
(name "!dgen")
|
||||
(position 'anywhere)
|
||||
(expansion "guix % delete-generations 2w"))
|
||||
(abbreviation
|
||||
(name "!repair")
|
||||
(expansion "doas guix build --repair"))
|
||||
(abbreviation
|
||||
(name "!pull")
|
||||
(position 'anywhere)
|
||||
(expansion "guix pull"))
|
||||
(abbreviation
|
||||
(name "!home")
|
||||
(expansion
|
||||
"guix home reconfigure ~/.config/guix/home.scm"))
|
||||
(abbreviation
|
||||
(name "!system")
|
||||
(expansion
|
||||
"doas guix system reconfigure /etc/config.scm"))
|
||||
|
||||
#|Utils|#
|
||||
(abbreviation
|
||||
(name "@user-dirs")
|
||||
(position 'anywhere)
|
||||
(pattern
|
||||
(apply format #f "@(~a~@{|~a~})"
|
||||
xdg-user-directories))
|
||||
(expansion (fish-function "xdg-user-directory")))
|
||||
(name "zedit")
|
||||
(expansion "zcat % | $EDITOR"))
|
||||
(abbreviation
|
||||
(name "@extension")
|
||||
(position 'anywhere)
|
||||
(pattern
|
||||
(apply format #f "@(~a~@{|~a~})"
|
||||
code-project-extensions))
|
||||
(expansion
|
||||
(fish-function "code-projects")))
|
||||
(abbreviation
|
||||
(name "@punk")
|
||||
(name "tf")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(format #f "~a/cpp/punk"
|
||||
code-projects)))
|
||||
"setsid -f %>/dev/null 2>&1 & disown"))
|
||||
(abbreviation
|
||||
(name "@guix")
|
||||
(position 'anywhere)
|
||||
(name "zxz")
|
||||
(expansion
|
||||
(format #f "~a/scm/guix"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name "@radix")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(format #f "~a/scm/radix"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name "@files")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(format #f "~a/scm/radix/files"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name "@modules")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(format #f "~a/scm/radix/modules/radix"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name "@research")
|
||||
(position 'anywhere)
|
||||
(expansion "~/areas/research"))
|
||||
(abbreviation
|
||||
(name "@bookmarks")
|
||||
(position 'anywhere)
|
||||
(expansion "~/resources/bookmarks"))
|
||||
(abbreviation
|
||||
(name "@git-root")
|
||||
(pattern "@git-root")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(fish-function "git-root")))
|
||||
"curl -F file=@% https://0x0.st | xsel -b")))))))
|
||||
|
||||
#|Quick edit|#
|
||||
(abbreviation
|
||||
(name ":e")
|
||||
(expansion "$EDITOR"))
|
||||
(abbreviation
|
||||
(name ":system")
|
||||
(expansion
|
||||
(format #f "~a/scm/radix && $EDITOR buer.scm"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name ":home")
|
||||
(expansion
|
||||
(format #f "~a/scm/radix && $EDITOR radio.scm"
|
||||
code-projects)))
|
||||
(abbreviation
|
||||
(name ":todo")
|
||||
(expansion "~/areas/organization/todo"))
|
||||
(abbreviation
|
||||
(name ":bookmark")
|
||||
(position 'anywhere)
|
||||
(pattern
|
||||
(apply format #f ":(~a~@{|~a~})" bookmarks))
|
||||
(expansion
|
||||
(fish-function "bookmarks")))
|
||||
(simple-service 'environment-variables-service
|
||||
home-environment-variables-service-type
|
||||
`(#|Shells|#
|
||||
("HISTFILE" . "$XDG_CACHE_HOME/bash/history")
|
||||
("HISTSIZE" . "-1")
|
||||
("HISTFILESIZE" . "-1")
|
||||
("PATH" . "$HOME/.local/bin:$PATH")
|
||||
("ENV" . "$XDG_CONFIG_HOME/dash/init.sh")
|
||||
|
||||
#|Media downloading|#
|
||||
(abbreviation
|
||||
(name "i")
|
||||
(expansion "ipfs get %"))
|
||||
(abbreviation
|
||||
(name "d")
|
||||
(expansion "aria -j 10 '%'"))
|
||||
(abbreviation
|
||||
(name "m")
|
||||
(expansion
|
||||
(format #f "yt-dlp --prefer-free-formats ~
|
||||
--extract-audio '%'")))
|
||||
(abbreviation
|
||||
(name "v")
|
||||
(expansion
|
||||
"yt-dlp --prefer-free-formats '%'"))
|
||||
#|Language|#
|
||||
("LANG" . "en_US.UTF-8")
|
||||
("LANGUAGE" . "en_US.UTF-8")
|
||||
("LC_COLLATE" . "C")
|
||||
|
||||
#|Command history reuse|#
|
||||
(abbreviation
|
||||
(name "!!")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(fish-function "bang-bang")))
|
||||
(abbreviation
|
||||
(name "!!:k")
|
||||
(position 'anywhere)
|
||||
(pattern "!!:[0-9]+")
|
||||
(expansion
|
||||
(fish-function "bang-bang-k")))
|
||||
(abbreviation
|
||||
(name "!$")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(fish-function "bang-dollar")))
|
||||
(abbreviation
|
||||
(name "!*")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
(fish-function "bang-star")))
|
||||
#|Default applications|#
|
||||
("BROWSER" . "icecat")
|
||||
("EDITOR" . "kak")
|
||||
("FCEDIT" . "kak")
|
||||
("PAGER" . "less")
|
||||
("READER" . "zathura")
|
||||
("SHELL" . "fish")
|
||||
("TERMINAL" . "xst")
|
||||
("VISUAL" . "kak")
|
||||
("WM" . "awesome")
|
||||
|
||||
#|Guix reconfiguration|#
|
||||
(abbreviation
|
||||
(name "!dgen")
|
||||
(position 'anywhere)
|
||||
(expansion "guix % delete-generations 2w"))
|
||||
(abbreviation
|
||||
(name "!repair")
|
||||
(expansion "doas guix build --repair"))
|
||||
(abbreviation
|
||||
(name "!pull")
|
||||
(position 'anywhere)
|
||||
(expansion "guix pull"))
|
||||
(abbreviation
|
||||
(name "!home")
|
||||
(expansion
|
||||
"guix home reconfigure ~/.config/guix/home.scm"))
|
||||
(abbreviation
|
||||
(name "!system")
|
||||
(expansion
|
||||
"doas guix system reconfigure /etc/config.scm"))
|
||||
#|Xorg|#
|
||||
("XINITRC" . "$XDG_CONFIG_HOME/x11/xinitrc")
|
||||
|
||||
#|Utils|#
|
||||
(abbreviation
|
||||
(name "zedit")
|
||||
(expansion "zcat % | $EDITOR"))
|
||||
(abbreviation
|
||||
(name "tf")
|
||||
(position 'anywhere)
|
||||
(expansion
|
||||
"setsid -f %>/dev/null 2>&1 & disown"))
|
||||
(abbreviation
|
||||
(name "zxz")
|
||||
(expansion
|
||||
"curl -F file=@% https://0x0.st | xsel -b")))))))
|
||||
#|Readline|#
|
||||
("INPUTRC" . "$XDG_CONFIG_HOME/readline/inputrc")
|
||||
|
||||
(simple-service 'environment-variables-service
|
||||
home-environment-variables-service-type
|
||||
`(#|Shells|#
|
||||
("HISTFILE" . "$XDG_CACHE_HOME/bash/history")
|
||||
("HISTSIZE" . "-1")
|
||||
("HISTFILESIZE" . "-1")
|
||||
("PATH" . "$HOME/.local/bin:$PATH")
|
||||
("ENV" . "$XDG_CONFIG_HOME/dash/init.sh")
|
||||
#|GTK|#
|
||||
("GTK_RC_FILES" . "$XDG_CONFIG_HOME/gtk-2.0/gtkrc")
|
||||
|
||||
#|Language|#
|
||||
("LANG" . "en_US.UTF-8")
|
||||
("LANGUAGE" . "en_US.UTF-8")
|
||||
("LC_COLLATE" . "C")
|
||||
#|Guile|#
|
||||
("GUILE_WARN_DEPRECATED" . "detailed")
|
||||
("GUILE_HISTORY" . "$XDG_CACHE_HOME/guile/history")
|
||||
("GUILE_LOAD_PATH"
|
||||
. ,(format #f "~a~@{:~a/share/guile/site/3.0~}"
|
||||
"$HOME/areas/code/scm/radix/modules"
|
||||
"$HOME/.guix-home/profile"
|
||||
"$XDG_CONFIG_HOME/guix/current"
|
||||
"/run/current-system/profile"))
|
||||
|
||||
#|Default applications|#
|
||||
("BROWSER" . "icecat")
|
||||
("EDITOR" . "kak")
|
||||
("FCEDIT" . "kak")
|
||||
("PAGER" . "less")
|
||||
("READER" . "zathura")
|
||||
("SHELL" . "fish")
|
||||
("TERMINAL" . "xst")
|
||||
("VISUAL" . "kak")
|
||||
("WM" . "awesome")
|
||||
#|Guix|#
|
||||
("GUIX_PROFILE" . "$XDG_CONFIG_HOME/guix/current")
|
||||
|
||||
#|Xorg|#
|
||||
("XINITRC" . "$XDG_CONFIG_HOME/x11/xinitrc")
|
||||
#|IPFS|#
|
||||
("IPFS_PATH" . "$XDG_DATA_HOME/ipfs")
|
||||
|
||||
#|Readline|#
|
||||
("INPUTRC" . "$XDG_CONFIG_HOME/readline/inputrc")
|
||||
#|Other program settings|#
|
||||
("RUNLEVEL" . "3")
|
||||
("TERMINFO" . "$XDG_DATA_HOME/terminfo")
|
||||
("GRADLE_USER_HOME" . "$XDG_DATA_HOME/gradle")
|
||||
("RUSTUP_HOME" . "$XDG_DATA_HOME/rustup")
|
||||
("CARGO_HOME" . "$XDG_DATA_HOME/cargo")
|
||||
("DOTREMINDERS" . "$XDG_DATA_HOME/reminders")))
|
||||
|
||||
#|GTK|#
|
||||
("GTK_RC_FILES" . "$XDG_CONFIG_HOME/gtk-2.0/gtkrc")
|
||||
(service home-openssh-service-type
|
||||
(home-openssh-configuration
|
||||
(hosts (list (openssh-host
|
||||
(name "codeberg.org")
|
||||
(host-name "codeberg.org")
|
||||
(user "git")
|
||||
(identity-file "~/.ssh/codeberg"))
|
||||
(openssh-host
|
||||
(name "github.com")
|
||||
(host-name "github.com")
|
||||
(user "git")
|
||||
(identity-file "~/.ssh/github"))
|
||||
(openssh-host
|
||||
(name "*.onion")
|
||||
(identity-file "~/.ssh/codeberg")
|
||||
(proxy
|
||||
(proxy-command
|
||||
"nc -x 127.0.0.1:9050 -X5 %h %p")))))
|
||||
(authorized-keys #f)))
|
||||
|
||||
#|Guile|#
|
||||
("GUILE_WARN_DEPRECATED" . "detailed")
|
||||
("GUILE_HISTORY" . "$XDG_CACHE_HOME/guile/history")
|
||||
("GUILE_LOAD_PATH"
|
||||
. ,(format #f "~a~@{:~a/share/guile/site/3.0~}"
|
||||
"$HOME/areas/code/scm/radix/modules"
|
||||
"$HOME/.guix-home/profile"
|
||||
"$XDG_CONFIG_HOME/guix/current"
|
||||
"/run/current-system/profile"))
|
||||
(service home-gpg-agent-service-type
|
||||
(home-gpg-agent-configuration
|
||||
(gnupghome ".local/share/gnupg")
|
||||
(pinentry-program
|
||||
(file-append pinentry "/bin/pinentry-curses"))))
|
||||
|
||||
#|Guix|#
|
||||
("GUIX_PROFILE" . "$XDG_CONFIG_HOME/guix/current")
|
||||
#|Session services|#
|
||||
(service home-dbus-service-type)
|
||||
|
||||
#|IPFS|#
|
||||
("IPFS_PATH" . "$XDG_DATA_HOME/ipfs")
|
||||
#|Sound services|#
|
||||
(service home-pipewire-service-type)
|
||||
|
||||
#|Other program settings|#
|
||||
("RUNLEVEL" . "3")
|
||||
("TERMINFO" . "$XDG_DATA_HOME/terminfo")
|
||||
("GRADLE_USER_HOME" . "$XDG_DATA_HOME/gradle")
|
||||
("RUSTUP_HOME" . "$XDG_DATA_HOME/rustup")
|
||||
("CARGO_HOME" . "$XDG_DATA_HOME/cargo")
|
||||
("DOTREMINDERS" . "$XDG_DATA_HOME/reminders")))
|
||||
#|Desktop application services|#
|
||||
(service home-zathura-service-type
|
||||
(home-zathura-configuration
|
||||
(selection-clipboard 'clipboard)
|
||||
(pages-per-row 1)
|
||||
(statusbar-home-tilde? #t)
|
||||
(recolor (recolor-configuration
|
||||
(keephue? #t)
|
||||
(reverse-video? #t)))
|
||||
(key-maps
|
||||
(list (key-map
|
||||
(binding "gk")
|
||||
(command "goto top"))
|
||||
(key-map
|
||||
(binding "gj")
|
||||
(command "goto bottom"))
|
||||
(key-map
|
||||
(binding "d")
|
||||
(command #f))))
|
||||
(index-face
|
||||
(face (background "#000000")
|
||||
(foreground "#dddddd")))
|
||||
(index-active-face
|
||||
(face (background "#9688d9")
|
||||
(foreground "#000000")))
|
||||
(completion-face
|
||||
(face (background "#000000")
|
||||
(foreground "#dddddd")))
|
||||
(completion-highlight-face
|
||||
(face (background "#000000")
|
||||
(foreground "#9688d9")))))
|
||||
|
||||
(service home-openssh-service-type
|
||||
(home-openssh-configuration
|
||||
(hosts (list (openssh-host
|
||||
(name "codeberg.org")
|
||||
(host-name "codeberg.org")
|
||||
(user "git")
|
||||
(identity-file "~/.ssh/codeberg"))
|
||||
(openssh-host
|
||||
(name "github.com")
|
||||
(host-name "github.com")
|
||||
(user "git")
|
||||
(identity-file "~/.ssh/github"))
|
||||
(openssh-host
|
||||
(name "*.onion")
|
||||
(identity-file "~/.ssh/codeberg")
|
||||
(proxy
|
||||
(proxy-command
|
||||
"nc -x 127.0.0.1:9050 -X5 %h %p")))))
|
||||
(authorized-keys #f)))
|
||||
|
||||
(service home-gpg-agent-service-type
|
||||
(home-gpg-agent-configuration
|
||||
(gnupghome ".local/share/gnupg")
|
||||
(pinentry-program
|
||||
(file-append pinentry "/bin/pinentry-curses"))))
|
||||
|
||||
#|Session services|#
|
||||
(service home-dbus-service-type)
|
||||
|
||||
#|Sound services|#
|
||||
(service home-pipewire-service-type)
|
||||
|
||||
#|Desktop application services|#
|
||||
(service home-zathura-service-type
|
||||
(home-zathura-configuration
|
||||
(selection-clipboard 'clipboard)
|
||||
(pages-per-row 1)
|
||||
(statusbar-home-tilde? #t)
|
||||
(recolor (recolor-configuration
|
||||
(keephue? #t)
|
||||
(reverse-video? #t)))
|
||||
(key-maps
|
||||
(list (key-map
|
||||
(binding "gk")
|
||||
(command "goto top"))
|
||||
(key-map
|
||||
(binding "gj")
|
||||
(command "goto bottom"))
|
||||
(key-map
|
||||
(binding "d")
|
||||
(command #f))))
|
||||
(index-face
|
||||
(face (background "#000000")
|
||||
(foreground "#dddddd")))
|
||||
(index-active-face
|
||||
(face (background "#9688d9")
|
||||
(foreground "#000000")))
|
||||
(completion-face
|
||||
(face (background "#000000")
|
||||
(foreground "#dddddd")))
|
||||
(completion-highlight-face
|
||||
(face (background "#000000")
|
||||
(foreground "#9688d9")))))
|
||||
|
||||
#|Mcron service|#
|
||||
(service home-mcron-service-type
|
||||
(home-mcron-configuration
|
||||
(jobs (list #~(job "30 5 * * *"
|
||||
"mpv --shuffle ~/media/music"))))))))
|
||||
#|Mcron service|#
|
||||
(service home-mcron-service-type
|
||||
(home-mcron-configuration
|
||||
(jobs (list #~(job "30 5 * * *"
|
||||
"mpv --shuffle ~/media/music")))))))))
|
||||
home-environment
|
||||
|
|
Loading…
Reference in New Issue