Skip to content

ch4og/shikanox

Repository files navigation

Shikanox - Personal GNU/Linux [WIP]

A complete personal config “distro” built on GNU Guix System, GNU Guix Home and Nix Home Manager.

This repo includes packaged nonfree and proprietary software.

This repo defines:

guix/shika
GNU Guix System and Home configurations
guix/koshi
GNU Guix Channel with packages
nix/hm
Nix Home Manager configuration
dotfiles
Dotfiles

Add channel to your system

(channel
 (name 'shikanox)
 (url "https://codeberg.org/ch4og/shikanox.git")
 (introduction
  (make-channel-introduction
   "fe3b5f72aa676c69f4d43507bdd18fb051906917"
   (openpgp-fingerprint
    "7C9E 7EBA 828C 58DF DACE  5BED 4DCC 7AB7 FC75 319B"))))

Dotfiles

Personal dotfiles are organized using a layout compatible with GNU Stow.

Each subdirectory here represents a “package” of configuration files, automatically linked into ~ via the home-dotfiles-service-type.

Usage

Guix Home

(service home-dotfiles-service-type
	 (home-dotfiles-configuration
	  (directories '("./dotfiles"))
	  (layout 'stow)
	  (packages '("fish" "mangowc" "other-package-name"))))

GNU Stow (recommended on non-Guix)

cd dotfiles
stow fish mangowc other-package-name -t ~

Reconfigure script

This repository provides helper scripts shika, koshi, hm.

Instead of running long guix and nix invocations manually, you can for example do:

shika system
koshi format
hm update

(Loaded to $PATH from ./bin with direnv)

Acknowledgments

Big thanks to people and projects that inspired me:

All files that include code by others have a license note about it in their heading, original license is kept.