diff options
author | Thanos Apollo <[email protected]> | 2023-03-26 14:31:35 +0300 |
---|---|---|
committer | Thanos Apollo <[email protected]> | 2023-03-26 14:31:35 +0300 |
commit | 700a7e67cd58e0321facaa61f3f88f007b13145a (patch) | |
tree | b7849ab5ffc128d241ec0edececc152febf583fe | |
parent | fbcd6ca6a6508750c55b950f5a151e709bf60fa7 (diff) |
remove stumpwm and guix
-rw-r--r-- | .config/guix/base.scm | 141 | ||||
-rwxr-xr-x | .config/guix/channels.scm | 21 | ||||
-rwxr-xr-x | .config/guix/common.scm | 66 | ||||
-rwxr-xr-x | .config/guix/fsociety.scm | 44 | ||||
l--------- | .config/guix/guix-packages/.#personal.scm | 1 | ||||
l--------- | .config/guix/guix-packages/.#testing.scm | 1 | ||||
-rwxr-xr-x | .config/guix/guix-packages/testing.scm | 237 | ||||
-rwxr-xr-x | .config/guix/personal-channel.scm | 146 | ||||
-rwxr-xr-x | .config/guix/zeus.scm | 177 | ||||
-rw-r--r-- | .config/stumpwm/colors.lisp | 30 | ||||
-rw-r--r-- | .config/stumpwm/commands.lisp | 29 | ||||
-rw-r--r-- | .config/stumpwm/config | 144 | ||||
-rw-r--r-- | .config/stumpwm/keybindings.lisp | 70 | ||||
-rw-r--r-- | .config/stumpwm/modeline.lisp | 59 | ||||
-rw-r--r-- | .config/stumpwm/placement.lisp | 14 | ||||
-rw-r--r-- | .config/stumpwm/theme.lisp | 30 | ||||
-rwxr-xr-x | guix-packages/starship.scm | 56 |
17 files changed, 0 insertions, 1266 deletions
diff --git a/.config/guix/base.scm b/.config/guix/base.scm deleted file mode 100644 index 194f74a..0000000 --- a/.config/guix/base.scm +++ /dev/null @@ -1,141 +0,0 @@ -;; This is an operating system configuration generated -;; by the graphical installer. -;; -;; Once installation is complete, you can learn and modify -;; this file to tweak the system configuration, and pass it -;; to the 'guix system reconfigure' command to effect your -;; changes. - - -;; Indicate which modules to import to access the variables -;; used in this configuration. - -(define-module (base) - #:use-module (gnu) - #:use-module (nongnu packages linux) - #:export (base-operating-system)) - -(use-service-modules cups desktop networking ssh xorg) - -;;(define-public base-operating-system -(operating-system - (host-name "zeus") - - (kernel linux) - (firmware (list linux-firmware - amdgpu-firmware - radeon-firmware)) - - (locale "en_US.utf8") - (timezone "Europe/Athens") - (keyboard-layout (keyboard-layout "us" - #:options - '("ctrl:nocaps"))) - - ;; Guix doesn't like it when there isn't a file-systems - ;; entry, so add one that is meant to be overridden - - ;; (file-systems (cons* - ;; (file-system - ;; (mount-point "/tmp") - ;; (device "none") - ;; (type "tmpfs") - ;; (check? #f)) - ;; %base-file-systems)) - - ;; The list of user accounts ('root' is implicit). - (users (cons* (user-account - (name "apollo") - (comment "Apollo") - (group "users") - (home-directory "/home/apollo") - ;;(shell (file-append "/bin/zsh")) ; - (supplementary-groups '("wheel" - "netdev" - "audio" - "video"))) - (user-account - (name "elliot") - (comment "Elliot") - (group "users") - (home-directory "/home/elliot") - (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 (map specification->package - `("emacs-exwm" - "emacs-desktop-environment" - "emacs" - "bash" - "xrandr" - "picom" - "gnome" - "gnome-desktop" - "nss-certs" - "python" - "alacritty" - "emacs-vterm" - "emacs-multi-vterm" - "alsa-utils" - "bluez-alsa" - "gnome-bluetooth" - "blueman" - "qtile" - "git" - "font-jetbrains-mono")) - %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 gnome-desktop-service-type) - (service openssh-service-type) - (bluetooth-service #:auto-enable? - #t) - (service cups-service-type) - (set-xorg-configuration - (xorg-configuration (keyboard-layout keyboard-layout)))) - ;; This is the default list of services we - ;; are appending to. - %desktop-services)) - - (bootloader (bootloader-configuration - (bootloader grub-efi-bootloader) - (targets (list "/boot/efi")) - (keyboard-layout keyboard-layout))) - (mapped-devices (list (mapped-device - (source (uuid - "0594b592-ddcb-4a3c-958d-c773d7a85d93")) - (target "cryptroot") - (type luks-device-mapping)) - (mapped-device - (source (uuid - "a44f40ec-94c3-457a-a9ed-5db5396f3aea")) - (target "crypthome") - (type luks-device-mapping)))) - - ;; The list of file systems that get "mounted". The unique - ;; file system identifiers there ("UUIDs") can be obtained - ;; by running 'blkid' in a terminal. - (file-systems (cons* (file-system - (mount-point "/boot/efi") - (device (uuid "98B8-B93E" - 'fat32)) - (type "vfat")) - (file-system - (mount-point "/") - (device "/dev/mapper/cryptroot") - (type "ext4") - (dependencies mapped-devices)) - (file-system - (mount-point "/home") - (device "/dev/mapper/crypthome") - (type "ext4") - (dependencies mapped-devices)) %base-file-systems))) - diff --git a/.config/guix/channels.scm b/.config/guix/channels.scm deleted file mode 100755 index 3365914..0000000 --- a/.config/guix/channels.scm +++ /dev/null @@ -1,21 +0,0 @@ -(cons* - (channel - (name 'guix) - (url "https://git.savannah.gnu.org/git/guix.git") - (branch "master") - (introduction - (make-channel-introduction - "9edb3f66fd807b096b48283debdcddccfea34bad" - (openpgp-fingerprint - "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))) - (channel - (name 'nonguix) - (url "https://gitlab.com/nonguix/nonguix") - ;; Enable signature verification: - (introduction - (make-channel-introduction - "897c1a470da759236cc11798f4e0a5f7d4d59fbc" - (openpgp-fingerprint - "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) - %default-channels) - diff --git a/.config/guix/common.scm b/.config/guix/common.scm deleted file mode 100755 index 64666d7..0000000 --- a/.config/guix/common.scm +++ /dev/null @@ -1,66 +0,0 @@ -(define-module (common) - #:use-module (gnu) - #:use-module (gnu services) - #:use-module (gnu home) - #:use-module (gnu home services) - #:use-module (gnu home services shells) - #:use-module (gnu home services mcron) - #:use-module (guix gexp)) - -(define-public common-home-services - (list - ;; Set up the shell environment - (service home-bash-service-type - (home-bash-configuration - (bash-profile - `(,(plain-file "bash-profile-extras" - (string-append - ;; Load the Nix profile - "if [ -f /run/current-system/profile/etc/profile.d/nix.sh ]; then\n" - " . /run/current-system/profile/etc/profile.d/nix.sh\n" - "fi\n" - - ;; Don't use the system-level PulseAudio configuration - "unset PULSE_CONFIG\n" - "unset PULSE_CLIENTCONFIG\n")))) - - (environment-variables - '( ;; Sort hidden (dot) files first in `ls` listings - ("LC_COLLATE" . "C") - - ;; Emacs is our editor - ("VISUAL" . "emacsclient") - ("EDITOR" . "emacsclient") - - ;; Add some things to $PATH (maybe integrate into other services?) - ("PATH" . "$HOME/.dotfiles/.bin:$HOME/.npm-global/bin:$PATH") - - ;; Make sure Flatpak apps are visible - ("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share") - - ;; Make sure JAVA_HOME is set - ;; TODO: Move this to a different service - ("JAVA_HOME" . "$(dirname $(dirname $(readlink $(which java))))") - - ;; Fix issues with Qutebrowser - ;; TODO: Move this to Qutebrowser service - ("QTWEBENGINE_CHROMIUM_FLAGS" . "--disable-seccomp-filter-sandbox") - - ;; Set the SSH authentication socket - ;; TODO: Move to a gpg service - ("SSH_AUTH_SOCK" . "$(gpgconf --list-dirs agent-ssh-socket)"))))) - - ;; Set up desktop environment - - - ;; Start background jobs - (service home-mcron-service-type - (home-mcron-configuration - (jobs - (list - #~(job - '(next-hour (range 0 24 4)) - "~/.dotfiles/.bin/sync-passwords"))))))) - - ;; Udiskie for auto-mounting devices - diff --git a/.config/guix/fsociety.scm b/.config/guix/fsociety.scm deleted file mode 100755 index 173d5fd..0000000 --- a/.config/guix/fsociety.scm +++ /dev/null @@ -1,44 +0,0 @@ -(define-module (helena) - #:use-module (gnu) - #:use-module (gnu home) - #:use-module (common) - #:use-module (base)) - -(define home - (home-environment - (services (append - (list - common-home-services))))) - -(define system - (operating-system - (inherit base-operating-system) - - (host-name "helena") - - (bootloader (bootloader-configuration - (bootloader grub-bootloader) - (targets (list "/dev/nvme0n1")) - (keyboard-layout keyboard-layout))) - (swap-devices (list (swap-space - (target (uuid - "a8d782da-f1ea-477e-9b47-cf5aa431e893"))))) - - ;; The list of file systems that get "mounted". The unique - ;; file system identifiers there ("UUIDs") can be obtained - ;; by running 'blkid' in a terminal. - (file-systems (cons* (file-system - (mount-point "/boot/efi") - (device (uuid "021E-83B3" - 'fat32)) - (type "vfat")) - (file-system - (mount-point "/") - (device (uuid - "2bb282ae-7b2d-45c3-92b1-b1524177defb" - 'ext4)) - (type "ext4")) %base-file-systems)))) -(if (getenv "RUNNING_GUIX_HOME") home system) - - - diff --git a/.config/guix/guix-packages/.#personal.scm b/.config/guix/guix-packages/.#personal.scm deleted file mode 120000 index 6e68dcc..0000000 --- a/.config/guix/guix-packages/.#personal.scm +++ /dev/null @@ -1 +0,0 @@ [email protected]:1673743482
\ No newline at end of file diff --git a/.config/guix/guix-packages/.#testing.scm b/.config/guix/guix-packages/.#testing.scm deleted file mode 120000 index 6e68dcc..0000000 --- a/.config/guix/guix-packages/.#testing.scm +++ /dev/null @@ -1 +0,0 @@ [email protected]:1673743482
\ No newline at end of file diff --git a/.config/guix/guix-packages/testing.scm b/.config/guix/guix-packages/testing.scm deleted file mode 100755 index 5fa374c..0000000 --- a/.config/guix/guix-packages/testing.scm +++ /dev/null @@ -1,237 +0,0 @@ -(define-module (my-hello) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix build-system gnu) - #:use-module (guix download) - #:use-module (nongnu packages mozilla) - #:use-module (ice-9 regex) - #:use-module (gnu packages) - #:use-module (gnu packages audio) - #:use-module (gnu packages base) - #:use-module (gnu packages bash) - #:use-module (gnu packages compression) - #:use-module (gnu packages curl) - #:use-module (gnu packages databases) - #:use-module (gnu packages django) - #:use-module (gnu packages flex) - #:use-module (gnu packages fonts) - #:use-module (gnu packages fontutils) - #:use-module (gnu packages freedesktop) - #:use-module (gnu packages game-development) - #:use-module (gnu packages gettext) - #:use-module (gnu packages glib) - #:use-module (gnu packages gnome) - #:use-module (gnu packages golang) - #:use-module (gnu packages gtk) - #:use-module (gnu packages gstreamer) - #:use-module (gnu packages image) - #:use-module (gnu packages javascript) - #:use-module (gnu packages kde) - #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules - #:use-module (gnu packages linux) - #:use-module (gnu packages mp3) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages pdf) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python) - #:use-module (gnu packages python-web) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages qt) - #:use-module (gnu packages readline) - #:use-module (gnu packages sdl) - #:use-module (gnu packages sqlite) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages tls) - #:use-module (gnu packages video) - #:use-module (gnu packages xiph) - #:use-module (gnu packages xorg) - #:use-module (gnu packages xml) - #:use-module (guix gexp) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix svn-download) - #:use-module (guix utils) - #:use-module (guix build-system cmake) - #:use-module (guix build-system gnu) - #:use-module (guix build-system go) - #:use-module (guix build-system python) - #:use-module (guix build-system qt) - #:use-module (guix build-system trivial) - #:use-module (srfi srfi-1)) - -;; (define-public my-hello -;; (package -;; (inherit firefox-esr) -;; (name "my-hello") -;; (version "2.10") -;; (source (origin -;; (method url-fetch) -;; (uri (string-append "mirror://gnu/hello/hello-" version -;; ".tar.gz")) -;; (sha256 -;; (base32 -;; "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i")))) -;; (build-system gnu-build-system) -;; (synopsis "Hello, Guix world: An example custom Guix package") -;; (description -;; "GNU Hello prints the message \"Hello, world!\" and then exits. It -;; serves as an example of standard GNU coding practices. As such, it supports -;; command-line arguments, multiple languages, and so on.") -;; (home-page "https://www.gnu.org/software/hello/") -;; (license gpl3+))) -(define-public librewolf - (package - (inherit firefox) - (name "librewolf") - (version "108.0.2-1") - (source - (origin - (method url-fetch) - (uri "https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/108.0.2-1/librewolf-108.0.2-1.source.tar.gz") - (sha256 - (base32 "0faa4fr2w24zvaa4fd4bj1ikqddnl3kkygf9hha2mxzypdcl233p")))) - (arguments - (substitute-keyword-arguments (package-arguments firefox-esr) - ((#:phases phases) - #~(modify-phases #$phases - (replace 'set-build-id - (lambda _ - (setenv "MOZ_BUILD_DATE"))))))) - (native-inputs - (modify-inputs (package-native-inputs firefox-esr) - (replace "rust" rust-firefox) - (replace "rust:cargo" `(,rust-firefox "cargo")) - ; (replace "node" node-lts) - (replace "rust-cbindgen" rust-cbindgen-0.24))) - (description - "Full-featured browser client built from Firefox source tree, without -the official icon and the name \"firefox\"."))) - -(define-public anki - (package - (name "anki") - ;; Later versions have dependencies on npm packages not yet in Guix. - (version "2.1.36") - (source - (origin - (method url-fetch) - (uri "https://github.com/ankitects/anki/archive/refs/tags/2.1.36.tar.gz") - (sha256 - (base32 "1krrnsp01nms6f2dyfm078imvx2b9synina63l41vbipcznnc1xs")) - (patches (search-patches "anki-mpv-args.patch")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags (list (string-append "PREFIX=" %output)) - #:tests? #f ;no check target - #:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 match)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-update-check - ;; Don't ‘phone home’ unasked to check for updates. - (lambda _ - (substitute* "aqt/update.py" - (("requests\\.post") - "throw.an.exception.instead")) - #t)) - (delete 'configure) ;no configure script - (add-after 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin")) - ;; List of paths to the site-packages directories of Python - ;; library inputs. - (site-packages - (map (lambda (pyinput) - (string-append - (cdr pyinput) - "/lib/python" - ;; Calculate the python version to avoid breaking - ;; with future 3.X releases. - ,(version-major+minor - (package-version python-wrapper)) - "/site-packages")) - (filter (match-lambda - ((label . _) - (string-prefix? "python-" label))) - inputs))) - (qtwebengineprocess - (search-input-file inputs - "lib/qt5/libexec/QtWebEngineProcess"))) - ;; The program fails to find the QtWebEngineProcess program, so - ;; we set QTWEBENGINEPROCESS_PATH to help it. PYTHONPATH is - ;; wrapped to avoid declaring Python libraries as propagated - ;; inputs. - (for-each (lambda (program) - (wrap-program program - `("QTWEBENGINEPROCESS_PATH" = - (,qtwebengineprocess)) - `("PATH" prefix (,(string-append - (assoc-ref inputs "mpv") - "/bin"))) - `("GUIX_PYTHONPATH" = ,site-packages))) - (find-files bin "."))) - #t))))) - (native-inputs - (list xdg-utils)) - (inputs - `(("lame" ,lame) - ("mpv" ,mpv) - ("python" ,python-wrapper) - ("python-beautifulsoup4" ,python-beautifulsoup4) - ("python-decorator" ,python-decorator) - ("python-distro" ,python-distro) - ("python-jsonschema" ,python-jsonschema) - ("python-markdown" ,python-markdown) - ("python-pyaudio" ,python-pyaudio) - ;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH. - ("python-pyqtwebengine" ,python-pyqtwebengine) - ("python-pyqt" ,python-pyqt-without-qtwebkit) - ("python-requests" ,python-requests) - ("python-send2trash" ,python-send2trash) - ("python-sip" ,python-sip) - ;; `qtwebengine-5' is included in `pyqtwebengine', included here for easy - ;; wrapping. - ("qtwebengine-5" ,qtwebengine-5))) - (home-page "https://apps.ankiweb.net/") - (synopsis "Powerful, intelligent flash cards") - (description "Anki is a program which makes remembering things -easy. Because it's a lot more efficient than traditional study -methods, you can either greatly decrease your time spent studying, or -greatly increase the amount you learn. - -Anyone who needs to remember things in their daily life can benefit -from Anki. Since it is content-agnostic and supports images, audio, -videos and scientific markup (via LaTeX), the possibilities are -endless. For example: -@itemize -@item Learning a language -@item Studying for medical and law exams -@item Memorizing people's names and faces -@item Brushing up on geography -@item Mastering long poems -@item Even practicing guitar chords! -@end itemize") - (license gpl3+))) - - -(define-public starship - (package - (inherit firefox) - (name "starship") - (version "1.12.0") - (source - (origin - (method url-fetch) - (uri "https://github.com/starship/starship/archive/refs/tags/v1.12.0.tar.gz") - (sha256 - (base32 "0faa4fr2w24zvaa4fd4bj1ikqddnl3kkygf9hha2mxzypdcl233p")))) - (description - "Full-featured browser client built from Firefox source tree, without -the official icon and the name \"firefox\"."))) - - -starship diff --git a/.config/guix/personal-channel.scm b/.config/guix/personal-channel.scm deleted file mode 100755 index e94bda9..0000000 --- a/.config/guix/personal-channel.scm +++ /dev/null @@ -1,146 +0,0 @@ -(define-module (personal-channel) - #:use-modules (guix) - #:use-modules (guix-packages)) - -(define-public anki - (package - (name "anki") - ;; Later versions have dependencies on npm packages not yet in Guix. - (version "2.1.16") - (source - (origin - (method url-fetch) - (uri (string-append "https://apps.ankiweb.net/downloads/archive/anki-" - version "-source.tgz")) - (sha256 - (base32 "1gfr51rnllkyzli73p4r51h5ypzfa3m7lic3m3rzpywmqwrxs07k")) - (patches (search-patches "anki-mpv-args.patch")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags (list (string-append "PREFIX=" %output)) - #:tests? #f ;no check target - #:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 match)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-update-check - ;; Don't ‘phone home’ unasked to check for updates. - (lambda _ - (substitute* "aqt/update.py" - (("requests\\.post") - "throw.an.exception.instead")) - #t)) - (delete 'configure) ;no configure script - (add-after 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin")) - ;; List of paths to the site-packages directories of Python - ;; library inputs. - (site-packages - (map (lambda (pyinput) - (string-append - (cdr pyinput) - "/lib/python" - ;; Calculate the python version to avoid breaking - ;; with future 3.X releases. - ,(version-major+minor - (package-version python-wrapper)) - "/site-packages")) - (filter (match-lambda - ((label . _) - (string-prefix? "python-" label))) - inputs))) - (qtwebengineprocess - (search-input-file inputs - "lib/qt5/libexec/QtWebEngineProcess"))) - ;; The program fails to find the QtWebEngineProcess program, so - ;; we set QTWEBENGINEPROCESS_PATH to help it. PYTHONPATH is - ;; wrapped to avoid declaring Python libraries as propagated - ;; inputs. - (for-each (lambda (program) - (wrap-program program - `("QTWEBENGINEPROCESS_PATH" = - (,qtwebengineprocess)) - `("PATH" prefix (,(string-append - (assoc-ref inputs "mpv") - "/bin"))) - `("GUIX_PYTHONPATH" = ,site-packages))) - (find-files bin "."))) - #t))))) - (native-inputs - (list xdg-utils)) - (inputs - `(("lame" ,lame) - ("mpv" ,mpv) - ("python" ,python-wrapper) - ("python-beautifulsoup4" ,python-beautifulsoup4) - ("python-decorator" ,python-decorator) - ("python-distro" ,python-distro) - ("python-jsonschema" ,python-jsonschema) - ("python-markdown" ,python-markdown) - ("python-pyaudio" ,python-pyaudio) - ;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH. - ("python-pyqtwebengine" ,python-pyqtwebengine) - ("python-pyqt" ,python-pyqt-without-qtwebkit) - ("python-requests" ,python-requests) - ("python-send2trash" ,python-send2trash) - ("python-sip" ,python-sip) - ;; `qtwebengine-5' is included in `pyqtwebengine', included here for easy - ;; wrapping. - ("qtwebengine-5" ,qtwebengine-5))) - (home-page "https://apps.ankiweb.net/") - (synopsis "Powerful, intelligent flash cards") - (description "Anki is a program which makes remembering things -easy. Because it's a lot more efficient than traditional study -methods, you can either greatly decrease your time spent studying, or -greatly increase the amount you learn. - -Anyone who needs to remember things in their daily life can benefit -from Anki. Since it is content-agnostic and supports images, audio, -videos and scientific markup (via LaTeX), the possibilities are -endless. For example: -@itemize -@item Learning a language -@item Studying for medical and law exams -@item Memorizing people's names and faces -@item Brushing up on geography -@item Mastering long poems -@item Even practicing guitar chords! -@end itemize") - (license license:agpl3+))) - -(define-public roswell - (package - (name "roswell") - (version "19.08.10.101") - (home-page "https://github.com/roswell/roswell/") - (source - (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit (string-append "v" version)))) - (sha256 - (base32 - "0i72vzzzjwi9lnzzl8y10pp3kq298vhzz3spvsmi8n1yalqwslbf")))) - (build-system gnu-build-system) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("intltool" ,intltool))) - (inputs - `(("curl" ,curl))) - (synopsis "Common Lisp implementation manager, launcher, and more") - (description - "Roswell started out as a command-line tool with the aim to make -installing and managing Common Lisp implementations really simple and easy. -Roswell has now evolved into a full-stack environment for Common Lisp -development, and has many features that makes it easy to test, share, and -distribute your Lisp applications. - -Roswell is still in beta. Despite this, the basic interfaces are stable and -not likely to change.") - (license license:expat))) - -roswell diff --git a/.config/guix/zeus.scm b/.config/guix/zeus.scm deleted file mode 100755 index a6b6ae5..0000000 --- a/.config/guix/zeus.scm +++ /dev/null @@ -1,177 +0,0 @@ -;; This is an operating system configuration generated -;; by the graphical installer. -;; -;; Once installation is complete, you can learn and modify -;; this file to tweak the system configuration, and pass it -;; to the 'guix system reconfigure' command to effect your -;; changes. - - -;; Indicate which modules to import to access the variables -;; used in this configuration. - -(define-module (zeus) - #:use-module (gnu) - #:use-module (srfi srfi-1) - #:use-module (gnu system nss) - #:use-module (gnu services pm) - #:use-module (gnu services ssh) - #:use-module (gnu services cups) - #:use-module (gnu services guix) - #:use-module (gnu services desktop) - #:use-module (gnu services docker) - #:use-module (gnu services networking) - #:use-module (gnu services virtualization) - #:use-module (gnu packages wm) - #:use-module (gnu packages cups) - #:use-module (gnu packages vim) - #:use-module (gnu packages gtk) - #:use-module (gnu packages xorg) - #:use-module (gnu packages emacs) - #:use-module (gnu packages file-systems) - #:use-module (gnu packages gnome) - #:use-module (gnu packages mtools) - #:use-module (gnu packages linux) - #:use-module (gnu packages audio) - #:use-module (gnu packages gnuzilla) - #:use-module (gnu packages web-browsers) - #:use-module (gnu packages version-control) - #:use-module (gnu packages package-management) - #:use-module (gnu packages linux) - #:use-module (gnu packages admin) - #:use-module (nongnu packages linux) - #:use-module (nongnu system linux-initrd)) - - -(use-service-modules cups desktop networking ssh xorg) - -(operating-system - (host-name "zeus") - - (kernel linux) - (firmware (list linux-firmware)) - (initrd microcode-initrd) - - (kernel-loadable-modules (list v4l2loopback-linux-module)) - - (locale "en_US.utf8") - (timezone "Europe/Athens") - (keyboard-layout (keyboard-layout "us" - #:options - '("ctrl:nocaps"))) - - ;; The list of user accounts ('root' is implicit). - (users (cons (user-account - (name "apollo") - (comment "Thanos Apollo") - (group "users") - (home-directory "/home/apollo") - (supplementary-groups '("wheel" ;; sudo - "netdev" ;; network devices - "kvm" - "tty" - "input" - "realtime" ;; Enable realtime scheduling - "lp" ;; control bluetooth devices - "audio" ;; control audio devices - "video"))) ;; control video devices - %base-user-accounts)) - - ;; Add the 'realtime' group - (groups (cons (user-group (system? #t) (name "realtime")) - %base-groups)) - - ;; 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 (map specification->package - `("emacs-exwm" - "emacs-desktop-environment" - "emacs" - "emacs-guix" - "emacs-vterm" - "emacs-dashboard" - "emacs-multi-vterm" - "emacs-pdf-tools" - "emacs-stumpwm-mode" - "stumpish" - "xrandr" - "picom" - "gnome" - "gnome-desktop" - "nss-certs" - "python" - "bind" - "alacritty" - "emacs-vterm" - "emacs-multi-vterm" - "alsa-utils" - "bluez-alsa" - "gnome-bluetooth" - "blueman" - "qtile" - "git" - "stumpwm" - "rofi" - "qemu" - "libvirt" - "virt-manager" - "font-jetbrains-mono")) - %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 gnome-desktop-service-type) - (service openssh-service-type) - (service bluetooth-service-type) - (service cups-service-type) - (set-xorg-configuration - (xorg-configuration (keyboard-layout keyboard-layout))) - ) - ;; This is the default list of services we - ;; are appending to. - %desktop-services)) - - - - (bootloader (bootloader-configuration - (bootloader grub-efi-bootloader) - (targets (list "/boot/efi")) - (keyboard-layout keyboard-layout))) - (mapped-devices (list (mapped-device - (source (uuid - "0594b592-ddcb-4a3c-958d-c773d7a85d93")) - (target "cryptroot") - (type luks-device-mapping)) - (mapped-device - (source (uuid - "a44f40ec-94c3-457a-a9ed-5db5396f3aea")) - (target "crypthome") - (type luks-device-mapping)))) - - ;; The list of file systems that get "mounted". The unique - ;; file system identifiers there ("UUIDs") can be obtained - ;; by running 'blkid' in a terminal. - (file-systems (cons* (file-system - (mount-point "/boot/efi") - (device (uuid "98B8-B93E" - 'fat32)) - (type "vfat")) - (file-system - (mount-point "/") - (device "/dev/mapper/cryptroot") - (type "ext4") - (dependencies mapped-devices)) - (file-system - (mount-point "/home") - (device "/dev/mapper/crypthome") - (type "ext4") - (dependencies mapped-devices)) - (file-system - (mount-point "/home/apollo/external") - (device "/dev/sda1") - (type "ext4") - (dependencies mapped-devices)) - %base-file-systems))) - diff --git a/.config/stumpwm/colors.lisp b/.config/stumpwm/colors.lisp deleted file mode 100644 index 5c06cbf..0000000 --- a/.config/stumpwm/colors.lisp +++ /dev/null @@ -1,30 +0,0 @@ -;; Colors -(defvar phundrak-nord0 "#2e3440") -(defvar phundrak-nord1 "#3b4252") -(defvar phundrak-nord2 "#434c5e") -(defvar phundrak-nord3 "#4c566a") -(defvar phundrak-nord4 "#d8dee9") -(defvar phundrak-nord5 "#e5e9f0") -(defvar phundrak-nord6 "#eceff4") -(defvar phundrak-nord7 "#8fbcbb") -(defvar phundrak-nord8 "#88c0d0") -(defvar phundrak-nord9 "#81a1c1") -(defvar phundrak-nord10 "#5e81ac") -(defvar phundrak-nord11 "#bf616a") -(defvar phundrak-nord12 "#d08770") -(defvar phundrak-nord13 "#ebcb8b") -(defvar phundrak-nord14 "#a3be8c") -(defvar phundrak-nord15 "#b48ead") - -(setq *colors* - `(,phundrak-nord1 ;; 0 black - ,phundrak-nord11 ;; 1 red - ,phundrak-nord14 ;; 2 green - ,phundrak-nord13 ;; 3 yellow - ,phundrak-nord10 ;; 4 blue - ,phundrak-nord14 ;; 5 magenta - ,phundrak-nord8 ;; 6 cyan - ,phundrak-nord5)) ;; 7 white - -(when *initializing* - (update-color-map (current-screen))) diff --git a/.config/stumpwm/commands.lisp b/.config/stumpwm/commands.lisp deleted file mode 100644 index a47040e..0000000 --- a/.config/stumpwm/commands.lisp +++ /dev/null @@ -1,29 +0,0 @@ -;; Commands - -(defcommand firefox () () - "Run or raise Firefox." - (sb-thread:make-thread (lambda () (run-or-raise "firefox" '(:class "Firefox") t nil)))) - - -(defcommand delete-window-and-frame () () - "Delete the current frame with its window." - (delete-window) - (remove-split)) - -(defcommand hsplit-and-focus () () - "Create a new frame on the right and focus it." - (hsplit) - (move-focus :right)) - -(defcommand vsplit-and-focus () () - "Create a new frame below and move focus to it." - (vsplit) - (move-focus :down)) - -(defcommand term (&optional program) () - "Invoke a terminal, possibly with a @arg{program}." - (sb-thread:make-thread - (lambda () - (run-shell-command (if program - (format nil "kitty ~A" program) - "kitty"))))) diff --git a/.config/stumpwm/config b/.config/stumpwm/config deleted file mode 100644 index 36867cf..0000000 --- a/.config/stumpwm/config +++ /dev/null @@ -1,144 +0,0 @@ -#-quicklisp -(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" - (user-homedir-pathname)))) - (when (probe-file quicklisp-init) - (load quicklisp-init))) - -(in-package :stumpwm) -(setf *default-package* :stumpwm) - - - -;; (load "~/.stumpwm.d/bluetooth.lisp") -;; (load "~/.stumpwm.d/commands.lisp") -(load "~/.config/stumpwm/theme.lisp") -(load "~/.config/stumpwm/placement.lisp") -(load "~/.config/stumpwm/keybindings.lisp") -;; (load "~/./utilities.lisp") -(load "~/.config/stumpwm/modeline.lisp") - - -;; autostart -(run-shell-command " -emacs --daemon & -feh --bg-scale ~/dotfiles/wallpaper.png & -picom & -exec qbittorrent &") - - -(setf *mouse-focus-policy* :click) - -;; prefix key -(set-prefix-key (kbd "C-t")) - -;; prompt the user for an interactive command. The first arg is an -;; optional initial contents. -(defcommand colon1 (&optional (initial "")) (:rest) - (let ((cmd (read-one-line (current-screen) ": " :initial-input initial))) - (when cmd - (eval-command cmd t)))) - -(define-key *top-map* (kbd "Super-2") (gselect 1)) -;; Run rofi -(define-key *root-map* (kbd "C-r") "exec rofi -show drun") - -(define-key *root-map* (kbd "e") "exec emacsclient -c") - -(define-key *root-map* (kbd "C-e") "exec emacs --daemon") - -;; Browse somewhere -(define-key *root-map* (kbd "b") "colon1 exec firefox http://www.") - -;; Ssh somewhere -(define-key *root-map* (kbd "C-s") "colon1 exec xterm -e ssh ") - -;; Lock screen -(define-key *root-map* (kbd "C-l") "exec xlock") - -;; Audio -(define-key *top-map* (kbd "XF86AudioLowerVolume") "exec amixer sset Master 5%-") -(define-key *top-map* (kbd "XF86AudioRaiseVolume") "exec amixer sset Master 5%+") - -;; Web jump (works for DuckDuckGo and Imdb) -(defmacro make-web-jump (name prefix) - `(defcommand ,(intern name) (search) ((:rest ,(concatenate 'string name " search: "))) - (nsubstitute #\+ #\Space search) - (run-shell-command (concatenate 'string ,prefix search)))) - -(make-web-jump "duckduckgo" "firefox https://duckduckgo.com/?q=") -(make-web-jump "imdb" "firefox http://www.imdb.com/find?q=") - -;; C-t M-s is a terrble binding, but you get the idea. -(define-key *root-map* (kbd "M-s") "duckduckgo") -(define-key *root-map* (kbd "i") "imdb") - - - - -;; UI -(setf *message-window-gravity* :center - *input-window-gravity* :center - *window-border-style :thin - *mouse-focus-policy* :click - *transient-border-width* 2 - *normal-size-border-width* 2) - -;; Message window font -(set-font "-xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-15") - -(set-font "-xos4-terminus-medium-r-normal-*-20-*-*-*-*-*-*-*") - -;;; Define window placement policy... - - -(defvar *thanos/workspaces* - (list "EMACS" - "WEB" - "ANKI" - "DOC" - "RAND" - "VID" - "TOR")) - -(stumpwm:grename (nth 0 *thanos/workspaces*)) -(dolist (workspace (cdr *thanos/workspaces*)) - (stumpwm:gnewbg workspace)) - -(defvar *move-to-keybinds* (list "!" "@" "#" "$" "%" "^" "&" "*" "(")) -(dotimes (y (length *ce/workspaces*)) - (let ((workspace (write-to-string (+ y 1)))) - (define-key *root-map* (kbd workspace) (concat "gselect " workspace)) - (define-key *root-map* (kbd (nth y *move-to-keybinds*)) (concat "gmove-and-follow " workspace)))) - -;; Clear rules -(clear-window-placement-rules) - -;; Last rule to match takes precedence! -;; TIP: if the argument to :title or :role begins with an ellipsis, a substring -;; match is performed. -;; TIP: if the :create flag is set then a missing group will be created and -;; restored from *data-dir*/create file. -;; TIP: if the :restonre flag is set then group dump is restored even for an -;; existing group using *data-dir*/restore file. -(define-frame-preference "Default" - ;; frame raise lock (lock AND raise == jumpto) - (0 t nil :class "Konqueror" :role "...konqueror-mainwindow") - (1 t nil :class "XTerm")) - -(define-frame-preference "Ardour" - (0 t t :instance "ardour_editor" :type :normal) - (0 t t :title "Ardour - Session Control") - (0 nil nil :class "XTerm") - (1 t nil :type :normal) - (1 t t :instance "ardour_mixer") - (2 t t :instance "jvmetro") - (1 t t :instance "qjackctl") - (3 t t :instance "qjackctl" :role "qjackctlMainForm")) - -(define-frame-preference "Shareland" - (0 t nil :class "XTerm") - (1 nil t :class "aMule")) - -(define-frame-preference "Emacs" - (1 t t :restore "emacs-editing-dump" :title "...xdvi") - (0 t t :create "emacs-dump" :class "Emacs")) diff --git a/.config/stumpwm/keybindings.lisp b/.config/stumpwm/keybindings.lisp deleted file mode 100644 index f72544d..0000000 --- a/.config/stumpwm/keybindings.lisp +++ /dev/null @@ -1,70 +0,0 @@ - -(in-package :stumpwm) - -(which-key-mode) - - -(setf *mouse-focus-policy* :click) - -;; prefix key -(set-prefix-key (kbd "C-t")) - -;; prompt the user for an interactive command. The first arg is an -;; optional initial contents. -(defcommand colon1 (&optional (initial "")) (:rest) - (let ((cmd (read-one-line (current-screen) ": " :initial-input initial))) - (when cmd - (eval-command cmd t)))) - - - -(define-key *root-map* (kbd "`") "select-window-by-number 0") - -(define-key *root-map* (kbd "C-p") "exec rofi-pass") -(define-key *root-map* (kbd "C-f") "fullscreen") - -;; Run rofi -(define-key *root-map* (kbd "C-r") "exec rofi -show drun") - -(define-key *root-map* (kbd "e") "exec emacsclient -c") - -;; Browse somewhere -(define-key *root-map* (kbd "b") "colon1 exec firefox http://www.") - -;; Lock screen -(define-key *root-map* (kbd "C-l") "exec xlock") - -;; Audio -(define-key *top-map* (kbd "XF86AudioLowerVolume") "exec amixer sset Master 5%-") -(define-key *top-map* (kbd "XF86AudioRaiseVolume") "exec amixer sset Master 5%+") - -;;Keyboard-light -(define-key *top-map* (kbd "XF86Explorer") "exec brightnessctl --device='tpacpi::kbd_backlight' set +1") -(define-key *top-map* (kbd "XF86LaunchA") "exec brightnessctl --device='tpacpi::kbd_backlight' set 1-") - -;; Keyboard layout -(define-key *top-map* (kbd "F1") "exec setxkbmap us") -(define-key *top-map* (kbd "F2") "exec setxkbmap gr") - - -;;; Groups -;; Switch to group -(define-key *top-map* (kbd "s-1") "gselect 1") -(define-key *top-map* (kbd "s-2") "gselect 2") -(define-key *top-map* (kbd "s-3") "gselect 3") -(define-key *top-map* (kbd "s-4") "gselect 4") -(define-key *top-map* (kbd "s-5") "gselect 5") -(define-key *top-map* (kbd "s-6") "gselect 6") -(define-key *top-map* (kbd "s-7") "gselect 7") -;; Move window to group -(define-key *top-map* (kbd "s-!") "gmove 1") -(define-key *top-map* (kbd "s-@") "gmove 2") -(define-key *top-map* (kbd "s-#") "gmove 3") -(define-key *top-map* (kbd "s-$") "gmove 4") -(define-key *top-map* (kbd "s-%") "gmove 5") -(define-key *top-map* (kbd "s-^") "gmove 6") -(define-key *top-map* (kbd "s-&") "gmove 7") -;; Focus -(define-key *top-map* (kbd "s-b") "move-focus left") -(define-key *top-map* (kbd "s-f") "move-focus right") -(define-key *top-map* (kbd "s-n") "move-focus down") diff --git a/.config/stumpwm/modeline.lisp b/.config/stumpwm/modeline.lisp deleted file mode 100644 index 43dfb9a..0000000 --- a/.config/stumpwm/modeline.lisp +++ /dev/null @@ -1,59 +0,0 @@ - -;; Modeline -(setf *window-format* "%m%n%s%c") -(setf *screen-mode-line-format* (list "%g ^> %d")) - -(enable-mode-line (current-screen) (current-head) t) - -(setf *mode-line-timeout* 2) - -(setf *time-modeline-string* "%F %H:%M") - -(setf *group-format* "%t") - -(setf *window-format* "%n: %30t") - -(load "~/.config/stumpwm/colors.lisp") - -(setf *mode-line-background-color* phundrak-nord1 - *mode-line-foreground-color* phundrak-nord5) - -(setf *mode-line-border-color* phundrak-nord1 - *mode-line-border-width* 0) - -;; (defvar *mode-line-formatter-list* -;; '(("%g") ("%W") ("^>") ("mu-unread" . t) ("%m") ("%C") ("%M") ("%B") ("%d")) -;; "List of formatters for the modeline.") - - -;; (defun generate-modeline (elements &optional not-invertedp rightp) -;; "Generate a modeline for StumpWM. -;; ELEMENTS should be a list of `cons'es which `car' is the modeline -;; formatter or the shell command to run, and their `cdr' is either nil -;; when the `car' is a formatter and t when it is a shell command." -;; (when elements -;; (cons (format nil -;; " ^[~A^]^(:bg \"~A\") " -;; (format nil "^(:fg \"~A\")^(:bg \"~A\")^f1~A^f0" -;; (if (xor not-invertedp rightp) phundrak-nord1 phundrak-nord3) -;; (if (xor not-invertedp rightp) phundrak-nord3 phundrak-nord1) -;; (if rightp "" "")) -;; (if not-invertedp phundrak-nord3 phundrak-nord1)) -;; (let* ((current-element (car elements)) -;; (formatter (car current-element)) -;; (commandp (cdr current-element))) -;; (cons (if commandp -;; `(:eval (run-shell-command ,formatter t)) -;; (format nil "~A" formatter)) -;; (generate-modeline (cdr elements) -;; (not not-invertedp) -;; (if (string= "^>" (caar elements)) t rightp))))))) - -;; (defcommand reload-modeline () () -;; "Reload modeline." -;; (sb-thread:make-thread -;; (lambda () -;; (setf *screen-mode-line-format* -;; (cdr (generate-modeline *mode-line-formatter-list*)))))) - -;; (reload-modeline) diff --git a/.config/stumpwm/placement.lisp b/.config/stumpwm/placement.lisp deleted file mode 100644 index dfef676..0000000 --- a/.config/stumpwm/placement.lisp +++ /dev/null @@ -1,14 +0,0 @@ -(when *initializing* - (grename "EMACS") - (gnewbg "WEB") - (gnewbg "ANKI") - (gnewbg "DOC") - (gnewbg "RAND") - (gnewbg "VID") - (gnewbg "TOR")) - -(clear-window-placement-rules) - -(define-frame-preference "[VID]" (nil t t :class "Nemo")) - -(setf *dynamic-group-master-split-ratio* 1/2) diff --git a/.config/stumpwm/theme.lisp b/.config/stumpwm/theme.lisp deleted file mode 100644 index cdc1c6b..0000000 --- a/.config/stumpwm/theme.lisp +++ /dev/null @@ -1,30 +0,0 @@ -(load "~/.config/stumpwm/colors.lisp") - -;; TODO FONTS - - -(set-border-color phundrak-nord1) -(set-focus-color phundrak-nord1) -(set-unfocus-color phundrak-nord3) -(set-float-focus-color phundrak-nord1) -(set-float-unfocus-color phundrak-nord3) - - -(set-fg-color phundrak-nord4) -(set-bg-color phundrak-nord1) - - -(setf *normal-border-width* 0 - *float-window-border* 0 - *float-window-title-height* 15 - *window-border-style* :none - *window-format* "%n:%t") - -(setf *key-seq-color* "^2") -(setf *which-key-format* (concat *key-seq-color* "*~5a^n ~a")) - - -(setf *input-window-gravity* :top - *message-window-padding* 10 - *message-window-y-padding* 10 - *message-window-gravity* :center) diff --git a/guix-packages/starship.scm b/guix-packages/starship.scm deleted file mode 100755 index cd4319f..0000000 --- a/guix-packages/starship.scm +++ /dev/null @@ -1,56 +0,0 @@ - -(define-module (my-packages) - #:use-module (gnu packages) - #:use-module (gnu packages build-tools) - #:use-module (guix build-system copy) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix gexp) - #:use-module (guix build-system gnu) - #:use-module (guix build-system asdf) - #:use-module (guix build-system emacs)) - -;; A temporary fix based on this patch: -;; -;;https://lists.gnu.org/archive/html/guix-patches/2021-10/msg00762.html - -(define-public starship-prompt-bin - (package - (name "starship") - (version "1.12.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/starship/starship/releases/download/v" - version - "/starship-x86_64-unknown-linux-musl.tar.gz")) - (sha256 - (base32 - "0w2w20lxx8l662xdcvjdb033sglhgfg3dnm5jfjb5z5sixwd37x0")))) - (build-system asdf-build-system/source) - (synopsis "binary of starship -- The cross-shell prompt for astronauts.") - (description "Cross shell prompt") - (home-page "https://starship.rs/") - (license gpl2+))) - -(define-public exwm-firefox-core - (package - (name "exwm-firefox-core") - (version "1.0") - (home-page "https://github.com/walseb/exwm-firefox-core") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0w2w20lxx8l662xdcvjdb033sglhgfg3dnm5jfjb5z5sixwd37x0")))) - (build-system emacs-build-system) - (synopsis "Library for executing firefox function through EXWM") - (description "sadf") - (license gpl3+))) - -starship-prompt-bin |