INIT d2nix configuration
This commit is contained in:
parent
823553a440
commit
200afd51b1
|
@ -0,0 +1,2 @@
|
||||||
|
* Installation
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
[Scheme]
|
||||||
|
Name=Nord
|
||||||
|
ColorCursor=#D8DEE9
|
||||||
|
ColorForeground=#D8DEE9
|
||||||
|
ColorBackground=#2E3440
|
||||||
|
TabActivityColor=#88C0D0
|
||||||
|
ColorPalette=#3B4252;#BF616A;#A3BE8C;#EBCB8B;#81A1C1;#B48EAD;#88C0D0;#E5E9F0;#4C566A;#BF616A;#A3BE8C;#EBCB8B;#81A1C1;#B48EAD;#8FBCBB;#ECEFF4
|
||||||
|
ColorBold=#D8DEE9
|
||||||
|
ColorBoldUseDefault=FALSE
|
|
@ -0,0 +1,146 @@
|
||||||
|
# version : 20220121
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
set $ALT Mod1
|
||||||
|
|
||||||
|
# Couleurs barre de titre et contour des fenetres
|
||||||
|
set $blue #005588
|
||||||
|
set $gray1 #484848
|
||||||
|
set $gray2 #333333
|
||||||
|
|
||||||
|
set $ws1 "1: console"
|
||||||
|
set $ws2 "2: office"
|
||||||
|
set $ws3 "3: web"
|
||||||
|
|
||||||
|
# Couleur des fenetres avec et sans focus
|
||||||
|
client.focused $gray1 $gray1 #FFFFFF #333333
|
||||||
|
client.focused_inactive $gray2 $gray2 #FFFFFF #000000
|
||||||
|
client.unfocused $gray2 $gray2 #FFFFFF #000000
|
||||||
|
|
||||||
|
# Police de caracteres pour les titres des fenetres. ISO 10646 = Unicode
|
||||||
|
font pango:Hack 10
|
||||||
|
|
||||||
|
# wallpaper
|
||||||
|
exec --no-startup-id feh --bg-scale /home/alexandre/images/SF.jpg
|
||||||
|
|
||||||
|
# Redimensionnement de fenetres
|
||||||
|
mode "resize" {
|
||||||
|
bindsym h resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym j resize grow height 10 px or 10 ppt
|
||||||
|
bindsym k resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym l resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# Retour au mode normal: Enter ou Escape ou q ou ^[
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym q mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindcode Control+34 mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+s mode "resize"
|
||||||
|
|
||||||
|
# Tue la fenetre avec le focus
|
||||||
|
bindsym $mod+Shift+A kill
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+p layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
#
|
||||||
|
# # change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
#
|
||||||
|
# # focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
#
|
||||||
|
# Change la fenetre ayant le focus
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# Met la fenetre avec le focus en mode plein écran
|
||||||
|
bindsym $mod+f fullscreen
|
||||||
|
|
||||||
|
# Deplacement entre les bureaux
|
||||||
|
bindsym $mod+ampersand workspace $ws1
|
||||||
|
bindsym $mod+eacute workspace $ws2
|
||||||
|
bindsym $mod+quotedbl workspace $ws3
|
||||||
|
bindsym $mod+apostrophe workspace 4
|
||||||
|
bindsym $mod+parenleft workspace 5
|
||||||
|
bindsym $mod+minus workspace 6
|
||||||
|
bindsym $mod+egrave workspace 7
|
||||||
|
bindsym $mod+underscore workspace 8
|
||||||
|
bindsym $mod+ccedilla workspace 9
|
||||||
|
bindsym $mod+agrave workspace 10
|
||||||
|
|
||||||
|
# Déplacement de la fenetre ayant le focus d'un bureau à l'autre
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace 8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace 9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace 10
|
||||||
|
|
||||||
|
# Recharge le fichier de configuration
|
||||||
|
bindsym $mod+Shift+C reload
|
||||||
|
|
||||||
|
# Redemarre i3 mais concerve ce qui est lancé. Utilisable pour les MAJ
|
||||||
|
bindsym $mod+Shift+R restart
|
||||||
|
|
||||||
|
# sort d'i3
|
||||||
|
bindsym $mod+Shift+E exit
|
||||||
|
|
||||||
|
# lance dmenu (le lanceur de pgm. la barre de dmenu est noir)
|
||||||
|
bindsym $mod+d exec rofi -show drun -show-icons -modi drun
|
||||||
|
|
||||||
|
# status bar
|
||||||
|
bar {
|
||||||
|
font pango:DejaVu Sans Mono, FontAwesome 12
|
||||||
|
position top
|
||||||
|
status_command i3status-rs ~/.config/i3status-rust/config-bottom.toml
|
||||||
|
colors {
|
||||||
|
separator #666666
|
||||||
|
background #222222
|
||||||
|
statusline #dddddd
|
||||||
|
focused_workspace #0088CC #0088CC #ffffff
|
||||||
|
active_workspace #333333 #333333 #ffffff
|
||||||
|
inactive_workspace #333333 #333333 #888888
|
||||||
|
urgent_workspace #2f343a #900000 #ffffff
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# alt+win+l : verouille la session, image de :
|
||||||
|
bindsym $mod+$ALT+l exec i3lock -ti ~/images/coffee_time.png
|
||||||
|
|
||||||
|
# blocage automatique de l'ecran en cas d'inactivité
|
||||||
|
exec xautolock -detectsleep -locker 'i3lock -ti ~/images/coffee_time.png'
|
||||||
|
|
||||||
|
# Capture d'ecran
|
||||||
|
bindsym Print exec scrot -u '%Y-%m-%d-%T_$wx$h_scrot.png' -e 'mv $f ~/Screenshots/'
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec "LIBGL_ALWAYS_SOFTWARE=1 alacritty"
|
||||||
|
bindsym $mod+m exec "i3-sensible-terminal -e ncmpcpp"
|
||||||
|
|
||||||
|
# Assigne les applications aux workspaces
|
||||||
|
assign [class="firefox"] $ws3
|
||||||
|
assign [class="emacs"] $ws2
|
||||||
|
|
||||||
|
# programmes au démarrage
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
exec --no-startup-id nextcloud
|
||||||
|
exec --no-startup-id vlc
|
||||||
|
exec --no-startup-id guake
|
|
@ -0,0 +1,391 @@
|
||||||
|
;; Keyboard-centric user interface
|
||||||
|
(setq inhibit-startup-message t)
|
||||||
|
(scroll-bar-mode -1)
|
||||||
|
(tool-bar-mode -1)
|
||||||
|
(menu-bar-mode -1)
|
||||||
|
|
||||||
|
(require 'package)
|
||||||
|
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
||||||
|
;; Comment/uncomment this line to enable MELPA Stable if desired. See `package-archive-priorities`
|
||||||
|
;; and `package-pinned-packages`. Most users will not need or want to do this.
|
||||||
|
;;(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
|
||||||
|
(package-initialize)
|
||||||
|
|
||||||
|
|
||||||
|
(column-number-mode 't) ; show current column in status bar
|
||||||
|
(set-fringe-mode 10)
|
||||||
|
|
||||||
|
;;;; Indent 4 spaces by default. Use the "BSD" style for C-like languages.
|
||||||
|
;;(setq c-default-style
|
||||||
|
;; (quote ((java-mode . "java")
|
||||||
|
;; (awk-mode . "awk")
|
||||||
|
;; (other . "bsd")))
|
||||||
|
;; c-basic-offset 4)
|
||||||
|
|
||||||
|
;; Use 4 spaces for one tab visually.
|
||||||
|
(setq tab-width 4)
|
||||||
|
|
||||||
|
(show-paren-mode t) ; highlight matching open and close parentheses
|
||||||
|
(global-hl-line-mode) ; highlight current line
|
||||||
|
(global-visual-line-mode t) ; wrap long lines
|
||||||
|
(setq split-window-preferred-function
|
||||||
|
'visual-fill-column-split-window-sensibly) ; wrap at window boundary
|
||||||
|
|
||||||
|
(global-whitespace-mode) ; enable whitespace handling by default
|
||||||
|
(setq
|
||||||
|
whitespace-style ; see (apropos 'whitespace-style)
|
||||||
|
'(face ; viz via faces
|
||||||
|
trailing ; trailing blanks visualized
|
||||||
|
lines-tail ; lines beyond whitespace-line-column visualized
|
||||||
|
space-before-tab
|
||||||
|
space-after-tab
|
||||||
|
newline ; lines with only blanks visualized
|
||||||
|
indentation ; spaces used for indent when config wants tabs
|
||||||
|
empty ; empty lines at beginning or end or buffer
|
||||||
|
)
|
||||||
|
whitespace-line-column 100) ; column at which whitespace-mode says the line is too long
|
||||||
|
;;(set-face-attribute 'default nil :font "JetBrains Mono" :height 150)
|
||||||
|
|
||||||
|
;; themes
|
||||||
|
(use-package doom-themes
|
||||||
|
:init (load-theme 'doom-nord t)
|
||||||
|
:init (doom-themes-org-config))
|
||||||
|
(setq disabled-command-function nil)
|
||||||
|
(setq inhibit-startup-screen t)
|
||||||
|
(setq visible-bell t)
|
||||||
|
|
||||||
|
;; Only y/n answers
|
||||||
|
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||||
|
|
||||||
|
|
||||||
|
;; Backup
|
||||||
|
|
||||||
|
(setq version-control t ;; Use version numbers for backups.
|
||||||
|
kept-new-versions 10 ;; Number of newest versions to keep.
|
||||||
|
kept-old-versions 0 ;; Number of oldest versions to keep.
|
||||||
|
delete-old-versions t ;; Don't ask to delete excess backup versions.
|
||||||
|
backup-by-copying t) ;; Copy all files, don't rename them.
|
||||||
|
(setq vc-make-backup-files t)
|
||||||
|
(setq backup-directory-alist '(("" . "~/.emacs.d/backup")))
|
||||||
|
(defvar emacs-autosave-directory
|
||||||
|
(concat user-emacs-directory "autosaves/")
|
||||||
|
"This variable dictates where to put auto saves. It is set to a
|
||||||
|
directory called autosaves located wherever your .emacs.d/ is
|
||||||
|
located.")
|
||||||
|
|
||||||
|
;; Sets all files to be backed up and auto saved in a single directory.
|
||||||
|
(setq backup-directory-alist
|
||||||
|
`((".*" . ,emacs-autosave-directory))
|
||||||
|
auto-save-file-name-transforms
|
||||||
|
`((".*" ,emacs-autosave-directory t)))
|
||||||
|
|
||||||
|
|
||||||
|
(setq calendar-week-start-day 1)
|
||||||
|
|
||||||
|
(setq user-full-name "Alexandre LUCAZEAU")
|
||||||
|
(setq user-mail-address "alexandre@dri.fr")
|
||||||
|
(setq mail-user-agent 'gnus-user-agent)
|
||||||
|
|
||||||
|
;;(setq gnus-select-method
|
||||||
|
;; '(nnimap "dri"
|
||||||
|
;; (nnimap-address "dri.fr")
|
||||||
|
;; (nnimap-server-port 143)
|
||||||
|
;; (nnimap-stream starttls)
|
||||||
|
;; (nnimap-authinfo-file "~/.authinfo.gpg")))
|
||||||
|
;;
|
||||||
|
;;(setq gnus-message-archive-group "nnimap+dri:Sent")
|
||||||
|
;;(setq gnus-gcc-mark-as-read t)
|
||||||
|
;;(setq nnmail-expiry-target "nnimap+dri:Trash")
|
||||||
|
;;(setq nnmail-expiry-wait 'immediate)
|
||||||
|
;;(setq send-mail-function 'smtpmail-send-it)
|
||||||
|
;;(setq message-send-mail-function 'smtpmail-send-it)
|
||||||
|
;;(setq smtpmail-smtp-server "dri.fr")
|
||||||
|
;;(setq smtpmail-smtp-service 587)
|
||||||
|
;;(setq message-citation-line-function 'message-insert-formatted-citation-line)
|
||||||
|
;;(setq message-citation-line-format "On %d/%m/%Y %H:%M, %N wrote:")
|
||||||
|
|
||||||
|
;;(defun default-web-indent-mode ()
|
||||||
|
;; (setq indent-tabs-mode nil)
|
||||||
|
;; (setq tab-width 2)
|
||||||
|
;; (setq web-mode-markup-indent-offset 2)
|
||||||
|
;; (setq web-mode-css-indent-offset 2)
|
||||||
|
;; (setq web-mode-code-indent-offset 2))
|
||||||
|
|
||||||
|
|
||||||
|
(use-package direnv
|
||||||
|
:config (direnv-mode))
|
||||||
|
|
||||||
|
;; (use-package lsp-mode
|
||||||
|
;; :config (setq lsp-keymap-prefix "C-c l")
|
||||||
|
;; :config (setq lsp-signature-auto-activate t)
|
||||||
|
;; :config (setq lsp-enable-on-type-formatting nil)
|
||||||
|
;; :config (lsp-enable-which-key-integration t)
|
||||||
|
;; :hook (lsp-mode . electric-pair-mode))
|
||||||
|
|
||||||
|
;;(use-package web-mode
|
||||||
|
;; :mode ("\\.json\\'" . web-mode)
|
||||||
|
;; :mode ("\\.html?\\'" . web-mode)
|
||||||
|
;; :mode ("\\.s?css\\'" . web-mode)
|
||||||
|
;; :mode ("\\.[jt]sx?\\'" . web-mode)
|
||||||
|
;; :hook (web-mode . lsp-deferred)
|
||||||
|
;; :hook (web-mode . default-web-indent-mode))
|
||||||
|
|
||||||
|
(use-package nix-mode
|
||||||
|
:mode ("\\.nix\\'" . nix-mode)
|
||||||
|
:hook (nix-mode . lsp-deferred))
|
||||||
|
|
||||||
|
;;(use-package rust-mode
|
||||||
|
;; :hook (rust-mode . lsp-deferred)
|
||||||
|
;; :config (setq rust-format-on-save t))
|
||||||
|
|
||||||
|
(use-package company
|
||||||
|
:config (setq company-idle-delay 0.25)
|
||||||
|
:config (setq company-minimum-prefix-length 1)
|
||||||
|
:bind (:map company-active-map ("<tab>" . company-select-next))
|
||||||
|
:bind (:map company-active-map ("<backtab>" . company-select-previous)))
|
||||||
|
|
||||||
|
(use-package yasnippet
|
||||||
|
:hook (lsp-mode . yas-minor-mode)
|
||||||
|
:hook (yas-minor-mode . yas-reload-all)
|
||||||
|
:config (setq yas-snippet-dirs '("/etc/nixos/programs/emacs/snippets")))
|
||||||
|
|
||||||
|
;;(use-package prettier-js
|
||||||
|
;; :after (web-mode)
|
||||||
|
;; :hook (web-mode . prettier-js-mode))
|
||||||
|
;;
|
||||||
|
;;(use-package smartparens
|
||||||
|
;; :bind ("C-c s s" . sp-splice-sexp)
|
||||||
|
;; :bind ("C-c s r" . sp-rewrap-sexp))
|
||||||
|
;;
|
||||||
|
;;(use-package bbdb
|
||||||
|
;; :init (bbdb-initialize 'gnus 'message)
|
||||||
|
;; :init (bbdb-mua-auto-update-init 'gnus 'message)
|
||||||
|
;; :config (setq bbdb-file "~/Nextcloud/PRIVE/13_Org/contacts/bbdb")
|
||||||
|
;; :config (setq bbdb-mua-auto-update-p 'create))
|
||||||
|
|
||||||
|
;;(use-package org
|
||||||
|
;; (setq org-startup-folded t)
|
||||||
|
;; (setq org-refile-use-outline-path 'file)
|
||||||
|
;; (setq org-refile-targets
|
||||||
|
;; '(("~/Nextcloud/PRIVE/13_Org/DRI.org" :maxlevel . 3)
|
||||||
|
;; ("~/Nextcloud/PRIVE/13_Org/perso.org" :level . 1)
|
||||||
|
;; ("~/Nextcloud/PRIVE/13_Org/pizajoffre.org" :level . 1)))
|
||||||
|
;; (setq org-todo-keywords
|
||||||
|
;; '((sequence "TODO(t)" "PENDING(p)" "|" "CANCELLED(c)" "DONE(d)")))
|
||||||
|
;; (setq org-todo-keyword-faces
|
||||||
|
;; '(("TODO" . (:foreground "#c678dd" :weight bold))
|
||||||
|
;; ("PENDING" . (:background "#3f444a" :foreground "#ff6c6b" :weight bold))))
|
||||||
|
;; (setq org-capture-templates
|
||||||
|
;; '(("i" "Inbox" entry (file "~/Nextcloud/PRIVE/13_Org/DRI.org") "* TODO %i%?")
|
||||||
|
;; ("a" "Agenda" entry (file "~/Nextcloud/PRIVE/13_Org/agenda-DRI.org") "* TODO %i%?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))")))
|
||||||
|
;; (setq org-agenda-custom-commands
|
||||||
|
;; '(("t" "Today" tags-todo "+LEVEL=1+CATEGORY=\"tasks\"|+SCHEDULED<=\"<today>\"|+DEADLINE<=\"<today>\""))))
|
||||||
|
;;
|
||||||
|
(use-package org-caldav
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(setq org-caldav-url "https://next20.produhost.net/remote.php/dav/calendars/alexandre")
|
||||||
|
(setq org-caldav-calendars
|
||||||
|
'((:calendar-id "alexandre-dri" :files ("~/Nextcloud/PRIVE/13_Org/agenda.org")
|
||||||
|
:inbox "~/Nextcloud/PRIVE/13_Org/agenda-DRI.org")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(setq org-caldav-delete-org-entries 'never)
|
||||||
|
(setq org-caldav-delete-calenda-entries 'never)
|
||||||
|
(setq org-icalendar-timezone "Europe/Paris")
|
||||||
|
)
|
||||||
|
(use-package magit)
|
||||||
|
(setq magit-fetch-modules-jobs 16); fetch 16 modules in parallel
|
||||||
|
|
||||||
|
(use-package ledger-mode)
|
||||||
|
|
||||||
|
(use-package projectile
|
||||||
|
:init (projectile-global-mode)
|
||||||
|
:config (setq projectile-enable-caching nil)
|
||||||
|
:config (setq projectile-project-search-path (cddr (directory-files "~/code" t)))
|
||||||
|
:custom (projectile-completion-system 'ivy)
|
||||||
|
:bind-keymap ("C-c p" . projectile-command-map))
|
||||||
|
|
||||||
|
(use-package counsel-projectile
|
||||||
|
:after (counsel projectile)
|
||||||
|
:init (counsel-projectile-mode))
|
||||||
|
|
||||||
|
(require 'yasnippet)
|
||||||
|
(yas-global-mode 1)
|
||||||
|
|
||||||
|
(use-package which-key
|
||||||
|
:init (which-key-mode)
|
||||||
|
:config (setq which-key-idle-delay 0.5))
|
||||||
|
|
||||||
|
(setq TeX-PDF-mode t)
|
||||||
|
|
||||||
|
(require 'mu4e)
|
||||||
|
;;store org-mode links to messages
|
||||||
|
(require 'org-mu4e)
|
||||||
|
;;store link to message if in header view, not to header query
|
||||||
|
(setq org-mu4e-link-query-in-headers-mode nil)
|
||||||
|
|
||||||
|
(setq mail-user-agent 'mu4e-user-agent)
|
||||||
|
(setq org-mu4e-link-query-in-headers-mode t)
|
||||||
|
(setq mu4e-maildir (expand-file-name "~/Maildir/dri/INBOX"))
|
||||||
|
(setq mu4e-get-mail-command "mbsync -a")
|
||||||
|
(setq mu4e-sent-folder "/Sent")
|
||||||
|
(setq mu4e-drafts-folder "/Drafts")
|
||||||
|
(setq mu4e-trash-folder "/Junk")
|
||||||
|
(setq mu4e-refile-folder "/INBOX/archives")
|
||||||
|
(setq mu4e-context-policy 'pick-first)
|
||||||
|
(setq mu4e-change-filenames-when-moving t)
|
||||||
|
(setq starttls-use-gnutls t)
|
||||||
|
(setq message-send-mail-function 'smtpmail-send-it)
|
||||||
|
(setq mu4e-update-interval 300)
|
||||||
|
(setq mu4e-use-fancy-chars t)
|
||||||
|
(setq mu4e-view-show-addresses t)
|
||||||
|
(setq mu4e-headers-show-threads t)
|
||||||
|
(setq mu4e-headers-skip-duplicates t)
|
||||||
|
(setq mail-user-agent 'mu4e-user-agent)
|
||||||
|
(defvaralias 'mu4e-compose-signature 'message-signature)
|
||||||
|
(setq-default mu4e-save-multiple-attachments-without-asking t)
|
||||||
|
(setq-default mu4e-view-show-addresses t)
|
||||||
|
(setq-default mu4e-confirm-quit nil)
|
||||||
|
(setq-default mu4e-hide-index-messages t)
|
||||||
|
(setq-default mu4e-index-update-in-background t)
|
||||||
|
(setq mu4e-compose-in-new-frame nil)
|
||||||
|
;;rename files when moving
|
||||||
|
;;NEEDED FOR MBSYNC
|
||||||
|
(setq mu4e-change-filenames-when-moving t)
|
||||||
|
(setq mu4e-html2text-command "iconv -c -t utf-8 | ${pkgs.pandoc}/bin/pandoc -f html -t plain")
|
||||||
|
(setq mu4e-view-show-images t)
|
||||||
|
(when (fboundp 'imagemagick-register-types)
|
||||||
|
(imagemagick-register-types))
|
||||||
|
(setq message-kill-buffer-on-exit t)
|
||||||
|
|
||||||
|
(require 'org-msg)
|
||||||
|
(setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil \\n:t"
|
||||||
|
org-msg-startup "hidestars indent inlineimages"
|
||||||
|
org-msg-greeting-fmt "\nHi%s,\n\n"
|
||||||
|
org-msg-recipient-names '(("alexandre@dri.fr" . "Alexandre"))
|
||||||
|
org-msg-greeting-name-limit 3
|
||||||
|
org-msg-default-alternatives '((new . (text html))
|
||||||
|
(reply-to-html . (text html))
|
||||||
|
(reply-to-text . (text)))
|
||||||
|
org-msg-convert-citation t
|
||||||
|
org-msg-signature "
|
||||||
|
|
||||||
|
Regards,
|
||||||
|
|
||||||
|
#+begin_signature
|
||||||
|
--
|
||||||
|
*Alexandre
|
||||||
|
/One Emacs to rule them all/
|
||||||
|
#+end_signature")
|
||||||
|
(org-msg-mode)
|
||||||
|
(autoload 'markdown-mode "markdown-mode"
|
||||||
|
"Major mode for editing Markdown files" t)
|
||||||
|
(add-to-list 'auto-mode-alist
|
||||||
|
'("\\.\\(?:md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn\\)\\'" . markdown-mode))
|
||||||
|
|
||||||
|
(autoload 'gfm-mode "markdown-mode"
|
||||||
|
"Major mode for editing GitHub Flavored Markdown files" t)
|
||||||
|
(add-to-list 'auto-mode-alist '("README\\.md\\'" . gfm-mode))
|
||||||
|
|
||||||
|
;; Org-Roam basic configuration
|
||||||
|
(setq org-directory (concat (getenv "HOME") "/Nextcloud/PRIVE/13_Org"))
|
||||||
|
|
||||||
|
(use-package org-roam
|
||||||
|
:after org
|
||||||
|
:init (setq org-roam-v2-ack t) ;; Acknowledge V2 upgrade
|
||||||
|
:custom
|
||||||
|
(org-roam-directory (file-truename org-directory))
|
||||||
|
:config
|
||||||
|
(org-roam-setup)
|
||||||
|
:bind (("C-c n f" . org-roam-node-find)
|
||||||
|
("C-c n r" . org-roam-node-random)
|
||||||
|
(:map org-mode-map
|
||||||
|
(("C-c n i" . org-roam-node-insert)
|
||||||
|
("C-c n o" . org-id-get-create)
|
||||||
|
("C-c n t" . org-roam-tag-add)
|
||||||
|
("C-c n a" . org-roam-alias-add)
|
||||||
|
("C-c n l" . org-roam-buffer-toggle)))))
|
||||||
|
|
||||||
|
;; org-mode
|
||||||
|
(require 'org)
|
||||||
|
(require 'remember)
|
||||||
|
(require 'org-mouse)
|
||||||
|
(setq org-startup-folded t
|
||||||
|
org-pretty-entities t
|
||||||
|
org-hide-emphasis-markers t
|
||||||
|
org-startup-with-inline-images t
|
||||||
|
org-image-actual-width '(300))
|
||||||
|
;; files with ".org" open in org-mode
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
|
||||||
|
|
||||||
|
(setq org-agenda-files '("~/Nextcloud/PRIVE/13_Org/agenda-DRI.org" "~/Nextcloud/PRIVE/13_Org/perso.org"))
|
||||||
|
;; one file org
|
||||||
|
(defvar org-gtd-file "~/Nextcloud/PRIVE/13_Org/DRI.org")
|
||||||
|
|
||||||
|
;; Open DRI.org when I hit C-c g
|
||||||
|
(defun gtd ()
|
||||||
|
"Open the GTD file."
|
||||||
|
(interactive)
|
||||||
|
(find-file org-gtd-file))
|
||||||
|
;; keybinding
|
||||||
|
(global-set-key "\C-cl" 'org-store-link)
|
||||||
|
(global-set-key "\C-ca" 'org-agenda)
|
||||||
|
(global-set-key "\C-cr" 'org-remember)
|
||||||
|
(global-set-key "\C-cg" 'gtd)
|
||||||
|
|
||||||
|
;; This seems like a good basic set of keywords to start out with:
|
||||||
|
|
||||||
|
(setq org-todo-keywords '((type "TODO" "SCHEDULED" "NEXT" "WAITING" "DONE")))
|
||||||
|
|
||||||
|
(setf org-todo-keyword-faces '(("NEXT" . (:foreground "yellow" :background "red" :bold t :weight bold))
|
||||||
|
("TODO" . (:foreground "cyan" :background "steelblue" :bold t :weight bold))
|
||||||
|
("WAITING" . (:foreground "yellow" :background "magenta2" :bold t :weight bold))
|
||||||
|
("DONE" . (:foreground "gray50" :background "gray30"))))
|
||||||
|
|
||||||
|
;; tags
|
||||||
|
(setq org-tag-alist '(("@devis" . ?w) ("@projet" . ?h) ("@client" . ?h) ("@prospect" . ?h) ("interne" . ?l)))
|
||||||
|
|
||||||
|
|
||||||
|
(setq org-tag-faces
|
||||||
|
'(
|
||||||
|
("DEVIS" . (:foreground "OrangeRed" :weight bold))
|
||||||
|
("@projet" . (:foreground "IndianRed1" :weight bold))
|
||||||
|
("interne" . (:foreground "LimeGreen" :weight bold))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
;; Remember support. This creates several files:
|
||||||
|
;;
|
||||||
|
;; ~/todo.org Where remembered TODO's are stored.
|
||||||
|
;; ~/journal.org Timestamped journal entries.
|
||||||
|
;; ~/remember.org All other notes
|
||||||
|
|
||||||
|
;; and a keybinding of "C-c r" for making quick notes from any buffer.
|
||||||
|
|
||||||
|
;; These bits of Remembered information must eventually be reviewed
|
||||||
|
;; and filed somewhere (perhaps in gtd.org, or in a project-specific
|
||||||
|
;; org file.) The out-of-sight, out-of-mind rule applies here---if I
|
||||||
|
;; don't review these auxiliary org-files, I'll probably forget what's
|
||||||
|
;; in them.
|
||||||
|
(setq org-reverse-note-order t) ;; note at beginning of file by default.
|
||||||
|
(setq org-default-notes-file "~/remember.org")
|
||||||
|
(setq remember-annotation-functions '(org-remember-annotation))
|
||||||
|
(setq remember-handler-functions '(org-remember-handler))
|
||||||
|
(add-hook 'remember-mode-hook 'org-remember-apply-template)
|
||||||
|
|
||||||
|
(setq org-remember-templates
|
||||||
|
'((?t "* TODO %?\n %i\n %a" "~/Nextcloud/PRIVE/13_Org/todo.org")
|
||||||
|
(?j "* %U %?\n\n %i\n %a" "~/Nextcloud/PRIVE/13_Org/journal.org")
|
||||||
|
(?i "* %^{Title}\n %i\n %a" "~/Nextcloud/PRIVE/13_Org/remember.org" "New Ideas")))
|
||||||
|
|
||||||
|
(global-set-key "\C-cr" 'org-remember)
|
||||||
|
(global-set-key [(f12)] 'org-remember)
|
||||||
|
|
||||||
|
|
||||||
|
;; widen category field a little
|
||||||
|
(setq org-agenda-prefix-format " %-17:c%?-12t% s")
|
||||||
|
|
||||||
|
;; https://gist.github.com/dandrews/4644693
|
||||||
|
(setq org-ellipsis "⤵")
|
|
@ -0,0 +1,103 @@
|
||||||
|
# _____ __ __ _
|
||||||
|
# / ___// /_____ ___________/ /_ (_)___
|
||||||
|
# \__ \/ __/ __ `/ ___/ ___/ __ \/ / __ \
|
||||||
|
# ___/ / /_/ /_/ / / (__ ) / / / / /_/ /
|
||||||
|
# /____/\__/\__,_/_/ /____/_/ /_/_/ .___/
|
||||||
|
# /_/
|
||||||
|
|
||||||
|
[directory]
|
||||||
|
truncation_length = 8
|
||||||
|
truncation_symbol = "…/"
|
||||||
|
|
||||||
|
[cmd_duration]
|
||||||
|
show_milliseconds = true
|
||||||
|
# format = "took [$duration](bold yellow) "
|
||||||
|
|
||||||
|
[status]
|
||||||
|
style = "red"
|
||||||
|
symbol = "💥 "
|
||||||
|
format = '[\[$symbol$status\]]($style) '
|
||||||
|
disabled = false
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
symbol = "🌱 "
|
||||||
|
|
||||||
|
[git_status]
|
||||||
|
ahead = "⇡🏎💨${count}"
|
||||||
|
diverged = "⇕⇡😵${ahead_count}⇣${behind_count}"
|
||||||
|
behind = "⇣😰${count}"
|
||||||
|
conflicted = "🏳"
|
||||||
|
untracked = "🤷"
|
||||||
|
stashed = "📦"
|
||||||
|
modified = "📝"
|
||||||
|
staged = '[++\($count\)](green)'
|
||||||
|
renamed = "👅"
|
||||||
|
deleted = "🗑"
|
||||||
|
|
||||||
|
[battery]
|
||||||
|
full_symbol = "🔋"
|
||||||
|
charging_symbol = "⚡️"
|
||||||
|
discharging_symbol = "💀"
|
||||||
|
|
||||||
|
[[battery.display]] # "bold red" style when capacity is between 0% and 10%
|
||||||
|
threshold = 10
|
||||||
|
style = "bold red"
|
||||||
|
|
||||||
|
[[battery.display]] # "bold yellow" style when capacity is between 10% and 30%
|
||||||
|
threshold = 30
|
||||||
|
style = "bold yellow"
|
||||||
|
|
||||||
|
[[battery.display]]
|
||||||
|
threshold = 100
|
||||||
|
style = "bold green"
|
||||||
|
|
||||||
|
# __
|
||||||
|
# / / ____ _____ ____ ___ ______ _____ ____ _____
|
||||||
|
# / / / __ `/ __ \/ __ `/ / / / __ `/ __ `/ _ \/ ___/
|
||||||
|
# / /___/ /_/ / / / / /_/ / /_/ / /_/ / /_/ / __(__ )
|
||||||
|
# /_____/\__,_/_/ /_/\__, /\__,_/\__,_/\__, /\___/____/
|
||||||
|
# /____/ /____/
|
||||||
|
|
||||||
|
[cmake]
|
||||||
|
#symbol = "C "
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[dotnet]
|
||||||
|
format = "[$symbol($version )]($style)"
|
||||||
|
symbol = "•NET "
|
||||||
|
#symbol = " "
|
||||||
|
|
||||||
|
[golang]
|
||||||
|
symbol = "GO "
|
||||||
|
#symbol = "ﳑ "
|
||||||
|
|
||||||
|
[java]
|
||||||
|
symbol = "Java "
|
||||||
|
#symbol = " "
|
||||||
|
|
||||||
|
[nodejs]
|
||||||
|
format = "via [$symbol]($style)"
|
||||||
|
#symbol = "NodeJS "
|
||||||
|
symbol = "JS "
|
||||||
|
#symbol = " "
|
||||||
|
|
||||||
|
[lua]
|
||||||
|
symbol = "Lua "
|
||||||
|
#symbol = " "
|
||||||
|
|
||||||
|
[perl]
|
||||||
|
symbol = "Perl "
|
||||||
|
|
||||||
|
[python]
|
||||||
|
symbol = "Py "
|
||||||
|
#symbol = " "
|
||||||
|
#symbol = " "
|
||||||
|
|
||||||
|
[ruby]
|
||||||
|
symbol = "Ruby "
|
||||||
|
#symbol = " "
|
||||||
|
#symbol = " "
|
||||||
|
|
||||||
|
[rust]
|
||||||
|
symbol = "Rs "
|
||||||
|
#symbol = " "
|
|
@ -1,16 +1,12 @@
|
||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
|
||||||
multimarkdown
|
|
||||||
];
|
|
||||||
services.emacs.enable = true;
|
services.emacs.enable = true;
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = (epkgs:
|
extraPackages = (epkgs:
|
||||||
(with epkgs; [
|
(with epkgs; [
|
||||||
use-package
|
use-package
|
||||||
dash
|
|
||||||
doom-themes
|
doom-themes
|
||||||
lsp-mode
|
lsp-mode
|
||||||
web-mode
|
web-mode
|
||||||
|
@ -23,23 +19,18 @@ home.packages = with pkgs; [
|
||||||
prettier-js
|
prettier-js
|
||||||
smartparens
|
smartparens
|
||||||
org
|
org
|
||||||
org-journal
|
org-roam
|
||||||
org-roam
|
|
||||||
org-msg
|
|
||||||
org-caldav
|
|
||||||
magit
|
magit
|
||||||
evil
|
|
||||||
bbdb
|
bbdb
|
||||||
projectile
|
projectile
|
||||||
flycheck
|
|
||||||
ivy
|
ivy
|
||||||
counsel
|
counsel
|
||||||
counsel-projectile
|
counsel-projectile
|
||||||
lsp-ivy
|
lsp-ivy
|
||||||
which-key
|
which-key
|
||||||
elpaPackages.org
|
elpaPackages.org
|
||||||
markdown-mode
|
|
||||||
]));
|
]));
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
|
@ -0,0 +1,35 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userEmail = "lucazeau.alexandre@gmail.com";
|
||||||
|
userName = "Alexandre LUCAZEAU";
|
||||||
|
aliases = {
|
||||||
|
ignore = "!gi() { curl -sL https://www.toptal.com/developers/gitignore/api/$@ ;}; gi";
|
||||||
|
};
|
||||||
|
extraConfig = {
|
||||||
|
"color" = {
|
||||||
|
"ui" = true;
|
||||||
|
};
|
||||||
|
"init" = {
|
||||||
|
defaultBranch = "main";
|
||||||
|
};
|
||||||
|
"color \"diff-highlight\"" = {
|
||||||
|
oldNormal = "red bold";
|
||||||
|
oldHighlight = "red bold 52";
|
||||||
|
newNormal = "green bold";
|
||||||
|
newHighlight = "green bold 22";
|
||||||
|
};
|
||||||
|
"color \"diff\"" = {
|
||||||
|
meta = 11;
|
||||||
|
frag = "magenta bold";
|
||||||
|
commit = "yellow bold";
|
||||||
|
old = "red bold";
|
||||||
|
new = "green bold";
|
||||||
|
whitespace = "red reverse";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
#signing.key = "GPG-KEY-ID";
|
||||||
|
#signing.signByDefault = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ config, pkgs, ... }:{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
pass
|
||||||
|
gnupg
|
||||||
|
pinentry-curses
|
||||||
|
];
|
||||||
|
services = {
|
||||||
|
# lorri.enable = true;
|
||||||
|
gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSshSupport = true;
|
||||||
|
pinentryFlavor = "curses";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
programs.himalaya = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
accounts.email.accounts = {
|
||||||
|
zimbra = {
|
||||||
|
primary = true;
|
||||||
|
himalaya.enable = true;
|
||||||
|
address = "alexandre.lucazeau@free.fr";
|
||||||
|
realName = "Alexandre LUCAZEAU";
|
||||||
|
userName = "alexandre.lucazeau";
|
||||||
|
passwordCommand = "keepassxc-cli show -a Password --no-password -k $HOME/keyx/emails.key $HOME/keys/emails.kbx zimbra";
|
||||||
|
imap = {
|
||||||
|
host = "imap.free.fr";
|
||||||
|
port = 993;
|
||||||
|
tls.enable = true;
|
||||||
|
};
|
||||||
|
smtp = {
|
||||||
|
host = "smtp.free.fr";
|
||||||
|
port = 587;
|
||||||
|
tls.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
{ pkgs, config, ... }: {
|
||||||
|
imports = [
|
||||||
|
./packages.nix
|
||||||
|
./gnupg.nix
|
||||||
|
./git.nix
|
||||||
|
./variables.nix
|
||||||
|
./starship.nix
|
||||||
|
#./mails.nix
|
||||||
|
./mpd.nix
|
||||||
|
# ./emacs.nix
|
||||||
|
./i3status.nix
|
||||||
|
./himalaya.nix
|
||||||
|
../../../modules/tmux.nix
|
||||||
|
../../../modules/emacs.nix
|
||||||
|
];
|
||||||
|
home.stateVersion = "21.11";
|
||||||
|
home.username = "alexandre";
|
||||||
|
home.homeDirectory = "/home/alexandre";
|
||||||
|
home.keyboard = {
|
||||||
|
layout = "fr";
|
||||||
|
variant = "bepo";
|
||||||
|
};
|
||||||
|
xdg.configFile = {
|
||||||
|
"i3/config".source = ./configs/i3config;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://git.0xee.eu/0xee/nix-home/src/commit/b1bffdd8e56e093480c3ba7ed12b0141a4c6f9b1/desktop/polybar-config
|
||||||
|
#https://raw.githubusercontent.com/Litarvan/nix-litarvan/master/kilin/polybar.nix
|
|
@ -0,0 +1,55 @@
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:{
|
||||||
|
|
||||||
|
programs.i3status-rust = {
|
||||||
|
enable = true;
|
||||||
|
bars = {
|
||||||
|
bottom = {
|
||||||
|
blocks = [
|
||||||
|
{
|
||||||
|
block = "disk_space";
|
||||||
|
path = "/";
|
||||||
|
format = "$icon $percentage";
|
||||||
|
format_alt = " $icon $available / $total ";
|
||||||
|
info_type = "used";
|
||||||
|
interval = 60;
|
||||||
|
warning = 20.0;
|
||||||
|
alert = 10.0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "memory";
|
||||||
|
format = " $icon $mem_avail.eng(prefix:M)/$mem_total.eng(prefix:M)($mem_total_used_percents.eng(w:2)) ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "cpu";
|
||||||
|
interval = 1;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "load";
|
||||||
|
interval = 1;
|
||||||
|
format = "{1m}";
|
||||||
|
}
|
||||||
|
{ block = "sound"; }
|
||||||
|
{
|
||||||
|
block = "backlight";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "battery";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "kdeconnect";
|
||||||
|
format = " $icon {$bat_icon $bat_charge |}{$notif_icon |}{$network_icon$network_strength $network_type |}";
|
||||||
|
bat_good = 101;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "time";
|
||||||
|
interval = 60;
|
||||||
|
format = " $icon $timestamp.datetime(f:'%d/%m %R', l:fr_FR) ";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icons = "material-nf";
|
||||||
|
theme = "nord-dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.mbsync.enable = true;
|
||||||
|
programs.msmtp.enable = true;
|
||||||
|
programs.notmuch = {
|
||||||
|
enable = true;
|
||||||
|
hooks = {
|
||||||
|
preNew = "mbsync --all";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
accounts.email = {
|
||||||
|
accounts.dri = {
|
||||||
|
address = "alexandre@dri.fr";
|
||||||
|
gpg = {
|
||||||
|
key = "464CAA7A718D4CE84F03DFFE8B2EB421411BF613";
|
||||||
|
signByDefault = true ;
|
||||||
|
};
|
||||||
|
imap = {
|
||||||
|
host = "imap.dri.fr";
|
||||||
|
tls = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
folders = {
|
||||||
|
inbox = "INBOX";
|
||||||
|
};
|
||||||
|
mbsync = {
|
||||||
|
enable = true;
|
||||||
|
create = "maildir";
|
||||||
|
|
||||||
|
};
|
||||||
|
msmtp.enable = true;
|
||||||
|
notmuch.enable = true;
|
||||||
|
primary = true;
|
||||||
|
realName = "LUCAZEAU Alexandre";
|
||||||
|
userName = "1847_alexandre";
|
||||||
|
signature = {
|
||||||
|
text = ''
|
||||||
|
Avant Vente
|
||||||
|
'';
|
||||||
|
showsignature = "append";
|
||||||
|
};
|
||||||
|
password = "JNdMKb05ndM5:\)";
|
||||||
|
#passwordCommand = "gpg --quiet --for-your-eyes-only --no-tty --decrypt ~/.password-store/mails.gpg";
|
||||||
|
smtp = {
|
||||||
|
host = "smtp.dri.fr";
|
||||||
|
port = 587;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,66 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.mpd = {
|
||||||
|
enable = true;
|
||||||
|
musicDirectory = "~/Nextcloud/Musique";
|
||||||
|
network.listenAddress = "any";
|
||||||
|
extraConfig = ''
|
||||||
|
zeroconf_enabled "no"
|
||||||
|
|
||||||
|
restore_paused "yes"
|
||||||
|
replaygain "track"
|
||||||
|
|
||||||
|
audio_output {
|
||||||
|
type "pulse"
|
||||||
|
name "pulse"
|
||||||
|
}
|
||||||
|
|
||||||
|
audio_output {
|
||||||
|
type "fifo"
|
||||||
|
name "fifo"
|
||||||
|
path "${config.services.mpd.dataDir}/fifo"
|
||||||
|
format "44100:16:2"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.ncmpcpp = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.ncmpcpp.override { visualizerSupport = true; taglibSupport = false; };
|
||||||
|
mpdMusicDir = null; # does not work (not of type `null or path')
|
||||||
|
settings = {
|
||||||
|
# Visualizer
|
||||||
|
visualizer_fifo_path = "${config.services.mpd.dataDir}/fifo";
|
||||||
|
visualizer_in_stereo = "yes";
|
||||||
|
visualizer_look = "+|";
|
||||||
|
visualizer_output_name = "fifo";
|
||||||
|
visualizer_sync_interval = "15";
|
||||||
|
visualizer_type = "spectrum";
|
||||||
|
|
||||||
|
# Song list formatting
|
||||||
|
song_columns_list_format = builtins.concatStringsSep " " [
|
||||||
|
"(6f)[green]{NE}"
|
||||||
|
"(45)[white]{t|f:Title}"
|
||||||
|
"(20)[]{a}"
|
||||||
|
"(25)[cyan]{b}"
|
||||||
|
"(5f)[blue]{P}"
|
||||||
|
"(7f)[magenta]{l}"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Display lists in column mode by default
|
||||||
|
browser_display_mode = "columns";
|
||||||
|
search_engine_display_mode = "columns";
|
||||||
|
|
||||||
|
# Faster seeking
|
||||||
|
seek_time = 5;
|
||||||
|
|
||||||
|
# More modern UI
|
||||||
|
user_interface = "alternative";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
mpc_cli
|
||||||
|
];
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
.config/nixpkgs
|
|
@ -0,0 +1,38 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
jq
|
||||||
|
nextcloud-client
|
||||||
|
libreoffice
|
||||||
|
btop
|
||||||
|
neomutt
|
||||||
|
notmuch
|
||||||
|
isync
|
||||||
|
zathura
|
||||||
|
rofi
|
||||||
|
rofi-pass
|
||||||
|
simple-scan
|
||||||
|
brightnessctl
|
||||||
|
gimp
|
||||||
|
scrot
|
||||||
|
papirus-icon-theme
|
||||||
|
audio-recorder
|
||||||
|
starship
|
||||||
|
inkscape
|
||||||
|
firefox
|
||||||
|
poppler_utils
|
||||||
|
texlive.combined.scheme-full
|
||||||
|
hugo
|
||||||
|
eww
|
||||||
|
alacritty
|
||||||
|
youtube-dl
|
||||||
|
zola
|
||||||
|
keepassxc
|
||||||
|
zlib
|
||||||
|
python3
|
||||||
|
nodejs
|
||||||
|
vlc
|
||||||
|
guake
|
||||||
|
graphviz
|
||||||
|
kdeconnect
|
||||||
|
];
|
||||||
|
}
|
|
@ -0,0 +1,341 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
# Created By Aditya Shakya @adi1090x
|
||||||
|
# Edited and ported to Nix by Litarvan
|
||||||
|
|
||||||
|
let
|
||||||
|
bg = "#272727";
|
||||||
|
fg = "#CACACA";
|
||||||
|
ac = "#1E88E5";
|
||||||
|
mf = "#383838";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# enable = true;
|
||||||
|
|
||||||
|
package = pkgs.polybar.override {
|
||||||
|
i3GapsSupport = true;
|
||||||
|
alsaSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# script = ''
|
||||||
|
# ${pkgs.xorg.xrandr}/bin/xrandr --listactivemonitors | \
|
||||||
|
# ${pkgs.gnugrep}/bin/grep -oP '(HDMI\-\d+|eDP\-\d+)' | \
|
||||||
|
# ${pkgs.findutils}/bin/xargs -P1 -I{} ${pkgs.bash}/bin/bash -c "MONITOR={} polybar -q -r main"
|
||||||
|
# '';
|
||||||
|
|
||||||
|
script = "polybar -q -r main &";
|
||||||
|
|
||||||
|
config = {
|
||||||
|
"global/wm" = {
|
||||||
|
margin-bottom = 0;
|
||||||
|
margin-top = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
"bar/main" = {
|
||||||
|
# monitor = "$\{env:MONITOR:}";
|
||||||
|
|
||||||
|
monitor-strict = false;
|
||||||
|
override-redirect = false;
|
||||||
|
|
||||||
|
bottom = true;
|
||||||
|
fixed-center = true;
|
||||||
|
|
||||||
|
width = "100%";
|
||||||
|
height = 36;
|
||||||
|
|
||||||
|
offset-x = "0%";
|
||||||
|
offset-y = "0%";
|
||||||
|
|
||||||
|
background = bg;
|
||||||
|
foreground = fg;
|
||||||
|
|
||||||
|
radius-top = "0.0";
|
||||||
|
radius-bottom = "0.0";
|
||||||
|
|
||||||
|
overline-size = 6;
|
||||||
|
underline-size = 6;
|
||||||
|
overline-color = bg;
|
||||||
|
underline-color = bg;
|
||||||
|
|
||||||
|
border-top-size = 4;
|
||||||
|
border-color = ac;
|
||||||
|
|
||||||
|
padding = 0;
|
||||||
|
|
||||||
|
module-margin-left = 0;
|
||||||
|
module-margin-right = 0;
|
||||||
|
|
||||||
|
font-0 = "Termsyn:size=12;2";
|
||||||
|
font-1 = "Siji:size=12;2";
|
||||||
|
font-2 = "xos4 Terminus:size = 12;1";
|
||||||
|
|
||||||
|
modules-left = "i3 cpu";
|
||||||
|
modules-center = "memory alsa battery backlight";
|
||||||
|
modules-right = "network date";
|
||||||
|
|
||||||
|
spacing = 0;
|
||||||
|
|
||||||
|
dim-value = "1.";
|
||||||
|
|
||||||
|
tray-position = "right";
|
||||||
|
tray-detached = false;
|
||||||
|
tray-maxsize = 16;
|
||||||
|
tray-background = bg;
|
||||||
|
tray-offset-x = 0;
|
||||||
|
tray-offset-y = 0;
|
||||||
|
tray-padding = 0;
|
||||||
|
tray-scale = "1.0";
|
||||||
|
|
||||||
|
enable-ipc = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"settings" = {
|
||||||
|
throttle-output = 5;
|
||||||
|
throttle-output-for = 10;
|
||||||
|
throttle-input-for = 30;
|
||||||
|
|
||||||
|
screenchange-reload = false;
|
||||||
|
|
||||||
|
compositing-background = "source";
|
||||||
|
compositing-foreground = "over";
|
||||||
|
compositing-overline = "over";
|
||||||
|
comppositing-underline = "over";
|
||||||
|
compositing-border = "over";
|
||||||
|
|
||||||
|
pseudo-transparency = "false";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/alsa" = {
|
||||||
|
type = "internal/alsa";
|
||||||
|
|
||||||
|
format-volume = "VOL <label-volume>";
|
||||||
|
format-volume-background = mf;
|
||||||
|
format-volume-underline = bg;
|
||||||
|
format-volume-overline = bg;
|
||||||
|
format-volume-padding = 2;
|
||||||
|
format-volume-margin = 2;
|
||||||
|
|
||||||
|
label-volume = "%percentage%%";
|
||||||
|
|
||||||
|
format-muted-background = mf;
|
||||||
|
format-muted-underline = bg;
|
||||||
|
format-muted-overline = bg;
|
||||||
|
format-muted-padding = 2;
|
||||||
|
format-muted-margin = 2;
|
||||||
|
|
||||||
|
label-muted = "MUTED";
|
||||||
|
label-muted-foreground = ac;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/backlight" = {
|
||||||
|
type = "internal/xbacklight";
|
||||||
|
|
||||||
|
card = "intel_backlight"; # TODO: Better way to fill this
|
||||||
|
|
||||||
|
format = "LGT <label>";
|
||||||
|
format-background = mf;
|
||||||
|
format-underline = bg;
|
||||||
|
format-overline = bg;
|
||||||
|
format-padding = 2;
|
||||||
|
|
||||||
|
label = "%percentage%%";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/battery" = {
|
||||||
|
type = "internal/battery";
|
||||||
|
|
||||||
|
full-at = 99;
|
||||||
|
|
||||||
|
battery = "BAT1"; # TODO: Better way to fill this
|
||||||
|
adapter = "ACAD";
|
||||||
|
|
||||||
|
poll-interval = 2;
|
||||||
|
|
||||||
|
time-format = "%H:%M";
|
||||||
|
|
||||||
|
format-charging = "CHR <label-charging>";
|
||||||
|
format-charging-background = mf;
|
||||||
|
format-charging-underline = bg;
|
||||||
|
format-charging-overline = bg;
|
||||||
|
format-charging-padding = 2;
|
||||||
|
|
||||||
|
format-discharging = "BAT <label-discharging>";
|
||||||
|
format-discharging-background = mf;
|
||||||
|
format-discharging-underline = bg;
|
||||||
|
format-discharging-overline = bg;
|
||||||
|
format-discharging-padding = 2;
|
||||||
|
|
||||||
|
label-charging = "%percentage%%";
|
||||||
|
label-discharging = "%percentage%%";
|
||||||
|
label-full = "FULL CHR";
|
||||||
|
label-full-background = mf;
|
||||||
|
label-full-underline = bg;
|
||||||
|
label-full-overline = bg;
|
||||||
|
label-full-padding = 2;
|
||||||
|
label-full-margin = 2;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/cpu" = {
|
||||||
|
type = "internal/cpu";
|
||||||
|
|
||||||
|
interval = "0.5";
|
||||||
|
|
||||||
|
format = "<label>";
|
||||||
|
format-background = mf;
|
||||||
|
format-underline = bg;
|
||||||
|
format-overline = bg;
|
||||||
|
format-padding = 2;
|
||||||
|
format-margin = 1;
|
||||||
|
|
||||||
|
label = "CPU %percentage%%";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/date" = {
|
||||||
|
type = "internal/date";
|
||||||
|
|
||||||
|
interval = "1.0";
|
||||||
|
|
||||||
|
time = "%I:%M %p";
|
||||||
|
time-alt = "%Y-%m-%d%";
|
||||||
|
|
||||||
|
format = "<label>";
|
||||||
|
format-padding = 4;
|
||||||
|
format-foreground = fg;
|
||||||
|
|
||||||
|
label = "%time%";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/filesystem" = {
|
||||||
|
type = "internal/fs";
|
||||||
|
|
||||||
|
mount-0 = "/";
|
||||||
|
mount-1 = "/home";
|
||||||
|
mount-2 = "/var";
|
||||||
|
mount-3 = "/opt";
|
||||||
|
|
||||||
|
interval = 10;
|
||||||
|
fixed-values = true;
|
||||||
|
|
||||||
|
format-mounted = "<label-mounted>";
|
||||||
|
format-mounted-background = mf;
|
||||||
|
format-mounted-underline = bg;
|
||||||
|
format-mounted-overline = bg;
|
||||||
|
format-mounted-padding = 2;
|
||||||
|
format-mounted-margin = 0;
|
||||||
|
|
||||||
|
format-unmounted = "<label-unmounted>";
|
||||||
|
format-unmounted-background = mf;
|
||||||
|
format-unmounted-underline = bg;
|
||||||
|
format-unmounted-overline = bg;
|
||||||
|
format-unmounted-padding = 2;
|
||||||
|
format-unmounted-margin = 0;
|
||||||
|
|
||||||
|
label-mounted = "FS %free%";
|
||||||
|
label-unmounted = "%mountpoint%: not mounted";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/i3" = {
|
||||||
|
type = "internal/i3";
|
||||||
|
|
||||||
|
format = "<label-state> <label-mode>";
|
||||||
|
|
||||||
|
label-mode = "%mode%";
|
||||||
|
label-mode-padding = 2;
|
||||||
|
label-mode-background = "#e60053";
|
||||||
|
|
||||||
|
label-unfocused-padding = 2;
|
||||||
|
|
||||||
|
label-focused = "%index%";
|
||||||
|
label-focused-foreground = "#ffffff";
|
||||||
|
label-focused-background = "#3f3f3f";
|
||||||
|
label-focused-underline = ac;
|
||||||
|
label-focused-padding = 2;
|
||||||
|
|
||||||
|
label-visible = "%index%";
|
||||||
|
label-visible-underline = "#555555";
|
||||||
|
label-visible-padding = 2;
|
||||||
|
|
||||||
|
label-urgent = "%index%";
|
||||||
|
label-urgent-foreground = "#000000";
|
||||||
|
label-urgent-background = bg;
|
||||||
|
label-urgent-padding = 2;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/memory" = {
|
||||||
|
type = "internal/memory";
|
||||||
|
|
||||||
|
interval = 3;
|
||||||
|
|
||||||
|
format = "<label>";
|
||||||
|
format-background = mf;
|
||||||
|
format-underline = bg;
|
||||||
|
format-overline = bg;
|
||||||
|
format-padding = 2;
|
||||||
|
format-margin = 0;
|
||||||
|
|
||||||
|
label = "MEM %percentage_used%%";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/network" = {
|
||||||
|
type = "internal/network";
|
||||||
|
interface = "enp0s25";
|
||||||
|
|
||||||
|
interval = "1.0";
|
||||||
|
|
||||||
|
accumulate-stats = true;
|
||||||
|
unknown-as-up = true;
|
||||||
|
|
||||||
|
format-connected = "<label-connected>";
|
||||||
|
format-connected-background = mf;
|
||||||
|
format-connected-underline = bg;
|
||||||
|
format-connected-overline = bg;
|
||||||
|
format-connected-padding = 2;
|
||||||
|
format-connected-margin = 0;
|
||||||
|
|
||||||
|
format-disconnected = "<label-disconnected>";
|
||||||
|
format-disconnected-background = mf;
|
||||||
|
format-disconnected-underline = bg;
|
||||||
|
format-disconnected-overline = bg;
|
||||||
|
format-disconnected-padding = 2;
|
||||||
|
format-disconnected-margin = 0;
|
||||||
|
|
||||||
|
label-connected = "D %downspeed:2% | U %upspeed:2%";
|
||||||
|
label-disconnected = "DISCONNECTED";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/temperature" = {
|
||||||
|
type = "internal/temperature";
|
||||||
|
|
||||||
|
interval = "0.5";
|
||||||
|
|
||||||
|
thermal-zone = 0; # TODO: Find a better way to fill that
|
||||||
|
warn-temperature = 60;
|
||||||
|
units = true;
|
||||||
|
|
||||||
|
format = "<label>";
|
||||||
|
format-background = mf;
|
||||||
|
format-underline = bg;
|
||||||
|
format-overline = bg;
|
||||||
|
format-padding = 2;
|
||||||
|
format-margin = 0;
|
||||||
|
|
||||||
|
format-warn = "<label-warn>";
|
||||||
|
format-warn-background = mf;
|
||||||
|
format-warn-underline = bg;
|
||||||
|
format-warn-overline = bg;
|
||||||
|
format-warn-padding = 2;
|
||||||
|
format-warn-margin = 0;
|
||||||
|
|
||||||
|
label = "TEMP %temperature-c%";
|
||||||
|
label-warn = "TEMP %temperature-c%";
|
||||||
|
label-warn-foreground = "#f00";
|
||||||
|
};
|
||||||
|
|
||||||
|
#"module/wireless-network" = {
|
||||||
|
# type = "internal/network";
|
||||||
|
# interval = "wlp2s0";
|
||||||
|
#};
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
# Configuration écrite dans ~/.config/starship.toml
|
||||||
|
};
|
||||||
|
xdg.configFile = {
|
||||||
|
"starship.toml" .source = ./configs/starship.toml;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
[Configuration]
|
||||||
|
ColorForeground=#D8DEE9
|
||||||
|
ColorBackground=#2E3440
|
||||||
|
ColorCursor=#D8DEE9
|
||||||
|
ColorBold=#D8DEE9
|
||||||
|
ColorBoldUseDefault=FALSE
|
||||||
|
ColorPalette=#3B4252;#BF616A;#A3BE8C;#EBCB8B;#81A1C1;#B48EAD;#88C0D0;#E5E9F0;#4C566A;#BF616A;#A3BE8C;#EBCB8B;#81A1C1;#B48EAD;#8FBCBB;#ECEFF4
|
||||||
|
MiscAlwaysShowTabs=FALSE
|
||||||
|
MiscBell=FALSE
|
||||||
|
MiscBellUrgent=FALSE
|
||||||
|
MiscBordersDefault=FALSE
|
||||||
|
MiscCursorBlinks=FALSE
|
||||||
|
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
|
||||||
|
MiscDefaultGeometry=80x24
|
||||||
|
MiscInheritGeometry=FALSE
|
||||||
|
MiscMenubarDefault=FALSE
|
||||||
|
MiscMouseAutohide=FALSE
|
||||||
|
MiscMouseWheelZoom=TRUE
|
||||||
|
MiscToolbarDefault=FALSE
|
||||||
|
MiscConfirmClose=TRUE
|
||||||
|
MiscCycleTabs=TRUE
|
||||||
|
MiscTabCloseButtons=TRUE
|
||||||
|
MiscTabCloseMiddleClick=TRUE
|
||||||
|
MiscTabPosition=GTK_POS_TOP
|
||||||
|
MiscHighlightUrls=TRUE
|
||||||
|
MiscMiddleClickOpensUri=FALSE
|
||||||
|
MiscCopyOnSelect=FALSE
|
||||||
|
MiscShowRelaunchDialog=TRUE
|
||||||
|
MiscRewrapOnResize=TRUE
|
||||||
|
MiscUseShiftArrowsToScroll=FALSE
|
||||||
|
MiscSlimTabs=FALSE
|
||||||
|
MiscNewTabAdjacent=FALSE
|
||||||
|
MiscSearchDialogOpacity=100
|
||||||
|
MiscShowUnsafePasteDialog=TRUE
|
||||||
|
TabActivityColor=#88C0D0
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
with lib; {
|
||||||
|
config ={
|
||||||
|
home.sessionVariables = {
|
||||||
|
LESS = "--quit-if-one-screen --RAW-CONTROL-CHARS";
|
||||||
|
EDITOR = "nvim";
|
||||||
|
TERMINAL = "xfce4-terminal";
|
||||||
|
BROWSER = "firefox";
|
||||||
|
PRIVATE_BROWSER = "firefox -private";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,183 @@
|
||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./services.nix
|
||||||
|
# ./scanner.nix
|
||||||
|
modules/common.nix
|
||||||
|
modules/smtp.nix
|
||||||
|
#./dev.nix
|
||||||
|
];
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
boot.plymouth.enable = true;
|
||||||
|
|
||||||
|
# Clear /tmp during boot
|
||||||
|
boot.tmp.cleanOnBoot = true;
|
||||||
|
boot.kernelParams = [ "i915.enable_fbc=1" ];
|
||||||
|
|
||||||
|
# Enable microcode updates for Intel CPU
|
||||||
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
|
# Enable Kernel same-page merging
|
||||||
|
hardware.ksm.enable = true;
|
||||||
|
|
||||||
|
# Enable all the firmware
|
||||||
|
hardware.enableAllFirmware = true;
|
||||||
|
# Enable all the firmware with a license allowing redistribution. (i.e. free firmware and firmware-linux-nonfree)
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
# Enable OpenGL drivers
|
||||||
|
hardware.opengl.enable = true;
|
||||||
|
hardware.opengl.extraPackages = with pkgs; [
|
||||||
|
vaapiIntel
|
||||||
|
vaapiVdpau
|
||||||
|
libvdpau-va-gl
|
||||||
|
];
|
||||||
|
networking.hostName = "d2nix"; # Define your hostname.
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Paris";
|
||||||
|
|
||||||
|
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
||||||
|
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
||||||
|
# replicates the default behaviour.
|
||||||
|
networking.useDHCP = false;
|
||||||
|
networking.interfaces.enp0s25.useDHCP = true;
|
||||||
|
networking.interfaces.wlp0s29u1u2.useDHCP = true;
|
||||||
|
networking.interfaces.wlp2s0.useDHCP = true;
|
||||||
|
|
||||||
|
networking.stevenblack.block = [ "fakenews" "gambling" "porn" ];
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
i18n.defaultLocale = "fr_FR.UTF-8";
|
||||||
|
console = {
|
||||||
|
font = "Lat2-Terminus16";
|
||||||
|
keyMap = "fr";
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
fontDir.enable = true;
|
||||||
|
enableGhostscriptFonts = true;
|
||||||
|
fonts = with pkgs; [
|
||||||
|
corefonts
|
||||||
|
vistafonts
|
||||||
|
inconsolata
|
||||||
|
terminus_font
|
||||||
|
proggyfonts
|
||||||
|
dejavu_fonts
|
||||||
|
font-awesome
|
||||||
|
nerdfonts
|
||||||
|
source-code-pro
|
||||||
|
source-sans-pro
|
||||||
|
source-serif-pro
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
# i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
# console = {
|
||||||
|
# font = "Lat2-Terminus16";
|
||||||
|
# keyMap = "us";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
# services.xserver.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
# services.xserver.layout = "us";
|
||||||
|
# services.xserver.xkbOptions = "eurosign:e";
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
# services.printing.enable = true;
|
||||||
|
services.avahi.enable = true;
|
||||||
|
services.printing.enable = true;
|
||||||
|
services.avahi.openFirewall = true;
|
||||||
|
# Enable sound.
|
||||||
|
sound.enable = true;
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
|
users = {
|
||||||
|
#users.ntp.group = "ntp";
|
||||||
|
groups.ntp = {};
|
||||||
|
defaultUserShell = "/run/current-system/sw/bin/fish";
|
||||||
|
extraUsers.alexandre = {
|
||||||
|
isNormalUser = true;
|
||||||
|
home = "/home/alexandre";
|
||||||
|
description = "alexandre";
|
||||||
|
extraGroups = [ "wheel" "networkmanager" "docker" "libvirtd" "scanner" "plocate" "lp" ];
|
||||||
|
# hashedPassword = "$6$7m77oPQxa$W9YnRLo1X2eqztBHwpoH8diHGkBno5O39AMyL9Qm8y8I6uW63H2Nwx4p239OG5zhOxA8J1lZvHTQ3hKPSP9mT/";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
google-fonts
|
||||||
|
];
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
# users.users.jane = {
|
||||||
|
# isNormalUser = true;
|
||||||
|
# extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
# environment.systemPackages = with pkgs; [
|
||||||
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
|
# wget
|
||||||
|
# firefox
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
# programs.mtr.enable = true;
|
||||||
|
# programs.gnupg.agent = {
|
||||||
|
# enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
services.openssh.enable = true;
|
||||||
|
services.openssh.settings.PermitRootLogin = "no";
|
||||||
|
# Open ports in the firewall.
|
||||||
|
networking.firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [ 24800 6600 ];
|
||||||
|
# For kdeconnect
|
||||||
|
allowedTCPPortRanges = [
|
||||||
|
{ from = 1714; to = 1764; } # KDE Connect
|
||||||
|
];
|
||||||
|
allowedUDPPortRanges = [
|
||||||
|
{ from = 1714; to = 1764; } # KDE Connect
|
||||||
|
];
|
||||||
|
};
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
|
||||||
|
services.fstrim.enable = true;
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/b670bb55-7e29-4477-8f58-118c42598f40";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/0BEC-722D";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/d52b6afe-cb3f-4e92-8e4b-5394a0bef647"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|
||||||
|
boot.initrd.luks.devices = {
|
||||||
|
"partitions" = {
|
||||||
|
device = "/dev/sda2";
|
||||||
|
preLVM = true; # You may want to set this to false if you need to start a network service first
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
/home/alexandre/git/nixos-config/modules/
|
|
@ -0,0 +1,70 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
pulseaudio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# upgrade
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
fish.enable = true;
|
||||||
|
ssh = {
|
||||||
|
setXAuthLocation = true;
|
||||||
|
forwardX11 = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# SERVICES
|
||||||
|
services = {
|
||||||
|
|
||||||
|
clamav = {
|
||||||
|
daemon.enable = true;
|
||||||
|
updater.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
ntp.enable = true;
|
||||||
|
tlp.enable = true;
|
||||||
|
locate = {
|
||||||
|
enable = true;
|
||||||
|
locate = pkgs.plocate;
|
||||||
|
interval = "hourly";
|
||||||
|
localuser = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
# udev.extraRules = ''
|
||||||
|
# ACTION=="remove", ENV{ID_VENDOR_ID}=="1050", ENV{ID_MODEL_ID}=="0407", RUN+="/usr/bin/lockscreen-all"
|
||||||
|
# '';
|
||||||
|
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
autorun = true;
|
||||||
|
#desktopManager.gnome.enable = true;
|
||||||
|
windowManager.i3.enable = true;
|
||||||
|
displayManager.defaultSession = "none+i3";
|
||||||
|
layout = "fr";
|
||||||
|
xkbOptions = "eurosign:e";
|
||||||
|
desktopManager = {
|
||||||
|
xterm.enable = false;
|
||||||
|
xfce.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config = {
|
||||||
|
|
||||||
|
packageOverrides = pkgs: {
|
||||||
|
polybar = pkgs.polybar.override {
|
||||||
|
i3Support = true;
|
||||||
|
pulseSupport = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -1,31 +0,0 @@
|
||||||
[alias]
|
|
||||||
aa = add --all
|
|
||||||
b = branch -v
|
|
||||||
bd = branch -d
|
|
||||||
bD = branch -D
|
|
||||||
br = branch
|
|
||||||
ci = commit
|
|
||||||
cim = commit -m
|
|
||||||
cima = commit -am
|
|
||||||
clr = rm -r --cached
|
|
||||||
co = checkout
|
|
||||||
cp = cherry-pick -x
|
|
||||||
d = diff -w
|
|
||||||
dc = diff --cached
|
|
||||||
nb = checkout -b
|
|
||||||
oups = commit --amend --no-edit
|
|
||||||
r = remote -v
|
|
||||||
rh = reset --hard
|
|
||||||
st = status -sb
|
|
||||||
t = tag -l
|
|
||||||
unstage = reset HEAD
|
|
||||||
uncommit = reset --soft HEAD^
|
|
||||||
pushfl = push --force-with-lease
|
|
||||||
lg = lg1
|
|
||||||
lg1 = lg1-specific --all
|
|
||||||
lg2 = lg2-specific --all
|
|
||||||
lg3 = lg3-specific --all
|
|
||||||
|
|
||||||
lg1-specific = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
|
|
||||||
lg2-specific = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(auto)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)'
|
|
||||||
lg3-specific = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset) %C(bold cyan)(committed: %cD)%C(reset) %C(auto)%d%C(reset)%n'' %C(white)%s%C(reset)%n'' %C(dim white)- %an <%ae> %C(reset) %C(dim white)(committer: %cn <%ce>)%C(reset)'
|
|
|
@ -1,29 +0,0 @@
|
||||||
{ config, pkgs, ...}:
|
|
||||||
{
|
|
||||||
#environment.variables.EDITOR = "nvim";
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
gitAndTools.gitFull
|
|
||||||
unzip
|
|
||||||
zip
|
|
||||||
tmux
|
|
||||||
lshw
|
|
||||||
bc
|
|
||||||
#neovim
|
|
||||||
ncdu
|
|
||||||
nixos-option
|
|
||||||
bat
|
|
||||||
procs
|
|
||||||
plocate
|
|
||||||
lsd
|
|
||||||
age
|
|
||||||
lsd
|
|
||||||
htop
|
|
||||||
];
|
|
||||||
# Nix Garbage Collector
|
|
||||||
nix.gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 7d";
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,216 +0,0 @@
|
||||||
;; Keyboard-centric user interface
|
|
||||||
(setq inhibit-startup-message t)
|
|
||||||
(scroll-bar-mode -1)
|
|
||||||
(tool-bar-mode -1)
|
|
||||||
(menu-bar-mode -1)
|
|
||||||
|
|
||||||
(require 'package)
|
|
||||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
|
||||||
;; Comment/uncomment this line to enable MELPA Stable if desired. See `package-archive-priorities`
|
|
||||||
;; and `package-pinned-packages`. Most users will not need or want to do this.
|
|
||||||
;;(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
|
|
||||||
(package-initialize)
|
|
||||||
|
|
||||||
|
|
||||||
(column-number-mode 't) ; show current column in status bar
|
|
||||||
(add-hook 'text-mode-hook 'turn-on-auto-fill)
|
|
||||||
(set-fringe-mode 10)
|
|
||||||
|
|
||||||
;; Use 4 spaces for one tab visually.
|
|
||||||
(setq tab-width 4)
|
|
||||||
|
|
||||||
(show-paren-mode t) ; highlight matching open and close parentheses
|
|
||||||
(global-hl-line-mode) ; highlight current line
|
|
||||||
(global-visual-line-mode t) ; wrap long lines
|
|
||||||
(setq split-window-preferred-function
|
|
||||||
'visual-fill-column-split-window-sensibly) ; wrap at window boundary
|
|
||||||
|
|
||||||
(global-whitespace-mode) ; enable whitespace handling by default
|
|
||||||
(setq
|
|
||||||
whitespace-style ; see (apropos 'whitespace-style)
|
|
||||||
'(face ; viz via faces
|
|
||||||
trailing ; trailing blanks visualized
|
|
||||||
lines-tail ; lines beyond whitespace-line-column visualized
|
|
||||||
space-before-tab
|
|
||||||
space-after-tab
|
|
||||||
newline ; lines with only blanks visualized
|
|
||||||
indentation ; spaces used for indent when config wants tabs
|
|
||||||
empty ; empty lines at beginning or end or buffer
|
|
||||||
)
|
|
||||||
whitespace-line-column 150) ; column at which whitespace-mode says the line is too long
|
|
||||||
;;(set-face-attribute 'default nil :font "JetBrains Mono" :height 150)
|
|
||||||
|
|
||||||
;; themes
|
|
||||||
(use-package doom-themes
|
|
||||||
:init (load-theme 'doom-nord t)
|
|
||||||
:init (doom-themes-org-config))
|
|
||||||
(setq disabled-command-function nil)
|
|
||||||
(setq inhibit-startup-screen t)
|
|
||||||
(setq visible-bell t)
|
|
||||||
|
|
||||||
;; Only y/n answers
|
|
||||||
(defalias 'yes-or-no-p 'y-or-n-p)
|
|
||||||
|
|
||||||
;; Save what you enter into minibuffer prompts
|
|
||||||
(setq history-length 25)
|
|
||||||
(savehist-mode 1)
|
|
||||||
|
|
||||||
;; Remember and restore the last cursor location of opened files
|
|
||||||
(save-place-mode 1)
|
|
||||||
|
|
||||||
;; Backup
|
|
||||||
|
|
||||||
(setq version-control t ;; Use version numbers for backups.
|
|
||||||
kept-new-versions 10 ;; Number of newest versions to keep.
|
|
||||||
kept-old-versions 0 ;; Number of oldest versions to keep.
|
|
||||||
delete-old-versions t ;; Don't ask to delete excess backup versions.
|
|
||||||
backup-by-copying t) ;; Copy all files, don't rename them.
|
|
||||||
(setq vc-make-backup-files t)
|
|
||||||
(setq backup-directory-alist '(("" . "~/.emacs.d/backup")))
|
|
||||||
(defvar emacs-autosave-directory
|
|
||||||
(concat user-emacs-directory "autosaves/")
|
|
||||||
"This variable dictates where to put auto saves. It is set to a
|
|
||||||
directory called autosaves located wherever your .emacs.d/ is
|
|
||||||
located.")
|
|
||||||
|
|
||||||
;; Sets all files to be backed up and auto saved in a single directory.
|
|
||||||
(setq backup-directory-alist
|
|
||||||
`((".*" . ,emacs-autosave-directory))
|
|
||||||
auto-save-file-name-transforms
|
|
||||||
`((".*" ,emacs-autosave-directory t)))
|
|
||||||
|
|
||||||
|
|
||||||
(setq calendar-week-start-day 1)
|
|
||||||
|
|
||||||
|
|
||||||
(use-package nix-mode
|
|
||||||
:mode ("\\.nix\\'" . nix-mode)
|
|
||||||
:hook (nix-mode . lsp-deferred))
|
|
||||||
|
|
||||||
(use-package magit)
|
|
||||||
(setq magit-fetch-modules-jobs 16); fetch 16 modules in parallel
|
|
||||||
|
|
||||||
(use-package which-key
|
|
||||||
:init (which-key-mode)
|
|
||||||
:config (setq which-key-idle-delay 0.5))
|
|
||||||
|
|
||||||
(autoload 'markdown-mode "markdown-mode"
|
|
||||||
"Major mode for editing Markdown files" t)
|
|
||||||
(add-to-list 'auto-mode-alist
|
|
||||||
'("\\.\\(?:md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn\\)\\'" . markdown-mode))
|
|
||||||
|
|
||||||
(autoload 'gfm-mode "markdown-mode"
|
|
||||||
"Major mode for editing GitHub Flavored Markdown files" t)
|
|
||||||
(add-to-list 'auto-mode-alist '("README\\.md\\'" . gfm-mode))
|
|
||||||
|
|
||||||
;; org-mode
|
|
||||||
(require 'org)
|
|
||||||
(require 'org-mouse)
|
|
||||||
(setq org-startup-folded t
|
|
||||||
org-pretty-entities t
|
|
||||||
org-hide-emphasis-markers t
|
|
||||||
org-startup-with-inline-images t
|
|
||||||
org-agenda-include-deadlines t
|
|
||||||
org-image-actual-width '(300))
|
|
||||||
;; files with ".org" open in org-mode
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
|
|
||||||
(setq org-agenda-files '("/home/alexandre/Nextcloud/PRIVE/13_Org/backlog.org" "/home/alexandre/Nextcloud/PRIVE/13_Org/notes"))
|
|
||||||
(setq org-directory (concat (getenv "HOME") "/Nextcloud/PRIVE/13_Org/notes"))
|
|
||||||
(setq org-default-notes-file "~/Nextcloud/PRIVE/13_Org/backlog.org")
|
|
||||||
(setq org-todo-keywords '((type "TODO" "En cours" "WAIT" "CANCELED" "DONE")))
|
|
||||||
(setf org-todo-keyword-faces '(("TODO" . (:foreground "cyan" :background "steelblue" :bold t :weight bold))
|
|
||||||
("En cours" . (:foreground "yellow" :background "red" :bold t :weight bold))
|
|
||||||
("En attente de réponse" . (:foreground "yellow" :background "magenta2" :bold t :weight bold))
|
|
||||||
("CANCELED" . (:foreground "gray" :background "dime grey" :bold t :weight bold))
|
|
||||||
("DONE" . (:foreground "gray50" :background "gray30"))))
|
|
||||||
|
|
||||||
;; tags
|
|
||||||
(setq org-tag-alist '(("DEVIS" . ?d) ("PROJETS" . ?p) ("CLIENT" . ?c) ("PROSPECT" . ?o) ("INTERNE" . ?i) ("AO" . ?a) ("PJ" . ?z) ("AVV" . ?v) ("LEGACY" . ?l) ("ROC" . ?r)))
|
|
||||||
|
|
||||||
(setq org-tag-faces
|
|
||||||
'(
|
|
||||||
("DEVIS" . (:foreground "OrangeRed" :weight bold))
|
|
||||||
("ROC" . (:foreground "OrangeRed" :weight bold))
|
|
||||||
("PJ" . (:foreground "brightyellow" :weight bold))
|
|
||||||
("PROJET" . (:foreground "IndianRed1" :weight bold))
|
|
||||||
("INTERNE" . (:foreground "LimeGreen" :weight bold))
|
|
||||||
("LEGACY" . (:foreground "LimeGreen" :weight bold))
|
|
||||||
("CLIENT" . (:foreground "Orange" :weight bold))
|
|
||||||
("PROSPECT" . (:foreground "MediumPurple3" :weight bold))
|
|
||||||
("AO" . (:foreground "HotPink2" :weight bold))
|
|
||||||
)
|
|
||||||
)
|
|
||||||
;; org-capture use to add note to backlog file. At the end of day, use org-refile to dispatch to good note
|
|
||||||
;; https://sachachua.com/blog/2014/11/using-org-mode-keep-process-journal/
|
|
||||||
|
|
||||||
(setq org-capture-templates
|
|
||||||
'(("t" "TODO" entry (file+datetree "~/Nextcloud/PRIVE/13_Org/backlog.org")
|
|
||||||
"* TODO %? %^G \n %U" :empty-lines 1)
|
|
||||||
("s" "Scheduled TODO" entry (file+datetree "~/Nextcloud/PRIVE/13_Org/backlog.org")
|
|
||||||
"* TODO %? %^G \nSCHEDULED: %^t\n %U" :empty-lines 1)
|
|
||||||
("l" "Link" entry (file "~/Nextcloud/PRIVE/13_Org/backlog.org")
|
|
||||||
"* TODO %a %? %^G\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n")
|
|
||||||
("j" "Journal entry" plain
|
|
||||||
(file+datetree+prompt "~/Nextcloud/PRIVE/13_Org/journal.org")
|
|
||||||
"%K ****** %a\n%i\n%?\n")
|
|
||||||
("n" "Note dans le journal" entry (file "~/Nextcloud/PRIVE/13_Org/journal.org")
|
|
||||||
"* %? %^G\n%U" :empty-lines 1)))
|
|
||||||
|
|
||||||
;; Org-Roam basic configuration
|
|
||||||
(use-package org-roam
|
|
||||||
:after org
|
|
||||||
:init
|
|
||||||
(setq org-roam-v2-ack t) ;; Acknowledge V2 upgrade
|
|
||||||
:custom
|
|
||||||
(org-roam-directory (file-truename org-directory))
|
|
||||||
(org-roam-completion-everywhere t)
|
|
||||||
:bind (("C-c n l" . org-roam-buffer-toggle)
|
|
||||||
("C-c n f" . org-roam-node-find)
|
|
||||||
("C-c n o" . org-open-at-point)
|
|
||||||
("C-c n j" . org-roam-dailies-capture-today)
|
|
||||||
("C-c n i" . org-roam-node-insert))
|
|
||||||
:config
|
|
||||||
(org-roam-setup)
|
|
||||||
(org-roam-db-autosync-mode)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; caldav
|
|
||||||
;;(setq org-caldav-url "https://next20.produhost.net/remote.php/dav/alexandre")
|
|
||||||
;;(setq org-caldav-calendars
|
|
||||||
;; '((:calendar-id "alexandre-dri"
|
|
||||||
;; :files ("~/Nextcloud/PRIVE/13_Org/calendar/alexandre-dri.org")
|
|
||||||
;; :inbox "~/Nextcloud/PRIVE/13_Org/calendar/alexandre-dri-inbox.org")))
|
|
||||||
;;(setq org-icalendar-include-todo 'all
|
|
||||||
;; org-caldav-sync-todo t)
|
|
||||||
;;
|
|
||||||
(use-package org-journal
|
|
||||||
:ensure t
|
|
||||||
:defer t
|
|
||||||
:init
|
|
||||||
;; Change default prefix key; needs to be set before loading org-journal
|
|
||||||
(setq org-journal-prefix-key "C-c j ")
|
|
||||||
:config
|
|
||||||
(setq org-journal-file-type=weekly
|
|
||||||
org-journal-date-format "%A, %d %B %Y"))
|
|
||||||
|
|
||||||
;;;; Index org file and backlog file
|
|
||||||
(defvar org-gtd-file "~/Nextcloud/PRIVE/13_Org/DRI.org")
|
|
||||||
(defvar org-backlog-file "~/Nextcloud/PRIVE/13_Org/backlog.org")
|
|
||||||
|
|
||||||
;; Open DRI.org when I hit C-c g
|
|
||||||
(defun gtd ()
|
|
||||||
"Open the GTD file."
|
|
||||||
(interactive)
|
|
||||||
(find-file org-gtd-file))
|
|
||||||
|
|
||||||
;; Open backlog.org when I hit file hit C-c b
|
|
||||||
(defun gtb ()
|
|
||||||
"Open the backlog file."
|
|
||||||
(interactive)
|
|
||||||
(find-file org-backlog-file))
|
|
||||||
|
|
||||||
;; keybinding
|
|
||||||
(global-set-key "\C-cl" 'org-store-link)
|
|
||||||
(global-set-key "\C-ca" 'org-agenda)
|
|
||||||
(global-set-key "\C-cg" 'gtd)
|
|
||||||
(global-set-key "\C-cb" 'gtb)
|
|
|
@ -1,44 +0,0 @@
|
||||||
[General]
|
|
||||||
clientVersion=3.6.4git
|
|
||||||
confirmExternalStorage=false
|
|
||||||
crashReporter=true
|
|
||||||
monoIcons=false
|
|
||||||
newBigFolderSizeLimit=500
|
|
||||||
optionalServerNotifications=true
|
|
||||||
showCallNotifications=true
|
|
||||||
updateSegment=67
|
|
||||||
useNewBigFolderSizeLimit=false
|
|
||||||
|
|
||||||
[Accounts]
|
|
||||||
0\Folders\1\ignoreHiddenFiles=false
|
|
||||||
0\Folders\1\journalPath=.sync_70e356a9188d.db
|
|
||||||
0\Folders\1\localPath=/home/alexandre/Nextcloud/PRIVE/
|
|
||||||
0\Folders\1\paused=false
|
|
||||||
0\Folders\1\targetPath=/
|
|
||||||
0\Folders\1\version=2
|
|
||||||
0\Folders\1\virtualFilesMode=off
|
|
||||||
0\authType=webflow
|
|
||||||
0\dav_user=alexandre
|
|
||||||
0\serverVersion=25.0.1.1
|
|
||||||
0\url=https://next.atlanticaweb.fr
|
|
||||||
0\user=@Invalid()
|
|
||||||
0\version=1
|
|
||||||
0\webflow_user=alexandre
|
|
||||||
1\Folders\3\ignoreHiddenFiles=false
|
|
||||||
1\Folders\3\journalPath=.sync_214037720ec4.db
|
|
||||||
1\Folders\3\localPath=/home/alexandre/Nextcloud/DRI/
|
|
||||||
1\Folders\3\paused=false
|
|
||||||
1\Folders\3\targetPath=/
|
|
||||||
1\Folders\3\version=2
|
|
||||||
1\Folders\3\virtualFilesMode=off
|
|
||||||
1\authType=webflow
|
|
||||||
1\dav_user=alexandre
|
|
||||||
1\serverVersion=26.0.2.1
|
|
||||||
1\url=https://next20.produhost.net
|
|
||||||
1\user=@Invalid()
|
|
||||||
1\version=1
|
|
||||||
1\webflow_user=alexandre
|
|
||||||
version=2
|
|
||||||
|
|
||||||
[Settings]
|
|
||||||
geometry="@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x3=\0\0\0\xab\0\0\x5\xd4\0\0\x3\x1f\0\0\x3?\0\0\0\xab\0\0\x5\xd2\0\0\x3\x1d\0\0\0\0\0\0\0\0\a\x80\0\0\x3?\0\0\0\xab\0\0\x5\xd2\0\0\x3\x1d)"
|
|
|
@ -1,22 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
services.gitea = {
|
|
||||||
enable = true; # Enable Gitea
|
|
||||||
appName = "git.atlanticaweb.fr"; # Give the site a name
|
|
||||||
database = {
|
|
||||||
type = "sqlite3"; # Database type
|
|
||||||
};
|
|
||||||
settings.server = {
|
|
||||||
ROOT_URL = "https://git.atlanticaweb.fr/"; # Root web URL
|
|
||||||
HTTP_PORT = 3001; # Provided unique port
|
|
||||||
DOMAIN = "git.atlanticaweb.fr"; # Domain name
|
|
||||||
};
|
|
||||||
dump.enable = true;
|
|
||||||
dump.backupDir = "/srv/backup/gitea";
|
|
||||||
lfs.enable = true;
|
|
||||||
settings.service.DISABLEREGISTRATION = true; # comment this line for the first user admin
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
{ config, pkgs, ...}:
|
|
||||||
let
|
|
||||||
caddyDir = "/var/lib/caddy";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
services.grafana = {
|
|
||||||
enable = true;
|
|
||||||
settings.server = {
|
|
||||||
domain = "sup.atlanticaweb.fr";
|
|
||||||
http_port = 2342;
|
|
||||||
http_addr = "192.168.10.108";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
services.prometheus = {
|
|
||||||
enable = true;
|
|
||||||
port = 9001;
|
|
||||||
exporters = {
|
|
||||||
node = {
|
|
||||||
enable = true;
|
|
||||||
enabledCollectors = [ "systemd" ];
|
|
||||||
port = 9002;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
scrapeConfigs = [
|
|
||||||
{
|
|
||||||
job_name = "sup";
|
|
||||||
static_configs = [{
|
|
||||||
targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.node.port}" ];
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
job_name = "nextcloud";
|
|
||||||
static_configs = [{
|
|
||||||
targets = [ "192.168.10.114:${toString config.services.prometheus.exporters.node.port}" ];
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
job_name = "pizzajoffre";
|
|
||||||
static_configs = [{
|
|
||||||
targets = [ "37.187.103.8:${toString config.services.prometheus.exporters.node.port}" ];
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
job_name = "pve-exporter";
|
|
||||||
static_configs = [{
|
|
||||||
targets = [ "192.168.10.112:9221" ];
|
|
||||||
}];
|
|
||||||
metrics_path = "/pve" ;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
job_name = "backup";
|
|
||||||
static_configs = [{
|
|
||||||
targets = [ "163.172.80.106:${toString config.services.prometheus.exporters.node.port}" ];
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
job_name = "dell-5590";
|
|
||||||
static_configs = [{
|
|
||||||
targets = [ "192.168.10.100:${toString config.services.prometheus.exporters.node.port}" ];
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
job_name = "temperatures";
|
|
||||||
static_configs = [{
|
|
||||||
targets = [ "192.168.10.116:9521" ];
|
|
||||||
}];
|
|
||||||
metric_relabel_configs = [
|
|
||||||
{
|
|
||||||
source_labels = [ "device" ];
|
|
||||||
target_label = "device";
|
|
||||||
regex = "c9:5e:c5:16:23:4d" ;
|
|
||||||
replacement = "I";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source_labels = [ "device" ];
|
|
||||||
target_label = "device";
|
|
||||||
regex = "e4:9b:e7:3f:b1:24" ;
|
|
||||||
replacement = "J Perso";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source_labels = [ "device" ];
|
|
||||||
target_label = "device";
|
|
||||||
regex = "ff:a4:06:f3:18:5e" ;
|
|
||||||
replacement = "H - réserve ";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source_labels = [ "device" ];
|
|
||||||
target_label = "device";
|
|
||||||
regex = "f7:69:1d:2f:f9:6a" ;
|
|
||||||
replacement = "G - gris";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source_labels = [ "device" ];
|
|
||||||
target_label = "device";
|
|
||||||
regex = "fd:7c:46:30:5b:18" ;
|
|
||||||
replacement = "E - Table";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source_labels = [ "device" ];
|
|
||||||
target_label = "device";
|
|
||||||
regex = "e7:ef:27:89:c4:05" ;
|
|
||||||
replacement = "A CODIGEL";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source_labels = [ "device" ];
|
|
||||||
target_label = "device";
|
|
||||||
regex = "d4:1e:62:36:d0:4b" ;
|
|
||||||
replacement = "B - INFRICO";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source_labels = [ "device" ];
|
|
||||||
target_label = "device";
|
|
||||||
regex = "ec:c3:0f:ef:fe:b5" ;
|
|
||||||
replacement = "C";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source_labels = [ "device" ];
|
|
||||||
target_label = "device";
|
|
||||||
regex = "f5:fd:dd:c4:29:c1" ;
|
|
||||||
replacement = "D - HAIER";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source_labels = [ "device" ];
|
|
||||||
target_label = "device";
|
|
||||||
regex = "c8:8e:34:24:2c:89" ;
|
|
||||||
replacement = "F - salle";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
];
|
|
||||||
};
|
|
||||||
users.users.caddy = {
|
|
||||||
group = "caddy";
|
|
||||||
uid = config.ids.uids.caddy;
|
|
||||||
home = caddyDir;
|
|
||||||
createHome = true;
|
|
||||||
extraGroups = [ "users" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
users.groups.caddy.gid = config.ids.uids.caddy;
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
services.navidrome = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
MusicFolder = "/var/lib/nextcloud/data/alexandre/files/Musique/";
|
|
||||||
Address = "0.0.0.0";
|
|
||||||
Port = "4533";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true ;
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
vimdiffAlias = true;
|
|
||||||
plugins = with pkgs.vimPlugins;[
|
|
||||||
nvim-lspconfig
|
|
||||||
nvim-treesitter.withAllGrammars
|
|
||||||
plenary-nvim
|
|
||||||
gruvbox-material
|
|
||||||
mini-nvim
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
services.prometheus = {
|
|
||||||
exporters = {
|
|
||||||
node = {
|
|
||||||
enable = true;
|
|
||||||
enabledCollectors = [ "systemd" ];
|
|
||||||
port = 9002;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
|
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
let
|
|
||||||
caddyDir = "/var/lib/caddy";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
services.restic.server = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
extraFlags = [ "--no-auth" ];
|
|
||||||
dataDir = "/var/lib/backup";
|
|
||||||
prometheus = true;
|
|
||||||
listenAddress = "127.0.0.1:8080";
|
|
||||||
};
|
|
||||||
networking = {
|
|
||||||
firewall.enable = true;
|
|
||||||
firewall.allowedTCPPorts = [ 80 443 ];
|
|
||||||
};
|
|
||||||
services.caddy = {
|
|
||||||
enable = true;
|
|
||||||
email = "lucazeau.alexandre@gmail.com";
|
|
||||||
config = ''
|
|
||||||
{
|
|
||||||
storage file_system {
|
|
||||||
root ${caddyDir}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
https://back.atlanticaweb.fr {
|
|
||||||
reverse_proxy http://127.0.0.1:8080
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
users.users.caddy = {
|
|
||||||
group = "caddy";
|
|
||||||
uid = config.ids.uids.caddy;
|
|
||||||
home = caddyDir;
|
|
||||||
createHome = true;
|
|
||||||
extraGroups = [ "users" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
users.groups.caddy.gid = config.ids.uids.caddy;
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
{ config, pkgs, ...}:
|
|
||||||
with import <nixpkgs> {};
|
|
||||||
{
|
|
||||||
home.packages = [
|
|
||||||
pkgs.gcc
|
|
||||||
pkgs.rustc
|
|
||||||
pkgs.cargo
|
|
||||||
pkgs.cargo-edit
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
{
|
|
||||||
programs.msmtp = {
|
|
||||||
enable = true;
|
|
||||||
accounts.default = {
|
|
||||||
auth = true;
|
|
||||||
tls = true;
|
|
||||||
host = "ssl0.ovh.net";
|
|
||||||
from = "supervision@pizzajoff.re";
|
|
||||||
user = "supervision@pizzajoff.re";
|
|
||||||
passwordeval = "cat /tmp/fic";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,66 +0,0 @@
|
||||||
{ pkgs, config, ... }:
|
|
||||||
{
|
|
||||||
programs.tmux = {
|
|
||||||
enable = true;
|
|
||||||
shortcut = "b";
|
|
||||||
# aggressiveResize = true; -- Disabled to be iTerm-friendly
|
|
||||||
baseIndex = 1;
|
|
||||||
# newSession = true;
|
|
||||||
# Stop tmux+escape craziness.
|
|
||||||
escapeTime = 0;
|
|
||||||
secureSocket = true;
|
|
||||||
|
|
||||||
plugins = with pkgs; [
|
|
||||||
tmuxPlugins.better-mouse-mode
|
|
||||||
tmuxPlugins.sidebar
|
|
||||||
tmuxPlugins.nord
|
|
||||||
];
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
# scrollback size
|
|
||||||
set -g history-limit 50000
|
|
||||||
# https://old.reddit.com/r/tmux/comments/mesrci/tmux_2_doesnt_seem_to_use_256_colors/
|
|
||||||
set -g default-terminal "xterm-256color"
|
|
||||||
set -ga terminal-overrides ",*256col*:Tc"
|
|
||||||
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
|
|
||||||
set-environment -g COLORTERM "truecolor"
|
|
||||||
|
|
||||||
# Mouse works as expected
|
|
||||||
set-option -g mouse on
|
|
||||||
# Redraw the client (if interrupted by wall, etc)
|
|
||||||
bind R refresh-client
|
|
||||||
# reload tmux config with ctrl + b + r
|
|
||||||
unbind r
|
|
||||||
bind r \
|
|
||||||
source-file ~/.tmux.conf \;\
|
|
||||||
display 'Reloaded tmux config.'
|
|
||||||
# C + control q to kill sessio
|
|
||||||
unbind q
|
|
||||||
unbind C-q
|
|
||||||
bind-key q kill-session
|
|
||||||
bind-key C-q kill-session
|
|
||||||
|
|
||||||
# Switching panes with alt
|
|
||||||
bind -n M-Left select-pane -L
|
|
||||||
bind -n M-Right select-pane -R
|
|
||||||
bind -n M-Up select-pane -U
|
|
||||||
bind -n M-Down select-pane -D
|
|
||||||
|
|
||||||
# Visual Activity Monitoring between windows
|
|
||||||
setw -g monitor-activity on
|
|
||||||
set -g visual-activity on
|
|
||||||
|
|
||||||
# Show tmux positions in titles
|
|
||||||
set -g set-titles on
|
|
||||||
|
|
||||||
# Attach to a session if runs otherwise create a new one
|
|
||||||
new-session -n DRI
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# programs.tmate = {
|
|
||||||
# enable = true;
|
|
||||||
# FIXME: This causes tmate to hang.
|
|
||||||
# extraConfig = config.xdg.configFile."tmux/tmux.conf".text;
|
|
||||||
# };
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
services.transmission = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
openRPCPort = true;
|
|
||||||
settings = {
|
|
||||||
rpc-bind-address = "0.0.0.0";
|
|
||||||
rpc-whitelist = "192.168.10.*";
|
|
||||||
rpc-whitelist-enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
#networking.firewall.allowedTCPPorts = [ 9091 ];
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
{ config, pkgs, ...}:
|
|
||||||
{
|
|
||||||
users = {
|
|
||||||
groups = {
|
|
||||||
alexandre = {};
|
|
||||||
};
|
|
||||||
users = {
|
|
||||||
alexandre = {
|
|
||||||
isNormalUser = true;
|
|
||||||
createHome = true;
|
|
||||||
home = "/home/alexandre";
|
|
||||||
description = "Alexandre LUCAZEAU";
|
|
||||||
extraGroups = [ "wheel" "docker" "plocate" ];
|
|
||||||
group = "alexandre";
|
|
||||||
shell = pkgs.fish;
|
|
||||||
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKUA1RW6JwZasspAp8qmFRFnlV5WXjhLfStAAkM+KYLv lucazeau.alexandre@gmail.com" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
config.user.email = "lucazeau.alexandre@gmail.com";
|
|
||||||
config.user.name = "Alexandre LUCAZEAU";
|
|
||||||
config.init.defaultBranch = "main";
|
|
||||||
config.core.sshCommand = "ssh -i ~/.ssh/id_ed25519-perso";
|
|
||||||
};
|
|
||||||
programs.fish.enable = true;
|
|
||||||
programs.fish.shellAliases = {
|
|
||||||
ll = "ls -l";
|
|
||||||
ls = "lsd";
|
|
||||||
# vi = "nvim";
|
|
||||||
# vim = "nvim";
|
|
||||||
};
|
|
||||||
security.sudo = {
|
|
||||||
enable = true;
|
|
||||||
execWheelOnly = true;
|
|
||||||
extraRules = [
|
|
||||||
{ users = [ "alexandre" ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" ]; } ]; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in New Issue