I don't know
parent
d1b13ee06a
commit
4fc466d13b
|
@ -1,32 +1,3 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
function is_locked() {
|
~/dotfiles/bin/borgbackup.sh create "::home-{hostname}-{user}-{now}" $HOME --exclude-from ~/dotfiles/misc/.borgignore -x --compression=zstd -v
|
||||||
# check for lockfile
|
~/dotfiles/bin/borgbackup.sh prune --prefix "home-{hostname}-{user}" --keep-daily=4 --keep-weekly=4 --keep-monthly=6 --keep-yearly=2 --list --stats
|
||||||
if [[ -f /tmp/rbs.lock ]]; then
|
|
||||||
# process already running?
|
|
||||||
if [[ "$(ps -p $(cat /tmp/rbs.lock) | wc -l)" -gt 1 ]]; then
|
|
||||||
echo "locked"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo "unlocked"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ $(is_locked) == "locked" ]]; then
|
|
||||||
echo "process already running, aborting..."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create lockfile
|
|
||||||
rm -f /tmp/rbs.lock
|
|
||||||
echo $$ > /tmp/rbs.lock
|
|
||||||
|
|
||||||
ionice -c3 duplicity /home/yorick \
|
|
||||||
webdavs://yorickvp@yorickvp.stackstorage.com/remote.php/webdav//$(hostname | head -c3)_bak \
|
|
||||||
--ssl-cacert-file /etc/ssl/certs/ca-bundle.crt \
|
|
||||||
--encrypt-key yorick \
|
|
||||||
--include-filelist ~/dotfiles/misc/dupignore --allow-source-mismatch\
|
|
||||||
--asynchronous-upload \
|
|
||||||
--volsize 100
|
|
||||||
|
|
||||||
# remove lockfile
|
|
||||||
rm -f /tmp/rbs.lock
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
export BORG_REPO='14337@ch-s012.rsync.net:jarvis'
|
||||||
|
export BORG_REMOTE_PATH=borg1
|
||||||
|
export BORG_PASSCOMMAND="pass sysadmin/jarvis-borg"
|
||||||
|
exec borg "$@"
|
|
@ -0,0 +1,14 @@
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
ENTRY=$(find ~/.password-store/ -name "*.gpg" -printf "%P\n" | sed -e 's/\.gpg$//' | fzf)
|
||||||
|
if [ -z "$ENTRY" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
PASSENTRY=$(pass "$ENTRY")
|
||||||
|
# todo: kill after 30s
|
||||||
|
builtin echo "$PASSENTRY" | head -n1 | nohup wl-copy -f &
|
||||||
|
disown
|
||||||
|
|
||||||
|
NOTIFICATION=$(builtin echo "$PASSENTRY" | sed 1d)
|
||||||
|
notify-send -t 6000 "$NOTIFICATION"
|
||||||
|
builtin echo "$NOTIFICATION"
|
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -euo pipefail
|
||||||
|
pngfile="/tmp/sclock.png"
|
||||||
|
bmpfile="/tmp/sclock.bmp"
|
||||||
|
glitchedfile="/tmp/sclock_g.bmp"
|
||||||
|
grim -t ppm $pngfile
|
||||||
|
|
||||||
|
# convert to bmp and pixelate
|
||||||
|
convert -scale 10% -scale 1000% $pngfile $bmpfile
|
||||||
|
rm $pngfile
|
||||||
|
|
||||||
|
# Glitch it with sox FROM: https://maryknize.com/blog/glitch_art_with_sox_imagemagick_and_vim/
|
||||||
|
sox -t ul -c 1 -r 48k $bmpfile -t ul $glitchedfile trim 0 100s : echo 0.9 0.9 15 0.9
|
||||||
|
|
||||||
|
# Rotate it by 90 degrees
|
||||||
|
convert -rotate 90 $glitchedfile $bmpfile
|
||||||
|
|
||||||
|
#Glitch it again and rotate it back
|
||||||
|
sox -t ul -c 1 -r 48k $bmpfile -t ul $glitchedfile trim 0 90s : echo 0.9 0.9 15 1
|
||||||
|
convert -rotate -90 $glitchedfile $glitchedfile
|
||||||
|
rm $bmpfile
|
||||||
|
# Add lock icon, pixelate and convert back to png
|
||||||
|
# convert -gravity center -font "Hack-Bold-Nerd-Font-Complete-Mono" \
|
||||||
|
# -pointsize 200 -draw "text 0,240 ''" -channel RGBA -fill '#bf616a' \
|
||||||
|
# $glitchedfile $pngfile
|
||||||
|
# convert $glitchedfile $pngfile
|
||||||
|
|
||||||
|
swaylock -i $glitchedfile
|
||||||
|
#feh $pngfile
|
||||||
|
rm $glitchedfile
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
sed -i 's/colors:/colors-alt:/;t;s/colors-alt:/colors:/' ~/.config/alacritty/alacritty.yml
|
||||||
|
(grep -B1 '^colors:$' ~/.config/alacritty/alacritty.yml | head -n1 | grep -qi light && echo "light" || echo dark) | tee ~/dotfiles/color-scheme
|
||||||
|
#emacsclient -e "(set-solarized-theme nil '$(cat ~/dotfiles/color-scheme))" > /dev/null || true
|
||||||
|
if [ "$(cat ~/dotfiles/color-scheme)" = "dark" ]; then
|
||||||
|
dconf write /org/gnome/desktop/interface/gtk-theme "'Adwaita-dark'"
|
||||||
|
gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark'
|
||||||
|
else
|
||||||
|
dconf write /org/gnome/desktop/interface/gtk-theme "'Adwaita'"
|
||||||
|
gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita'
|
||||||
|
fi
|
|
@ -0,0 +1,5 @@
|
||||||
|
NO_OUTPUTS=$(swaymsg -t get_outputs | jq 'length')
|
||||||
|
IFS=' '
|
||||||
|
paste <(find ~/wp/ -type f | shuf | head -n$NO_OUTPUTS) <(swaymsg -t get_outputs | jq -r 'map(.name)|.[]') | while read file output; do
|
||||||
|
swaymsg output $output bg "$file" stretch
|
||||||
|
done
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#Spotify
|
||||||
|
exec playerctl metadata -f '{{emoji(status)}} {{xesam:artist}} - {{xesam:title}}' -F
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
mosquitto_pub -h frumar.local -u iot -P asdf -t "yorick/home/office/sunplate" -m $1
|
20
default.nix
20
default.nix
|
@ -1,20 +0,0 @@
|
||||||
{pkgs ? import <nixpkgs> {}, ...}:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (pkgs) lib;
|
|
||||||
bin = pkgs.callPackage ./bin/default.nix {};
|
|
||||||
i3 = with_lock: compton_name: pkgs.callPackage ./i3/i3.nix {
|
|
||||||
inherit (bin) screenshot_public;
|
|
||||||
inherit with_lock;
|
|
||||||
inherit compton_name;
|
|
||||||
};
|
|
||||||
xres = dpi: pkgs.callPackage ./x/default.nix { inherit dpi; };
|
|
||||||
in lib.mapAttrs (k: paths:
|
|
||||||
pkgs.symlinkJoin { inherit paths; name = "dotfiles-${k}"; }
|
|
||||||
) {
|
|
||||||
ascanius = [(i3 true "default") (xres 109)];
|
|
||||||
woodhouse = [(i3 false "default") (xres 44)];
|
|
||||||
pennyworth = [];
|
|
||||||
frumar = [];
|
|
||||||
jarvis = [(i3 true "intel") (xres 192)];
|
|
||||||
}
|
|
|
@ -20,10 +20,92 @@
|
||||||
;; If there is more than one, they won't work right.
|
;; If there is more than one, they won't work right.
|
||||||
'(custom-safe-themes
|
'(custom-safe-themes
|
||||||
(quote
|
(quote
|
||||||
("d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" "a8245b7cc985a0610d71f9852e9f2767ad1b852c2bdea6f4aadc12cce9c4d6d0" "8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" default)))
|
("8db4b03b9ae654d4a57804286eb3e332725c84d7cdab38463cb6b97d5762ad26" "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" "a8245b7cc985a0610d71f9852e9f2767ad1b852c2bdea6f4aadc12cce9c4d6d0" "8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" default)))
|
||||||
)
|
'(notmuch-saved-searches
|
||||||
|
(quote
|
||||||
|
((:name "unread" :query "tag:unread" :key "u")
|
||||||
|
(:name "flagged" :query "tag:flagged" :key "f")
|
||||||
|
(:name "sent" :query "tag:sent" :key "t")
|
||||||
|
(:name "drafts" :query "tag:draft" :key "d")
|
||||||
|
(:name "all mail" :query "*" :key "a")
|
||||||
|
(:name "inbox" :query "tag:inbox"))))
|
||||||
|
'(safe-local-variable-values
|
||||||
|
(quote
|
||||||
|
((eval c-set-offset
|
||||||
|
(quote inlambda)
|
||||||
|
0)
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote arglist-cont-nonempty)
|
||||||
|
(quote
|
||||||
|
(c-lineup-gcc-asm-reg c-lineup-arglist)))
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote arglist-close)
|
||||||
|
0)
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote arglist-intro)
|
||||||
|
(quote ++))
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote case-label)
|
||||||
|
0)
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote statement-case-open)
|
||||||
|
0)
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote access-label)
|
||||||
|
(quote -))
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote substatement-open)
|
||||||
|
0)
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote arglist-cont-nonempty)
|
||||||
|
(quote +))
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote arglist-cont)
|
||||||
|
0)
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote arglist-intro)
|
||||||
|
(quote +))
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote inline-open)
|
||||||
|
0)
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote defun-open)
|
||||||
|
0)
|
||||||
|
(eval c-set-offset
|
||||||
|
(quote innamespace)
|
||||||
|
0)
|
||||||
|
(indicate-empty-lines . t)))))
|
||||||
|
|
||||||
(setq org-modules '(org-bbdb org-bibtex org-docview org-gnus org-habit
|
(setq org-modules '(org-bbdb org-bibtex org-docview org-gnus org-habit
|
||||||
org-info org-irc org-mhe org-rmail org-w3m))
|
org-info org-irc org-mhe org-rmail org-w3m))
|
||||||
|
(setq max-lisp-eval-depth 10000)
|
||||||
|
(setq max-specpdl-size 13000)
|
||||||
(org-babel-load-file "~/dotfiles/emacs/emacs.org")
|
(org-babel-load-file "~/dotfiles/emacs/emacs.org")
|
||||||
|
;(add-to-list 'custom-theme-load-path "~/tmp/emacs-color-theme-solarized")
|
||||||
|
;; (defun set-solarized-theme (frame theme)
|
||||||
|
;; (set-frame-parameter frame 'background-mode theme)
|
||||||
|
;; (set-terminal-parameter frame 'background-mode theme)
|
||||||
|
;; (load-theme 'solarized)
|
||||||
|
;; ;; transparent background
|
||||||
|
;; (when (not (display-graphic-p)) (set-face-background 'default "unspecified-bg" frame)))
|
||||||
|
;; (add-hook 'after-make-frame-functions
|
||||||
|
;; (lambda (frame)
|
||||||
|
;; (let ((mode (if (display-graphic-p frame) 'light 'dark)))
|
||||||
|
;; (set-solarized-theme frame mode)
|
||||||
|
;; )))
|
||||||
|
(xterm-mouse-mode 1)
|
||||||
|
(define-key local-function-key-map "\033[73;5~" [(control return)])
|
||||||
|
(custom-set-faces
|
||||||
|
;; custom-set-faces was added by Custom.
|
||||||
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
|
;; Your init file should contain only one such instance.
|
||||||
|
;; If there is more than one, they won't work right.
|
||||||
|
'(evil-goggles-change-face ((t (:inherit diff-removed))))
|
||||||
|
'(evil-goggles-delete-face ((t (:inherit diff-removed))))
|
||||||
|
'(evil-goggles-paste-face ((t (:inherit diff-added))))
|
||||||
|
'(evil-goggles-undo-redo-add-face ((t (:inherit diff-added))))
|
||||||
|
'(evil-goggles-undo-redo-change-face ((t (:inherit diff-changed))))
|
||||||
|
'(evil-goggles-undo-redo-remove-face ((t (:inherit diff-removed))))
|
||||||
|
'(evil-goggles-yank-face ((t (:inherit diff-changed)))))
|
||||||
|
|
||||||
|
|
||||||
|
|
331
emacs/emacs.org
331
emacs/emacs.org
|
@ -9,9 +9,14 @@
|
||||||
** use-package compile-time
|
** use-package compile-time
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(eval-when-compile (require 'use-package))
|
(eval-when-compile (require 'use-package))
|
||||||
(require 'diminish)
|
;(require 'diminish)
|
||||||
(require 'bind-key)
|
(require 'bind-key)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
** Custom file
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(setq custom-file "~/dotfiles/emacs/emacs-custom.el")
|
||||||
|
(load custom-file)
|
||||||
|
#+END_SRC
|
||||||
* Org stuff
|
* Org stuff
|
||||||
** modules
|
** modules
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -38,7 +43,10 @@
|
||||||
(setq org-agenda-files (list "~/org/life.org"
|
(setq org-agenda-files (list "~/org/life.org"
|
||||||
"~/org/ru.org"
|
"~/org/ru.org"
|
||||||
"~/org/symfo.org"
|
"~/org/symfo.org"
|
||||||
"~/org/fiction.org"))
|
"~/org/fiction.org"
|
||||||
|
"~/serokell/serok.el/2019.org"
|
||||||
|
"~/engineering/lumi.org"
|
||||||
|
"~/serokell/serok.el/tasks.org"))
|
||||||
(setq org-use-fast-todo-selection t)
|
(setq org-use-fast-todo-selection t)
|
||||||
(setq org-directory "~/org")
|
(setq org-directory "~/org")
|
||||||
|
|
||||||
|
@ -72,9 +80,16 @@
|
||||||
entry
|
entry
|
||||||
(file+headline org-index-file "todo")
|
(file+headline org-index-file "todo")
|
||||||
"* TODO %?\n")))
|
"* TODO %?\n")))
|
||||||
|
|
||||||
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
| l | Today I learned | entry | (file+datetree (org-file-path til.org)) | * %? |
|
||||||
|
| u | link | entry | (file+headline org-index-file check links) | * %^L |
|
||||||
|
| w | Week review | entry | (file+datetree (org-file-path weeklog.org)) | * %? |
|
||||||
|
| t | todo item | entry | (file+headline org-index-file todo) | * TODO %? |
|
||||||
|
|
||||||
** add templates
|
** add templates
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(add-to-list 'org-structure-template-alist
|
(add-to-list 'org-structure-template-alist
|
||||||
|
@ -84,7 +99,7 @@
|
||||||
(org-babel-do-load-languages
|
(org-babel-do-load-languages
|
||||||
'org-babel-load-languages
|
'org-babel-load-languages
|
||||||
'((python . t)
|
'((python . t)
|
||||||
(sh . t)
|
|
||||||
))
|
))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
@ -105,24 +120,45 @@
|
||||||
(setq org-ref-completion-library 'org-ref-ivy-cite))
|
(setq org-ref-completion-library 'org-ref-ivy-cite))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
* Look
|
* Look
|
||||||
|
** Fonts
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(set-face-attribute 'default nil
|
||||||
|
:family "monospace"
|
||||||
|
:height 120
|
||||||
|
:weight 'normal
|
||||||
|
:width 'normal)
|
||||||
|
|
||||||
|
#+END_SRC
|
||||||
** Solarized
|
** Solarized
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package solarized
|
;; (use-package solarized
|
||||||
:if window-system
|
;; :if window-system
|
||||||
:init
|
;; :init
|
||||||
(setq-default frame-background-mode 'dark)
|
;; (setq-default frame-background-mode 'dark)
|
||||||
(set-frame-parameter nil 'background-mode 'dark)
|
;; (set-frame-parameter nil 'background-mode 'dark)
|
||||||
(add-hook 'after-make-frame-functions (lambda (frame)
|
;; (add-hook 'after-make-frame-functions (lambda (frame)
|
||||||
"Reenable solarized"
|
;; "Reenable solarized"
|
||||||
(enable-theme 'solarized-dark)))
|
;; (enable-theme 'solarized-dark)))
|
||||||
:config
|
;; :config
|
||||||
(load-theme 'solarized-dark t)
|
;; (load-theme 'solarized-dark t)
|
||||||
(enable-theme 'solarized-dark))
|
;; (enable-theme 'solarized-dark))
|
||||||
|
(setq solarized-distinct-fringe-background t)
|
||||||
|
(setq solarized-scale-org-headlines nil)
|
||||||
|
(defun reload-solarized (event)
|
||||||
|
(let ((theme (intern (concat "solarized-" (with-temp-buffer
|
||||||
|
(insert-file-contents "~/dotfiles/color-scheme")
|
||||||
|
(string-trim (buffer-string))
|
||||||
|
)))))
|
||||||
|
(load-theme theme t)))
|
||||||
|
(reload-solarized nil)
|
||||||
|
;; auto-reload
|
||||||
|
(require 'filenotify)
|
||||||
|
(file-notify-add-watch "~/dotfiles/color-scheme" '(change) 'reload-solarized)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Transparency
|
** Transparency
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(set-frame-parameter (selected-frame) 'alpha '(90 . 85))
|
(set-frame-parameter (selected-frame) 'alpha '(95 . 95))
|
||||||
(add-to-list 'default-frame-alist '(alpha . (90 . 85)))
|
(add-to-list 'default-frame-alist '(alpha . (95 . 95)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Cleaner frames
|
** Cleaner frames
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -135,6 +171,31 @@
|
||||||
(when window-system (global-hl-line-mode))
|
(when window-system (global-hl-line-mode))
|
||||||
(show-paren-mode t)
|
(show-paren-mode t)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
** live hex color previews
|
||||||
|
from https://vickychijwani.me/nuggets-from-my-emacs-part-i/
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
;; CSS color values colored by themselves
|
||||||
|
;; http://news.ycombinator.com/item?id=873541
|
||||||
|
(defvar hexcolor-keywords
|
||||||
|
'(("#[abcdef[:digit:]]+"
|
||||||
|
(0 (put-text-property
|
||||||
|
(match-beginning 0)
|
||||||
|
(match-end 0)
|
||||||
|
'face (list :background
|
||||||
|
(match-string-no-properties 0)))))))
|
||||||
|
|
||||||
|
(defun hexcolor-add-to-font-lock ()
|
||||||
|
(font-lock-add-keywords nil hexcolor-keywords))
|
||||||
|
(add-hook 'css-mode-hook 'hexcolor-add-to-font-lock)
|
||||||
|
|
||||||
|
#+END_SRC
|
||||||
|
** diminish
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
;(diminish 'undo-tree-mode)
|
||||||
|
;(diminish 'auto-revert-mode)
|
||||||
|
;(diminish 'org-indent-mode)
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
* Feel
|
* Feel
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defalias 'yes-or-no-p 'y-or-n-p)
|
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||||
|
@ -184,18 +245,19 @@
|
||||||
(setq enable-recursive-minibuffers t)
|
(setq enable-recursive-minibuffers t)
|
||||||
:config
|
:config
|
||||||
(ivy-mode t)
|
(ivy-mode t)
|
||||||
|
:diminish
|
||||||
:bind (("C-s" . swiper)
|
:bind (("C-s" . swiper)
|
||||||
("C-c C-r" . ivy-resume)
|
("C-c C-r" . ivy-resume)
|
||||||
("<f6>" . ivy-resume)))
|
("<f6>" . ivy-resume)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Counsel
|
** Counsel
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package counsel
|
(use-package counsel
|
||||||
:bind (("M-x" . counsel-M-x)
|
:bind (("M-x" . counsel-M-x)
|
||||||
("C-x C-f" . counsel-find-file)))
|
("C-x C-f" . counsel-find-file)
|
||||||
|
("C-h f" . counsel-describe-function)
|
||||||
|
("C-h v" . counsel-describe-variable)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
(global-set-key (kbd "<f1> f") 'counsel-describe-function)
|
|
||||||
(global-set-key (kbd "<f1> v") 'counsel-describe-variable)
|
|
||||||
(global-set-key (kbd "<f1> l") 'counsel-find-library)
|
(global-set-key (kbd "<f1> l") 'counsel-find-library)
|
||||||
(global-set-key (kbd "<f2> i") 'counsel-info-lookup-symbol)
|
(global-set-key (kbd "<f2> i") 'counsel-info-lookup-symbol)
|
||||||
(global-set-key (kbd "<f2> u") 'counsel-unicode-char)
|
(global-set-key (kbd "<f2> u") 'counsel-unicode-char)
|
||||||
|
@ -208,9 +270,12 @@
|
||||||
** projectile
|
** projectile
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package projectile
|
(use-package projectile
|
||||||
:config
|
:init
|
||||||
(projectile-global-mode t)
|
(setq projectile-mode-line "Projectile")
|
||||||
(use-package counsel-projectile))
|
:config
|
||||||
|
(projectile-global-mode t)
|
||||||
|
)
|
||||||
|
;(use-package counsel-projectile))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** ggtags
|
** ggtags
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -218,7 +283,58 @@
|
||||||
:demand
|
:demand
|
||||||
:bind ("M-." . ggtags-find-tag-dwim))
|
:bind ("M-." . ggtags-find-tag-dwim))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
** intuitive window resize
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
;; intuitive window resizing
|
||||||
|
(defun xor (b1 b2)
|
||||||
|
(or (and b1 b2)
|
||||||
|
(and (not b1) (not b2))))
|
||||||
|
|
||||||
|
(defun move-border-left-or-right (arg dir)
|
||||||
|
"General function covering move-border-left and move-border-right. If DIR is
|
||||||
|
t, then move left, otherwise move right."
|
||||||
|
(interactive)
|
||||||
|
(if (null arg) (setq arg 3))
|
||||||
|
(let ((left-edge (nth 0 (window-edges))))
|
||||||
|
(if (xor (= left-edge 0) dir)
|
||||||
|
(shrink-window arg t)
|
||||||
|
(enlarge-window arg t))))
|
||||||
|
|
||||||
|
(defun move-border-up-or-down (arg dir)
|
||||||
|
"General function covering move-border-up and move-border-down. If DIR is
|
||||||
|
t, then move up, otherwise move down."
|
||||||
|
(interactive)
|
||||||
|
(if (null arg) (setq arg 3))
|
||||||
|
(let ((top-edge (nth 1 (window-edges))))
|
||||||
|
(if (xor (= top-edge 0) dir)
|
||||||
|
(shrink-window arg nil)
|
||||||
|
(enlarge-window arg nil))))
|
||||||
|
|
||||||
|
(defun move-border-left (arg)
|
||||||
|
(interactive "P")
|
||||||
|
(move-border-left-or-right arg t))
|
||||||
|
|
||||||
|
(defun move-border-right (arg)
|
||||||
|
(interactive "P")
|
||||||
|
(move-border-left-or-right arg nil))
|
||||||
|
|
||||||
|
(defun move-border-up (arg)
|
||||||
|
(interactive "P")
|
||||||
|
(move-border-up-or-down arg t))
|
||||||
|
|
||||||
|
(defun move-border-down (arg)
|
||||||
|
(interactive "P")
|
||||||
|
(move-border-up-or-down arg nil))
|
||||||
|
;; keybindings for window resizing
|
||||||
|
(global-set-key (kbd "C-S-<left>") 'move-border-left)
|
||||||
|
(global-set-key (kbd "C-S-<right>") 'move-border-right)
|
||||||
|
(global-set-key (kbd "C-s-<up>") 'move-border-up)
|
||||||
|
(global-set-key (kbd "C-s-<down>") 'move-border-down)
|
||||||
|
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
: move-border-down
|
||||||
|
|
||||||
** TODO i3-emacs
|
** TODO i3-emacs
|
||||||
* editing
|
* editing
|
||||||
|
@ -232,17 +348,45 @@
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(global-linum-mode t)
|
(global-linum-mode t)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
** direnv
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package direnv
|
||||||
|
:config
|
||||||
|
(direnv-mode))
|
||||||
|
#+END_SRC
|
||||||
|
** autocomplete
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package company
|
||||||
|
:hook (after-init . global-company-mode))
|
||||||
|
#+END_SRC
|
||||||
** Indentation
|
** Indentation
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(setq-default indent-tabs-mode nil)
|
(setq-default indent-tabs-mode nil)
|
||||||
(setq-default tab-width 2) ; or any other preferred value
|
(setq-default tab-width 2) ; or any other preferred value
|
||||||
(defvaralias 'c-basic-offset 'tab-width)
|
(defvaralias 'c-basic-offset 'tab-width)
|
||||||
(defvaralias 'cperl-indent-level 'tab-width)
|
(defvaralias 'cperl-indent-level 'tab-width)
|
||||||
|
(define-key prog-mode-map (kbd "<tab>") #'company-indent-or-complete-common)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
** smart home key
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
;; "smart" home, i.e., home toggles b/w 1st non-blank character and 1st column
|
||||||
|
(defun smart-beginning-of-line ()
|
||||||
|
"Move point to first non-whitespace character or beginning-of-line."
|
||||||
|
(interactive "^") ; Use (interactive "^") in Emacs 23 to make shift-select work
|
||||||
|
(let ((oldpos (point)))
|
||||||
|
(back-to-indentation)
|
||||||
|
(and (= oldpos (point))
|
||||||
|
(beginning-of-line))))
|
||||||
|
(global-set-key [home] 'smart-beginning-of-line)
|
||||||
|
(global-set-key (kbd "C-a") 'smart-beginning-of-line)
|
||||||
|
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
** git-gutter-fringe
|
** git-gutter-fringe
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package git-gutter-fringe
|
;; (use-package git-gutter-fringe
|
||||||
:config (global-git-gutter-mode t))
|
;; :config (global-git-gutter-mode t))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** all-the-icons
|
** all-the-icons
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -265,40 +409,94 @@ from [[https://www.emacswiki.org/emacs/BackupDirectory][emacs wiki]]
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Evil
|
** Evil
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package evil
|
(global-undo-tree-mode)
|
||||||
:config (evil-mode t))
|
(setq evil-want-C-i-jump nil)
|
||||||
(use-package which-key
|
|
||||||
:init
|
(use-package evil
|
||||||
(setq which-key-allow-evil-operators t)
|
:config
|
||||||
(setq which-key-show-operator-state-maps t)
|
(evil-mode t)
|
||||||
:config
|
(evil-set-undo-system 'undo-tree)
|
||||||
(which-key-mode 1)
|
|
||||||
(which-key-setup-minibuffer)) ; do I need this?
|
; change cursor based on mode
|
||||||
|
(add-hook 'evil-insert-state-entry-hook (lambda () (when (not (display-graphic-p)) (send-string-to-terminal "\033[5 q"))))
|
||||||
|
(add-hook 'evil-normal-state-entry-hook (lambda () (when (not (display-graphic-p)) (send-string-to-terminal "\033[0 q"))))
|
||||||
|
)
|
||||||
|
(use-package which-key
|
||||||
|
:diminish
|
||||||
|
:init
|
||||||
|
(setq which-key-allow-evil-operators t)
|
||||||
|
(setq which-key-show-operator-state-maps t)
|
||||||
|
:config
|
||||||
|
(which-key-mode 1)
|
||||||
|
(which-key-setup-minibuffer)) ; do I need this?
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
: t
|
||||||
|
|
||||||
*** evil-goggles
|
*** evil-goggles
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package evil-goggles
|
(use-package evil-goggles
|
||||||
:config (evil-goggles-mode)
|
:diminish
|
||||||
(evil-goggles-use-diff-faces))
|
:config (evil-goggles-mode)
|
||||||
|
(evil-goggles-use-diff-faces))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
*** TODO [[https://github.com/emacs-evil/evil-surround][evil-surround]]
|
*** TODO [[https://github.com/emacs-evil/evil-surround][evil-surround]]
|
||||||
*** TODO more evil bindings
|
*** TODO more evil bindings
|
||||||
**** https://github.com/Somelauw/evil-org-mode/blob/master/doc/keythemes.org
|
**** https://github.com/Somelauw/evil-org-mode/blob/master/doc/keythemes.org
|
||||||
**** follow link with ret
|
**** follow link with ret
|
||||||
** TODO multiple-cursors
|
** TODO multiple-cursors
|
||||||
|
** DONE fix clipboard on wayland
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(setq wl-copy-process nil)
|
||||||
|
(defun wl-copy (text)
|
||||||
|
(setq wl-copy-process (let ((default-directory "~"))
|
||||||
|
(make-process :name "wl-copy"
|
||||||
|
:buffer nil
|
||||||
|
:command '("wl-copy" "-f" "-n")
|
||||||
|
:noquery t
|
||||||
|
:connection-type 'pipe)))
|
||||||
|
(process-send-string wl-copy-process text)
|
||||||
|
(process-send-eof wl-copy-process))
|
||||||
|
(defun wl-paste ()
|
||||||
|
(if (and wl-copy-process (process-live-p wl-copy-process))
|
||||||
|
nil
|
||||||
|
(let ((default-directory "~"))
|
||||||
|
(shell-command-to-string "wl-paste -n | tr -d '\r'"))))
|
||||||
|
(setq interprogram-cut-function 'wl-copy)
|
||||||
|
(setq interprogram-paste-function 'wl-paste)
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
: wl-paste
|
||||||
|
|
||||||
* Tools
|
* Tools
|
||||||
** Magit
|
** Magit
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package magit
|
(use-package magit
|
||||||
:bind (("C-c g" . magit-status)
|
:bind (("C-c g" . magit-status)
|
||||||
("C-c C-g l" . magit-log-all)))
|
("C-c C-g l" . magit-log-all)))
|
||||||
|
(use-package forge
|
||||||
|
:init
|
||||||
|
(setq forge-topic-list-limit '(60 . 0))
|
||||||
|
:after magit)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Pass
|
** weechat
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package pass
|
(use-package weechat
|
||||||
:commands pass)
|
:commands weechat-connect
|
||||||
|
:init
|
||||||
|
(setq weechat-more-lines-amount 100)
|
||||||
|
(setq weechat-host-default "pennyworth.yori.cc")
|
||||||
|
(setq weechat-mode-default "ssh -W localhost:%p %h")
|
||||||
|
(setq weechat-modules '(weechat-button weechat-complete weechat-notifications))
|
||||||
|
)
|
||||||
|
#+END_SRC
|
||||||
|
** notmuch
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package notmuch
|
||||||
|
:bind (("C-c n" . notmuch)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
*** TODO helm-pass or password-store or fix keybindings for pass
|
|
||||||
** TODO https://github.com/mbork/beeminder.el
|
** TODO https://github.com/mbork/beeminder.el
|
||||||
* language-specific
|
* language-specific
|
||||||
** markdown
|
** markdown
|
||||||
|
@ -322,12 +520,37 @@ from [[https://www.emacswiki.org/emacs/BackupDirectory][emacs wiki]]
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** haskell
|
** haskell
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(load-library "haskell-mode-autoloads")
|
(load-library "haskell-mode-autoloads")
|
||||||
(use-package intero
|
;; (use-package intero
|
||||||
:config (add-hook 'haskell-mode-hook 'intero-mode)
|
;; :config (add-hook 'haskell-mode-hook 'intero-mode)
|
||||||
)
|
;; )
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** TODO intero / haskell mode [[https://wiki.haskell.org/Emacs]]
|
*** TODO intero / haskell mode [[https://wiki.haskell.org/Emacs]]
|
||||||
|
** rust
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package rust-mode
|
||||||
|
:commands (rust-mode)
|
||||||
|
:mode (("\\.rs\\'" . rust-mode)))
|
||||||
|
#+END_SRC
|
||||||
|
** terraform-mode
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package terraform-mode
|
||||||
|
:commands (terraform-mode)
|
||||||
|
:mode (("\\.tf\\'" . terraform-mode)))
|
||||||
|
#+END_SRC
|
||||||
|
** vue
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package vue-mode
|
||||||
|
:commands (vue-mode)
|
||||||
|
:mode (("\\.vue\\'" . vue-mode)))
|
||||||
|
#+END_SRC
|
||||||
|
** reason
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package reason-mode
|
||||||
|
:commands (reason-mode)
|
||||||
|
:mode (("\\.re\\'" . reason-mode)))
|
||||||
|
#+END_SRC
|
||||||
** TODO proof-general
|
** TODO proof-general
|
||||||
* Inspiration
|
* Inspiration
|
||||||
** [[https://github.com/hrs/dotfiles/blob/master/emacs/.emacs.d/configuration.org][hrs]]
|
** [[https://github.com/hrs/dotfiles/blob/master/emacs/.emacs.d/configuration.org][hrs]]
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
private-keys-v1.d/
|
|
|
@ -1,2 +0,0 @@
|
||||||
enable-ssh-support
|
|
||||||
extra-socket /home/yorick/.gnupg/S.gpg-agent.extra
|
|
|
@ -1,11 +0,0 @@
|
||||||
no-greeting
|
|
||||||
require-cross-certification
|
|
||||||
charset utf-8
|
|
||||||
|
|
||||||
keyserver hkp://pool.sks-keyservers.net
|
|
||||||
#keyserver pgp.mit.edu
|
|
||||||
|
|
||||||
keyserver-options auto-key-retrieve
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
# fmt: keygrip ttl extra
|
|
||||||
# prepend ! to disable
|
|
||||||
6652F84A3ED1A644D71B1D9013E75922536031F8 60
|
|
||||||
# RSA key added on: 2016-09-21 15:02:18
|
|
||||||
# MD5 Fingerprint: c4:f3:3f:dd:37:b2:f6:41:61:83:34:4f:cf:2f:a9:cf
|
|
||||||
395DF89665BCB7086EF2B1BE9E349BAD641F6E82 60
|
|
|
@ -1,5 +1,4 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#!nix-shell -i bash -p stow
|
#!nix-shell -i bash -p stow
|
||||||
set -e
|
set -e
|
||||||
$(nix-build '<nixpkgs>' -A stow --no-out-link)/bin/stow -d `dirname $0` -t ~ nix x gpg mutt stow rofi
|
$(nix-build '<nixpkgs>' -A stow --no-out-link)/bin/stow -d `dirname $0` -t ~ nix mutt
|
||||||
nix build -f. $(hostname -s)
|
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
/home/*/.cache/*
|
||||||
|
*/cache2/*
|
||||||
|
/home/*/.local/share/Trash
|
||||||
|
*/.npm/
|
||||||
|
*/annex/
|
||||||
|
*/Cache/*
|
||||||
|
/home/*/.local/share/Steam
|
||||||
|
*/.stack
|
||||||
|
*/.stack-work
|
||||||
|
*/CacheStorage
|
||||||
|
*/*Cache
|
||||||
|
/home/*/.wine/drive_c/users/*/Temp
|
||||||
|
*/up_queue/*
|
||||||
|
/home/yorick/Lumiguide-Generic
|
|
@ -1,8 +1,9 @@
|
||||||
set my_pass = "`pass sysadmin/yori.ccMail | head -n1`"
|
set imap_user=yorick@yori.cc
|
||||||
set spoolfile = "imaps://yorick:$my_pass@pennyworth.yori.cc/INBOX"
|
set imap_pass = "`pass sysadmin/yori.ccMail | head -n1`"
|
||||||
|
set folder = "imaps://yorick@yori.cc@pennyworth.yori.cc/"
|
||||||
|
set spoolfile = "=INBOX"
|
||||||
set realname = "Yorick van Pelt"
|
set realname = "Yorick van Pelt"
|
||||||
set from = "Yorick van Pelt <yorick@yorickvanpelt.nl>"
|
set from = "Yorick van Pelt <yorick@yorickvanpelt.nl>"
|
||||||
set folder = "imaps://pennyworth.yori.cc/"
|
|
||||||
|
|
||||||
set smtp_url = "smtp://yorick@pennyworth.yori.cc:587/"
|
set smtp_url = "smtp://yorick@yori.cc@pennyworth.yori.cc:587/"
|
||||||
set smtp_pass = "$my_pass"
|
set smtp_pass = "$imap_pass"
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
cfg = config.services.arbtt;
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
options.services.arbtt = {
|
||||||
|
enable = mkEnableOption "arbtt";
|
||||||
|
|
||||||
|
package = mkOption { type = types.package; default = pkgs.haskellPackages.arbtt; };
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
systemd.user.services.arbtt = {
|
||||||
|
Unit = {
|
||||||
|
Description = "arbtt";
|
||||||
|
After = [ "graphical-session-pre.target" ];
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
ExecStart = ''
|
||||||
|
${cfg.package}/bin/arbtt-capture
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -1,14 +1,10 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
chromium = {
|
|
||||||
vaapiSupport = true;
|
|
||||||
|
|
||||||
};
|
|
||||||
# chromium = {
|
# chromium = {
|
||||||
# enablePepperFlash = true;
|
# vaapiSupport = true;
|
||||||
# enablePepperPDF = true;
|
|
||||||
# };
|
# };
|
||||||
|
android_sdk.accept_license = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,91 @@
|
||||||
{ pkgs, ... }: {
|
{ lib, config, options, ... }:
|
||||||
|
let
|
||||||
|
bin = pkgs.callPackage /home/yorick/dotfiles/bin {};
|
||||||
|
dpi = 109;
|
||||||
|
font = {
|
||||||
|
__toString = self: "${self.name} ${self.size}";
|
||||||
|
name = "DejaVu Sans Mono";
|
||||||
|
size = "11";
|
||||||
|
};
|
||||||
|
sources = import /home/yorick/nixos/nix/sources.nix;
|
||||||
|
nixpkgs-loc = /home/yorick/nixpkgs; #sources.nixpkgs;
|
||||||
|
pkgs = import nixpkgs-loc {
|
||||||
|
overlays = [
|
||||||
|
(import sources.nixpkgs-wayland)
|
||||||
|
(import sources.nixpkgs-mozilla)
|
||||||
|
(import sources.emacs-overlay)
|
||||||
|
(import ./overlays/01-backports.nix)
|
||||||
|
(import ./overlays/02-extrapkgs.nix)
|
||||||
|
(import ./overlays/03-customizations.nix)
|
||||||
|
(import ./overlays/04-combine.nix)
|
||||||
|
(import ./overlays/05-envs.nix)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
y-firefox = pkgs.wrapFirefox pkgs.latest.firefox-beta-bin.unwrapped {
|
||||||
|
forceWayland = true;
|
||||||
|
browserName = "firefox";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [ ./arbtt.nix ./libinput-gestures.nix ];
|
||||||
programs = {
|
programs = {
|
||||||
|
gh = {
|
||||||
|
enable = true;
|
||||||
|
aliases.co = "pr checkout";
|
||||||
|
};
|
||||||
|
direnv.enable = true;
|
||||||
home-manager = {
|
home-manager = {
|
||||||
enable = true;
|
enable = true;
|
||||||
path = https://github.com/rycee/home-manager/archive/master.tar.gz;
|
path = toString /home/yorick/dotfiles/nix/home-manager;
|
||||||
|
};
|
||||||
|
emacs = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.emacsPgtkGcc;
|
||||||
|
extraPackages = _: let
|
||||||
|
epkgs = pkgs.emacsPackagesFor pkgs.emacsPgtkGcc;
|
||||||
|
in (with epkgs.melpaPackages; [ reason-mode evil counsel ivy ivy-hydra swiper magit forge avy ]) ++ (with epkgs.melpaPackages; [
|
||||||
|
epkgs.undo-tree
|
||||||
|
epkgs.notmuch epkgs.rust-mode
|
||||||
|
company
|
||||||
|
projectile counsel-projectile
|
||||||
|
ggtags use-package org-bullets solarized-theme
|
||||||
|
evil-leader evil-surround #evil-magit
|
||||||
|
epkgs.evil-goggles epkgs.ox-mediawiki
|
||||||
|
nix-buffer which-key git-gutter-fringe
|
||||||
|
all-the-icons epkgs.org-cliplink
|
||||||
|
pandoc-mode markdown-mode interleave
|
||||||
|
org-ref haskell-mode request #intero
|
||||||
|
weechat s elixir-mode htmlize
|
||||||
|
linum-relative terraform-mode
|
||||||
|
direnv vue-mode solarized-theme
|
||||||
|
wlrctl
|
||||||
|
(epkgs.melpaBuild {
|
||||||
|
pname = "nix-mode";
|
||||||
|
version = "1.4.0";
|
||||||
|
packageRequires = [ json-mode epkgs.mmm-mode company ];
|
||||||
|
recipe = pkgs.writeText "recipe" ''
|
||||||
|
(nix-mode
|
||||||
|
:repo "nixos/nix-mode" :fetcher github
|
||||||
|
:files ("nix*.el"))
|
||||||
|
'';
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "nixos";
|
||||||
|
repo = "nix-mode";
|
||||||
|
rev = "ddf091708b9069f1fe0979a7be4e719445eed918";
|
||||||
|
sha256 = "0s8ljr4d7kys2xqrhkvj75l7babvk60kxgy4vmyqfwj6xmcxi3ad";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Yorick van Pelt";
|
userName = "Yorick van Pelt";
|
||||||
userEmail = "yorick@yorickvanpelt.nl";
|
userEmail = "yorick@yorickvanpelt.nl";
|
||||||
signing.key = "A36E70F9DC014A15";
|
signing.key = "A36E70F9DC014A15";
|
||||||
# signing.signByDefault = true;
|
signing.signByDefault = true;
|
||||||
extraConfig.help.autocorrect = 5;
|
extraConfig.help.autocorrect = 5;
|
||||||
extraConfig.push.default = "simple";
|
extraConfig.push.default = "simple";
|
||||||
|
extraConfig.pull.ff = "only";
|
||||||
extraConfig."includeIf \"gitdir:~/serokell/\"".path = "~/serokell/.gitconfig";
|
extraConfig."includeIf \"gitdir:~/serokell/\"".path = "~/serokell/.gitconfig";
|
||||||
aliases = {
|
aliases = {
|
||||||
lg = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative";
|
lg = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative";
|
||||||
|
@ -33,16 +107,85 @@
|
||||||
compression = true;
|
compression = true;
|
||||||
serverAliveInterval = 120;
|
serverAliveInterval = 120;
|
||||||
controlMaster = "auto";
|
controlMaster = "auto";
|
||||||
matchBlocks = {
|
matchBlocks = rec {
|
||||||
"pub.yori.cc" = {
|
"pub.yori.cc" = {
|
||||||
user = "public";
|
user = "public";
|
||||||
identityFile = "~/.ssh/id_rsa_pub";
|
identityFile = "~/.ssh/id_rsa_pub";
|
||||||
identitiesOnly = true;
|
identitiesOnly = true;
|
||||||
};
|
};
|
||||||
oxygen.hostname = "oxygen.obfusk.ch";
|
|
||||||
nyamsas = { hostname = "nyamsas.quezacotl.nl"; port = 1337; };
|
|
||||||
phassa = { hostname = "karpenoktem.nl"; port = 33933; };
|
phassa = { hostname = "karpenoktem.nl"; port = 33933; };
|
||||||
|
"jupiter.serokell.io" = jupiter;
|
||||||
|
jupiter = { hostname = "jupiter.serokell.io"; port = 17788; };
|
||||||
|
athena = { hostname = "athena.lumi.guide"; user = "yorick.van.pelt"; };
|
||||||
|
rpibuild3 = { hostname = "10.110.0.3"; user = "yorick.van.pelt"; port = 4222; };
|
||||||
|
styx = { hostname = "10.110.0.1"; user = "yorick.van.pelt"; port = 2233; };
|
||||||
|
"*.lumi.guide" = {
|
||||||
|
user = "yorick.van.pelt";
|
||||||
|
};
|
||||||
|
nyx = { hostname = "nyx.lumi.guide"; user = "yorick.van.pelt"; port = 2233; };
|
||||||
|
zeus = { hostname = "zeus.lumi.guide"; user = "yorick.van.pelt"; port = 2233; };
|
||||||
|
ponos = { hostname = "ponos.lumi.guide"; user = "yorick.van.pelt"; port = 2233; };
|
||||||
|
medusa = { hostname = "lumi.guide"; user = "yorick.van.pelt"; port = 2233; };
|
||||||
|
# signs
|
||||||
|
"10.108.0.*" = {
|
||||||
|
user = "yorick.van.pelt";
|
||||||
|
port = 4222;
|
||||||
|
# verified by wireguard key
|
||||||
|
extraOptions.StrictHostKeyChecking = "no";
|
||||||
|
};
|
||||||
|
"10.109.0.*" = {
|
||||||
|
user = "yorick.van.pelt";
|
||||||
|
# verified by wireguard key
|
||||||
|
extraOptions.StrictHostKeyChecking = "no";
|
||||||
|
};
|
||||||
|
"10.110.0.*" = {
|
||||||
|
port = 2233;
|
||||||
|
user = "yorick.van.pelt";
|
||||||
|
# verified by wireguard key
|
||||||
|
extraOptions.StrictHostKeyChecking = "no";
|
||||||
|
};
|
||||||
|
"10.111.0.*" = {
|
||||||
|
user = "yorick.van.pelt";
|
||||||
|
# verified by wireguard key
|
||||||
|
extraOptions.StrictHostKeyChecking = "no";
|
||||||
|
};
|
||||||
|
"192.168.42.*" = {
|
||||||
|
user = "yorick.van.pelt";
|
||||||
|
#proxyJump = "athena";
|
||||||
|
};
|
||||||
|
# "192.168.178.*" = {
|
||||||
|
# extraOptions.Compression = "no";
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
Match host "192.168.*.*" exec "ip route get %h | grep -v -q via"
|
||||||
|
Compression no
|
||||||
|
Match host "192.168.42.*" exec "ip route get %h | grep -q via"
|
||||||
|
ProxyJump athena
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
fish = {
|
||||||
|
enable = true;
|
||||||
|
shellAliases = {
|
||||||
|
l = "ls";
|
||||||
|
ls = "exa";
|
||||||
|
nr = "nix repl \"<nixpkgs>\"";
|
||||||
|
nsp = "nix-shell -p";
|
||||||
|
};
|
||||||
|
interactiveShellInit = ''
|
||||||
|
function fuck -d "Correct your previous console command"
|
||||||
|
set -l fucked_up_command $history[1]
|
||||||
|
env TF_SHELL=fish TF_ALIAS=fuck PYTHONIOENCODING=utf-8 thefuck $fucked_up_command THEFUCK_ARGUMENT_PLACEHOLDER $argv | read -l unfucked_command
|
||||||
|
if [ "$unfucked_command" != "" ]
|
||||||
|
eval $unfucked_command
|
||||||
|
builtin history delete --exact --case-sensitive -- $fucked_up_command
|
||||||
|
builtin history merge ^ /dev/null
|
||||||
|
end
|
||||||
|
end
|
||||||
|
starship init fish | source
|
||||||
|
source ~/dotfiles/nr.fish
|
||||||
|
'';
|
||||||
|
promptInit = "set fish_greeting";
|
||||||
};
|
};
|
||||||
bash = {
|
bash = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -51,64 +194,283 @@
|
||||||
nr = "nix repl \"<nixpkgs>\"";
|
nr = "nix repl \"<nixpkgs>\"";
|
||||||
nsp = "nix-shell -p";
|
nsp = "nix-shell -p";
|
||||||
};
|
};
|
||||||
initExtra = "eval $(thefuck --alias)";
|
initExtra = ''
|
||||||
|
#eval $(thefuck --alias)
|
||||||
|
function fuck () {
|
||||||
|
TF_PYTHONIOENCODING=$PYTHONIOENCODING;
|
||||||
|
export TF_SHELL=bash;
|
||||||
|
export TF_ALIAS=fuck;
|
||||||
|
export TF_SHELL_ALIASES=$(alias);
|
||||||
|
export TF_HISTORY=$(fc -ln -10);
|
||||||
|
export PYTHONIOENCODING=utf-8;
|
||||||
|
TF_CMD=$(
|
||||||
|
thefuck THEFUCK_ARGUMENT_PLACEHOLDER $@
|
||||||
|
) && eval $TF_CMD;
|
||||||
|
unset TF_HISTORY;
|
||||||
|
export PYTHONIOENCODING=$TF_PYTHONIOENCODING;
|
||||||
|
history -s $TF_CMD;
|
||||||
|
}
|
||||||
|
# This script was automatically generated by the broot function
|
||||||
|
# More information can be found in https://github.com/Canop/broot
|
||||||
|
# This function starts broot and executes the command
|
||||||
|
# it produces, if any.
|
||||||
|
# It's needed because some shell commands, like `cd`,
|
||||||
|
# have no useful effect if executed in a subshell.
|
||||||
|
function br {
|
||||||
|
f=$(mktemp)
|
||||||
|
(
|
||||||
|
set +e
|
||||||
|
broot --outcmd "$f" "$@"
|
||||||
|
code=$?
|
||||||
|
if [ "$code" != 0 ]; then
|
||||||
|
rm -f "$f"
|
||||||
|
exit "$code"
|
||||||
|
fi
|
||||||
|
)
|
||||||
|
code=$?
|
||||||
|
if [ "$code" != 0 ]; then
|
||||||
|
return "$code"
|
||||||
|
fi
|
||||||
|
d=$(<"$f")
|
||||||
|
rm -f "$f"
|
||||||
|
eval "$d"
|
||||||
|
}
|
||||||
|
eval "$(starship init bash)"
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xresources.properties =
|
xresources.properties = {
|
||||||
let font = "DejaVu Sans Mono";
|
"*font" = "xft:${font.name}:size=${font.size}:antialias=true:hinting=true";
|
||||||
fsize = 11;
|
"rofi.font" = toString font;
|
||||||
dpi = 192; in
|
"Emacs.font" = "${font.name}-${font.size}";
|
||||||
{
|
|
||||||
"URxvt.scrollstyle" = "plain";
|
|
||||||
"URxvt.scrollBar_right" = "true";
|
|
||||||
"URxvt.perl-ext-common" = "default,matcher,font-size,vtwheel";
|
|
||||||
"URxvt.url-launcher" = "xdg-open";
|
|
||||||
"URxvt.matcher.button" = "1";
|
|
||||||
"URxvt.urgentOnBell" = "True";
|
|
||||||
"URxvt.depth" = "32";
|
|
||||||
"URxvt.borderColor" = "S_base03";
|
|
||||||
# "! URxvt.background" = "[95]#202020";
|
|
||||||
"*font" = "xft:${font}:size=${toString fsize}:antialias=true:hinting=true";
|
|
||||||
"polybar.font" = "${font}:size=${toString fsize}:antialias=true:hinting=true;2";
|
|
||||||
"URxvt.geometry" = "100x30";
|
|
||||||
"URxvt.scrollColor" = "S_base0";
|
|
||||||
|
|
||||||
"rofi.font" = "${font} ${toString fsize}";
|
|
||||||
"Emacs.font" = "${font}-${toString fsize}";
|
|
||||||
|
|
||||||
"URxvt.font-size.step" = "4";
|
|
||||||
"URxvt.keysym.C-equal" = "perl:font-size:increase";
|
|
||||||
"URxvt.keysym.C-minus" = "perl:font-size:decrease";
|
|
||||||
|
|
||||||
"Xft.dpi" = dpi;
|
"Xft.dpi" = dpi;
|
||||||
"*dpi" = dpi;
|
"*dpi" = dpi;
|
||||||
};
|
};
|
||||||
xresources.extraConfig = builtins.readFile (
|
# xresources.extraConfig = builtins.readFile (
|
||||||
pkgs.fetchFromGitHub {
|
# pkgs.fetchFromGitHub {
|
||||||
owner = "solarized";
|
# owner = "solarized";
|
||||||
repo = "xresources";
|
# repo = "xresources";
|
||||||
rev = "025ceddbddf55f2eb4ab40b05889148aab9699fc";
|
# rev = "025ceddbddf55f2eb4ab40b05889148aab9699fc";
|
||||||
sha256 = "0lxv37gmh38y9d3l8nbnsm1mskcv10g3i83j0kac0a2qmypv1k9f";
|
# sha256 = "0lxv37gmh38y9d3l8nbnsm1mskcv10g3i83j0kac0a2qmypv1k9f";
|
||||||
} + "/Xresources.light");
|
# } + "/Xresources.dark");
|
||||||
|
home.file.".emacs.d/init.el" = { source = (toString /home/yorick/dotfiles/emacs/.emacs.d/init.el); };
|
||||||
xdg.configFile."streamlink/config".text = ''
|
xdg.configFile."streamlink/config".text = ''
|
||||||
player = mpv --cache 2048
|
player = mpv --cache 2048
|
||||||
default-stream = best
|
default-stream = best
|
||||||
'';
|
'';
|
||||||
|
xdg.configFile."waybar" = { source = ./waybar; recursive = true; onChange = "systemctl --user restart waybar"; };
|
||||||
|
programs.mako.enable = true;
|
||||||
services = {
|
services = {
|
||||||
compton = {
|
lorri.enable = true;
|
||||||
|
#arbtt.enable = true;
|
||||||
|
libinput-gestures.enable = false;
|
||||||
|
gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
backend = "glx";
|
enableSshSupport = true;
|
||||||
extraOptions = ''
|
extraConfig = ''
|
||||||
glx-no-stencil = true;
|
pinentry-program ${pkgs.pinentry_gnome}/bin/pinentry-gnome3
|
||||||
unredir-if-possible = true;
|
|
||||||
'';
|
'';
|
||||||
# nvidia = ''
|
|
||||||
# paint-on-overlay = true;
|
|
||||||
# glx-no-rebind-pixmap = true;
|
|
||||||
# glx-swap-method = -1;
|
|
||||||
# xrender-sync-fence = true;
|
|
||||||
# ''; vsync = "opengl-oml";
|
|
||||||
};
|
};
|
||||||
|
# redshift = {
|
||||||
|
# enable = false;
|
||||||
|
# latitude = "51.8";
|
||||||
|
# longitude = "5.8";
|
||||||
|
# temperature = {
|
||||||
|
# day = 6500;
|
||||||
|
# night = 5500;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
|
wayland.windowManager.sway = {
|
||||||
|
enable = true;
|
||||||
|
#package = pkgs.i3-gaps;
|
||||||
|
config = {
|
||||||
|
bars = [
|
||||||
|
#{ position = "top"; command = "swaybar"; statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs /home/yorick/dotfiles/i3/status.toml"; }
|
||||||
|
];
|
||||||
|
gaps.inner = 5;
|
||||||
|
modifier = "Mod4";
|
||||||
|
window.hideEdgeBorders = "smart";
|
||||||
|
fonts = [ (toString font) ];
|
||||||
|
window.border = 2;
|
||||||
|
floating.modifier = "Mod4";
|
||||||
|
keybindings = with pkgs; (builtins.head (builtins.head options.wayland.windowManager.sway.config.type.getSubModules).imports).options.keybindings.default //
|
||||||
|
(let exec = pkg: cmd: "exec --no-startup-id ${pkg}/bin/${cmd}"; mod = "Mod4"; in
|
||||||
|
{
|
||||||
|
"${mod}+Shift+c" = "kill";
|
||||||
|
"${mod}+j" = "focus left";
|
||||||
|
"${mod}+k" = "focus right";
|
||||||
|
"${mod}+d" = "layout toggle split";
|
||||||
|
"${mod}+i" = "exec --no-startup-id bash /home/yorick/dotfiles/bin/invert.sh";
|
||||||
|
#"${mod}+ctrl+l" = "exec --no-startup-id loginctl lock-session";
|
||||||
|
"${mod}+ctrl+l" = "exec --no-startup-id sleep 1s && pkill -USR1 swayidle";
|
||||||
|
"${mod}+Return" = "exec alacritty";
|
||||||
|
"${mod}+Escape" = "workspace back_and_forth";
|
||||||
|
"${mod}+0" = "workspace 10";
|
||||||
|
"${mod}+Shift+0" = "move container to workspace 10";
|
||||||
|
"${mod}+Shift+Left" = "move left";
|
||||||
|
"${mod}+Shift+Right" = "move right";
|
||||||
|
"${mod}+Shift+Up" = "move up";
|
||||||
|
"${mod}+Shift+Down" = "move down";
|
||||||
|
"${mod}+Ctrl+Right" = "move workspace to output right";
|
||||||
|
"${mod}+Ctrl+Left" = "move workspace to output left";
|
||||||
|
"${mod}+Ctrl+Up" = "move workspace to output up";
|
||||||
|
"${mod}+Ctrl+Down" = "move workspace to output down";
|
||||||
|
|
||||||
|
"XF86MonBrightnessUp" = exec light "light -A 5";
|
||||||
|
"XF86MonBrightnessDown" = exec light "light -U 5";
|
||||||
|
"ctrl+XF86MonBrightnessUp" = exec light "light -A 1";
|
||||||
|
"ctrl+XF86MonBrightnessDown" = exec light "light -U 1";
|
||||||
|
"XF86AudioLowerVolume" = exec alsaUtils "amixer set Master 1%-";
|
||||||
|
"XF86AudioRaiseVolume" = exec alsaUtils "amixer set Master 1%+";
|
||||||
|
"XF86AudioMute" = exec alsaUtils "amixer set Master toggle";
|
||||||
|
"${mod}+Shift+s" = exec bin.screenshot_public "screenshot_public";
|
||||||
|
"Print" = exec bin.screenshot_public "screenshot_public";
|
||||||
|
"${mod}+Shift+t" = "exec --no-startup-id /home/yorick/dotfiles/bin/toggle_solarized.sh";
|
||||||
|
"--locked ${mod}+x" = "exec /home/yorick/dotfiles/bin/docked.sh";
|
||||||
|
"${mod}+p" = "exec /home/yorick/dotfiles/bin/ala-fzf-pass.sh";
|
||||||
|
#"${mod}+p" = exec rofi-pass "rofi-pass";
|
||||||
|
"${mod}+e" = exec pkgs.wldash "wldash start-or-kill";
|
||||||
|
"--locked ${mod}+bracketleft" = "exec --no-startup-id /home/yorick/dotfiles/bin/sunplate.sh 0";
|
||||||
|
"--locked ${mod}+bracketright" = "exec --no-startup-id /home/yorick/dotfiles/bin/sunplate.sh 1";
|
||||||
|
});
|
||||||
|
};
|
||||||
|
systemdIntegration = true;
|
||||||
|
extraConfig = ''
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
input "1267:8400:ELAN_Touchscreen" {
|
||||||
|
map_to_output eDP-1
|
||||||
|
}
|
||||||
|
output "Unknown 0x00000000" {
|
||||||
|
position 0 0
|
||||||
|
bg "/home/yorick/Downloads/wallpapers/beyond-4k-2560×1440.jpg" fill
|
||||||
|
}
|
||||||
|
output "BenQ Corporation BenQ GW2765 36H03689019" {
|
||||||
|
position 2560 0
|
||||||
|
bg "/home/yorick/Downloads/wallpapers/beyond-4k-2560×1440.jpg" fill
|
||||||
|
}
|
||||||
|
output "eDP-1" {
|
||||||
|
# disable
|
||||||
|
}
|
||||||
|
input "1739:30383:DLL075B:01_06CB:76AF_Touchpad" {
|
||||||
|
natural_scroll enabled
|
||||||
|
tap enabled
|
||||||
|
dwt enabled
|
||||||
|
# middle_emulation enabled
|
||||||
|
}
|
||||||
|
input "1:1:AT_Translated_Set_2_keyboard" {
|
||||||
|
xkb_options caps:escape
|
||||||
|
}
|
||||||
|
for_window [title="TelegramDesktop"] fullscreen enable
|
||||||
|
for_window [app_id="ala-fzf"] floating enable
|
||||||
|
exec mako
|
||||||
|
exec swayidle timeout 300 'swaymsg "output * dpms off"; swaylock' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock'
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
xsession.initExtra = "xrandr --dpi ${toString dpi}";
|
||||||
|
home.sessionVariables = {
|
||||||
|
MOZ_USE_XINPUT2 = "1";
|
||||||
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
EDITOR = "emacsclient";
|
||||||
|
#GDK_BACKEND = "wayland";
|
||||||
|
TERMINAL = "alacritty";
|
||||||
|
QT_WAYLAND_DISABLE_WINDOWDECORATION="1";
|
||||||
|
QT_QPA_PLATFORM = "wayland";
|
||||||
|
_JAVA_AWT_WM_NONREPARENTING = "1";
|
||||||
|
XCURSOR_THEME = "Adwaita";
|
||||||
|
XCURSOR_PATH = "${pkgs.gnome3.adwaita-icon-theme}/share/icons";
|
||||||
|
XDG_CURRENT_DESKTOP = "sway";
|
||||||
|
};
|
||||||
|
home.packages = with pkgs.envs; [
|
||||||
|
apps code de games pdf media misc scripts coins js
|
||||||
|
] ++ (with pkgs; [
|
||||||
|
github-cli libreoffice nix-tree virt-manager watchman
|
||||||
|
gnome3.gcr.out #alacritty
|
||||||
|
waybar slurp grim wl-clipboard
|
||||||
|
wldash gebaar-libinput
|
||||||
|
notmuch gmailieer afew
|
||||||
|
swaybg swayidle
|
||||||
|
swaylock broot starship
|
||||||
|
fd htop kcachegrind lm_sensors niv
|
||||||
|
nixfmt linuxPackages.perf pssh slack smartmontools vim waypipe xdg_utils
|
||||||
|
nix-top nix-diff
|
||||||
|
ltrace asciinema cargo minecraft
|
||||||
|
unzip
|
||||||
|
exa obs-studio-dmabuf obs-wlrobs
|
||||||
|
zoom-us
|
||||||
|
cachix eagle
|
||||||
|
y-firefox
|
||||||
|
]); # qtwayland
|
||||||
|
# programs.firefox = {
|
||||||
|
# enable = true;
|
||||||
|
# package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||||
|
# forceWayland = true;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
systemd.user.services.waybar = {
|
||||||
|
Unit = {
|
||||||
|
Description = "waybar";
|
||||||
|
After = [ "graphical-session-pre.target" ];
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
ExecStart = ''
|
||||||
|
${pkgs.waybar}/bin/waybar
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# systemd.user.services.gmi = {
|
||||||
|
# Unit = {
|
||||||
|
# Description = "gmi";
|
||||||
|
# };
|
||||||
|
# Service = {
|
||||||
|
# CPUSchedulingPolicy = "idle";
|
||||||
|
# IOSchedulingClass = "idle";
|
||||||
|
# WorkingDirectory = "/home/yorick/mail/account.gmail";
|
||||||
|
# ExecStart = "${pkgs.writeScript "gmi-pull" ''
|
||||||
|
# #!/usr/bin/env bash
|
||||||
|
# gmi pull
|
||||||
|
# notmuch new
|
||||||
|
# ''}";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# systemd.user.timers.gmi = {
|
||||||
|
# Timer = {
|
||||||
|
# OnCalendar = "*:0/5";
|
||||||
|
# Unit = "gmi.service";
|
||||||
|
# };
|
||||||
|
# Install.WantedBy = [ "timers.target" ];
|
||||||
|
# };
|
||||||
|
systemd.user.services.gebaard = {
|
||||||
|
Unit = {
|
||||||
|
Description = "gebaard";
|
||||||
|
After = [ "graphical-session-pre.target" ];
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
ExecStart = ''
|
||||||
|
${pkgs.gebaar-libinput}/bin/gebaard
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file.".gnupg/gpg.conf".text = ''
|
||||||
|
no-greeting
|
||||||
|
require-cross-certification
|
||||||
|
charset utf-8
|
||||||
|
keyserver hkps://keys.openpgp.org
|
||||||
|
#keyserver-options auto-key-retrieve
|
||||||
|
'';
|
||||||
|
manual.manpages.enable = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
cfg = config.services.libinput-gestures;
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
options.services.libinput-gestures = {
|
||||||
|
enable = mkEnableOption "libinput-gestures";
|
||||||
|
|
||||||
|
package = mkOption { type = types.package; default = pkgs.libinput-gestures; };
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
systemd.user.services.libinput-gestures = {
|
||||||
|
Unit = {
|
||||||
|
Description = "libinput-gestures";
|
||||||
|
After = [ "graphical-session-pre.target" ];
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
ExecStart = ''
|
||||||
|
${pkgs.libinput-gestures}/bin/libinput-gestures
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -6,20 +6,11 @@ let
|
||||||
in if (versionOlder oldpkgver newpkgver) then original.overrideDerivation override else original;
|
in if (versionOlder oldpkgver newpkgver) then original.overrideDerivation override else original;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# spotify = overrideOlder pkgs.spotify (attrs: rec {
|
factorio = super.factorio.override {
|
||||||
# version = "1.0.48.103.g15edf1ec-94";
|
releaseType = "alpha";
|
||||||
# name = "spotify-${version}";
|
username = "yorickvp";
|
||||||
# src = fetchurl {
|
token = "dd8dca57e4f1891117d351b25cf56f";
|
||||||
# url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
|
};
|
||||||
# sha256 = "0rpwxgxv2ihfhlri98k4n87ynlcp569gm9q6hd8jg0vd2jgji8b3";
|
|
||||||
# };
|
|
||||||
#});
|
|
||||||
|
|
||||||
haskellPackages = with super.haskell.lib; super.haskellPackages.extend (hself: hsuper:{
|
|
||||||
X11 = overrideCabal hsuper.X11 (drv: {
|
|
||||||
librarySystemDepends = drv.librarySystemDepends ++ [ self.xorg.libXScrnSaver ];
|
|
||||||
});
|
|
||||||
});
|
|
||||||
# numix-solarized-gtk-theme = super.numix-solarized-gtk-theme.overrideDerivation (attrs: rec {
|
# numix-solarized-gtk-theme = super.numix-solarized-gtk-theme.overrideDerivation (attrs: rec {
|
||||||
# version = "20180204";
|
# version = "20180204";
|
||||||
# name = "numix-solarized-gtk-theme-${version}";
|
# name = "numix-solarized-gtk-theme-${version}";
|
||||||
|
|
|
@ -2,11 +2,8 @@ self: super: {
|
||||||
|
|
||||||
ftb = self.callPackage ../pkgs/ftb.nix {};
|
ftb = self.callPackage ../pkgs/ftb.nix {};
|
||||||
pyroscope = self.callPackage ../pkgs/pyroscope {};
|
pyroscope = self.callPackage ../pkgs/pyroscope {};
|
||||||
peageprint = self.callPackage ../pkgs/peageprint.nix {};
|
|
||||||
nottetris2 = self.callPackage ../pkgs/nottetris2.nix {};
|
nottetris2 = self.callPackage ../pkgs/nottetris2.nix {};
|
||||||
mailpile = self.callPackage ../pkgs/mailpile.nix {};
|
#lejos = self.callPackage ../pkgs/lejos.nix {};
|
||||||
lejos = self.callPackage ../pkgs/lejos.nix {};
|
|
||||||
playerctl = self.callPackage ../pkgs/playerctl.nix {};
|
|
||||||
libinput-gestures = super.libinput-gestures.override { extraUtilsPath = [
|
libinput-gestures = super.libinput-gestures.override { extraUtilsPath = [
|
||||||
self.xdotool self.python3
|
self.xdotool self.python3
|
||||||
];};
|
];};
|
||||||
|
|
|
@ -1,21 +1,34 @@
|
||||||
self: super: {
|
self: super: {
|
||||||
spotify = super.spotify.overrideDerivation (attrs: rec {
|
#mpv = super.mpv.override { vaapiSupport = true; };
|
||||||
installPhase = builtins.replaceStrings
|
|
||||||
["wrapProgram $out/share/spotify/spotify"]
|
|
||||||
["wrapProgram $out/share/spotify/spotify --add-flags --force-device-scale-factor=\\$SPOTIFY_DEVICE_SCALE_FACTOR"]
|
|
||||||
attrs.installPhase;
|
|
||||||
});
|
|
||||||
|
|
||||||
mpv = super.mpv.override { vaapiSupport = true; };
|
|
||||||
polybar = super.polybar.override { i3GapsSupport = true; };
|
|
||||||
python36Packages = super.python36Packages.override { overrides = (self: super: {
|
python36Packages = super.python36Packages.override { overrides = (self: super: {
|
||||||
# pycrypto runs slow tests by default
|
# pycrypto runs slow tests by default
|
||||||
pycrypto = super.pycrypto.overrideDerivation (attrs: {
|
pycryptodome = super.pycryptodome.overrideDerivation (attrs: {
|
||||||
installCheckPhase = ''
|
doCheck = false;
|
||||||
${self.python.interpreter} nix_run_setup.py test --skip-slow-tests
|
doInstallCheck = false;
|
||||||
'';
|
setuptoolsCheckPhase = "true";
|
||||||
|
# installCheckPhase = ''
|
||||||
|
# ${self.python.interpreter} nix_run_setup.py test --skip-slow-tests
|
||||||
|
# '';
|
||||||
});
|
});
|
||||||
}); };
|
}); };
|
||||||
|
# emacs-pgtk = with self; emacs26.overrideAttrs (
|
||||||
|
# { configureFlags ? [], postPatch ? "", nativeBuildInputs ? [], ... }:
|
||||||
|
# {
|
||||||
|
# src = fetchFromGitHub {
|
||||||
|
# owner = "masm11";
|
||||||
|
# repo = "emacs";
|
||||||
|
# rev = "d56f600d1ca2e996bedc6a59a85abc983bb3f23d";
|
||||||
|
# sha256 = "06wycfmr1w3lgpg10ffad1i2sr9ryac54w8qsavhn3h0rlvivjd3";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# patches = [];
|
||||||
|
|
||||||
|
# nativeBuildInputs = nativeBuildInputs ++ [ autoreconfHook texinfo ];
|
||||||
|
|
||||||
|
# configureFlags = configureFlags ++ [ "--without-x" "--with-cairo" "--with-modules" ];
|
||||||
|
# }
|
||||||
|
# );
|
||||||
|
|
||||||
|
|
||||||
# wine = pkgs.wine.override { wineRelease = "staging"; wineBuild = "wineWow"; };
|
# wine = pkgs.wine.override { wineRelease = "staging"; wineBuild = "wineWow"; };
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,42 +11,47 @@ in {
|
||||||
vanilla-dmz
|
vanilla-dmz
|
||||||
# arc-theme
|
# arc-theme
|
||||||
libnotify
|
libnotify
|
||||||
rxvt_unicode-with-plugins
|
#rxvt_unicode-with-plugins
|
||||||
arandr
|
|
||||||
xorg.xrandr
|
|
||||||
pavucontrol
|
pavucontrol
|
||||||
light nitrogen
|
light
|
||||||
# dropbox # really?
|
# dropbox # really?
|
||||||
xclip siji fira-mono playerctl font-awesome-ttf
|
xorg.xrdb
|
||||||
hs.arbtt
|
# xclip xorg.xrandr arandr
|
||||||
|
siji fira-mono playerctl
|
||||||
|
mosquitto
|
||||||
|
#hs.arbtt
|
||||||
];
|
];
|
||||||
scripts = mkEnv "y-scripts" [
|
scripts = mkEnv "y-scripts" [
|
||||||
peageprint
|
# peageprint
|
||||||
weiightminder
|
# weiightminder
|
||||||
];
|
];
|
||||||
|
|
||||||
apps = mkEnv "y-apps" [
|
apps = mkEnv "y-apps" [
|
||||||
wpa_supplicant_gui
|
#wpa_supplicant_gui
|
||||||
|
alacritty
|
||||||
gajim
|
gajim
|
||||||
neomutt
|
neomutt
|
||||||
torbrowser
|
#torbrowser
|
||||||
chromium
|
chromium
|
||||||
#firefox-bin
|
#firefox-bin
|
||||||
gimp
|
gimp
|
||||||
|
feh
|
||||||
tdesktop
|
tdesktop
|
||||||
#hexchat
|
#hexchat
|
||||||
#inkscape
|
#inkscape
|
||||||
# libreoffice
|
# libreoffice
|
||||||
# skype
|
# skype
|
||||||
spotify
|
spotify
|
||||||
quasselClient
|
#quasselClient
|
||||||
leafpad
|
|
||||||
calibre
|
calibre
|
||||||
#py2.plover
|
#py2.plover
|
||||||
wireshark # meld
|
wireshark # meld
|
||||||
discord
|
discord
|
||||||
fanficfare
|
fanficfare
|
||||||
hledger hledger-web
|
hledger
|
||||||
|
#transmission-remote-gtk
|
||||||
|
gopass
|
||||||
|
yubioath-desktop
|
||||||
];
|
];
|
||||||
|
|
||||||
media = mkEnv "y-media" [
|
media = mkEnv "y-media" [
|
||||||
|
@ -54,6 +59,7 @@ in {
|
||||||
py3.youtube-dl
|
py3.youtube-dl
|
||||||
mpv
|
mpv
|
||||||
aria2
|
aria2
|
||||||
|
js.peerflix
|
||||||
];
|
];
|
||||||
|
|
||||||
coins = mkEnv "y-coins" [
|
coins = mkEnv "y-coins" [
|
||||||
|
@ -63,7 +69,8 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
nix = mkEnv "y-nix" [
|
nix = mkEnv "y-nix" [
|
||||||
patchelf nix-prefetch-git nixopsUnstable nox
|
patchelf nix-prefetch-git nixopsUnstable nox niv nix-diff nixfmt
|
||||||
|
nix-du
|
||||||
];
|
];
|
||||||
|
|
||||||
c = mkEnv "y-cdev" [
|
c = mkEnv "y-cdev" [
|
||||||
|
@ -72,19 +79,26 @@ in {
|
||||||
misc = mkEnv "y-misc" [
|
misc = mkEnv "y-misc" [
|
||||||
#gitAndTools.git-annex # doesn't build
|
#gitAndTools.git-annex # doesn't build
|
||||||
gnupg1 man-pages bup # catdoc
|
gnupg1 man-pages bup # catdoc
|
||||||
|
borgbackup
|
||||||
imagemagick
|
imagemagick
|
||||||
openssl
|
openssl
|
||||||
sshfsFuse
|
sshfsFuse
|
||||||
sshuttle iodine stow
|
sshuttle iodine stow
|
||||||
expect duplicity
|
expect duplicity
|
||||||
wakelan x2x pass
|
wakelan pass
|
||||||
abduco dvtm w3m
|
abduco dvtm w3m
|
||||||
jq jo
|
jq jo
|
||||||
thefuck
|
thefuck
|
||||||
|
magic-wormhole
|
||||||
|
mosh pv
|
||||||
|
screen fzf
|
||||||
|
atop lnav neofetch awscli
|
||||||
|
glxinfo
|
||||||
];
|
];
|
||||||
|
|
||||||
code = mkEnv "y-code" (with gitAndTools; [
|
code = mkEnv "y-code" (with gitAndTools; [
|
||||||
python3 git-crypt hub gnumake cloc silver-searcher gitFire gti gcc
|
python3 git-crypt hub gnumake cloc silver-searcher gitFire gti gcc
|
||||||
|
gdb sqlite
|
||||||
]);
|
]);
|
||||||
java = openjdk;
|
java = openjdk;
|
||||||
|
|
||||||
|
@ -94,7 +108,7 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
js = mkEnv "y-jsdev" [
|
js = mkEnv "y-jsdev" [
|
||||||
js.jshint nodejs electron js.node2nix
|
js.jshint nodejs electron /*js.node2nix*/
|
||||||
];
|
];
|
||||||
|
|
||||||
pdf = mkEnv "y-pdf" [
|
pdf = mkEnv "y-pdf" [
|
||||||
|
@ -108,9 +122,10 @@ in {
|
||||||
# install with nix-env -iAr nixos.hosts.$(hostname -s)
|
# install with nix-env -iAr nixos.hosts.$(hostname -s)
|
||||||
# will remove all your previously installed nix-env stuff
|
# will remove all your previously installed nix-env stuff
|
||||||
# so check with nix-env -q first
|
# so check with nix-env -q first
|
||||||
hosts = with self; with self.envs; {
|
hosts = with self; with self.envs; rec {
|
||||||
ascanius = [apps code de games envs.js pdf nix media misc scripts coins myEmacs];
|
ascanius = [apps code de games envs.js pdf nix media misc scripts coins myEmacs];
|
||||||
jarvis = [apps code de games envs.js pdf nix media misc scripts myEmacs];
|
jarvis = [apps code de /*games*/ envs.js pdf nix media misc scripts];
|
||||||
|
blackadder = jarvis;
|
||||||
woodhouse = [de media misc kodi chromium spotify];
|
woodhouse = [de media misc kodi chromium spotify];
|
||||||
pennyworth = [];
|
pennyworth = [];
|
||||||
frumar = [bup gitAndTools.git-annex rtorrent pyroscope];
|
frumar = [bup gitAndTools.git-annex rtorrent pyroscope];
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
a: b: {}
|
||||||
|
# import (builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz)
|
|
@ -1,108 +0,0 @@
|
||||||
{ stdenv,
|
|
||||||
lib,
|
|
||||||
fetchFromGitHub,
|
|
||||||
rustPlatform,
|
|
||||||
cmake,
|
|
||||||
makeWrapper,
|
|
||||||
ncurses,
|
|
||||||
expat,
|
|
||||||
pkgconfig,
|
|
||||||
freetype,
|
|
||||||
fontconfig,
|
|
||||||
libX11,
|
|
||||||
gzip,
|
|
||||||
libXcursor,
|
|
||||||
libXxf86vm,
|
|
||||||
libXi,
|
|
||||||
libXrandr,
|
|
||||||
libGL,
|
|
||||||
wayland,
|
|
||||||
libxkbcommon,
|
|
||||||
python3,
|
|
||||||
libxcb
|
|
||||||
# Darwin Frameworks
|
|
||||||
}:
|
|
||||||
|
|
||||||
with rustPlatform;
|
|
||||||
|
|
||||||
let
|
|
||||||
rpathLibs = [
|
|
||||||
expat
|
|
||||||
freetype
|
|
||||||
fontconfig
|
|
||||||
libX11
|
|
||||||
libXcursor
|
|
||||||
libXxf86vm
|
|
||||||
libXrandr
|
|
||||||
libGL
|
|
||||||
libXi
|
|
||||||
python3
|
|
||||||
libxcb
|
|
||||||
] ++ lib.optionals stdenv.isLinux [
|
|
||||||
wayland
|
|
||||||
libxkbcommon
|
|
||||||
];
|
|
||||||
in buildRustPackage rec {
|
|
||||||
pname = "alacritty";
|
|
||||||
version = "0.3.3-20190430";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "jwilm";
|
|
||||||
repo = pname;
|
|
||||||
rev = "bc038f8295830cbd66851d308fd2963f2e0eb60c";
|
|
||||||
sha256 = "14kjlilbkh589vb2xq2agw54blwn3vk0lxs0plkhnf3jrib3k6nd";
|
|
||||||
};
|
|
||||||
|
|
||||||
cargoSha256 = "04mfdm0b7jj0mkchrzzq9bm99m5y9h4ajj848kkf679k5wfiqc12";
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cmake
|
|
||||||
makeWrapper
|
|
||||||
pkgconfig
|
|
||||||
ncurses
|
|
||||||
gzip
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = rpathLibs;
|
|
||||||
|
|
||||||
outputs = [ "out" "terminfo" ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
install -D target/release/alacritty $out/bin/alacritty
|
|
||||||
|
|
||||||
'' + (if stdenv.isDarwin then ''
|
|
||||||
mkdir $out/Applications
|
|
||||||
cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app
|
|
||||||
'' else ''
|
|
||||||
install -D extra/linux/alacritty.desktop -t $out/share/applications/
|
|
||||||
install -D extra/logo/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg
|
|
||||||
patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
|
|
||||||
'') + ''
|
|
||||||
|
|
||||||
install -D extra/completions/_alacritty -t "$out/share/zsh/site-functions/"
|
|
||||||
install -D extra/completions/alacritty.bash -t "$out/etc/bash_completion.d/"
|
|
||||||
install -D extra/completions/alacritty.fish -t "$out/share/fish/vendor_completions.d/"
|
|
||||||
|
|
||||||
install -dm 755 "$out/share/man/man1"
|
|
||||||
gzip -c extra/alacritty.man > "$out/share/man/man1/alacritty.1.gz"
|
|
||||||
|
|
||||||
install -dm 755 "$terminfo/share/terminfo/a/"
|
|
||||||
tic -x -o "$terminfo/share/terminfo" extra/alacritty.info
|
|
||||||
mkdir -p $out/nix-support
|
|
||||||
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
dontPatchELF = true;
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "GPU-accelerated terminal emulator";
|
|
||||||
homepage = https://github.com/jwilm/alacritty;
|
|
||||||
license = with licenses; [ asl20 ];
|
|
||||||
maintainers = with maintainers; [ mic92 ];
|
|
||||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -6,10 +6,10 @@ let
|
||||||
lib_path = lib.concatMapStringsSep ":" (x: x.out + "/lib/") [libX11 libXext libXcursor libXrandr libXxf86vm mesa openal];
|
lib_path = lib.concatMapStringsSep ":" (x: x.out + "/lib/") [libX11 libXext libXcursor libXrandr libXxf86vm mesa openal];
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "ftb-1.4.14";
|
name = "ftb-1.4.17";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://ftb.cursecdn.com/FTB2/launcher/FTB_Launcher.jar";
|
url = "http://ftb.cursecdn.com/FTB2/launcher/FTB_Launcher.jar";
|
||||||
sha256 = "10ga4jgyfsj5dy4rj2rla0fpnfpnxv8r3bmxpqpwn7fsry4il79v";
|
sha256 = "0c60nbddxs8mv6i7g5dz365sfjrdq9pk12xggk4bm4px7xg5gv7j";
|
||||||
};
|
};
|
||||||
|
|
||||||
phases = "installPhase";
|
phases = "installPhase";
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
{ stdenv, fetchFromGitHub, python2Packages, gnupg1orig, openssl, git }:
|
|
||||||
|
|
||||||
python2Packages.buildPythonApplication rec {
|
|
||||||
name = "mailpile-${version}";
|
|
||||||
version = "1.0rc1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "mailpile";
|
|
||||||
repo = "Mailpile";
|
|
||||||
rev = "release/1.0";
|
|
||||||
sha256 = "0hl42ljdzk57ndndff9f1yh08znxwj01kjdmx019vmml0arv0jga";
|
|
||||||
};
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace setup.py --replace "data_files.append((dir" "data_files.append(('lib/${python2Packages.python.libPrefix}/site-packages/' + dir"
|
|
||||||
patchShebangs scripts
|
|
||||||
'';
|
|
||||||
PBR_VERSION=version;
|
|
||||||
|
|
||||||
buildInputs = with python2Packages; [ pbr git ];
|
|
||||||
|
|
||||||
propagatedBuildInputs = with python2Packages; [
|
|
||||||
cryptography
|
|
||||||
pillow jinja2 spambayes python2Packages.lxml
|
|
||||||
pgpdump gnupg1orig appdirs
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
wrapProgram $out/bin/mailpile \
|
|
||||||
--prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg1orig openssl ]}" \
|
|
||||||
--set MAILPILE_SHARED $out/share/mailpile
|
|
||||||
|
|
||||||
'';
|
|
||||||
|
|
||||||
# No tests were found
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "A modern, fast web-mail client with user-friendly encryption and privacy features";
|
|
||||||
homepage = https://www.mailpile.is/;
|
|
||||||
license = [ licenses.agpl3 ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = [ maintainers.domenkozar maintainers.yorickvp ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,15 +1,30 @@
|
||||||
{ pkgs ? import <nixpkgs> {},
|
{ pkgs ? import <nixpkgs> { }, stdenv ? pkgs.stdenv, love_0_7 ? pkgs.love_0_7 }:
|
||||||
stdenv ? pkgs.stdenv,
|
# let
|
||||||
love_0_7 ? pkgs.love_0_7 }:
|
# name = "nottetris2";
|
||||||
let
|
# src = pkgs.fetchzip {
|
||||||
name = "nottetris2";
|
# url = "http://stabyourself.net/dl.php?file=${name}/${name}-linux.zip";
|
||||||
src = pkgs.fetchzip {
|
# sha256 = "1zwwp4h1njwl3jnwkszcsqx868v16312pbfy5rp9h48ym79spd36";
|
||||||
url = "http://stabyourself.net/dl.php?file=${name}/${name}-linux.zip";
|
# stripRoot = false;
|
||||||
sha256 = "1zwwp4h1njwl3jnwkszcsqx868v16312pbfy5rp9h48ym79spd36";
|
# };
|
||||||
stripRoot = false;
|
# in pkgs.writeShellScriptBin name ''
|
||||||
};
|
# exec ${love_0_7}/bin/love "${src}/Not Tetris 2.love"
|
||||||
in
|
# ''
|
||||||
pkgs.writeScriptBin name ''
|
stdenv.mkDerivation {
|
||||||
#! ${stdenv.shell} -e
|
pname = "nottetris";
|
||||||
exec ${love_0_7}/bin/love "${src}/Not Tetris 2.love"
|
version = "2";
|
||||||
''
|
buildInputs = [ love_0_7 pkgs.unzip pkgs.makeWrapper ];
|
||||||
|
nativeBuildInputs = [ pkgs.unzip ];
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
url = "https://stabyourself.net/dl.php?file=nottetris2/nottetris2-source.zip";
|
||||||
|
sha256 = "13lsacp3bd1xf80yrj7r8dgs15m7kxalqa7vml0k7frmhbkb0b1n";
|
||||||
|
};
|
||||||
|
sourceRoot = ".";
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/lib
|
||||||
|
cp "Not Tetris 2.love" $out/lib/
|
||||||
|
makeWrapper $(command -v love) $out/bin/nottetris2 --add-flags "\"$out/lib/Not Tetris 2.love\""
|
||||||
|
'';
|
||||||
|
# meta = {
|
||||||
|
# license =
|
||||||
|
# };
|
||||||
|
}
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
{ pkgs ? import <nixpkgs> {}
|
|
||||||
, stdenv ? pkgs.stdenv
|
|
||||||
, fetchgit ? pkgs.fetchgit
|
|
||||||
, samba4 ? pkgs.samba4
|
|
||||||
, lib ? pkgs.lib
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "peage-print";
|
|
||||||
version = "0.1.2";
|
|
||||||
src = fetchgit {
|
|
||||||
url = https://gist.github.com/dsprenkels/d75d6856ec536a4b28422dd1aa107f9d;
|
|
||||||
rev = "f18f2cbfc93ff475943abb414c84a51a597f48c5";
|
|
||||||
sha256 = "019ggsn445sw8lb7gvwfsaxdkqdgf8dr5qb2ncir7akm7d70jnd7";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ pkgs.makeWrapper ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
install ./peage-print $out/bin
|
|
||||||
wrapProgram $out/bin/peage-print --suffix PATH : ${samba4}/bin
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
{ stdenv, meson, ninja, fetchFromGitHub, glib, pkgconfig, gobjectIntrospection }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "playerctl-${version}";
|
|
||||||
version = "2.0.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "acrisci";
|
|
||||||
repo = "playerctl";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "0j1fvcc80307ybl1z9l752sr4bcza2fmb8qdivpnm4xmm82faigb";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
|
|
||||||
buildInputs = [ glib ];
|
|
||||||
|
|
||||||
# docs somehow crashes the install phase:
|
|
||||||
# https://github.com/acrisci/playerctl/issues/85
|
|
||||||
mesonFlags = [ "-Dgtk-doc=false" ];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Command-line utility and library for controlling media players that implement MPRIS";
|
|
||||||
homepage = https://github.com/acrisci/playerctl;
|
|
||||||
license = licenses.lgpl3;
|
|
||||||
platforms = platforms.unix;
|
|
||||||
maintainers = with maintainers; [ puffnfresh ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,106 +0,0 @@
|
||||||
// This file is free software; you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU General Public License as published by
|
|
||||||
// the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU General Public License for more details.
|
|
||||||
|
|
||||||
// You should have received a copy of the GNU General Public License
|
|
||||||
// along with this file. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
// Copyright (C) Jussi Schultink 2009
|
|
||||||
|
|
||||||
// Custom ChatView Colors
|
|
||||||
Palette { marker-line: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #ff0000, stop: 0.1 transparent); }
|
|
||||||
|
|
||||||
ChatView { background: #131313; }
|
|
||||||
|
|
||||||
ChatLine[label="highlight"] {
|
|
||||||
foreground: #debc85;
|
|
||||||
background: #00583a;
|
|
||||||
}
|
|
||||||
|
|
||||||
ChatLine::timestamp { foreground: #707c70; }
|
|
||||||
|
|
||||||
ChatLine#plain { foreground: #debc85; }
|
|
||||||
ChatLine#notice { foreground: #916409; }
|
|
||||||
ChatLine#action { foreground: #007a80; font-weight: bold; font-style: italic; }
|
|
||||||
ChatLine#nick { foreground: #633b5a; }
|
|
||||||
ChatLine#mode { foreground: #346E9E; font-weight: bold; }
|
|
||||||
ChatLine#join { foreground: #005538; }
|
|
||||||
ChatLine#part { foreground: #633b5a; }
|
|
||||||
ChatLine#quit { foreground: #683A38; }
|
|
||||||
ChatLine#kick { foreground: #633b5a; }
|
|
||||||
ChatLine#kill { foreground: #633b5a; }
|
|
||||||
ChatLine#server { foreground: #916409; }
|
|
||||||
ChatLine#info { foreground: #916409; }
|
|
||||||
ChatLine#error { foreground: #916409; }
|
|
||||||
ChatLine#daychange { foreground: #916409; }
|
|
||||||
ChatLine#topic { foreground: #633b5a; }
|
|
||||||
|
|
||||||
|
|
||||||
// Sender Colors
|
|
||||||
ChatLine::sender#plain[sender="self"] { foreground: #009966; }
|
|
||||||
|
|
||||||
ChatLine::sender#plain[sender="00"] { foreground: #e90d7f; }
|
|
||||||
ChatLine::sender#plain[sender="01"] { foreground: #8e55e9; }
|
|
||||||
ChatLine::sender#plain[sender="02"] { foreground: #b30e0e; }
|
|
||||||
ChatLine::sender#plain[sender="03"] { foreground: #17b339; }
|
|
||||||
ChatLine::sender#plain[sender="04"] { foreground: #58afb3; }
|
|
||||||
ChatLine::sender#plain[sender="05"] { foreground: #9d54b3; }
|
|
||||||
ChatLine::sender#plain[sender="06"] { foreground: #b39775; }
|
|
||||||
ChatLine::sender#plain[sender="07"] { foreground: #3176b3; }
|
|
||||||
ChatLine::sender#plain[sender="08"] { foreground: #e90d7f; }
|
|
||||||
ChatLine::sender#plain[sender="09"] { foreground: #8e55e9; }
|
|
||||||
ChatLine::sender#plain[sender="0a"] { foreground: #b30e0e; }
|
|
||||||
ChatLine::sender#plain[sender="0b"] { foreground: #17b339; }
|
|
||||||
ChatLine::sender#plain[sender="0c"] { foreground: #58afb3; }
|
|
||||||
ChatLine::sender#plain[sender="0d"] { foreground: #9d54b3; }
|
|
||||||
ChatLine::sender#plain[sender="0e"] { foreground: #b39775; }
|
|
||||||
ChatLine::sender#plain[sender="0f"] { foreground: #3176b3; }
|
|
||||||
|
|
||||||
// BufferView Colors
|
|
||||||
ChatListItem { foreground: #debc85; }
|
|
||||||
ChatListItem[state="inactive"] { foreground: #a0a0a4; }
|
|
||||||
ChatListItem[state="channel-event"] { foreground: #008000; }
|
|
||||||
ChatListItem[state="unread-message"] { foreground: #ff7b00; }
|
|
||||||
ChatListItem[state="highlighted"] { foreground: #ff00bf; }
|
|
||||||
BufferView { background: #131313; }
|
|
||||||
|
|
||||||
// NickView Colors
|
|
||||||
NickListItem[type="category"] { foreground: #debc85; }
|
|
||||||
NickListItem[type="user"] { foreground: #debc85; }
|
|
||||||
NickListItem[type="user", state="away"] { foreground: #a0a0a4; }
|
|
||||||
NickView { background: #131313; }
|
|
||||||
|
|
||||||
MultiLineEdit { background: #131313; color: #debc85; }
|
|
||||||
StyledLabel#topicLabel { background: #131313; }
|
|
||||||
ChatLine#topic { foreground: #debc85; }
|
|
||||||
|
|
||||||
// Miscellaneous Colors
|
|
||||||
QTreeView::item:selected { color: #00004b; }
|
|
||||||
ChatMonitorSettingsPage BufferView::item { color: #debc85; }QTreeView#settingsTree { background: #131313; }
|
|
||||||
QTreeView::item#settingsTree { color: #debc85; }
|
|
||||||
QLineEdit:enabled { background: #131313; color: #debc85; }
|
|
||||||
QSpinBox:enabled { background: #131313; color: #debc85; }
|
|
||||||
QTableWidget { background-color: #131313; color: #debc85; }
|
|
||||||
QListWidget { background-color: #131313; color: #debc85; }
|
|
||||||
|
|
||||||
QTableView {
|
|
||||||
alternate-background-color: #42403B;
|
|
||||||
background-color: #42403B;
|
|
||||||
color: #debc85; }
|
|
||||||
|
|
||||||
Palette {
|
|
||||||
link: #539FA3; link-visited: #845B90;
|
|
||||||
|
|
||||||
window: #2b2b2b; window-text: #debc85; text: #00004b;
|
|
||||||
|
|
||||||
light: #B7B4AC; midlight: #debc85; button: #292929;
|
|
||||||
mid: #202553; dark: #000533; button-text: #B6B3AB; }
|
|
||||||
|
|
||||||
StyledLabel#topicLabel { background: #282828; }
|
|
||||||
MultiLineEdit { background: #131313; color: #debc85; }
|
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
# this file would normally have my username and password and binary blobs
|
|
||||||
[Config]
|
|
||||||
Version=1
|
|
||||||
|
|
||||||
|
|
||||||
[QtUi]
|
|
||||||
Style=
|
|
||||||
UseSystemTrayIcon=true
|
|
||||||
MinimizeOnClose=false
|
|
||||||
MainWinMinimized=false
|
|
||||||
MainWinMaximized=false
|
|
||||||
MainWinHidden=false
|
|
||||||
LockLayout=true
|
|
||||||
ShowMenuBar=false
|
|
||||||
ChatView\ChatMonitor\ShowOwnMsgs=false
|
|
||||||
ChatView\ChatMonitor\OperationMode=2
|
|
||||||
ChatView\ChatMonitor\ShowHighlights=false
|
|
||||||
ChatView\ChatMonitor\ShowBacklog=true
|
|
||||||
ChatView\ChatMonitor\IncludeRead=true
|
|
||||||
ChatView\ChatMonitor\Buffers=@Invalid()
|
|
||||||
ChatView\ChatMonitor\SecondColumnHandlePos=227
|
|
||||||
ChatView\__default__\TimestampFormat=[hh:mm:ss]
|
|
||||||
ChatView\__default__\ShowWebPreview=false
|
|
||||||
ChatView\__default__\AutoMarkerLine=true
|
|
||||||
ChatView\__default__\AutoMarkerLineOnLostFocus=true
|
|
||||||
ChatView\__default__\WebSearchUrlFormat="https://www.google.com/search?q=%s"
|
|
||||||
ChatView\735\SecondColumnHandlePos=160
|
|
||||||
ChatView\735\FirstColumnHandlePos=85
|
|
||||||
ChatView\__default__\FirstColumnHandlePos=96
|
|
||||||
ShowStatusBar=false
|
|
||||||
ChatView\255\SecondColumnHandlePos=172
|
|
||||||
ChatView\631\FirstColumnHandlePos=96
|
|
||||||
ChatView\631\SecondColumnHandlePos=193
|
|
||||||
|
|
||||||
[Buffer]
|
|
||||||
__default__\UserNoticesTarget=5
|
|
||||||
__default__\ServerNoticesTarget=2
|
|
||||||
__default__\ErrorMsgsTarget=1
|
|
||||||
480\hasMessageTypeFilter=true
|
|
||||||
480\MessageTypeFilter=98528
|
|
||||||
20\hasMessageTypeFilter=true
|
|
||||||
20\MessageTypeFilter=98536
|
|
||||||
731\hasMessageTypeFilter=true
|
|
||||||
731\MessageTypeFilter=98552
|
|
||||||
255\hasMessageTypeFilter=true
|
|
||||||
255\MessageTypeFilter=98528
|
|
||||||
|
|
||||||
[UiStyle]
|
|
||||||
UseCustomStyleSheet=true
|
|
||||||
CustomStyleSheetPath=/home/yorick/dotfiles/quassel/SolarizedQuassel/SolarizedDark.qss
|
|
||||||
AllowMircColors=true
|
|
||||||
Fonts\UseCustomItemViewFont=true
|
|
||||||
Fonts\ItemView=@Variant(\0\0\0@\0\0\0\x1e\0S\0o\0u\0r\0\x63\0\x65\0 \0\x43\0o\0\x64\0\x65\0 \0P\0r\0o@ \0\0\0\0\0\0\xff\xff\xff\xff\0\x1\0?\x10)
|
|
||||||
ShowItemViewIcons=true
|
|
||||||
|
|
||||||
[Notification]
|
|
||||||
Systray\Animate=true
|
|
||||||
|
|
||||||
[QtUiStyle]
|
|
||||||
Fonts\UseCustomChatViewFont=true
|
|
||||||
Fonts\ChatView=@Variant(\0\0\0@\0\0\0\x1e\0S\0o\0u\0r\0\x63\0\x65\0 \0\x43\0o\0\x64\0\x65\0 \0P\0r\0o@\x1c\0\0\0\0\0\0\xff\xff\xff\xff\0\x1\0?\x10)
|
|
||||||
|
|
||||||
[ItemViews]
|
|
||||||
DisplayTopicInTooltip=false
|
|
||||||
MouseWheelChangesBuffer=false
|
|
|
@ -1,9 +0,0 @@
|
||||||
// This isn't actually used for now
|
|
||||||
|
|
||||||
// ChatView Font
|
|
||||||
ChatLine { font: bold 7pt "Source Code Pro"; }
|
|
||||||
|
|
||||||
// ItemView Font
|
|
||||||
ChatListItem { font: bold 7pt "Source Code Pro"; }
|
|
||||||
NickListItem { font: bold 7pt "Source Code Pro"; }
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../emacs/.emacs.d
|
|
Loading…
Reference in New Issue