diff --git a/.Xresources b/.Xresources index 7902f29..9d7f38f 100644 --- a/.Xresources +++ b/.Xresources @@ -82,3 +82,5 @@ URxvt*depth: 32 URxvt*background: [94]S_base03 xterm*decTerminalID : vt340 + +Xcursor.theme: Bibata-Original-Classic diff --git a/.config/guix/channels.scm b/.config/guix/channels.scm new file mode 100644 index 0000000..8ab2afa --- /dev/null +++ b/.config/guix/channels.scm @@ -0,0 +1,39 @@ +(cons* + #| + (channel + (name 'mobilizon-reshare) + (url "https://git.sr.ht/~fishinthecalculator/mobilizon-reshare-guix") + (branch "upstrem-master")) + |# + + (channel + (name 'rosenthal) + (url "https://codeberg.org/hako/rosenthal.git") + (branch "trunk") + (introduction + (make-channel-introduction + "7677db76330121a901604dfbad19077893865f35" + (openpgp-fingerprint + "13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7")))) + (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")))) + + ;; gammastep home service + (channel + (name 'small-guix) + (url "https://gitlab.com/orang3/small-guix") + ;; Enable signature verification: + (introduction + (make-channel-introduction + "f260da13666cd41ae3202270784e61e062a3999c" + (openpgp-fingerprint + "8D10 60B9 6BB8 292E 829B 7249 AED4 1CC1 93B7 01E2")))) + + %default-channels) diff --git a/.config/sway/config b/.config/sway/config index a265e8a..0e104cf 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -17,7 +17,7 @@ set $term footclient font pango:Iosevka SS05 Medium 10 # Kurzor -seat * xcursor_theme Bibata-Modern-Classic 24 +seat * xcursor_theme Bibata-Original-Classic 24 # Launcher set $menu "rofi -combi-modi window,drun,run -show combi -modi combi" @@ -289,6 +289,7 @@ input "type:keyboard" { # Touchpad fensi input "type:touchpad" { + events enabled tap enabled click_method clickfinger natural_scroll enabled @@ -318,9 +319,9 @@ bindsym $mod+shift+a exec "$vol_toggle_cmd" # GTK tema set $gnome-schema org.gnome.desktop.interface exec_always { - gsettings set $gnome-schema gtk-theme 'Arc-Darker' - gsettings set $gnome-schema icon-theme 'Papirus' - gsettings set $gnome-schema cursor-theme 'Adwaita' + gsettings set $gnome-schema gtk-theme "Arc-Darker" + gsettings set $gnome-schema icon-theme "Delft-Mint" + gsettings set $gnome-schema cursor-theme "Bibata-Original-Classic" } # Zvetlost zaslona @@ -350,16 +351,17 @@ bindsym $mod+space exec "/home/g1smo/bin/get-layout.sh" exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK # transparenca nekativnih oken -exec ~/bin/inactive-windows-transparency.py +#exec_always ~/bin/inactive-windows-transparency.py # Desktop notifikacije -exec mako --default-timeout=5000 --icon-path /usr/share/icons/Numix +#exec mako --default-timeout=5000 --icon-path /usr/share/icons/Numix +exec_always mako --default-timeout=5000 --icons 1 --icon-path $HOME/.guix-home/profile/share/icons/Delft:$HOME/.guix-profile/share/icons/:/usr/share/icons # Autotiling https://github.com/nwg-piotr/autotiling -exec ~/bin/autotiling.py +exec autotiling # Rdece, da lahko spim, hvala -exec gammastep -m wayland -l 46.05108:14.50513 +#exec_always gammastep -m wayland -l 46.05108:14.50513 # Zagoni programov razporejeni na workspejse workspace 0: @@ -386,10 +388,18 @@ exec keepassxc #exec swayidle -w timeout 300 'swaylock -f -c 000000' timeout 600 'swaymsg"output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f-c 000000' # prazna baterija tezenje -exec ~/bin/swaynag-battery +#exec ~/bin/swaynag-battery # Lebdeca okna (najdes preko "swaymsg -t get_tree") for_window [app_id="org.keepassxc.KeePassXC"] floating enable # Foot terminal server! exec foot --server + +# SwayFX +blur disable +blur_passes 1 +corner_radius 5 +shadows disable +shadows_on_csd enable +default_dim_inactive 0.2 diff --git a/.emacs.d/bookmarks b/.emacs.d/bookmarks index 209aaa4..199f8d8 100644 --- a/.emacs.d/bookmarks +++ b/.emacs.d/bookmarks @@ -2,7 +2,10 @@ ;;; This format is meant to be slightly human-readable; ;;; nevertheless, you probably don't want to edit it. ;;; -*- End Of Bookmark File Format Version Stamp -*- -(("org-capture-last-stored" (filename . "~/org/zapiski.org") +(("projekti" (filename . "~/org/projekti.org") + (front-context-string . "#+TITLE: Projekt") (rear-context-string) + (position . 1) (last-modified 26275 37099 918821 368000)) +("org-capture-last-stored" (filename . "~/org/zapiski.org") (front-context-string . "** TODO Vrstni r") (rear-context-string . "2024-01-05 pet]\n") (position . 661) (last-modified 26008 34892 637157 892000)) diff --git a/.emacs.d/config.org b/.emacs.d/config.org index c4a44fb..9211f06 100644 --- a/.emacs.d/config.org +++ b/.emacs.d/config.org @@ -18,7 +18,7 @@ V primeru napak pri nalaganju ne pozabimo na uporaben ukaz ~emacs --debug-init~. ~debug-on-error~ uresničimo, če bi radi sprožili razhroščevalnik, kadar pride do napake (zelo priročno pri reševanju težav). #+begin_src emacs-lisp - (setq debug-on-error t) + ;(setq debug-on-error t) #+end_src Pospešimo zagon z zmanjšanjem frekvence zbiranja smeti (garbage collection). @@ -61,6 +61,7 @@ Nastavimo vire nalaganja paketov in pa vklopimo privzeto nalaganje ~use-package~ (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) (add-to-list 'package-archives '("elpa" . "https://elpa.gnu.org/packages/") t) (package-initialize) + ;(require 'use-package) #+end_src Vklop merjenja časa nalaganja posameznih paketov. @@ -256,7 +257,7 @@ V evil mode lahko linke znotraj ORG dokumentov odpiramo kar z ~RET~. Evil v ~treemacs~ drevesu datotečnega sistema. #+begin_src emacs-lisp - (use-package treemacs-evil :after treemacs) + ;(use-package treemacs-evil :after treemacs) #+end_src * Emacs splošno @@ -298,9 +299,7 @@ Paket za dopolnjevanje, nadomestek ~ivy~. Nudi nekoliko lepšo iskušnjo priporo ~nerd-icons-completion~ nam dired in ostalo dopolnjevanje pojača z ikonami. #+begin_src emacs-lisp -(use-package nerd-icons-completion - :init - (nerd-icons-completion-mode)) + ;(use-package nerd-icons-completion :init (nerd-icons-completion-mode)) #+end_src ** Iskanje @@ -486,6 +485,12 @@ Koledarski teden naj se začne s ponedeljkom, kot je pri nas konvencija. (setq calendar-week-start-day 1) #+end_src +Slike naj bodo omejene širine. +#+begin_src emacs-lisp + (setq org-image-actual-width (list 600)) +#+end_src + + ** Diagrami Razširitev orgmode z diagramiranje preko [[https://graphviz.org/docs/layouts/dot/][DOT]] ter [[https://ditaa.sourceforge.net/#usage][ditaa]]. @@ -743,6 +748,11 @@ In pa nenazadnje, čeravno je ORGMODE superioren, naložimo še podporo za [[htt (use-package markdown-mode :mode "\\.(md|markdown)\\'") #+end_src +* GNU/Guix +#+begin_src emacs-lisp + (use-package guix :ensure f) +#+end_src + * Delo s projekti Knjižnica za projektne interakcije. Vsak projekt je svoja git zbirka. Lajša menjavo med projekti, iskanje datotek v posameznem projektu in tako dalje. @@ -830,7 +840,8 @@ Samodejno zapiranje oklepajev. Tega ne rabimo ker imamo ~electric-pair-mode~, ki :ensure smartparens :hook (prog-mode text-mode markdown-mode) :config - (require 'smartparens-config)) + (require 'smartparens-config) + (sp-pair "'" "'" :actions nil)) #+end_src Avtomatsko dopolnjevanje izrazov. @@ -974,12 +985,7 @@ Vsi LISPi, tudi vgrajeni emacs-lisp, so bolj berljivi z mavričnim obarvanjem ok "e r" 'geiser-eval-region "b e" 'geiser-eval-buffer) :init - (setq scheme-program-name "guile") (setq geiser-mode-auto-p nil)) - - (use-package arei - :ensure f - :disabled t) #+end_src Kdaj delam tudi z [[https://racket-lang.org/][racket]]. @@ -1043,6 +1049,7 @@ Bližnjica za cache rebuild na drupalu (dela tudi preko SSH!). #+begin_src emacs-lisp :general-config + ;:general (start/leader-keys :keymaps 'php-mode-map "d d" (defun drupal-cache-rebuild () @@ -1134,21 +1141,24 @@ Nastavljen naj bo na ~python3~. [[https://supercollider.github.io/][supercollider]] je platforma za zvočno sintezo in algoritmično kompozicijo. Uporabna tudi za živo kodiranje. Vključuje svoje integrirano razvijalsko okolje, integrira se pa tudi z emacsom. -Najprej moramo vključit direktorij, v katerem se nahajajo emacs paketi zanj (pridejo z namestitvijo supercolliderja), pot pa je odvisna od linux distribucije ali nastavitev pri prevajanju iz izvorne kode: +Najprej moramo vključit direktorij, v katerem se nahajajo emacs paketi zanj (pridejo iz v supercolliderju nameščenega [[https://github.com/supercollider/scel][quarka]]), lahko bi pra prišel iz paketnega upravljalnika linux distribucije ali pa MELPE: #+begin_src emacs-lisp - (add-to-list 'load-path "/usr/share/emacs/site-lisp/SuperCollider/") + ;(add-to-list 'load-path "~/.local/share/SuperCollider/downloaded-quarks/scel/el") #+end_src Nato vključimo emacs modul in nastavimo dve bližnjici; ~S-RET~ za evalviranje trenutne regije ali vrstice ter ~C-.~ za utišanje (kot v IDE-ju). #+begin_src emacs-lisp - (use-package sclang - :ensure f - :mode "\\.scd\\'" - :config - (global-set-key (kbd "S-RET") 'sclang-eval-region-or-line) - (global-set-key (kbd "C-.") 'sclang-server-free-all)) + ;(require 'sclang) + ;(global-set-key (kbd "S-RET") 'sclang-eval-region-or-line) + ;(global-set-key (kbd "C-.") 'sclang-server-free-all) +#+end_src + +Prilagam še kodo uporabnih funkcij za lažjo evalvacijo kode, [[https://github.com/yilin-zhang/sclang-helper][sclang-helper]] + +#+begin_src emacs-lisp + ;(load "~/.emacs.d/sclang-helper.el") #+end_src [[http://www.pawfal.org/Software/fluxus_/][fluxus]] je programsko okolje za hitro prototipiranje ter igranje z oz. učenje 3d grafike. Pisam je v schemu. @@ -1257,7 +1267,6 @@ Pred uporabo je treba konfigurirati nekaj več stvari, potrebujemo recimo ~isync *** isync **** Namestitev - Najprej namestimo isync. Primer za guix ter debian. #+begin_src sh @@ -1379,18 +1388,19 @@ Preglednost lahko izboljšamo s paketom za ikone. #+begin_src emacs-lisp (use-package mu4e-dashboard - :after mu4e - :vc "https://github.com/rougier/mu4e-dashboard") + :after mu4e) +; :vc "https://github.com/rougier/mu4e-dashboard") #+end_src ~mu4e-thread-folding~ nam skrči niti v posamezne vrstice, ki jih lahko razširimo. #+begin_src emacs-lisp - (use-package svg-icon - :vc (svg-icon :url "https://github.com/rougier/emacs-svg-icon")) - (use-package mu4e-thread-folding - :after mu4e - :vc (mu4e-thread-folding :url "https://github.com/rougier/mu4e-thread-folding")) + (use-package svg-icon) +; :vc (svg-icon :url "https://github.com/rougier/emacs-svg-icon")) + + ;(use-package mu4e-thread-folding + ; :after mu4e + ; :vc (mu4e-thread-folding :url "https://github.com/rougier/mu4e-thread-folding")) #+end_src TODO spisat dodatne konfiguracije, tega še ne uporabljam res. @@ -1418,6 +1428,7 @@ Pedenanje izgleda: smtpmail-stream-type 'starttls smtpmail-smtp-service 587) #+end_src + * Razno Zone nyancat! diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 759536f..809d83c 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -106,6 +106,10 @@ (add-hook 'subed-mode-hook 'subed-enable-show-cps)) +(add-to-list 'load-path "~/.local/share/SuperCollider/scel/el") +(require 'sclang) +(global-set-key (kbd "S-RET") 'sclang-eval-region-or-line) +(global-set-key (kbd "C-.") 'sclang-server-free-all) ;;;;;;;;;;;; ;; CUSTOM ;; @@ -119,22 +123,24 @@ '("ba323a013c25b355eb9a0550541573d535831c557674c8d59b9ac6aa720c21d3" default)) '(package-selected-packages - '(2bit aggressive-indent all-the-icons arduino-mode benchmark-init - company counsel-projectile crdt dap-mode dashboard direnv - doom-modeline drupal-mode eat editorconfig elpher eros - evil-collection evil-org extempore-mode fluxus-mode flycheck - format-all geben geiser-guile general gruvbox-theme guix - helpful htmlize lsp-mode magit-todos marginalia - mu4e-dashboard mu4e-marker-icons mu4e-thread-folding - ob-mermaid openwith orderless org-bullets org-caldav pyvenv - quelpa-use-package racket-mode rainbow-delimiters restclient - rg rjsx-mode sclang-extensions sesman sicp slime smartparens - smex subed svg-icon svg-lib tidal toml-mode treemacs-evil - treemacs-projectile treesit-auto undo-tree vertico vue-mode - web-beautify web-mode which-key writeroom-mode yaml-mode - zone-nyan)) + '(arduino-mode benchmark-init company counsel-projectile crdt + dashboard diminish direnv doom-modeline drupal-mode + editorconfig evil-collection evil-org extempore-mode + faceup fluxus-mode flycheck format-all geben + geiser-guile general gruvbox-theme guix helm helpful + htmlize jq-mode list-utils loop lsp-mode lsp-ui + magit marginalia mu4e mu4e-dashboard + mu4e-marker-icons nyan-mode ob-mermaid openwith + orderless org-bullets org-caldav paredit pkg-info + popup pos-tip pyvenv racket-mode rainbow-delimiters + restclient rjsx-mode sclang-extensions shut-up sicp + slime smartparens smex subed svg-icon tidal + toml-mode treemacs-projectile treesit-auto undo-tree + use-package vertico vue-mode web-beautify web-mode + which-key writeroom-mode yaml-mode zone-nyan)) '(package-vc-selected-packages - '((svg-icon :url "https://github.com/rougier/emacs-svg-icon")))) + '((svg-icon :url "https://github.com/rougier/emacs-svg-icon"))) + '(sclang-indent-level 2)) (custom-set-faces ;; custom-set-faces was added by Custom. @@ -146,7 +152,3 @@ '(org-level-2 ((t (:inherit default :weight bold :family "Sans Serif" :height 1.45)))) '(org-level-3 ((t (:inherit default :weight bold :family "Sans Serif" :height 1.25)))) '(org-level-4 ((t (:inherit default :weight bold :family "Sans Serif" :height 1.1))))) - - -;; supercollider mode load -;(require 'sclang) diff --git a/.emacs.d/sclang-helper.el b/.emacs.d/sclang-helper.el new file mode 100644 index 0000000..42d17f9 --- /dev/null +++ b/.emacs.d/sclang-helper.el @@ -0,0 +1,114 @@ +;;; sclang-helper.el --- Enhance the functionality of scel -*- lexical-binding: t; -*- + +;;; Commentary: +;; This program contains serveral custom additional functions to scel. +;; https://github.com/yilin-zhang/sclang-helper + +;;; Code: +(require 'sclang) +(require 'cl-lib) +(require 'pulse) + +(defun sclang-helper-eval-line (&optional silent-p) + "Execute the current line as SuperCollider code with highlight." + (interactive "P") + (let ((string (sclang-line-at-point))) + (when string + (sclang-eval-string string (not silent-p))) + (pulse-momentary-highlight-one-line (point)) ;; highlighting + string)) + +(defun sclang-helper-eval-region (&optional silent-p) + "Execute the region as SuperCollider code with highlight" + (interactive "P") + (sclang-eval-string + (buffer-substring-no-properties (region-beginning) (region-end)) + (not silent-p)) + (pulse-momentary-highlight-region (region-beginning) (region-end))) ;; highlighting + +(defun sclang-helper-eval-region-or-line (&optional silent-p) + "Execute the line or region as SuperCollider code with highlight" + (interactive "P") + (if (and transient-mark-mode mark-active) + (sclang-helper-eval-region silent-p) + (sclang-helper-eval-line silent-p))) + +;; TODO: It's not functional when the prentheses don't match. +(defun sclang-helper-eval-paren-region (&optional silent-p) + "Execute the region inside the outermost parentheses. +Return t if the evaluation happens, nil if it doens't happen." + (interactive "P") + (cl-flet + ((check-char-text (char) + "Check if the char is normal text" + (if (and (characterp char) + (not (member (get-char-code-property char 'general-category) '(Zs Cc)))) + t + nil))) + + (save-excursion + ;; iteratively check if there's an upper level left parenthesis + (let ((paren-matched nil)) + (while + (condition-case nil + (progn + (if (equal (char-to-string (char-after)) "(") + (setq paren-matched t) + (setq paren-matched nil)) + (backward-up-list) + t) + (error nil))) + (if paren-matched + (progn + (let ((point-paren-1 (point)) + (point-paren-2 (progn (forward-list) (point)))) + ;; check if there's nothing around the paired parentheses + (if (or (check-char-text (char-before point-paren-1)) + ;; after calling forward-list, point-paren-2 is actually the char after + ;; the right parenthesis + (check-char-text (char-after point-paren-2))) + nil + (progn + (set-mark point-paren-1) + (setq mark-active t) + (sclang-helper-eval-region-or-line silent-p) + (setq mark-active nil) + t)))) + nil))))) + +(defun sclang-helper-auto-eval (&optional silent-p) + (interactive "P") + (if (and transient-mark-mode mark-active) + (sclang-eval-region silent-p) + (if (not (sclang-helper-eval-paren-region silent-p)) + (sclang-helper-eval-line silent-p)))) + +(defun sclang-helper-show-meter () + (interactive) + (sclang-eval-string "Server.local.meter")) + +(defun sclang-helper-show-freqscope() + (interactive) + (sclang-eval-string "Server.local.freqscope")) + +(defun sclang-helper-show-tree() + (interactive) + (sclang-eval-string "Server.local.plotTree")) + +;;;###autoload +(define-minor-mode sclang-helper-mode + "Toggle sclang mode." + :lighter " sclang-helper" + :keymap (let ((map (make-sparse-keymap))) + (define-key map (kbd "") 'sclang-helper-auto-eval) + (define-key map (kbd "") 'sclang-helper-auto-eval) + (define-key map (kbd "s-m") 'sclang-helper-show-meter) + (define-key map (kbd "s-f") 'sclang-helper-show-freqscope) + (define-key map (kbd "s-n") 'sclang-helper-show-tree) + (define-key map (kbd "s-.") 'sclang-main-stop) + (define-key map (kbd "s-d") 'sclang-find-help-in-gui) + map)) + +(provide 'sclang-helper) + +;;; sclang-helper.el ends here diff --git a/.guile b/.guile index df23d3e..2cf6f5a 100644 --- a/.guile +++ b/.guile @@ -1,6 +1,7 @@ ;; Readline fix (za smerne tipke v replu) -(use-modules (ice-9 readline)) +(use-modules (ice-9 readline) + (ice-9 colorized) + (texinfo reflection)) (activate-readline) +(activate-colorized) -;; Dodaj lokalno kompajlane knjižnice -(append! %load-compiled-path '("/usr/local/lib/guile/3.0/ccache" "/usr/local/lib/guile/3.0/site-ccache")) diff --git a/.profile b/.profile deleted file mode 100644 index 33e5e8d..0000000 --- a/.profile +++ /dev/null @@ -1,68 +0,0 @@ -# <3 default editor (za manjse urejanje) -export EDITOR="vim" -export VISUAL="vim" - -# Nek Java fix? -export NLS_LANG=American_America.UTF8 - -# Guile Zadeve -export GUILE_WARN_DEPRECATED="detailed" - -# PhantomJS binary location -export PHANTOMJS_BIN=/usr/bin/phantomjs - -# emacspeak speech server -export DTK_PROGRAM=espeak - -# Rust paketi -export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$PATH" - -# User bin -export PATH="$HOME/bin:$PATH" - -# Firefox webrender -export MOZ_WEBRENDER=1 - -# Wayland pls! -export KITTY_ENABLE_WAYLAND=1 -export MOZ_ENABLE_WAYLAND=1 -#export XDG_SESSION_TYPE=wayland - -# Tole bojda ni dobra ideja (pravi wiki!) -#export GDK_BACKEND=wayland - -# QT nastavitve -#export QT_QPA_PLATFORMTHEME="qt5ct" -# GTK izgled: sudo apt install qt5-style-plugins -export QT_QPA_PLATFORMTHEME=gtk -export QT_FONT_DPI=95 - -#export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel $_JAVA_OPTIONS" -export JAVA_FONTS="/usr/share/fonts/TTF" -#export QT_QPA_PLATFORM=wayland-egl -export QT_WAYLAND_FORCE_DPI=physical -export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 -export _JAVA_AWT_WM_NONREPARENTING=1 - -# Guile -export GUILE_LOAD_COMPILED_PATH="/usr/local/lib/guile/3.0/ccache:/usr/local/lib/guile/3.0/site-ccache" -export GUILE_SITE_DIR="$HOME/.local/guile/site_dir" - -# (FULL)Screen share -export XDG_CURRENT_DESKTOP=sway - -# Guix -export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale" -export GUIX_PROFILE="$HOME/.guix-profile" -export XDG_DATA_DIRS="/usr/local/share:/usr/share:$XDG_DATA_DIRS" -export XDG_DATA_DIRS="${GUIX_PROFILE}/share${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS" -export GUIX_PACKAGE_PATH="$HOME/projekti/guix-paketi" -export PATH="$HOME/.config/guix/current/bin:$PATH" -. "$GUIX_PROFILE/etc/profile" - -# Loadamo sway na tty1! -# If running from tty1 start sway -#if [ "$(tty)" = "/dev/tty1" ]; then -# QT_QPA_PLATFORM=wayland-egl SDL_VIDEODRIVER=wayland exec sway -#fi -. "$HOME/.cargo/env" diff --git a/.profile b/.profile new file mode 120000 index 0000000..c1abe3f --- /dev/null +++ b/.profile @@ -0,0 +1 @@ +.zprofile \ No newline at end of file diff --git a/.ssh/config b/.ssh/config index 3ce2f67..f554e71 100644 --- a/.ssh/config +++ b/.ssh/config @@ -7,13 +7,10 @@ Host pi Host felis.kreten.si Port 2312 -Host a2z.si - HostkeyAlgorithms ssh-dss,ssh-rsa - KexAlgorithms +diffie-hellman-group1-sha1 - Host 192.168.64.100 PubkeyAcceptedAlgorithms +ssh-rsa HostkeyAlgorithms +ssh-rsa + Host 192.168.32.1 PubkeyAcceptedAlgorithms +ssh-rsa HostkeyAlgorithms +ssh-rsa diff --git a/.zlogin b/.zlogin index f13b979..4c96f6d 100644 --- a/.zlogin +++ b/.zlogin @@ -1,29 +1,25 @@ -# Solarized theme for tty, the light version. -# Based on: -# - Solarized (http://ethanschoonover.com/solarized) -# - Xresources from http://github.com/altercation/solarized -# Generated with pty2tty.awk by Joep van Delft -# http://github.com/joepvd/tty-solarized +# Gruvbox tema za tty. Vir: https://archive.fo/QSYHd#selection-59.0-59.639 if [ "$TERM" = "linux" ]; then - echo -en "\e]PB657b83" # S_base00 - echo -en "\e]PA586e75" # S_base01 - echo -en "\e]P0073642" # S_base02 - echo -en "\e]P62aa198" # S_cyan - echo -en "\e]P8002b36" # S_base03 - echo -en "\e]P2859900" # S_green - echo -en "\e]P5d33682" # S_magenta - echo -en "\e]P1dc322f" # S_red - echo -en "\e]PC839496" # S_base0 - echo -en "\e]PE93a1a1" # S_base1 - echo -en "\e]P9cb4b16" # S_orange - echo -en "\e]P7eee8d5" # S_base2 - echo -en "\e]P4268bd2" # S_blue - echo -en "\e]P3b58900" # S_yellow - echo -en "\e]PFfdf6e3" # S_base3 - echo -en "\e]PD6c71c4" # S_violet - clear # against bg artifacts + echo -en "\e]P0222222" #black + echo -en "\e]P8222222" #darkgrey + echo -en "\e]P1803232" #darkred + echo -en "\e]P9982b2b" #red + echo -en "\e]P25b762f" #darkgreen + echo -en "\e]PA89b83f" #green + echo -en "\e]P3aa9943" #brown + echo -en "\e]PBefef60" #yellow + echo -en "\e]P4324c80" #darkblue + echo -en "\e]PC2b4f98" #blue + echo -en "\e]P5706c9a" #darkmagenta + echo -en "\e]PD826ab1" #magenta + echo -en "\e]P692b19e" #darkcyan + echo -en "\e]PEa1cdcd" #cyan + echo -en "\e]P7ffffff" #lightgrey + echo -en "\e]PFdedede" #white + clear #for background artifacting fi -#if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then -# exec sway -#fi +# Sway autostart +if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then + exec sway +fi diff --git a/.zprofile b/.zprofile index a2c42ef..d0cb590 100644 --- a/.zprofile +++ b/.zprofile @@ -1 +1,55 @@ -. ~/.profile +# <3 default editor (za manjse urejanje) +export EDITOR="vim" +export VISUAL="vim" + +# Nek Java fix? +export NLS_LANG=American_America.UTF8 + +# Guile Zadeve +export GUILE_WARN_DEPRECATED="detailed" + +# PhantomJS binary location +export PHANTOMJS_BIN=/usr/bin/phantomjs + +# emacspeak speech server +export DTK_PROGRAM=espeak + +# User bin +export PATH="$HOME/bin:$PATH" + +# Firefox webrender +export MOZ_WEBRENDER=1 + +# Wayland pls! +export KITTY_ENABLE_WAYLAND=1 +export MOZ_ENABLE_WAYLAND=1 +#export XDG_SESSION_TYPE=wayland + +# Tole bojda ni dobra ideja (pravi wiki!) +#export GDK_BACKEND=wayland + +# QT nastavitve +#export QT_QPA_PLATFORMTHEME="qt5ct" +# GTK izgled: sudo apt install qt5-style-plugins +export QT_QPA_PLATFORMTHEME=gtk +export QT_FONT_DPI=95 + +#export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel $_JAVA_OPTIONS" +export JAVA_FONTS="/usr/share/fonts/TTF" +#export QT_QPA_PLATFORM=wayland-egl +export QT_WAYLAND_FORCE_DPI=physical +export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 +export _JAVA_AWT_WM_NONREPARENTING=1 + +# Guile +#export GUILE_LOAD_COMPILED_PATH="/usr/local/lib/guile/3.0/ccache:/usr/local/lib/guile/3.0/site-ccache" +#export GUILE_SITE_DIR="$HOME/.local/guile/site_dir" + +# (FULL)Screen share +export XDG_CURRENT_DESKTOP=sway + +# Guix +export GUIX_PROFILE="$HOME/.guix-profile" +export GUIX_PACKAGE_PATH="$HOME/projekti/guix-paketi" + +. "$HOME/.cargo/env" diff --git a/.zshrc b/.zshrc index 6a10549..678bbc3 100644 --- a/.zshrc +++ b/.zshrc @@ -75,6 +75,7 @@ alias sctl="systemctl" alias ddrush="ddev exec drush" alias dcomposer="ddev exec composer" alias offer-files="python3 -m http.server" +alias make-home="cd $HOME/sredstva/dotfiles; make guix-home" # X on wayland alias wxon="xhost +local:" @@ -177,3 +178,6 @@ export PATH=$HOME/.cargo/bin:$PATH # Direnv eval "$(direnv hook zsh)" + +# Restart pipewire(debian) +alias restart-pipewire-debian="systemctl restart --user wireplumber pipewire pipewire-pulse" diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d4bfdc1 --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) + +guix-home: + guix home reconfigure $(DIR)guix/home/home-configuration.scm + diff --git a/applications/SuperColliderIDE.desktop b/applications/SuperColliderIDE.desktop new file mode 100755 index 0000000..a0414b6 --- /dev/null +++ b/applications/SuperColliderIDE.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=SuperCollider IDE +GenericName=SuperCollider IDE +Comment=IDE for the SuperCollider audio synthesis language +# Run via pipewire +Exec=pw-jack scide %F +Icon=sc_ide +Type=Application +Terminal=false +Categories=AudioVideo;Audio;Development;IDE; +MimeType=text/x-sc; +StartupWMClass=scide diff --git a/applications/emacs.desktop b/applications/emacs.desktop new file mode 100644 index 0000000..86ac7be --- /dev/null +++ b/applications/emacs.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Name=Emacs +GenericName=Text Editor +Comment=Edit text +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; +# Run via pipewire (for supercollider!) +Exec=pw-jack emacs %F +Icon=emacs +Type=Application +Terminal=false +Categories=Development;TextEditor; +StartupNotify=true +StartupWMClass=Emacs diff --git a/bin/autotiling.py b/bin/autotiling.py deleted file mode 100755 index 8f7e673..0000000 --- a/bin/autotiling.py +++ /dev/null @@ -1,214 +0,0 @@ -#!/usr/bin/env python3 - -""" -This script uses the i3ipc python module to switch the layout splith / splitv -for the currently focused window, depending on its dimensions. -It works on both sway and i3 window managers. - -Inspired by https://github.com/olemartinorg/i3-alternating-layout - -Copyright: 2019-2021 Piotr Miller & Contributors -e-mail: nwg.piotr@gmail.com -Project: https://github.com/nwg-piotr/autotiling -License: GPL3 - -Dependencies: python-i3ipc>=2.0.1 (i3ipc-python) -""" -import argparse -import os -import sys -from functools import partial - -from i3ipc import Connection, Event - -try: - from .__about__ import __version__ -except ImportError: - __version__ = "unknown" - - -def temp_dir(): - if os.getenv("TMPDIR"): - return os.getenv("TMPDIR") - elif os.getenv("TEMP"): - return os.getenv("TEMP") - elif os.getenv("TMP"): - return os.getenv("TMP") - - return "/tmp" - - -def save_string(string, file): - try: - file = open(file, "wt") - file.write(string) - file.close() - except Exception as e: - print(e) - - -def output_name(con): - if con.type == "root": - return None - - if p := con.parent: - if p.type == "output": - return p.name - else: - return output_name(p) - - -def switch_splitting(i3, e, debug, outputs, workspaces, depth_limit): - try: - con = i3.get_tree().find_focused() - output = output_name(con) - # Stop, if outputs is set and current output is not in the selection - if outputs and output not in outputs: - if debug: - print( - "Debug: Autotiling turned off on output {}".format(output), - file=sys.stderr, - ) - return - - if con and not workspaces or (str(con.workspace().num) in workspaces): - if con.floating: - # We're on i3: on sway it would be None - # May be 'auto_on' or 'user_on' - is_floating = "_on" in con.floating - else: - # We are on sway - is_floating = con.type == "floating_con" - - if depth_limit: - # Assume we reached the depth limit, unless we can find a workspace - depth_limit_reached = True - current_con = con - current_depth = 0 - while current_depth < depth_limit: - # Check if we found the workspace of the current container - if current_con.type == "workspace": - # Found the workspace within the depth limitation - depth_limit_reached = False - break - - # Look at the parent for next iteration - current_con = current_con.parent - - # Only count up the depth, if the container has more than - # one container as child - if len(current_con.nodes) > 1: - current_depth += 1 - - if depth_limit_reached: - if debug: - print("Debug: Depth limit reached") - return - - is_full_screen = con.fullscreen_mode == 1 - is_stacked = con.parent.layout == "stacked" - is_tabbed = con.parent.layout == "tabbed" - - # Exclude floating containers, stacked layouts, tabbed layouts and full screen mode - if (not is_floating - and not is_stacked - and not is_tabbed - and not is_full_screen): - new_layout = "splitv" if con.rect.height > con.rect.width else "splith" - - if new_layout != con.parent.layout: - result = i3.command(new_layout) - if result[0].success and debug: - print("Debug: Switched to {}".format(new_layout), file=sys.stderr) - elif debug: - print("Error: Switch failed with err {}".format(result[0].error), file=sys.stderr, ) - - elif debug: - print("Debug: No focused container found or autotiling on the workspace turned off", file=sys.stderr) - - except Exception as e: - print("Error: {}".format(e), file=sys.stderr) - - -def main(): - parser = argparse.ArgumentParser() - parser.add_argument("-d", - "--debug", - action="store_true", - help="print debug messages to stderr") - parser.add_argument("-v", - "--version", - action="version", - version="%(prog)s {}, Python {}".format(__version__, sys.version), - help="display version information", ) - parser.add_argument("-o", - "--outputs", - help="restricts autotiling to certain output; " - "example: autotiling --output DP-1 HDMI-0", - nargs="*", - type=str, - default=[], ) - parser.add_argument("-w", - "--workspaces", - help="restricts autotiling to certain workspaces; example: autotiling --workspaces 8 9", - nargs="*", - type=str, - default=[], ) - parser.add_argument("-l", - "--limit", - help='limit how often autotiling will split a container; ' - 'try "2", if you like master-stack layouts; default: 0 (no limit)', - type=int, - default=0, ) - """ - Changing event subscription has already been the objective of several pull request. To avoid doing this again - and again, let's allow to specify them in the `--events` argument. - """ - parser.add_argument("-e", - "--events", - help="list of events to trigger switching split orientation; default: WINDOW MODE", - nargs="*", - type=str, - default=["WINDOW", "MODE"]) - - args = parser.parse_args() - - if args.debug and args.outputs: - print("autotiling is only active on outputs:", ",".join(args.outputs)) - - if args.debug and args.workspaces: - print("autotiling is only active on workspaces:", ','.join(args.workspaces)) - - # For use w/ nwg-panel - ws_file = os.path.join(temp_dir(), "autotiling") - if args.workspaces: - save_string(','.join(args.workspaces), ws_file) - else: - if os.path.isfile(ws_file): - os.remove(ws_file) - - if not args.events: - print("No events specified", file=sys.stderr) - sys.exit(1) - - handler = partial( - switch_splitting, - debug=args.debug, - outputs=args.outputs, - workspaces=args.workspaces, - depth_limit=args.limit, - ) - i3 = Connection() - for e in args.events: - try: - i3.on(Event[e], handler) - print("{} subscribed".format(Event[e])) - except KeyError: - print("'{}' is not a valid event".format(e), file=sys.stderr) - - i3.main() - - -if __name__ == "__main__": - # execute only if run as a script - main() diff --git a/bin/screenshot b/bin/screenshot index dc7b640..bc2e666 100755 --- a/bin/screenshot +++ b/bin/screenshot @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Screenshot na waylandu! # DEPS: grim, slurp diff --git a/guix/config.scm b/guix/config.scm index f0367dd..9a555ec 100644 --- a/guix/config.scm +++ b/guix/config.scm @@ -1,18 +1,32 @@ -;; -*- mode: scheme; -*- -;; This is an operating system configuration template -;; for a "desktop" setup with GNOME and Xfce. +(use-modules + (gnu) + (gnu system nss) + (gnu services base) + (gnu services pm) + (nongnu packages linux) + (nongnu system linux-initrd) + (guix utils) + (srfi srfi-1)) -(use-modules (gnu) - (gnu system nss) - (guix utils) - (nongnu packages linux) - (nongnu system linux-initrd) - (srfi srfi-1)) (use-service-modules desktop xorg dns networking) (use-package-modules bootloaders certs shells ssh version-control emacs vim wm freedesktop xorg fontutils) +;; Autologin (ker imamo encrypted root!) +(define (auto-login-to-tty config tty user) + (if (string=? tty (mingetty-configuration-tty config)) + (mingetty-configuration + (inherit config) + (auto-login user)) + config)) + +(define %my-services + (modify-services %desktop-services + (mingetty-service-type config => + (auto-login-to-tty + config "tty2" "g1smo")))) + (operating-system - (host-name "apnx") + (host-name "pnx") (timezone "Europe/Ljubljana") (locale "sl_SI.utf8") @@ -26,24 +40,15 @@ (initrd microcode-initrd) (firmware (list linux-firmware)) - (file-systems (cons* (file-system - (device "/dev/sda3") - (mount-point "/") - (type "btrfs") - (options "compress")) - (file-system - (device "/dev/sda2") - (mount-point "/boot/efi") - (type "vfat")) - %base-file-systems)) - (users (cons* (user-account - (name "yuri") + (name "g1smo") (comment "Yuri") (group "users") + (uid 1000) + (shell (file-append zsh "/bin/zsh")) (supplementary-groups '("wheel" "netdev" "audio" "video" - "dialout" "users")) + "dialout" "users" "lp")) (home-directory "/home/g1smo")) %base-user-accounts)) @@ -51,7 +56,6 @@ (specification->package "i3status") (specification->package "dmenu") (specification->package "st") - (specification->package "nss-certs") ;; sistem (specification->package "lvm2") ;; WM zadeve @@ -61,76 +65,71 @@ (specification->package "i3-autotiling") (specification->package "waybar") (specification->package "gammastep") - (specification->package "kitty") + (specification->package "foot") (specification->package "eog") (specification->package "nautilus") ;; Urejevalniki teksta (specification->package "emacs") (specification->package "vim") ;; Razno - (sepcification->package "zsh") + (specification->package "zsh") (specification->package "git") (specification->package "file")) %base-packages)) - (services (cons* (service xfce-desktop-service-type) - (service gnome-desktop-service-type) - (service dnsmasq-service-type - (dnsmasq-configuration - (cache-size 1500))) - (service network-manager-service-type - (network-manager-configuration - (dns "dnsmasq"))) - (service pam-limits-service-type - (list - (pam-limits-entry "@audio" 'both 'rtprio 99) - (pam-limits-entry "@audio" 'both 'memlock 'unlimited))) + (services + (cons* (service gnome-desktop-service-type) + (service network-manager-service-type + (network-manager-configuration + (dns "dnsmasq"))) + (service pam-limits-service-type + (list + (pam-limits-entry "@audio" 'both 'rtprio 99) + (pam-limits-entry "@audio" 'both 'memlock 'unlimited))) + (service tlp-service-type + (tlp-configuration + (cpu-scaling-governor-on-ac (list "ondemand")) + (max-lost-work-secs-on-ac 0) + (ahci-runtime-pm-timeout 0))) + (service thermald-service-type) + (service bluetooth-service-type) + (remove + (lambda (service) + (eq? network-manager-service-type (service-kind service))) + %desktop-services))) - (remove - (lambda (service) - (eq? network-manager-service-type (service-kind service))) - %desktop-services))) + (swap-devices + (list (swap-space + (target (uuid "76019829-e8eb-477c-a08a-d2ccff3fcdd5"))))) - (swap-devices (list (swap-space - (target (uuid - "76019829-e8eb-477c-a08a-d2ccff3fcdd5"))))) - ;(mapped-devices (list (mapped-device - ; (source (uuid - ; "52c83c72-c391-4a71-8405-897603f61363")) - ; (target "gpnx-root") - ; (type luks-device-mapping)) - ; (mapped-device - ; (source (uuid - ; "3020ad8b-ee01-49e2-8a46-3f66c902ef67")) - ; (target "dbn-home") - ; (type luks-device-mapping)) - ; (mapped-device - ; (source "dbn-vg") - ; (targets (list "home")) - ; (type lvm-device-mapping)) - ; )) + (mapped-devices + (list (mapped-device + (source (uuid "3020ad8b-ee01-49e2-8a46-3f66c902ef67")) + (target "sda3_crypt") + (type luks-device-mapping)) + (mapped-device + (source "dbn-vg") + (targets (list "dbn--vg-guix" "dbn--vg-home")) + (type lvm-device-mapping)))) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss) - (file-systems (cons* (file-system - (mount-point "/") - (device "/dev/mapper/gpnx-root") - (type "ext4") - (dependencies mapped-devices)) - (file-system - (mount-point "/boot") - (device (uuid "65689a28-4afb-4c40-9ff2-2a0df1168a86")) - (type "ext2")) - (file-system - (mount-point "/boot/efi") - (device (uuid "3F44-75AB" - 'fat16)) - (type "vfat")) - ;(file-system - ;(mount-point "/home/g1smo/dbn") - ;(device "/dev/mapper/dbn-home") - ;(type "ext4") - ;(dependencies mapped-devices)) - %base-file-systems))) + (file-systems + (cons* (file-system + (mount-point "/") + (device "/dev/mapper/dbn--vg-guix") + (type "btrfs") + (options "subvol=@root,compress-force=zstd,space_cache=v2") + (dependencies mapped-devices)) + (file-system + (mount-point "/home") + (device "/dev/mapper/dbn--vg-home") + (type "ext4") + (dependencies mapped-devices)) + (file-system + (mount-point "/boot/efi") + (device (uuid "3F44-75AB" 'fat)) + (type "vfat")) + %base-file-systems))) diff --git a/guix/home/.bash_logout b/guix/home/.bash_logout deleted file mode 100644 index de4f5f7..0000000 --- a/guix/home/.bash_logout +++ /dev/null @@ -1,7 +0,0 @@ -# ~/.bash_logout: executed by bash(1) when login shell exits. - -# when leaving the console clear the screen to increase privacy - -if [ "$SHLVL" = 1 ]; then - [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q -fi diff --git a/guix/home/.bashrc b/guix/home/.bashrc deleted file mode 100644 index 9360f69..0000000 --- a/guix/home/.bashrc +++ /dev/null @@ -1,113 +0,0 @@ -# ~/.bashrc: executed by bash(1) for non-login shells. -# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) -# for examples - -# If not running interactively, don't do anything -case $- in - *i*) ;; - *) return;; -esac - -# don't put duplicate lines or lines starting with space in the history. -# See bash(1) for more options -HISTCONTROL=ignoreboth - -# append to the history file, don't overwrite it -shopt -s histappend - -# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) -HISTSIZE=1000 -HISTFILESIZE=2000 - -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. -shopt -s checkwinsize - -# If set, the pattern "**" used in a pathname expansion context will -# match all files and zero or more directories and subdirectories. -#shopt -s globstar - -# make less more friendly for non-text input files, see lesspipe(1) -#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" - -# set variable identifying the chroot you work in (used in the prompt below) -if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then - debian_chroot=$(cat /etc/debian_chroot) -fi - -# set a fancy prompt (non-color, unless we know we "want" color) -case "$TERM" in - xterm-color|*-256color) color_prompt=yes;; -esac - -# uncomment for a colored prompt, if the terminal has the capability; turned -# off by default to not distract the user: the focus in a terminal window -# should be on the output of commands, not on the prompt -#force_color_prompt=yes - -if [ -n "$force_color_prompt" ]; then - if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then - # We have color support; assume it's compliant with Ecma-48 - # (ISO/IEC-6429). (Lack of such support is extremely rare, and such - # a case would tend to support setf rather than setaf.) - color_prompt=yes - else - color_prompt= - fi -fi - -if [ "$color_prompt" = yes ]; then - PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' -else - PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' -fi -unset color_prompt force_color_prompt - -# If this is an xterm set the title to user@host:dir -case "$TERM" in -xterm*|rxvt*) - PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" - ;; -*) - ;; -esac - -# enable color support of ls and also add handy aliases -if [ -x /usr/bin/dircolors ]; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls --color=auto' - #alias dir='dir --color=auto' - #alias vdir='vdir --color=auto' - - #alias grep='grep --color=auto' - #alias fgrep='fgrep --color=auto' - #alias egrep='egrep --color=auto' -fi - -# colored GCC warnings and errors -#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' - -# some more ls aliases -#alias ll='ls -l' -#alias la='ls -A' -#alias l='ls -CF' - -# Alias definitions. -# You may want to put all your additions into a separate file like -# ~/.bash_aliases, instead of adding them here directly. -# See /usr/share/doc/bash-doc/examples in the bash-doc package. - -if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases -fi - -# enable programmable completion features (you don't need to enable -# this, if it's already enabled in /etc/bash.bashrc and /etc/profile -# sources /etc/bash.bashrc). -if ! shopt -oq posix; then - if [ -f /usr/share/bash-completion/bash_completion ]; then - . /usr/share/bash-completion/bash_completion - elif [ -f /etc/bash_completion ]; then - . /etc/bash_completion - fi -fi diff --git a/guix/home/home-configuration.scm b/guix/home/home-configuration.scm index d6f50de..2d4ccc8 100644 --- a/guix/home/home-configuration.scm +++ b/guix/home/home-configuration.scm @@ -8,100 +8,287 @@ (gnu packages) (gnu services) (guix gexp) + (gnu home services) (gnu home services shells) - (gnu home services pm)) + (gnu home services pm) + (gnu home services desktop) + (gnu packages xdisorg) + (gnu home services sound) + (small-guix home services gammastep)) (home-environment ;; Below is the list of packages that will show up in your ;; Home profile, under ~/.guix-home/profile. - (packages (specifications->packages (list "element-desktop" - "emacs-next-pgtk-xwidgets" - "nyxt" - "gnome-tweaks" - "calibre" - "arc-theme" - "nautilus" - "thunar" - "numix-gtk-theme" - "wine64" - "guile-goblins" - "xdg-desktop-portal" - "transmission:gui" - "transmission" - "nicotine+" - "gammastep" - "hyprland" - "mako" - "gimp-resynthesizer" - "gzdoom" - "irssi" - "gnubg" - "freegish" - "eog" - "qpwgraph" - "libreoffice" - "evince" - "krita" - "kigo" - "keepassxc" - "gedit" - "gimp" - "seahorse" - "pavucontrol" - "guile-chickadee" - "inkscape" - "pipewire" - "gdk-pixbuf-xlib" - "i3status" - "kitty" - "mesa-utils" - "mesa" - "foot" - "i3-wm" - "tumbler" - "gdk-pixbuf" - "mu" - "rust" - "sway" - "rofi-wayland" - "xorg-server-xwayland" - "non-mixer" - "swaybg" - "gnupg" - "wfetch" - "emacs-next-pgtk" - "guile3-dbd-mysql" - "artanis" - "texlive-etbb" - "hyfetch" - "guile3-dbd-sqlite3" - "guile3-dbi" - "surfraw" - "valgrind" - "guile-readline" - "emacs-scel" - "xxd" - "basu" - "icedove-wayland" - "icedove-l10n:sl" - "guile" - "nss-certs" - "glibc-locales"))) + (packages + (specifications->packages + (list + ;; Chat + "element-desktop" + "irssi" + "signal-desktop" + + ;; Emacs in paketi + "emacs-next-pgtk-xwidgets" + "emacs-use-package" + "emacs-benchmark-init" + "emacs-general" + "emacs-evil" + "emacs-evil-collection" + "emacs-evil-org" + ;"emacs-treemacs-evil" + "emacs-vertico" + ;"emacs-savehist" + "emacs-marginalia" + "emacs-orderless" + ;"emacs-nerd-icons-completion" + "emacs-swiper" + "emacs-counsel" + "emacs-smex" + "emacs-helpful" + "emacs-which-key" + "emacs-crdt" + "emacs-openwith" + "emacs-org" + ;"emacs-ob-mermaid" + "emacs-visual-fill-column" + "emacs-writeroom" + "emacs-org-caldav" + "emacs-org-bullets" + "emacs-htmlize" + "emacs-gruvbox-theme" + "emacs-doom-modeline" + "emacs-nerd-icons" + "emacs-undo-tree" + "emacs-markdown-mode" + "emacs-guix" + "emacs-projectile" + "emacs-counsel-projectile" + "emacs-editorconfig" + "emacs-treemacs" + "emacs-smartparens" + "emacs-company" + "emacs-flycheck" + "emacs-format-all-the-code" + "emacs-direnv" + "emacs-magit" + ;"emacs-treesit-auto" + "emacs-rainbow-delimiters" + "emacs-geiser-guile" + "emacs-racket-mode" + "emacs-slime" + "emacs-web-mode" + "emacs-restclient" + "emacs-php-mode" + ;"emacs-drupal-mode" + ;"emacs-geben" + "emacs-js2-mode" + ;"emacs-vue-mode" + "emacs-rjsx-mode" + "emacs-pyvenv" + ;"emacs-sclang" + ;"emacs-fluxus-mode" + "emacs-extempore-mode" + ;"emacs-tidal" + "emacs-toml-mode" + "emacs-yaml-mode" + "emacs-arduino-mode" + "emacs-lsp-mode" + ;"emacs-mu4e" + ;"emacs-mu4e-marker-icons" + "emacs-mu4e-dashboard" + ;"emacs-mu4e-thread-folding" + "emacs-nyan-mode" + "emacs-svg-icon" + "emacs-scel" + "emacs-spinner" + + ;; Splet + "librewolf" + "nyxt" + "surfraw" + + ;; Brskanje po fajlih + "nautilus" + "thunar" + "ncdu" + + ;; Wine za wins programe + "wine64" + + ;; Guile programiranje + "guile-next" + "guile-goblins" + "guile-chickadee" + "guile-readline" + "guile-dbi" + "guile-dbd-mysql" + "guile-dbd-sqlite3" + "artanis" + "guile-studio" + "sicp" + + ;; Torrenti / fajl sharing + "transmission:gui" + "transmission" + "nicotine+" + + ;; Terminal, orodja + "foot" + "screen" + "reptyr" + "ripgrep" + "rsync" + "direnv" + "openssh" + "sshfs" + "woff-tools" + "gzip" + "unzip" + "pwgen" + "jq" + "curl" + "nextcloud-client" + "powertop" ; poraba energije + "ncurses" ; clear ukaz, najbrz tudi kaksni drugi + + ;; upravljanje oken + "swayfx" + "xorg-server" + "xorg-server-xwayland" + "swaybg" + "i3-wm" + "i3status" + "rofi-wayland" + "mako" + "libnotify" + "gammastep" + "xdg-desktop-portal" + "xdg-desktop-portal-wlr" + "i3-autotiling" + "eog" ; gledanje slik + "vlc" ; multimedia plejer + "keepassxc" ; gesla / keyring + "seahorse" ; keyring urejevalnik + "glib:bin" ; za gsettings ukaz + "grim" ; zaslonske slike + "slurp" ; zaslonske slike + "pamixer" ; za jakost stimat + "brightnessctl" ; svetlost zaslona + "wdisplays" ; nastavitve zaslonov + + ;; pisave + "font-liberation" + "font-linuxlibertine" + "font-ghostscript" + "font-dejavu" + "font-gnu-freefont" + + ;; zvok + "pipewire" + "qpwgraph" + "qjackctl" + "pavucontrol" + "alsa-utils" + "non-mixer" + "audacity" + "ardour" + "infamous-plugins" + "swh-plugins-lv2" + "zam-plugins" + "x42-plugins" + "caps-plugins-lv2" + "zplugins" + "lsp-plugins" + "distrho-ports" + "omins-lv2" + "supercollider:ide" + + ;; mrezna orodja + "xl2tpd" + "strongswan" + "nmap" + "wireshark" + "bind:utils" + ;; urejanje in branje dokumentov (ne-emacs) + "libreoffice" + "evince" + "calibre" + "gedit" + "okular" ;; Digitalno podpisovanje pdf dokumentov + + ;; Urejanje slik + "gimp" + "inkscape" + "gimp-resynthesizer" ; magicna orodja v gimpu + + ;; video urejanje + "kdenlive" + "pitivi" + ;"olive" + + ;; Eye candy + "gnome-tweaks" + "arc-theme" + "numix-gtk-theme" + "qt5ct" + ;"hyprland" + ;"hyfetch" + ;"xdg-desktop-portal-hyprland" + "wfetch" + "texlive-etbb" + "bibata-cursor-theme" + "delft-icon-theme" + + ;; Programiranje + "rust" + "valgrind" + "xxd" + "make" + "python" + + ;; Igre + "gzdoom" + "gnubg" + "freegish" + "kigo" + + ;; E-pošta + "icedove-wayland" + "icedove-l10n:sl" + "mu" + "gnupg" + + ;; Razno + "mesa" + "mesa-utils" + "nss-certs" + "glibc-locales"))) ;; Below is the list of Home services. To search for available ;; services, run 'guix home search KEYWORD' in a terminal. (services - (list (service home-bash-service-type - (home-bash-configuration - (aliases '(("ls" . "ls --color=auto"))) - (bashrc (list (local-file ".bashrc" "bashrc"))) - (bash-logout (list (local-file ".bash_logout" - "bash_logout"))))) + (list ;; Shell - zsh + (service home-zsh-service-type + (home-zsh-configuration + (zlogin (list (local-file "../../.zlogin" "zlogin"))) + (zshrc (list (local-file "../../.zshrc" "zshrc"))) + (zprofile (list (local-file "../../.zprofile" "zprofile"))))) + ;; Razni dotfajli - konfiguracije + (service home-xdg-configuration-files-service-type + `(("sway/config" ,(local-file "../../.config/sway/config")) + ("rofi/config.rasi" ,(local-file "../../.config/rofi/config.rasi")) + ("foot/foot.ini" ,(local-file "../../.config/foot/foot.ini")) + ;; Desktop file overrides; pw-jack za supercolider + ("share/applications/SuperColliderIDE.desktop", "../../applications/SuperColliderIDE.desktop") + ("share/applications/emacs.desktop", "../../applications/emacs.desktop"))) + ;; TODO povezi se druge dotfajle! + ;; Indikator prazne baterije (service home-batsignal-service-type) - (service home-redshift-service-type - (home-redshift-configuration - (location-provider 'manual) - (latitude 46.05108) - (longitude 14.50513))) - (service home-dbus-configuration) - (service home-pipewire-service-type))) + ;; Rdecenje zaslona + (service gammastep-service-type + (gammastep-configuration + (coordinates "46.05108:14.50513"))) + ;; Dbus storitev, ki se rabi kdaj + (service home-dbus-service-type) + ;; Pipewire sound daemon + (service home-pipewire-service-type)))) diff --git a/povezi.sh b/povezi.sh index 1d14e4b..b11f6cb 100755 --- a/povezi.sh +++ b/povezi.sh @@ -70,7 +70,6 @@ ln -s "$DIR/bin/inactive-windows-transparency.py" ~/bin/inactive-windows-transpa ln -s "$DIR/bin/png2ico" ~/bin/png2ico # png v ico konverzija ln -s "$DIR/bin/vmpk-pa" ~/bin/vmpk-pa -ln -s "$DIR/bin/autotiling.py" ~/bin/autotiling.py # Guile ln -s "$DIR/.guile" ~/.guile @@ -85,8 +84,7 @@ ln -s "$DIR/applications/arduino2.desktop" ~/.local/share/applications/arduino2. mkdir ~/.emacs.d ln -s "$DIR/.emacs.d/init.el" ~/.emacs.d/init.el ln -s "$DIR/.emacs.d/config.org" ~/.emacs.d/config.org -ln -s "$DIR/.emacs.d/projectile-bookmarks.eld" ~/.emacs.d/projectile-bookmarks.eld -ln -s "$DIR/.emacs.d/bookmarks" ~/.emacs.d/bookmarks +ln -s "$DIR/.emacs.d/sclang-helper.el" ~/.emacs.d/sclang-helper.el # SSH (timeout) mkdir ~/.ssh