Pedenanje konfiguracij, guile, guix + guix home!

deblo
Jurij Podgoršek 2024-08-21 17:30:42 +02:00
parent e069bef4e9
commit a6f7721898
23 changed files with 709 additions and 663 deletions

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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))

View File

@ -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!

View File

@ -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)

View File

@ -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
View File

@ -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"))

View File

@ -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"

1
.profile 120000
View File

@ -0,0 +1 @@
.zprofile

View File

@ -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
View File

@ -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

View File

@ -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
View File

@ -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"

5
Makefile 100644
View File

@ -0,0 +1,5 @@
DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
guix-home:
guix home reconfigure $(DIR)guix/home/home-configuration.scm

View File

@ -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

View File

@ -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

View File

@ -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()

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/usr/bin/env bash
# Screenshot na waylandu! # Screenshot na waylandu!
# DEPS: grim, slurp # DEPS: grim, slurp

View File

@ -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)))

View File

@ -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

View File

@ -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

View File

@ -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))))

View File

@ -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