Skip to content

get-state/guix-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guix Home Configuration

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.

Packages

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

Home Services

Shell Configuration

  • Fish: Fish shell configuration is included, with the main config file sourced from the config/fish/config.fish.

Desktop and Media

  • 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.

Environment Variables

  • EDITOR: Set to nvim to use Neovim as the default editor.

GPG and SSH

  • GPG Agent: Configured with pinentry-tty for GPG key management. SSH support is disabled.
  • SSH Agent: Includes additional options for session duration (-t 1h30m).

Miscellaneous

  • 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 local config/ directory.

Installation

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.

Replication

For full reproducibility of this setup, ensure you also replicate the exact Guix channels and commit using:

guix describe

Contribution

Feel free to open issues or submit pull requests for improvements or new features.

About

My personal config

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published