This repository contains my Guix System/Home configuration files, enabling a reproducible and customizable i3
environment. Below is an overview of the packages, services, and configurations used in this setup.
The following packages are included in the home profile for a versatile environment:
- Tools & Utilities:
feh
,lf
,git
,curl
,ncdu
,file
,xclip
,zathura
,zathura-pdf-mupdf
,ranger
,openssh
,mpv
,ncmpcpp
,rg
,fzf
- Development Tools:
neovim
,gnupg
,direnv
,rbw
,aerc
- Fonts:
font-iosevka-term
,font-atkinson-hyperlegible
,font-google-noto
,font-google-noto-sans-cjk
- Browsers:
ungoogled-chromium
,firefox
- Media:
mpd
,gimp
,easyeffects
,pulsemixer
- Other:
bibata-cursor-theme
,picom
,xcalib
- Fish: Fish shell configuration is included, with the main config file sourced from the
config/fish/config.fish
.
- PipeWire: Configured for audio services with PulseAudio compatibility.
- Picom: Configuration is included for the compositor.
- MPD: Managed through the Shepherd init system, ensuring the Music Player Daemon starts and stops properly.
- XDG Directories: Sets up common directories like
$HOME/Documents
,$HOME/Music
, and$HOME/Downloads
.
- EDITOR: Set to
nvim
to use Neovim as the default editor.
- GPG Agent: Configured with
pinentry-tty
for GPG key management. SSH support is disabled. - SSH Agent: Includes additional options for session duration (
-t 1h30m
).
- DBus: Included as a dependency for several desktop services.
- User Files: Configuration files like
.xinitrc
, i3 window manager, Alacritty, MPD, NCMPCPP, Polybar, and fontconfig are loaded from the localconfig/
directory.
To apply this configuration on your system, use the following commands and replace x with the system:
sh ./install.sh
guix -L pathToRepo system reconfigure pathToRepo/systems/x.scm
guix home reconfigure home-environment.scm
Make sure to capture your current Guix channels using guix describe
to ensure the configuration is fully reproducible or use the provided channels-lock.scm
file.
For full reproducibility of this setup, ensure you also replicate the exact Guix channels and commit using:
guix describe
Feel free to open issues or submit pull requests for improvements or new features.