diff --git a/hosts/dell-5590/nixos/configuration.nix b/hosts/dell-5590/nixos/configuration.nix index d0d5a78..d211c13 100644 --- a/hosts/dell-5590/nixos/configuration.nix +++ b/hosts/dell-5590/nixos/configuration.nix @@ -119,8 +119,16 @@ enable = true; unmanaged = [ "interface-name:ve-*" ]; }; - firewall.enable = true; - firewall.allowedTCPPorts = [ 24800 6600 1194]; + firewall = { + enable = true; + allowedTCPPorts = [ 24800 6600 1194 ]; + allowedTCPPortRanges = [ + { from = 1714; to = 1764; } # KDE Connect + ]; + allowedUDPPortRanges = [ + { from = 1714; to = 1764; } # KDE Connect + ]; + }; }; i18n.defaultLocale = "fr_FR.UTF-8"; @@ -153,10 +161,17 @@ # run garbage collector at 19h00 everyday # and remove stuff older than 60 days - nix.gc.automatic = true; - nix.gc.dates = "19:00"; - nix.gc.persistent = true; - nix.gc.options = "--delete-older-than 60d"; +# nix.gc.automatic = true; +# nix.gc.dates = "19:00"; +# nix.gc.persistent = true; +# nix.gc.options = "--delete-older-than 60d"; +nix.settings.auto-optimise-store = true; + nix.gc = { + automatic = true; + dates = "weekly"; + persistent = true; + options = "--delete-older-than 10d"; + }; # clean /tmp at boot boot.cleanTmpDir = true; diff --git a/hosts/dell-5590/nixpkgs/configs/i3config b/hosts/dell-5590/nixpkgs/configs/i3config index 6c7b6a4..35f7fbd 100644 --- a/hosts/dell-5590/nixpkgs/configs/i3config +++ b/hosts/dell-5590/nixpkgs/configs/i3config @@ -145,6 +145,7 @@ exec --no-startup-id udiskie -t exec --no-startup-id blueman-applet exec --no-startup-id vlc exec --no-startup-id guake +exec --no-startup-id kdeconnect-indicator exec --no-startup-id i3-msg 'workspace $ws9; exec keepassxc;' #exec --no-startup-id i3-msg 'workspace $ws5; exec emacs;' exec --no-startup-id i3-msg 'workspace $ws1; exec ferdi;' diff --git a/hosts/dell-5590/nixpkgs/configs/init.el b/hosts/dell-5590/nixpkgs/configs/init.el index 5c6742c..90f5292 100644 --- a/hosts/dell-5590/nixpkgs/configs/init.el +++ b/hosts/dell-5590/nixpkgs/configs/init.el @@ -114,72 +114,10 @@ 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/journal")) +(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-capture-templates -;; '(("b" "Ajouter au backlog" entry -;; (file "~/Nextcloud/PRIVE/13_Org/backlog.org") -;; "* TODO %?" :empty-lines 1)) -(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") - ("n" "Note" entry (file "~/Nextcloud/PRIVE/13_Org/backlog.org") - "* %? %^G\n%U" :empty-lines 1) - ("j" "Journal" entry (file+datetree "~/Nextcloud/PRIVE/13_Org/backlog.org") - "* %? %^G\nEntered on %U\n"))) -;; 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)) - :config - (org-roam-setup) - (org-roam-db-autosync-mode) - :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) - ("C-c n o" . org-open-at-point) - ("C-M-i" . completion-at-point))))) - ;; (:map org-roam-dailies-map - ;; (("Y" . org-roam-dailies-capture-yesterday) - ;; ("T" . org-roam-dailies-capture-tomorrow)))) -(setq org-roam-dailies-capture-templates - '(("d" "default" entry - "* %?" - ;;:target (file+datetree "journal-2023.org" year)))) - :target (file+head "journal-%<%Y>.org" "#+TITLE: %<%Y-%m-%d>\n")))) -;; :target (file+head "%<%Y-%m>.org" "#+TITLE: %<%Y-%m>\n")))) - - -;; 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-cg" 'gtd) - -;; This seems like a good basic set of keywords to start out with: - (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)) @@ -187,28 +125,92 @@ ("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))) - +(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-journal -;; https://github.com/bastibe/org-journal -;; C-c C-j -(require 'org-journal) -(setq org-journal-date-prefix "#+TITLE: " - org-journal-carryover-items "-TODO=\"DONE\"" - org-journal-time-prefix "* " - org-journal-date-format "%a, %Y-%m-%d" - org-journal-file-format "%Y-%m-%d-journal.org" - org-journal-dir "/home/alexandre/Nextcloud/PRIVE/13_Org/journal/") -(global-set-key "\C-cnj" 'org-journal-new-entry) +;; 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) diff --git a/hosts/dell-5590/nixpkgs/home.nix b/hosts/dell-5590/nixpkgs/home.nix index f05e98b..cb3002d 100644 --- a/hosts/dell-5590/nixpkgs/home.nix +++ b/hosts/dell-5590/nixpkgs/home.nix @@ -10,6 +10,7 @@ ./mails.nix ./dunst.nix ./bat.nix + ./kdeconnect.nix # ./redshift.nix # ../../../modules/neovim.nix ../../../modules/rust.nix diff --git a/hosts/dell-5590/nixpkgs/i3status.nix b/hosts/dell-5590/nixpkgs/i3status.nix index 854d5b7..a992610 100644 --- a/hosts/dell-5590/nixpkgs/i3status.nix +++ b/hosts/dell-5590/nixpkgs/i3status.nix @@ -72,11 +72,11 @@ interval = 60; format = "%a %d/%m %R"; } - { - block = "pomodoro"; - message = "Break !"; - break_message = "Reprise"; - } +# { +# block = "Kdeconnect"; +# format = " $icon {$bat_icon $bat_charge |}{$notif_icon |}{$network_icon$network_strength $network_type |}"; +# bat_good = 101; +# } ]; icons = "material-nf"; theme = "nord-dark"; diff --git a/hosts/dell-5590/nixpkgs/kdeconnect.nix b/hosts/dell-5590/nixpkgs/kdeconnect.nix new file mode 100644 index 0000000..fa73467 --- /dev/null +++ b/hosts/dell-5590/nixpkgs/kdeconnect.nix @@ -0,0 +1,15 @@ +{ pkgs, ... }: { + + services.kdeconnect = { + enable = true; + }; +} +# networking.firewall = { +# enable = true; +# allowedTCPPortRanges = [ +# { from = 1714; to = 1764; } # KDE Connect +# ]; +# allowedUDPPortRanges = [ +# { from = 1714; to = 1764; } # KDE Connect +# ]; +# } diff --git a/hosts/sup/configuration.nix b/hosts/sup/configuration.nix index 20e991a..03607c9 100644 --- a/hosts/sup/configuration.nix +++ b/hosts/sup/configuration.nix @@ -2,14 +2,16 @@ imports = [ ./hardware-configuration.nix ./firewall-services.nix + ./VPN.nix ../modules/users.nix ../modules/common.nix ../modules/smtp.nix ../modules/grafana.nix + ../docker/podman.nix ]; system.stateVersion = "22.05"; - boot.cleanTmpDir = true; + boot.tmp.cleanOnBoot = true; zramSwap.enable = true; networking.hostName = "sup"; services.openssh.enable = true; diff --git a/hosts/web/configuration.nix b/hosts/web/configuration.nix index 1d21640..823b9e1 100644 --- a/hosts/web/configuration.nix +++ b/hosts/web/configuration.nix @@ -14,14 +14,16 @@ system.stateVersion = "21.11"; - boot.cleanTmpDir = true; + boot.tmp.cleanOnBoot = true; zramSwap.enable = false; networking.hostName = "web"; services.openssh = { enable = true; - permitRootLogin = "no"; - passwordAuthentication = false; - kbdInteractiveAuthentication = false; + settings = { + PermitRootLogin = "no"; + PasswordAuthentication = false; + KbdInteractiveAuthentication = false; + }; }; } diff --git a/modules/gitea.nix b/modules/gitea.nix index f1a143c..36a8433 100644 --- a/modules/gitea.nix +++ b/modules/gitea.nix @@ -8,13 +8,15 @@ database = { type = "sqlite3"; # Database type }; - domain = "git.atlanticaweb.fr"; # Domain name - rootUrl = "https://git.atlanticaweb.fr/"; # Root web URL - httpPort = 3001; # Provided unique port + 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; - disableRegistration = true; # comment this line for the first user admin + settings.service.DISABLEREGISTRATION = true; # comment this line for the first user admin }; } diff --git a/modules/grafana.nix b/modules/grafana.nix index 766c589..3695e9b 100644 --- a/modules/grafana.nix +++ b/modules/grafana.nix @@ -5,9 +5,11 @@ { services.grafana = { enable = true; - domain = "sup.atlanticaweb.fr"; - port = 2342; - addr = "192.168.10.108"; + settings.server = { + domain = "sup.atlanticaweb.fr"; + http_port = 2342; + http_addr = "192.168.10.108"; + }; }; services.prometheus = { enable = true; diff --git a/modules/users.nix b/modules/users.nix index c0bfc71..cccbb57 100644 --- a/modules/users.nix +++ b/modules/users.nix @@ -10,7 +10,7 @@ createHome = true; home = "/home/alexandre"; description = "Alexandre LUCAZEAU"; - extraGroups = [ "wheel" ]; + extraGroups = [ "wheel" "docker" "plocate" ]; group = "alexandre"; shell = pkgs.fish; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKUA1RW6JwZasspAp8qmFRFnlV5WXjhLfStAAkM+KYLv lucazeau.alexandre@gmail.com" ];