commit a9fdc8b9f25f8a29fcc7dc97881b3729b01a520d
parent 448cb4b2981f5c506be74100172aae4663c55a40
Author: vin <git@vineetk.net>
Date: Wed, 23 Jul 2025 16:09:16 -0400
modify guix's st and dwm
just doing inherit didn't really work when changing the source
Diffstat:
2 files changed, 96 insertions(+), 8 deletions(-)
diff --git a/epistemia/home/config.scm b/epistemia/home/config.scm
@@ -11,8 +11,10 @@
#:use-module (gnu packages web-browsers)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
+ #:use-module (epistemia packages suckless)
#:use-module (gnu services)
#:use-module (gnu home services)
+ #:use-module (gnu home services desktop)
#:use-module (gnu home services dotfiles)
#:use-module (gnu home services shells)
#:use-module (gnu home services xdg)
@@ -27,6 +29,7 @@ set -o emacs
HISTFILE=$HOME/.zsh_history
HISTSIZE=1000000
+WORDCHARS=${WORDCHARS//\\//}
alias e=\"$EDITOR\"
alias p='less -Ri'
@@ -57,10 +60,8 @@ alias ghu='guix home -L /data/src/public/guixsd-config reconfigure /data/src/pub
emacs-no-x-toolkit
- sx
- xorg-server
- xf86-input-evdev
- xf86-video-amdgpu
+ vin-dwm
+ vin-st
xwallpaper
picom
@@ -93,6 +94,7 @@ alias ghu='guix home -L /data/src/public/guixsd-config reconfigure /data/src/pub
(zshrc (list
(plain-file "zshrc_ignore_etc-profile.d" "setopt nullglob")
%zshrc-aliases))))
+ (service home-startx-command-service-type)
(service home-dotfiles-service-type
(home-dotfiles-configuration
(layout 'stow)
diff --git a/epistemia/packages/suckless.scm b/epistemia/packages/suckless.scm
@@ -1,9 +1,95 @@
(define-module (epistemia packages suckless)
- #:use-module (gnu packages suckless)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages xorg)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
#:export (vin-dwm))
(define-public vin-dwm
(package
- (inherit dwm)
- (name "dwm")
- (source (local-file "dwm" #:recursive? #t))))
+ (name "vin-dwm")
+ (version "6.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "/data/src/private/suckless/dwm")
+ (commit "904dc786815d3530f76e62ba3af4736e83370870")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1q07dnw33zr14nnih4ldx1aqmg5dxvp8fvj3qa0fi3qy312pfhfg"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:make-flags (list (string-append "FREETYPEINC="
+ (assoc-ref %build-inputs "freetype")
+ "/include/freetype2"))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (substitute* "Makefile" (("\\$\\{CC\\}") "gcc"))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "make" "install"
+ (string-append "DESTDIR=" out) "PREFIX=")))))))
+ (inputs
+ (list freetype libx11 libxft libxinerama))
+ (home-page "https://dwm.suckless.org/")
+ (synopsis "Dynamic window manager")
+ (description
+ "dwm is a dynamic window manager for X. It manages windows in tiled,
+monocle and floating layouts. All of the layouts can be applied dynamically,
+optimising the environment for the application in use and the task performed.")
+ (license license:x11)))
+
+(define-public vin-st
+ (package
+ (name "vin-st")
+ (version "0.9.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "/data/src/private/suckless/st")
+ (commit "0b6ef824637c77e00b26369bfe77c3e3311f7eed")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ylqaarkkrqx26aiqcz4nhp68k6dmrqbhn7knx10d9j7v1vpjcnh"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags
+ (list (string-append "CC=" ,(cc-for-target))
+ (string-append "TERMINFO="
+ (assoc-ref %outputs "out")
+ "/share/terminfo")
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxft" ,libxft)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)))
+ (native-inputs
+ (list ncurses ;provides tic program
+ pkg-config))
+ (home-page "https://st.suckless.org/")
+ (synopsis "Simple terminal emulator")
+ (description
+ "St implements a simple and lightweight terminal emulator. It
+implements 256 colors, most VT10X escape sequences, utf8, X11 copy/paste,
+antialiased fonts (using fontconfig), fallback fonts, resizing, and line
+drawing.")
+ (license (list license:x11
+ license:expat))))