From 49a21778db28105f0ea01e2e65686de963e954cc Mon Sep 17 00:00:00 2001 From: Marc Coquand Date: Sun, 27 Oct 2024 10:04:52 +0200 Subject: . --- home/bashrc | 2 +- home/config.scm | 18 ++++-- home/dots/.emacs | 4 +- home/dots/.emacs.d/exwm/Xresources | 1 + home/dots/.xinitrc | 16 +++-- os/config.scm | 128 +++++++++++++++++++------------------ 6 files changed, 94 insertions(+), 75 deletions(-) create mode 100644 home/dots/.emacs.d/exwm/Xresources diff --git a/home/bashrc b/home/bashrc index c69c164..63cdf66 100644 --- a/home/bashrc +++ b/home/bashrc @@ -38,6 +38,6 @@ alias a='pwd' eval "$(zoxide init posix --hook prompt)" if [ "$(tty)" = "/dev/tty1" ]; then - exec startx + exec startx fi diff --git a/home/config.scm b/home/config.scm index dd9a6cf..bc8d5fb 100644 --- a/home/config.scm +++ b/home/config.scm @@ -35,10 +35,11 @@ #:use-module (gnu packages linux) #:use-module (gnu packages image) #:use-module (gnu packages xdisorg) - #:use-module (nongnu packages mozilla) #:use-module (gnu packages databases) - #:use-module (gnu packages compression) + #:use-module (gnu packages compression) #:use-module (gnu system shadow) + #:use-module (gnu services xorg) + #:use-module (gnu system keyboard) #:use-module (gnu home services fontutils) #:use-module (gnu home services dotfiles) #:use-module (gnu home services gnupg) @@ -51,7 +52,8 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system go) - #:use-module (gnu home services pm)) + #:use-module (gnu home services pm) + #:use-module (nongnu packages mozilla)) (define home-config @@ -73,12 +75,14 @@ unzip inxi alsa-utils - texinfo man-db man-pages mandoc + ;; gsettings + (specification->package+output "glib:bin") + go binutils @@ -106,6 +110,8 @@ xf86-video-fbdev xf86-video-nouveau + adwaita-icon-theme + gnupg age pinentry @@ -114,6 +120,7 @@ firefox xsetroot + xhost scrot imlib2 ;; Needed for scrot xset @@ -130,7 +137,8 @@ (bash-profile (list (local-file "./profile"))) (bashrc (list (local-file "./bashrc"))))) - (service home-startx-command-service-type) + (service home-startx-command-service-type + (xorg-configuration (keyboard-layout (keyboard-layout "us" "colemak" #:options '("ctrl:nocaps"))))) (service home-xmodmap-service-type (home-xmodmap-configuration (key-map '(("remove Lock" . "Caps_Lock") diff --git a/home/dots/.emacs b/home/dots/.emacs index 24a5403..462d165 100644 --- a/home/dots/.emacs +++ b/home/dots/.emacs @@ -348,8 +348,8 @@ (use-package exwm-mff :demand t :load-path "elisp" - :config - (exwm-mff-mode)) + :hook + ((server-after-make-frame . exwm-mff-mode))) (use-package avy :ensure t diff --git a/home/dots/.emacs.d/exwm/Xresources b/home/dots/.emacs.d/exwm/Xresources new file mode 100644 index 0000000..144cd0a --- /dev/null +++ b/home/dots/.emacs.d/exwm/Xresources @@ -0,0 +1 @@ +Xft.dpi: 180 \ No newline at end of file diff --git a/home/dots/.xinitrc b/home/dots/.xinitrc index 24ccffb..914bcec 100755 --- a/home/dots/.xinitrc +++ b/home/dots/.xinitrc @@ -1,12 +1,18 @@ #!/usr/bin/env sh +xhost +SI:localuser:$USER DIR=$HOME/.guix-profile -$DIR/bin/xinit -- $DIR/bin/Xorg :0 vt1 -keeptty \ - -configdir $DIR/share/X11/xorg.conf.d \ - -modulepath $DIR/lib/xorg/modules export _JAVA_AWT_WM_NONREPARENTING=1 export VISUAL=emacsclient export EDITOR="$VISUAL" +export XDG_DATA_DIRS="/run/current-system/profile/share:$HOME/.guix-profile/share:/run/current-system/profile/share" +export XDG_CONFIG_DIRS="$HOME/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg" +export XDG_CONFIG_HOME="$HOME/.config" +export XDG_CACHE_HOME="$HOME/.cache" +export XDG_DATA_HOME="$HOME/.local/share" +export GDK_DPI_SCALE="1.5" +export GDK_SCALE="1.5" +export XCURSOR_SIZE="32" #autocutsel & xsetroot -solid '#FFFFFF' & #ulimit -c 0 & @@ -16,8 +22,8 @@ gsettings set org.gnome.desktop.interface font-name 'Iosevka Aile' & gsettings set org.gnome.desktop.interface cursor-size 32 & gsettings set org.gnome.desktop.interface cursor-theme Adwaita & # xkbcomp $HOME/.config/keymap_locked_modifier.xkb $DISPLAY & -setxkbmap -layout us -variant colemak -option "caps:ctrl_modifier" & +#setxkbmap -layout us -variant colemak -option "caps:ctrl_modifier" & xsetroot -cursor_name left_ptr & xset r rate 200 60 & emacs --daemon --eval "(require 'exwm)" -f exwm-enable -exec dbus-launch emacsclient -c +exec dbus-run-session emacsclient -c diff --git a/os/config.scm b/os/config.scm index 07db39f..758b25a 100644 --- a/os/config.scm +++ b/os/config.scm @@ -10,77 +10,81 @@ ;; Indicate which modules to import to access the variables ;; used in this configuration. (use-modules (gnu) + (srfi srfi-1) (nongnu packages linux) (nongnu system linux-initrd)) (use-service-modules cups desktop networking ssh xorg nix) (use-package-modules package-management) (operating-system - (kernel linux) - (initrd microcode-initrd) - (firmware (list linux-firmware)) - (locale "en_US.utf8") - (timezone "Asia/Nicosia") - (keyboard-layout (keyboard-layout "us" "colemak" #:options '("ctrl:nocaps"))) - (host-name "guix") + (kernel linux) + (initrd microcode-initrd) + (firmware (list linux-firmware)) + (locale "en_US.utf8") + (timezone "Asia/Nicosia") + (keyboard-layout (keyboard-layout "us" "colemak" #:options '("ctrl:nocaps"))) + (host-name "guix") - ;; The list of user accounts ('root' is implicit). - (users (cons* (user-account - (name "mccd") - (comment "Marc") - (group "users") - (home-directory "/home/mccd") - (supplementary-groups '("wheel" "netdev" "audio" "video"))) - %base-user-accounts)) + ;; The list of user accounts ('root' is implicit). + (users (cons* (user-account + (name "mccd") + (comment "Marc") + (group "users") + (home-directory "/home/mccd") + (supplementary-groups '("wheel" "netdev" "audio" "video"))) + %base-user-accounts)) - ;; Packages installed system-wide. Users can also install packages - ;; under their own account: use 'guix search KEYWORD' to search - ;; for packages and 'guix install PACKAGE' to install a package. - (packages (append (list (specification->package "emacs") - (specification->package "emacs-exwm") - (specification->package "nix") - (specification->package "xf86-input-libinput") - (specification->package "xf86-video-fbdev") - (specification->package "xf86-video-nouveau") - (specification->package "guile") - (specification->package "texinfo") - (specification->package "man-db") - (specification->package "man-pages") - (specification->package "mandoc") - (specification->package - "emacs-desktop-environment")) %base-packages)) + ;; Packages installed system-wide. Users can also install packages + ;; under their own account: use 'guix search KEYWORD' to search + ;; for packages and 'guix install PACKAGE' to install a package. + (packages (append (list (specification->package "emacs") + (specification->package "emacs-exwm") + (specification->package "nix") + (specification->package "xf86-input-libinput") + (specification->package "xf86-video-fbdev") + (specification->package "xf86-video-nouveau") + (specification->package "guile") + (specification->package "texinfo") + (specification->package "man-db") + (specification->package "man-pages") + (specification->package "adwaita-icon-theme") + (specification->package "gsettings-desktop-schemas") + (specification->package "mandoc") + (specification->package + "emacs-desktop-environment")) %base-packages)) - ;; Below is the list of system services. To search for available - ;; services, run 'guix system search KEYWORD' in a terminal. - (services - (append (list (service cups-service-type) - (service nix-service-type) - (simple-service 'block-distracting-sites - hosts-service-type - (list - (host "127.0.0.1" "omni.se" - '("omni.se" "omni.se")) - (host "127.0.0.1" "svt.se" - '("svt.se" "svt.se")) - (host "127.0.0.1" "reddit.com/r/sweden" - '("reddit.com/r/sweden" "reddit.com/r/sweden")) - (host "127.0.0.1" "reddit.com/r/decodingthegurus" - '("reddit.com/r/decodingthegurus" "reddit.com/r/decodingthegurus")) - (host "127.0.0.1" "news.ycombinator.com" - '("news.ycombinator.com" "news.ycombinator.com")) - (host "127.0.0.1" "lobste.rs" - '("lobste.rs" "lobste.rs")))) - (set-xorg-configuration - (xorg-configuration (keyboard-layout keyboard-layout)))) - (modify-services %desktop-services - (guix-service-type config => (guix-configuration - (inherit config) - (substitute-urls - (append (list "https://substitutes.nonguix.org") - %default-substitute-urls)) - (authorized-keys - (append (list (local-file "./signing-key.pub")) - %default-authorized-guix-keys))))))) + ;; Below is the list of system services. To search for available + ;; services, run 'guix system search KEYWORD' in a terminal. + (services + (append (list (service cups-service-type) + (service nix-service-type) + (service startx-command-service-type + (xorg-configuration (keyboard-layout keyboard-layout))) + (simple-service 'block-distracting-sites + hosts-service-type + (list + (host "127.0.0.1" "omni.se" + '("omni.se" "omni.se")) + (host "127.0.0.1" "svt.se" + '("svt.se" "svt.se")) + (host "127.0.0.1" "reddit.com/r/sweden" + '("reddit.com/r/sweden" "reddit.com/r/sweden")) + (host "127.0.0.1" "reddit.com/r/decodingthegurus" + '("reddit.com/r/decodingthegurus" "reddit.com/r/decodingthegurus")) + (host "127.0.0.1" "news.ycombinator.com" + '("news.ycombinator.com" "news.ycombinator.com")) + (host "127.0.0.1" "lobste.rs" + '("lobste.rs" "lobste.rs"))))) + (modify-services %desktop-services + (delete gdm-service-type) + (guix-service-type config => (guix-configuration + (inherit config) + (substitute-urls + (append (list "https://substitutes.nonguix.org") + %default-substitute-urls)) + (authorized-keys + (append (list (local-file "./signing-key.pub")) + %default-authorized-guix-keys))))))) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) -- cgit v1.2.3