guix/home-configuration.scm

127 lines
3.9 KiB
Scheme

;; This "home-environment" file can be passed to 'guix home reconfigure'
;; to reproduce the content of your profile. This is "symbolic": it only
;; specifies package names. To reproduce the exact same profile, you also
;; need to capture the channels being used, as returned by "guix describe".
;; See the "Replicating Guix" section in the manual.
(use-modules (gnu home)
(gnu packages)
(gnu packages emacs)
(gnu packages vim)
(gnu packages version-control)
(gnu packages terminals)
(gnu packages web)
(gnu packages video)
(gnu packages fonts)
(gnu packages curl)
(benoitj packages fonts)
(nebula packages fonts)
(zzkt packages fonts)
; (gnu packages font-nerd-fonts)
; (nonguix packages)
(nongnu packages mozilla)
(gnu services)
(guix gexp)
(guix store)
(guix download)
(guix base64)
(gnu home services)
(gnu home services shells)
(system foreign)
(atlas home services dconf)
)
;; taken from https://git.sr.ht/~michal_atlas/dotfiles/tree/16ccb8dd549494fd4165f706c899b591903d1a6d/item/home.scm
(define (file-fetch url hash)
(with-store store
(run-with-store store
(url-fetch url 'sha256
; hash
(base64-decode hash)
))))
(home-environment
;; Below is the list of packages that will show up in your
;; Home profile, under ~/.guix-home/profile.
(packages (list
emacs
git
firefox
kitty
;font-nerd-fonts-firacode
meslo-nerd-font
font-monaspace
font-google-noto-sans-cjk
font-google-noto-emoji
curl
mpv
neovim))
;; Below is the list of Home services. To search for available
;; services, run 'guix home search KEYWORD' in a terminal.
(services
(list
(simple-service 'face-image
home-files-service-type
`(
(".face" ,(file-fetch
"https://marq42.xyz/mir-avatar-picrew-3.png"
;; get below with `guix download URL --format=base64` - this took ages to work out
"Psx4J7+7mMKqpsT/rl/Iv/XQnZlTJ1WSMpswuNDjv38="
))))
(service home-dconf-load-service-type
#~`((org/gnome/shell
(disable-user-extensions #f)
(favorite-apps #(
"kitty.desktop"
"firefox.desktop"
"emacs.desktop"
"org.gnome.Settings.desktop"
"org.gnome.Nautilus.desktop"
"btop.desktop"))
)
(org/gnome/desktop/interface
(color-scheme "prefer-dark"))
(org/gnome/mutter
(edge-tiling #t))
(org/gnome/desktop/input-sources
(xkb-options #("caps:escape")))
(org/gnome/desktop/wm/preferences
(focus-mode "sloppy"))
(org/gnome/settings-daemon/plugins/power
(idle-dim #f)
(sleep-inactive-ac-type "nothing"))
(org/gnome/gnome-system-monitor
(current-tab "resources"))
(org/gnome/desktop/interface
(show-battery-percentage #t))
;; (org/gnome/desktop/session
;; (idle-delay "uint32 0")
;; ;(idle-delay ,(int32->uint32 0))
;; )
(org/gnome/desktop/background
(picture-uri-dark
#$(file-fetch "https://www.teahub.io/photos/full/154-1542362_mac-os-mojave-screenshot.jpg"
;; got by running `guix hash 154-1542362_mac-os-mojave-screenshot.jpg --hash=sha256 --format=base64`
"avrKrso2RJBM0X9BD8likF/7wV0SWMNgoLqtqAixLG8="
)))
(org/gnome/desktop/peripherals/touchpad
(tap-to-click #t)))) ; end gnome stuff
;; shell
(service home-bash-service-type
(home-bash-configuration
(bash-profile (list (plain-file
"bash-profile"
"
export HISTFILE=$XDG_CACHE_HOME/.bash_history
GUIX_PROFILE=/home/mir/.guix-profile
. $GUIX_PROFILE/etc/profile
"
)))
(aliases '(("grep" . "grep --color=auto")
("ll" . "eza -l")
("ls" . "eza")
("vi" . "nvim"))
))))))