guixconfig/home-configuration.scm

82 lines
2.4 KiB
Scheme

(add-to-load-path (dirname (current-filename)))
(use-modules
(gnu home)
(gnu packages)
(gnu services)
(gnu packages shellutils)
(gnu packages terminals)
(gnu packages vim)
(gnu packages version-control)
(gnu packages rust-apps)
(gnu packages ncurses)
(atuin-bin)
(gnu home services)
(gnu home services syncthing)
(nongnu packages mozilla)
(guix gexp)
(gnu home services shells))
(home-environment
(packages (specifications->packages
'(
"htop"
"liquidprompt"
"vim-full"
"vim-ctrlp"
"vim-scheme"
"vim-rainbow"
"vim-paredit"
"vim-guix-vim"
"fzf"
"fzf-tab"
"firefox"
"git"
"ripgrep"
"git-delta"
"ncurses"
"fd"
"quassel"
"atuin-bin"
"gajim@1.9.2"
)))
(services
(list
(simple-service 'data-dir home-environment-variables-service-type
`(("XDG_DATA_DIRS" .
,(string-append
"/home/nora/.config/guix/current/share/:/var/lib/flatpak/exports/share:"
(getenv "XDG_DATA_DIRS")))))
(service home-zsh-service-type (home-zsh-configuration
(environment-variables
`(
("EDITOR" . ,(file-append vim "/bin/vim"))
))
(zshrc (list
(mixed-text-file "basic-config"
"autoload -Uz compinit promptinit; compinit; promptinit\n"
"setopt share_history\n"
"zstyle ':completion::complete:*' gain-privelages 1\n"
(file-append ncurses "/bin/tabs") " -2\n")
(mixed-text-file "aliases"
"alias rc.system=\"sudo -E guix system reconfigure /home/nora/GuixConfig/config.scm\"\n"
"alias rc.home=\"guix home reconfigure /home/nora/GuixConfig/home-configuration.scm\""
)
(mixed-text-file "fzf-integration"
"source " (local-file "./data/fzf-key-bindings.zsh"))
; atuin goes after fzf so atuin binds take precedence
(mixed-text-file "atuin" "eval \"$(" (file-append atuin-bin "/bin/atuin") " init zsh)\"")
(mixed-text-file "liquidprompt"
"[[ $- = *i* ]] && source " liquidprompt "/share/liquidprompt/liquidprompt")
(mixed-text-file "powerline-theme"
"source " liquidprompt "/share/liquidprompt/themes/powerline/powerline.theme")
))))
(service home-syncthing-service-type
(for-home (syncthing-configuration (user "nora"))))
(simple-service 'dotfiles home-files-service-type
(list
`(".gitconfig" ,(local-file "./data/gitconfig"))
`(".vimrc" ,(local-file "./data/vimrc"))
)))))