208 lines
11 KiB
Scheme
208 lines
11 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 vim)
|
|
(gnu packages gcc)
|
|
(gnu packages gnupg)
|
|
(gnu services)
|
|
(guix packages)
|
|
(guix gexp)
|
|
(gnu home services shells)
|
|
(gnu home services desktop)
|
|
(gnu home services gnupg)
|
|
(gnu home services fontutils)
|
|
(gnu home services)
|
|
(ryan-services pipewire)
|
|
(ryan-services spotify)
|
|
(ryan-services file-manager)
|
|
(ryan-config utils)
|
|
(ryan-packages freedesktop)
|
|
(ryan-packages calcurse)
|
|
;(ryan-packages binaries)
|
|
(rosenthal packages binaries)
|
|
(ryan-packages mozilla))
|
|
|
|
(define my-neovim
|
|
(package
|
|
(inherit neovim)
|
|
(native-inputs
|
|
(modify-inputs (package-native-inputs neovim)
|
|
(prepend gcc-12)))))
|
|
|
|
(define %home-symlinks
|
|
`((".config/guix/home-config/fish" ".config/fish")
|
|
(".config/guix/home-config/nix-config" ".config/nix")
|
|
(".config/guix/home-config/tridactyl/native_main" ".local/share/tridactyl/native_main")
|
|
(".config/guix/home-config/nix-home-manager" ".config/home-manager")))
|
|
|
|
(home-symlinks %home-symlinks)
|
|
|
|
(home-environment
|
|
;; Below is the list of packages that will show up in your
|
|
;; Home profile, under ~/.guix-home/profile.
|
|
(packages (append (specifications->packages (list "bat"
|
|
"fd"
|
|
"fish"
|
|
"xdg-utils"
|
|
"abook"
|
|
"libnotify"
|
|
"fzf"
|
|
"waypipe"
|
|
"foot"
|
|
"pulseaudio" ;only for pactl
|
|
"qpwgraph"
|
|
"gnunet"
|
|
;"ffmpeg" ; removed for mpv prop input
|
|
"qrencode"
|
|
"tmux"
|
|
"binutils"
|
|
"gcc-toolchain"
|
|
"borg"
|
|
"restic"
|
|
"rsync"
|
|
"cloc"
|
|
"sc-im"
|
|
"pv"
|
|
"jq"
|
|
"bombadillo"
|
|
"python-msgpack"
|
|
"wdisplays"
|
|
"kanshi"
|
|
"libreoffice"
|
|
"flatpak"
|
|
"gnupg"
|
|
"spotifyd"
|
|
"lsof"
|
|
"pavucontrol"
|
|
"netcat"
|
|
"bind:utils"
|
|
"font-cns11643"
|
|
"font-google-noto-emoji"
|
|
"syncthing"
|
|
"taskwarrior"
|
|
"tasksh"
|
|
;"imv" ; Nix pkg now for MESA stuff
|
|
"perl"
|
|
"tor"
|
|
"unzip"
|
|
"htop"
|
|
"curl"
|
|
"pandoc"
|
|
"texlive-bin"
|
|
"texlive-scheme-basic"
|
|
"texlive-txfonts"
|
|
"texlive-amsfonts"
|
|
"texlive-lm"
|
|
"texlive-lm-math"
|
|
"texlive-iftex"
|
|
"texlive-unicode-math"
|
|
"texlive-fontspec"
|
|
"texlive-xcolor"
|
|
"texlive-geometry"
|
|
"texlive-hyperref"
|
|
"texlive-parskip"
|
|
"texlive-etoolbox"
|
|
"texlive-setspace"
|
|
"zathura"
|
|
"zathura-pdf-mupdf"
|
|
"go"
|
|
"fzf"
|
|
"weechat"
|
|
"gimp"
|
|
"python"
|
|
"python:tk"
|
|
"file"
|
|
"python-lsp-server"
|
|
"kdenlive"
|
|
"sqlite"
|
|
;"mpv" ; Now a nix pkg for MESA stuff
|
|
"qbittorrent"
|
|
"playerctl"
|
|
;"aerc"
|
|
"tcpdump"
|
|
"pamixer"
|
|
"git"
|
|
"git:send-email"
|
|
"password-store"
|
|
"node"
|
|
"kanshi"
|
|
;"firefox"
|
|
"signal-desktop"
|
|
"sc-im"
|
|
"git-lfs"))
|
|
(list my-neovim wl-mirror calcurse-fixed )))
|
|
|
|
;; Below is the list of Home services. To search for available
|
|
;; services, run 'guix home search KEYWORD' in a terminal.
|
|
(services
|
|
(list ;(service home-bash-service-type
|
|
; (home-bash-configuration
|
|
;(aliases '(("grep" . "grep --color=auto") ("ll" . "ls -l")
|
|
; ("ls" . "ls -p --color=auto")
|
|
; ("spt" . "spotify_player")
|
|
; ("python" . "python3")))
|
|
; (bashrc (list (local-file
|
|
; "bashrc")))
|
|
; (bash-profile (list (local-file
|
|
; "bash_profile")))))
|
|
(service home-xdg-configuration-files-service-type
|
|
`(("nvim/init.vim" ,(local-file "nvim/config/init.vim"))
|
|
("nvim/after/ftplugin/markdown/custom.vim" ,(local-file "nvim/config/after/ftplugin/markdown/custom.vim"))
|
|
("nvim/after/ftplugin/mail/custom.vim" ,(local-file "nvim/config/after/ftplugin/mail/custom.vim"))
|
|
("sway" ,(local-file "sway" #:recursive? #t))
|
|
("hypr" ,(local-file "hypr" #:recursive? #t))
|
|
("wpaperd" ,(local-file "wpaperd" #:recursive? #t))
|
|
("mpv" ,(local-file "mpv" #:recursive? #t))
|
|
("foot" ,(local-file "foot" #:recursive? #t))
|
|
("pulse/client.conf" ,(local-file "pulseaudio/client.conf"))
|
|
("waybar" ,(local-file "waybar" #:recursive? #t))
|
|
("alacritty" ,(local-file "alacritty" #:recursive? #t))
|
|
("aerc" ,(local-file "aerc" #:recursive? #t)) ))
|
|
(service home-files-service-type
|
|
`((".local/share/nvim/site/autoload/plug.vim" ,(local-file "nvim/plugin-manager/plug.vim"))
|
|
(".ssh/config" ,(local-file "ssh/config"))
|
|
(".icons" ,(local-file "icons" #:recursive? #t))
|
|
(".mozilla/native-messaging-hosts/tridactyl.json" ,(local-file "tridactyl/tridactyl.json"))
|
|
;(".gnupg/sshcontrol" ,(local-file "gnupg/sshcontrol"))
|
|
;(".gnupg/gpg-agent.conf" ,(local-file "gnupg/gpg-agent.conf"))
|
|
(".local/share/fonts" ,(local-file "fonts" #:recursive? #t))
|
|
(".gitconfig" ,(local-file "gitconfig"))
|
|
(".docker/cli-plugins" ,(local-file "docker/cli-plugins" #:recursive? #t))
|
|
(".nix-channels" ,(local-file "nix-channels"))))
|
|
(service home-pipewire-service-type)
|
|
(service home-spotifyd-service-type)
|
|
; font things for nix to play nice
|
|
(simple-service 'additional-fonts-service
|
|
home-fontconfig-service-type
|
|
(list "~/.nix-profile/share/fonts"
|
|
'(match (@ (target "pattern"))
|
|
(edit (@ (name "family") (mode "prepend"))
|
|
(string "DejaVu Sans")))
|
|
'(alias
|
|
(family "serif")
|
|
(prefer
|
|
(family "DejaVu Serif")))
|
|
'(alias
|
|
(family "sans")
|
|
(prefer
|
|
(family "DejaVu Sans")))
|
|
'(alias
|
|
(family "monospace")
|
|
(prefer
|
|
(family "DejaVu Sans Mono")))))
|
|
(service home-dbus-service-type)
|
|
;;; trying some changes
|
|
;(template-files "."
|
|
;'("spotify-player/app.toml"
|
|
;;;
|
|
(service home-gpg-agent-service-type
|
|
(home-gpg-agent-configuration
|
|
(pinentry-program
|
|
(file-append pinentry "/bin/pinentry"))
|
|
(ssh-support? #t))) )))
|