Pedenanje konfiguracij, guile, guix + guix home!
parent
e069bef4e9
commit
a6f7721898
|
@ -82,3 +82,5 @@ URxvt*depth: 32
|
||||||
URxvt*background: [94]S_base03
|
URxvt*background: [94]S_base03
|
||||||
|
|
||||||
xterm*decTerminalID : vt340
|
xterm*decTerminalID : vt340
|
||||||
|
|
||||||
|
Xcursor.theme: Bibata-Original-Classic
|
||||||
|
|
|
@ -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)
|
|
@ -17,7 +17,7 @@ set $term footclient
|
||||||
font pango:Iosevka SS05 Medium 10
|
font pango:Iosevka SS05 Medium 10
|
||||||
|
|
||||||
# Kurzor
|
# Kurzor
|
||||||
seat * xcursor_theme Bibata-Modern-Classic 24
|
seat * xcursor_theme Bibata-Original-Classic 24
|
||||||
|
|
||||||
# Launcher
|
# Launcher
|
||||||
set $menu "rofi -combi-modi window,drun,run -show combi -modi combi"
|
set $menu "rofi -combi-modi window,drun,run -show combi -modi combi"
|
||||||
|
@ -289,6 +289,7 @@ input "type:keyboard" {
|
||||||
|
|
||||||
# Touchpad fensi
|
# Touchpad fensi
|
||||||
input "type:touchpad" {
|
input "type:touchpad" {
|
||||||
|
events enabled
|
||||||
tap enabled
|
tap enabled
|
||||||
click_method clickfinger
|
click_method clickfinger
|
||||||
natural_scroll enabled
|
natural_scroll enabled
|
||||||
|
@ -318,9 +319,9 @@ bindsym $mod+shift+a exec "$vol_toggle_cmd"
|
||||||
# GTK tema
|
# GTK tema
|
||||||
set $gnome-schema org.gnome.desktop.interface
|
set $gnome-schema org.gnome.desktop.interface
|
||||||
exec_always {
|
exec_always {
|
||||||
gsettings set $gnome-schema gtk-theme 'Arc-Darker'
|
gsettings set $gnome-schema gtk-theme "Arc-Darker"
|
||||||
gsettings set $gnome-schema icon-theme 'Papirus'
|
gsettings set $gnome-schema icon-theme "Delft-Mint"
|
||||||
gsettings set $gnome-schema cursor-theme 'Adwaita'
|
gsettings set $gnome-schema cursor-theme "Bibata-Original-Classic"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Zvetlost zaslona
|
# 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
|
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||||
|
|
||||||
# transparenca nekativnih oken
|
# transparenca nekativnih oken
|
||||||
exec ~/bin/inactive-windows-transparency.py
|
#exec_always ~/bin/inactive-windows-transparency.py
|
||||||
|
|
||||||
# Desktop notifikacije
|
# 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
|
# Autotiling https://github.com/nwg-piotr/autotiling
|
||||||
exec ~/bin/autotiling.py
|
exec autotiling
|
||||||
|
|
||||||
# Rdece, da lahko spim, hvala
|
# 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
|
# Zagoni programov razporejeni na workspejse
|
||||||
workspace 0:
|
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'
|
#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
|
# prazna baterija tezenje
|
||||||
exec ~/bin/swaynag-battery
|
#exec ~/bin/swaynag-battery
|
||||||
|
|
||||||
# Lebdeca okna (najdes preko "swaymsg -t get_tree")
|
# Lebdeca okna (najdes preko "swaymsg -t get_tree")
|
||||||
for_window [app_id="org.keepassxc.KeePassXC"] floating enable
|
for_window [app_id="org.keepassxc.KeePassXC"] floating enable
|
||||||
|
|
||||||
# Foot terminal server!
|
# Foot terminal server!
|
||||||
exec foot --server
|
exec foot --server
|
||||||
|
|
||||||
|
# SwayFX
|
||||||
|
blur disable
|
||||||
|
blur_passes 1
|
||||||
|
corner_radius 5
|
||||||
|
shadows disable
|
||||||
|
shadows_on_csd enable
|
||||||
|
default_dim_inactive 0.2
|
||||||
|
|
|
@ -2,7 +2,10 @@
|
||||||
;;; This format is meant to be slightly human-readable;
|
;;; This format is meant to be slightly human-readable;
|
||||||
;;; nevertheless, you probably don't want to edit it.
|
;;; nevertheless, you probably don't want to edit it.
|
||||||
;;; -*- End Of Bookmark File Format Version Stamp -*-
|
;;; -*- 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")
|
(front-context-string . "** TODO Vrstni r")
|
||||||
(rear-context-string . "2024-01-05 pet]\n") (position . 661)
|
(rear-context-string . "2024-01-05 pet]\n") (position . 661)
|
||||||
(last-modified 26008 34892 637157 892000))
|
(last-modified 26008 34892 637157 892000))
|
||||||
|
|
|
@ -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).
|
~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
|
#+begin_src emacs-lisp
|
||||||
(setq debug-on-error t)
|
;(setq debug-on-error t)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Pospešimo zagon z zmanjšanjem frekvence zbiranja smeti (garbage collection).
|
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 '("org" . "https://orgmode.org/elpa/") t)
|
||||||
(add-to-list 'package-archives '("elpa" . "https://elpa.gnu.org/packages/") t)
|
(add-to-list 'package-archives '("elpa" . "https://elpa.gnu.org/packages/") t)
|
||||||
(package-initialize)
|
(package-initialize)
|
||||||
|
;(require 'use-package)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Vklop merjenja časa nalaganja posameznih paketov.
|
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.
|
Evil v ~treemacs~ drevesu datotečnega sistema.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package treemacs-evil :after treemacs)
|
;(use-package treemacs-evil :after treemacs)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Emacs splošno
|
* 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.
|
~nerd-icons-completion~ nam dired in ostalo dopolnjevanje pojača z ikonami.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package nerd-icons-completion
|
;(use-package nerd-icons-completion :init (nerd-icons-completion-mode))
|
||||||
:init
|
|
||||||
(nerd-icons-completion-mode))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Iskanje
|
** Iskanje
|
||||||
|
@ -486,6 +485,12 @@ Koledarski teden naj se začne s ponedeljkom, kot je pri nas konvencija.
|
||||||
(setq calendar-week-start-day 1)
|
(setq calendar-week-start-day 1)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Slike naj bodo omejene širine.
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(setq org-image-actual-width (list 600))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
** Diagrami
|
** Diagrami
|
||||||
|
|
||||||
Razširitev orgmode z diagramiranje preko [[https://graphviz.org/docs/layouts/dot/][DOT]] ter [[https://ditaa.sourceforge.net/#usage][ditaa]].
|
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)\\'")
|
(use-package markdown-mode :mode "\\.(md|markdown)\\'")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* GNU/Guix
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package guix :ensure f)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Delo s projekti
|
* 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.
|
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
|
:ensure smartparens
|
||||||
:hook (prog-mode text-mode markdown-mode)
|
:hook (prog-mode text-mode markdown-mode)
|
||||||
:config
|
:config
|
||||||
(require 'smartparens-config))
|
(require 'smartparens-config)
|
||||||
|
(sp-pair "'" "'" :actions nil))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Avtomatsko dopolnjevanje izrazov.
|
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
|
"e r" 'geiser-eval-region
|
||||||
"b e" 'geiser-eval-buffer)
|
"b e" 'geiser-eval-buffer)
|
||||||
:init
|
:init
|
||||||
(setq scheme-program-name "guile")
|
|
||||||
(setq geiser-mode-auto-p nil))
|
(setq geiser-mode-auto-p nil))
|
||||||
|
|
||||||
(use-package arei
|
|
||||||
:ensure f
|
|
||||||
:disabled t)
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Kdaj delam tudi z [[https://racket-lang.org/][racket]].
|
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
|
#+begin_src emacs-lisp
|
||||||
:general-config
|
:general-config
|
||||||
|
;:general
|
||||||
(start/leader-keys
|
(start/leader-keys
|
||||||
:keymaps 'php-mode-map
|
:keymaps 'php-mode-map
|
||||||
"d d" (defun drupal-cache-rebuild ()
|
"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.
|
[[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
|
#+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
|
#+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).
|
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
|
#+begin_src emacs-lisp
|
||||||
(use-package sclang
|
;(require 'sclang)
|
||||||
:ensure f
|
;(global-set-key (kbd "S-RET") 'sclang-eval-region-or-line)
|
||||||
:mode "\\.scd\\'"
|
;(global-set-key (kbd "C-.") 'sclang-server-free-all)
|
||||||
:config
|
#+end_src
|
||||||
(global-set-key (kbd "S-RET") 'sclang-eval-region-or-line)
|
|
||||||
(global-set-key (kbd "C-.") 'sclang-server-free-all))
|
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
|
#+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.
|
[[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
|
*** isync
|
||||||
|
|
||||||
**** Namestitev
|
**** Namestitev
|
||||||
|
|
||||||
Najprej namestimo isync. Primer za guix ter debian.
|
Najprej namestimo isync. Primer za guix ter debian.
|
||||||
|
|
||||||
#+begin_src sh
|
#+begin_src sh
|
||||||
|
@ -1379,18 +1388,19 @@ Preglednost lahko izboljšamo s paketom za ikone.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package mu4e-dashboard
|
(use-package mu4e-dashboard
|
||||||
:after mu4e
|
:after mu4e)
|
||||||
:vc "https://github.com/rougier/mu4e-dashboard")
|
; :vc "https://github.com/rougier/mu4e-dashboard")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
~mu4e-thread-folding~ nam skrči niti v posamezne vrstice, ki jih lahko razširimo.
|
~mu4e-thread-folding~ nam skrči niti v posamezne vrstice, ki jih lahko razširimo.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package svg-icon
|
(use-package svg-icon)
|
||||||
:vc (svg-icon :url "https://github.com/rougier/emacs-svg-icon"))
|
; :vc (svg-icon :url "https://github.com/rougier/emacs-svg-icon"))
|
||||||
(use-package mu4e-thread-folding
|
|
||||||
:after mu4e
|
;(use-package mu4e-thread-folding
|
||||||
:vc (mu4e-thread-folding :url "https://github.com/rougier/mu4e-thread-folding"))
|
; :after mu4e
|
||||||
|
; :vc (mu4e-thread-folding :url "https://github.com/rougier/mu4e-thread-folding"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
TODO spisat dodatne konfiguracije, tega še ne uporabljam res.
|
TODO spisat dodatne konfiguracije, tega še ne uporabljam res.
|
||||||
|
@ -1418,6 +1428,7 @@ Pedenanje izgleda:
|
||||||
smtpmail-stream-type 'starttls
|
smtpmail-stream-type 'starttls
|
||||||
smtpmail-smtp-service 587)
|
smtpmail-smtp-service 587)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Razno
|
* Razno
|
||||||
|
|
||||||
Zone nyancat!
|
Zone nyancat!
|
||||||
|
|
|
@ -106,6 +106,10 @@
|
||||||
(add-hook 'subed-mode-hook 'subed-enable-show-cps))
|
(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 ;;
|
;; CUSTOM ;;
|
||||||
|
@ -119,22 +123,24 @@
|
||||||
'("ba323a013c25b355eb9a0550541573d535831c557674c8d59b9ac6aa720c21d3"
|
'("ba323a013c25b355eb9a0550541573d535831c557674c8d59b9ac6aa720c21d3"
|
||||||
default))
|
default))
|
||||||
'(package-selected-packages
|
'(package-selected-packages
|
||||||
'(2bit aggressive-indent all-the-icons arduino-mode benchmark-init
|
'(arduino-mode benchmark-init company counsel-projectile crdt
|
||||||
company counsel-projectile crdt dap-mode dashboard direnv
|
dashboard diminish direnv doom-modeline drupal-mode
|
||||||
doom-modeline drupal-mode eat editorconfig elpher eros
|
editorconfig evil-collection evil-org extempore-mode
|
||||||
evil-collection evil-org extempore-mode fluxus-mode flycheck
|
faceup fluxus-mode flycheck format-all geben
|
||||||
format-all geben geiser-guile general gruvbox-theme guix
|
geiser-guile general gruvbox-theme guix helm helpful
|
||||||
helpful htmlize lsp-mode magit-todos marginalia
|
htmlize jq-mode list-utils loop lsp-mode lsp-ui
|
||||||
mu4e-dashboard mu4e-marker-icons mu4e-thread-folding
|
magit marginalia mu4e mu4e-dashboard
|
||||||
ob-mermaid openwith orderless org-bullets org-caldav pyvenv
|
mu4e-marker-icons nyan-mode ob-mermaid openwith
|
||||||
quelpa-use-package racket-mode rainbow-delimiters restclient
|
orderless org-bullets org-caldav paredit pkg-info
|
||||||
rg rjsx-mode sclang-extensions sesman sicp slime smartparens
|
popup pos-tip pyvenv racket-mode rainbow-delimiters
|
||||||
smex subed svg-icon svg-lib tidal toml-mode treemacs-evil
|
restclient rjsx-mode sclang-extensions shut-up sicp
|
||||||
treemacs-projectile treesit-auto undo-tree vertico vue-mode
|
slime smartparens smex subed svg-icon tidal
|
||||||
web-beautify web-mode which-key writeroom-mode yaml-mode
|
toml-mode treemacs-projectile treesit-auto undo-tree
|
||||||
zone-nyan))
|
use-package vertico vue-mode web-beautify web-mode
|
||||||
|
which-key writeroom-mode yaml-mode zone-nyan))
|
||||||
'(package-vc-selected-packages
|
'(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
|
||||||
;; custom-set-faces was added by Custom.
|
;; 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-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-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)))))
|
'(org-level-4 ((t (:inherit default :weight bold :family "Sans Serif" :height 1.1)))))
|
||||||
|
|
||||||
|
|
||||||
;; supercollider mode load
|
|
||||||
;(require 'sclang)
|
|
||||||
|
|
|
@ -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 "<s-return>") 'sclang-helper-auto-eval)
|
||||||
|
(define-key map (kbd "<C-return>") '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
|
7
.guile
7
.guile
|
@ -1,6 +1,7 @@
|
||||||
;; Readline fix (za smerne tipke v replu)
|
;; 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-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"))
|
|
||||||
|
|
68
.profile
68
.profile
|
@ -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"
|
|
|
@ -7,13 +7,10 @@ Host pi
|
||||||
Host felis.kreten.si
|
Host felis.kreten.si
|
||||||
Port 2312
|
Port 2312
|
||||||
|
|
||||||
Host a2z.si
|
|
||||||
HostkeyAlgorithms ssh-dss,ssh-rsa
|
|
||||||
KexAlgorithms +diffie-hellman-group1-sha1
|
|
||||||
|
|
||||||
Host 192.168.64.100
|
Host 192.168.64.100
|
||||||
PubkeyAcceptedAlgorithms +ssh-rsa
|
PubkeyAcceptedAlgorithms +ssh-rsa
|
||||||
HostkeyAlgorithms +ssh-rsa
|
HostkeyAlgorithms +ssh-rsa
|
||||||
|
|
||||||
Host 192.168.32.1
|
Host 192.168.32.1
|
||||||
PubkeyAcceptedAlgorithms +ssh-rsa
|
PubkeyAcceptedAlgorithms +ssh-rsa
|
||||||
HostkeyAlgorithms +ssh-rsa
|
HostkeyAlgorithms +ssh-rsa
|
||||||
|
|
48
.zlogin
48
.zlogin
|
@ -1,29 +1,25 @@
|
||||||
# Solarized theme for tty, the light version.
|
# Gruvbox tema za tty. Vir: https://archive.fo/QSYHd#selection-59.0-59.639
|
||||||
# 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
|
|
||||||
if [ "$TERM" = "linux" ]; then
|
if [ "$TERM" = "linux" ]; then
|
||||||
echo -en "\e]PB657b83" # S_base00
|
echo -en "\e]P0222222" #black
|
||||||
echo -en "\e]PA586e75" # S_base01
|
echo -en "\e]P8222222" #darkgrey
|
||||||
echo -en "\e]P0073642" # S_base02
|
echo -en "\e]P1803232" #darkred
|
||||||
echo -en "\e]P62aa198" # S_cyan
|
echo -en "\e]P9982b2b" #red
|
||||||
echo -en "\e]P8002b36" # S_base03
|
echo -en "\e]P25b762f" #darkgreen
|
||||||
echo -en "\e]P2859900" # S_green
|
echo -en "\e]PA89b83f" #green
|
||||||
echo -en "\e]P5d33682" # S_magenta
|
echo -en "\e]P3aa9943" #brown
|
||||||
echo -en "\e]P1dc322f" # S_red
|
echo -en "\e]PBefef60" #yellow
|
||||||
echo -en "\e]PC839496" # S_base0
|
echo -en "\e]P4324c80" #darkblue
|
||||||
echo -en "\e]PE93a1a1" # S_base1
|
echo -en "\e]PC2b4f98" #blue
|
||||||
echo -en "\e]P9cb4b16" # S_orange
|
echo -en "\e]P5706c9a" #darkmagenta
|
||||||
echo -en "\e]P7eee8d5" # S_base2
|
echo -en "\e]PD826ab1" #magenta
|
||||||
echo -en "\e]P4268bd2" # S_blue
|
echo -en "\e]P692b19e" #darkcyan
|
||||||
echo -en "\e]P3b58900" # S_yellow
|
echo -en "\e]PEa1cdcd" #cyan
|
||||||
echo -en "\e]PFfdf6e3" # S_base3
|
echo -en "\e]P7ffffff" #lightgrey
|
||||||
echo -en "\e]PD6c71c4" # S_violet
|
echo -en "\e]PFdedede" #white
|
||||||
clear # against bg artifacts
|
clear #for background artifacting
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
|
# Sway autostart
|
||||||
# exec sway
|
if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||||
#fi
|
exec sway
|
||||||
|
fi
|
||||||
|
|
56
.zprofile
56
.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"
|
||||||
|
|
4
.zshrc
4
.zshrc
|
@ -75,6 +75,7 @@ alias sctl="systemctl"
|
||||||
alias ddrush="ddev exec drush"
|
alias ddrush="ddev exec drush"
|
||||||
alias dcomposer="ddev exec composer"
|
alias dcomposer="ddev exec composer"
|
||||||
alias offer-files="python3 -m http.server"
|
alias offer-files="python3 -m http.server"
|
||||||
|
alias make-home="cd $HOME/sredstva/dotfiles; make guix-home"
|
||||||
|
|
||||||
# X on wayland
|
# X on wayland
|
||||||
alias wxon="xhost +local:"
|
alias wxon="xhost +local:"
|
||||||
|
@ -177,3 +178,6 @@ export PATH=$HOME/.cargo/bin:$PATH
|
||||||
|
|
||||||
# Direnv
|
# Direnv
|
||||||
eval "$(direnv hook zsh)"
|
eval "$(direnv hook zsh)"
|
||||||
|
|
||||||
|
# Restart pipewire(debian)
|
||||||
|
alias restart-pipewire-debian="systemctl restart --user wireplumber pipewire pipewire-pulse"
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
||||||
|
|
||||||
|
guix-home:
|
||||||
|
guix home reconfigure $(DIR)guix/home/home-configuration.scm
|
||||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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()
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Screenshot na waylandu!
|
# Screenshot na waylandu!
|
||||||
# DEPS: grim, slurp
|
# DEPS: grim, slurp
|
||||||
|
|
159
guix/config.scm
159
guix/config.scm
|
@ -1,18 +1,32 @@
|
||||||
;; -*- mode: scheme; -*-
|
(use-modules
|
||||||
;; This is an operating system configuration template
|
(gnu)
|
||||||
;; for a "desktop" setup with GNOME and Xfce.
|
(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-service-modules desktop xorg dns networking)
|
||||||
(use-package-modules bootloaders certs shells ssh version-control emacs vim wm freedesktop xorg fontutils)
|
(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
|
(operating-system
|
||||||
(host-name "apnx")
|
(host-name "pnx")
|
||||||
(timezone "Europe/Ljubljana")
|
(timezone "Europe/Ljubljana")
|
||||||
(locale "sl_SI.utf8")
|
(locale "sl_SI.utf8")
|
||||||
|
|
||||||
|
@ -26,24 +40,15 @@
|
||||||
(initrd microcode-initrd)
|
(initrd microcode-initrd)
|
||||||
(firmware (list linux-firmware))
|
(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
|
(users (cons* (user-account
|
||||||
(name "yuri")
|
(name "g1smo")
|
||||||
(comment "Yuri")
|
(comment "Yuri")
|
||||||
(group "users")
|
(group "users")
|
||||||
|
(uid 1000)
|
||||||
|
(shell (file-append zsh "/bin/zsh"))
|
||||||
(supplementary-groups '("wheel" "netdev"
|
(supplementary-groups '("wheel" "netdev"
|
||||||
"audio" "video"
|
"audio" "video"
|
||||||
"dialout" "users"))
|
"dialout" "users" "lp"))
|
||||||
(home-directory "/home/g1smo"))
|
(home-directory "/home/g1smo"))
|
||||||
%base-user-accounts))
|
%base-user-accounts))
|
||||||
|
|
||||||
|
@ -51,7 +56,6 @@
|
||||||
(specification->package "i3status")
|
(specification->package "i3status")
|
||||||
(specification->package "dmenu")
|
(specification->package "dmenu")
|
||||||
(specification->package "st")
|
(specification->package "st")
|
||||||
(specification->package "nss-certs")
|
|
||||||
;; sistem
|
;; sistem
|
||||||
(specification->package "lvm2")
|
(specification->package "lvm2")
|
||||||
;; WM zadeve
|
;; WM zadeve
|
||||||
|
@ -61,76 +65,71 @@
|
||||||
(specification->package "i3-autotiling")
|
(specification->package "i3-autotiling")
|
||||||
(specification->package "waybar")
|
(specification->package "waybar")
|
||||||
(specification->package "gammastep")
|
(specification->package "gammastep")
|
||||||
(specification->package "kitty")
|
(specification->package "foot")
|
||||||
(specification->package "eog")
|
(specification->package "eog")
|
||||||
(specification->package "nautilus")
|
(specification->package "nautilus")
|
||||||
;; Urejevalniki teksta
|
;; Urejevalniki teksta
|
||||||
(specification->package "emacs")
|
(specification->package "emacs")
|
||||||
(specification->package "vim")
|
(specification->package "vim")
|
||||||
;; Razno
|
;; Razno
|
||||||
(sepcification->package "zsh")
|
(specification->package "zsh")
|
||||||
(specification->package "git")
|
(specification->package "git")
|
||||||
(specification->package "file"))
|
(specification->package "file"))
|
||||||
%base-packages))
|
%base-packages))
|
||||||
|
|
||||||
|
|
||||||
(services (cons* (service xfce-desktop-service-type)
|
(services
|
||||||
(service gnome-desktop-service-type)
|
(cons* (service gnome-desktop-service-type)
|
||||||
(service dnsmasq-service-type
|
(service network-manager-service-type
|
||||||
(dnsmasq-configuration
|
(network-manager-configuration
|
||||||
(cache-size 1500)))
|
(dns "dnsmasq")))
|
||||||
(service network-manager-service-type
|
(service pam-limits-service-type
|
||||||
(network-manager-configuration
|
(list
|
||||||
(dns "dnsmasq")))
|
(pam-limits-entry "@audio" 'both 'rtprio 99)
|
||||||
(service pam-limits-service-type
|
(pam-limits-entry "@audio" 'both 'memlock 'unlimited)))
|
||||||
(list
|
(service tlp-service-type
|
||||||
(pam-limits-entry "@audio" 'both 'rtprio 99)
|
(tlp-configuration
|
||||||
(pam-limits-entry "@audio" 'both 'memlock 'unlimited)))
|
(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
|
(swap-devices
|
||||||
(lambda (service)
|
(list (swap-space
|
||||||
(eq? network-manager-service-type (service-kind service)))
|
(target (uuid "76019829-e8eb-477c-a08a-d2ccff3fcdd5")))))
|
||||||
%desktop-services)))
|
|
||||||
|
|
||||||
(swap-devices (list (swap-space
|
(mapped-devices
|
||||||
(target (uuid
|
(list (mapped-device
|
||||||
"76019829-e8eb-477c-a08a-d2ccff3fcdd5")))))
|
(source (uuid "3020ad8b-ee01-49e2-8a46-3f66c902ef67"))
|
||||||
;(mapped-devices (list (mapped-device
|
(target "sda3_crypt")
|
||||||
; (source (uuid
|
(type luks-device-mapping))
|
||||||
; "52c83c72-c391-4a71-8405-897603f61363"))
|
(mapped-device
|
||||||
; (target "gpnx-root")
|
(source "dbn-vg")
|
||||||
; (type luks-device-mapping))
|
(targets (list "dbn--vg-guix" "dbn--vg-home"))
|
||||||
; (mapped-device
|
(type lvm-device-mapping))))
|
||||||
; (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))
|
|
||||||
; ))
|
|
||||||
|
|
||||||
;; Allow resolution of '.local' host names with mDNS.
|
;; Allow resolution of '.local' host names with mDNS.
|
||||||
(name-service-switch %mdns-host-lookup-nss)
|
(name-service-switch %mdns-host-lookup-nss)
|
||||||
|
|
||||||
(file-systems (cons* (file-system
|
(file-systems
|
||||||
(mount-point "/")
|
(cons* (file-system
|
||||||
(device "/dev/mapper/gpnx-root")
|
(mount-point "/")
|
||||||
(type "ext4")
|
(device "/dev/mapper/dbn--vg-guix")
|
||||||
(dependencies mapped-devices))
|
(type "btrfs")
|
||||||
(file-system
|
(options "subvol=@root,compress-force=zstd,space_cache=v2")
|
||||||
(mount-point "/boot")
|
(dependencies mapped-devices))
|
||||||
(device (uuid "65689a28-4afb-4c40-9ff2-2a0df1168a86"))
|
(file-system
|
||||||
(type "ext2"))
|
(mount-point "/home")
|
||||||
(file-system
|
(device "/dev/mapper/dbn--vg-home")
|
||||||
(mount-point "/boot/efi")
|
(type "ext4")
|
||||||
(device (uuid "3F44-75AB"
|
(dependencies mapped-devices))
|
||||||
'fat16))
|
(file-system
|
||||||
(type "vfat"))
|
(mount-point "/boot/efi")
|
||||||
;(file-system
|
(device (uuid "3F44-75AB" 'fat))
|
||||||
;(mount-point "/home/g1smo/dbn")
|
(type "vfat"))
|
||||||
;(device "/dev/mapper/dbn-home")
|
%base-file-systems)))
|
||||||
;(type "ext4")
|
|
||||||
;(dependencies mapped-devices))
|
|
||||||
%base-file-systems)))
|
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -8,100 +8,287 @@
|
||||||
(gnu packages)
|
(gnu packages)
|
||||||
(gnu services)
|
(gnu services)
|
||||||
(guix gexp)
|
(guix gexp)
|
||||||
|
(gnu home services)
|
||||||
(gnu home services shells)
|
(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
|
(home-environment
|
||||||
;; Below is the list of packages that will show up in your
|
;; Below is the list of packages that will show up in your
|
||||||
;; Home profile, under ~/.guix-home/profile.
|
;; Home profile, under ~/.guix-home/profile.
|
||||||
(packages (specifications->packages (list "element-desktop"
|
(packages
|
||||||
"emacs-next-pgtk-xwidgets"
|
(specifications->packages
|
||||||
"nyxt"
|
(list
|
||||||
"gnome-tweaks"
|
;; Chat
|
||||||
"calibre"
|
"element-desktop"
|
||||||
"arc-theme"
|
"irssi"
|
||||||
"nautilus"
|
"signal-desktop"
|
||||||
"thunar"
|
|
||||||
"numix-gtk-theme"
|
;; Emacs in paketi
|
||||||
"wine64"
|
"emacs-next-pgtk-xwidgets"
|
||||||
"guile-goblins"
|
"emacs-use-package"
|
||||||
"xdg-desktop-portal"
|
"emacs-benchmark-init"
|
||||||
"transmission:gui"
|
"emacs-general"
|
||||||
"transmission"
|
"emacs-evil"
|
||||||
"nicotine+"
|
"emacs-evil-collection"
|
||||||
"gammastep"
|
"emacs-evil-org"
|
||||||
"hyprland"
|
;"emacs-treemacs-evil"
|
||||||
"mako"
|
"emacs-vertico"
|
||||||
"gimp-resynthesizer"
|
;"emacs-savehist"
|
||||||
"gzdoom"
|
"emacs-marginalia"
|
||||||
"irssi"
|
"emacs-orderless"
|
||||||
"gnubg"
|
;"emacs-nerd-icons-completion"
|
||||||
"freegish"
|
"emacs-swiper"
|
||||||
"eog"
|
"emacs-counsel"
|
||||||
"qpwgraph"
|
"emacs-smex"
|
||||||
"libreoffice"
|
"emacs-helpful"
|
||||||
"evince"
|
"emacs-which-key"
|
||||||
"krita"
|
"emacs-crdt"
|
||||||
"kigo"
|
"emacs-openwith"
|
||||||
"keepassxc"
|
"emacs-org"
|
||||||
"gedit"
|
;"emacs-ob-mermaid"
|
||||||
"gimp"
|
"emacs-visual-fill-column"
|
||||||
"seahorse"
|
"emacs-writeroom"
|
||||||
"pavucontrol"
|
"emacs-org-caldav"
|
||||||
"guile-chickadee"
|
"emacs-org-bullets"
|
||||||
"inkscape"
|
"emacs-htmlize"
|
||||||
"pipewire"
|
"emacs-gruvbox-theme"
|
||||||
"gdk-pixbuf-xlib"
|
"emacs-doom-modeline"
|
||||||
"i3status"
|
"emacs-nerd-icons"
|
||||||
"kitty"
|
"emacs-undo-tree"
|
||||||
"mesa-utils"
|
"emacs-markdown-mode"
|
||||||
"mesa"
|
"emacs-guix"
|
||||||
"foot"
|
"emacs-projectile"
|
||||||
"i3-wm"
|
"emacs-counsel-projectile"
|
||||||
"tumbler"
|
"emacs-editorconfig"
|
||||||
"gdk-pixbuf"
|
"emacs-treemacs"
|
||||||
"mu"
|
"emacs-smartparens"
|
||||||
"rust"
|
"emacs-company"
|
||||||
"sway"
|
"emacs-flycheck"
|
||||||
"rofi-wayland"
|
"emacs-format-all-the-code"
|
||||||
"xorg-server-xwayland"
|
"emacs-direnv"
|
||||||
"non-mixer"
|
"emacs-magit"
|
||||||
"swaybg"
|
;"emacs-treesit-auto"
|
||||||
"gnupg"
|
"emacs-rainbow-delimiters"
|
||||||
"wfetch"
|
"emacs-geiser-guile"
|
||||||
"emacs-next-pgtk"
|
"emacs-racket-mode"
|
||||||
"guile3-dbd-mysql"
|
"emacs-slime"
|
||||||
"artanis"
|
"emacs-web-mode"
|
||||||
"texlive-etbb"
|
"emacs-restclient"
|
||||||
"hyfetch"
|
"emacs-php-mode"
|
||||||
"guile3-dbd-sqlite3"
|
;"emacs-drupal-mode"
|
||||||
"guile3-dbi"
|
;"emacs-geben"
|
||||||
"surfraw"
|
"emacs-js2-mode"
|
||||||
"valgrind"
|
;"emacs-vue-mode"
|
||||||
"guile-readline"
|
"emacs-rjsx-mode"
|
||||||
"emacs-scel"
|
"emacs-pyvenv"
|
||||||
"xxd"
|
;"emacs-sclang"
|
||||||
"basu"
|
;"emacs-fluxus-mode"
|
||||||
"icedove-wayland"
|
"emacs-extempore-mode"
|
||||||
"icedove-l10n:sl"
|
;"emacs-tidal"
|
||||||
"guile"
|
"emacs-toml-mode"
|
||||||
"nss-certs"
|
"emacs-yaml-mode"
|
||||||
"glibc-locales")))
|
"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
|
;; Below is the list of Home services. To search for available
|
||||||
;; services, run 'guix home search KEYWORD' in a terminal.
|
;; services, run 'guix home search KEYWORD' in a terminal.
|
||||||
(services
|
(services
|
||||||
(list (service home-bash-service-type
|
(list ;; Shell - zsh
|
||||||
(home-bash-configuration
|
(service home-zsh-service-type
|
||||||
(aliases '(("ls" . "ls --color=auto")))
|
(home-zsh-configuration
|
||||||
(bashrc (list (local-file ".bashrc" "bashrc")))
|
(zlogin (list (local-file "../../.zlogin" "zlogin")))
|
||||||
(bash-logout (list (local-file ".bash_logout"
|
(zshrc (list (local-file "../../.zshrc" "zshrc")))
|
||||||
"bash_logout")))))
|
(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-batsignal-service-type)
|
||||||
(service home-redshift-service-type
|
;; Rdecenje zaslona
|
||||||
(home-redshift-configuration
|
(service gammastep-service-type
|
||||||
(location-provider 'manual)
|
(gammastep-configuration
|
||||||
(latitude 46.05108)
|
(coordinates "46.05108:14.50513")))
|
||||||
(longitude 14.50513)))
|
;; Dbus storitev, ki se rabi kdaj
|
||||||
(service home-dbus-configuration)
|
(service home-dbus-service-type)
|
||||||
(service home-pipewire-service-type)))
|
;; Pipewire sound daemon
|
||||||
|
(service home-pipewire-service-type))))
|
||||||
|
|
|
@ -70,7 +70,6 @@ ln -s "$DIR/bin/inactive-windows-transparency.py" ~/bin/inactive-windows-transpa
|
||||||
ln -s "$DIR/bin/png2ico" ~/bin/png2ico
|
ln -s "$DIR/bin/png2ico" ~/bin/png2ico
|
||||||
# png v ico konverzija
|
# png v ico konverzija
|
||||||
ln -s "$DIR/bin/vmpk-pa" ~/bin/vmpk-pa
|
ln -s "$DIR/bin/vmpk-pa" ~/bin/vmpk-pa
|
||||||
ln -s "$DIR/bin/autotiling.py" ~/bin/autotiling.py
|
|
||||||
|
|
||||||
# Guile
|
# Guile
|
||||||
ln -s "$DIR/.guile" ~/.guile
|
ln -s "$DIR/.guile" ~/.guile
|
||||||
|
@ -85,8 +84,7 @@ ln -s "$DIR/applications/arduino2.desktop" ~/.local/share/applications/arduino2.
|
||||||
mkdir ~/.emacs.d
|
mkdir ~/.emacs.d
|
||||||
ln -s "$DIR/.emacs.d/init.el" ~/.emacs.d/init.el
|
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/config.org" ~/.emacs.d/config.org
|
||||||
ln -s "$DIR/.emacs.d/projectile-bookmarks.eld" ~/.emacs.d/projectile-bookmarks.eld
|
ln -s "$DIR/.emacs.d/sclang-helper.el" ~/.emacs.d/sclang-helper.el
|
||||||
ln -s "$DIR/.emacs.d/bookmarks" ~/.emacs.d/bookmarks
|
|
||||||
|
|
||||||
# SSH (timeout)
|
# SSH (timeout)
|
||||||
mkdir ~/.ssh
|
mkdir ~/.ssh
|
||||||
|
|
Loading…
Reference in New Issue