Compare commits
9 commits
399d70a8ef
...
8fc94c368b
Author | SHA1 | Date | |
---|---|---|---|
8fc94c368b | |||
5fe4764f01 | |||
aa3ccc9a9d | |||
c4a7c09930 | |||
04d19cb17d | |||
b97907ebcd | |||
f92a7d0bc9 | |||
45aa2c98fd | |||
22d7205413 |
9 changed files with 225 additions and 179 deletions
32
flake.lock
generated
32
flake.lock
generated
|
@ -80,11 +80,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730190761,
|
"lastModified": 1730675461,
|
||||||
"narHash": "sha256-o5m5WzvY6cGIDupuOvjgNSS8AN6yP2iI9MtUC6q/uos=",
|
"narHash": "sha256-Mhqz3p/HEiI/zxBJWO57LYQf6gGlJB0tci6fiVXLjd8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "3979285062d6781525cded0f6c4ff92e71376b55",
|
"rev": "380847d94ff0fedee8b50ee4baddb162c06678df",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -100,11 +100,11 @@
|
||||||
"pyproject-nix": "pyproject-nix"
|
"pyproject-nix": "pyproject-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729932741,
|
"lastModified": 1730723587,
|
||||||
"narHash": "sha256-Ko3a3hWt7CbVn9Db0/Tj9zln3bB/CMIhlQsP92mUejU=",
|
"narHash": "sha256-3ewuvm7VB/q3sxn9vzzQ0902PlSdqKqqagr8XbC1hIo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "dream2nix",
|
"repo": "dream2nix",
|
||||||
"rev": "7acdae705dcc79f307e752f749a9f513a0ed9b83",
|
"rev": "51943fca6b95cb9649236bacf5d7c8d9af4c3bec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -119,11 +119,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730640754,
|
"lastModified": 1730711584,
|
||||||
"narHash": "sha256-SfZ5m2hENlYkKQd254iF4zkBZ0TnGdGDn0umCYE6CZc=",
|
"narHash": "sha256-7XpfL6x0or0qH3NjtiujcyUzFrZu72b/pyLCbwk0+2s=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "711566e17e7b414a24973dfd00a63eb62efb3836",
|
"rev": "ca2129b1d5afb32e46299dc48e03467522352bd5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -571,11 +571,11 @@
|
||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730610940,
|
"lastModified": 1730726176,
|
||||||
"narHash": "sha256-ZsTpii4kZcioRF3bu3/pS374R9GYQVyrMpBNr2ZUnVg=",
|
"narHash": "sha256-kXaJRGoWdyDSIO32zC2/1mGFOKiApJcSS9HVwFX3YM8=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "b1a0e3c0029c2dd5fb7c8dd2db4f9e0b309c9f54",
|
"rev": "6b7076f81c25941559f7d132a5ebc2fcfcedcc4d",
|
||||||
"revCount": 16445,
|
"revCount": 16447,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git@git.lix.systems/lix-project/lix"
|
"url": "https://git@git.lix.systems/lix-project/lix"
|
||||||
},
|
},
|
||||||
|
@ -679,11 +679,11 @@
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730600078,
|
"lastModified": 1730698801,
|
||||||
"narHash": "sha256-BoyFmE59HDF3uybBySsWVoyjNuHvz3Wv8row/mSb958=",
|
"narHash": "sha256-sq68bCmk4tCXSt5CoRNimfigIZSLJSpNi/gjFtNLjRE=",
|
||||||
"owner": "LnL7",
|
"owner": "LnL7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "4652874d014b82cb746173ffc64f6a70044daa7e",
|
"rev": "189d2d422c773fa065cc9c72e6806f007ebb9be0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -787,11 +787,30 @@ This is meant to be an helper to be called from the window manager."
|
||||||
(defun org-roam-node-date (node)
|
(defun org-roam-node-date (node)
|
||||||
"Return the org datestring when a node was created (obtained from the filename)"
|
"Return the org datestring when a node was created (obtained from the filename)"
|
||||||
(format "<%s>" (file-name-sans-extension (file-name-nondirectory (org-roam-node-file node)))))
|
(format "<%s>" (file-name-sans-extension (file-name-nondirectory (org-roam-node-file node)))))
|
||||||
|
|
||||||
|
(org-roam-ql-defpred
|
||||||
|
'date-range
|
||||||
|
"Check if node was created in given time range"
|
||||||
|
#'org-roam-node-date
|
||||||
|
#'(lambda (node-date start-date end-date)
|
||||||
|
(let ((node-date (condition-case nil
|
||||||
|
;; if the entry is not from the journal (i.e. the filename is not something like "2024-10-10.org")
|
||||||
|
;; then it's always discarded (the epoch time is given to it)
|
||||||
|
(encode-time (org-parse-time-string node-date))
|
||||||
|
(error (encode-time (org-parse-time-string "<1970-01-01>")))))
|
||||||
|
(start-date (encode-time (org-parse-time-string start-date)))
|
||||||
|
(end-date (encode-time (org-parse-time-string end-date))))
|
||||||
|
(and (time-less-p start-date node-date)
|
||||||
|
(time-less-p node-date end-date)))
|
||||||
|
))
|
||||||
|
|
||||||
(defun ccr/org-roam-spent-hours (client)
|
(defun ccr/org-roam-spent-hours (client &optional date-start date-end)
|
||||||
"Return the total spent hours on something (usually a client)"
|
"Return the total spent hours on something (usually a client)"
|
||||||
(apply #'+(mapcar #'org-roam-node-spent (org-roam-ql-nodes `(tags ,client "billable")))))
|
(let* ((query-tags `(tags ,client "billable"))
|
||||||
)
|
(query (if (and date-start date-end)
|
||||||
|
`(and ,query-tags (date-range ,date-start ,date-end))
|
||||||
|
query-tags)))
|
||||||
|
(apply #'+(mapcar #'org-roam-node-spent (org-roam-ql-nodes query))))))
|
||||||
|
|
||||||
(use-package org-roam-ql
|
(use-package org-roam-ql
|
||||||
:after org-roam
|
:after org-roam
|
||||||
|
|
|
@ -22,183 +22,183 @@
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.".config/aerc/stylesets" =
|
# home.file.".config/aerc/stylesets" =
|
||||||
let
|
# let
|
||||||
catppuccin-aerc = pkgs.fetchFromGitHub {
|
# catppuccin-aerc = pkgs.fetchFromGitHub {
|
||||||
owner = "catppuccin";
|
# owner = "catppuccin";
|
||||||
repo = "aerc";
|
# repo = "aerc";
|
||||||
rev = "ca404a9f2d125ef12db40db663d43c9d94116a05";
|
# rev = "ca404a9f2d125ef12db40db663d43c9d94116a05";
|
||||||
hash = "sha256-OWIkHsKFts/zkrDUtbBPXHVSrHL/F0v3LB1rnlFAKmE=";
|
# hash = "sha256-OWIkHsKFts/zkrDUtbBPXHVSrHL/F0v3LB1rnlFAKmE=";
|
||||||
};
|
# };
|
||||||
in
|
# in
|
||||||
{
|
# {
|
||||||
source = "${catppuccin-aerc}/dist";
|
# source = "${catppuccin-aerc}/dist";
|
||||||
recursive = true;
|
# recursive = true;
|
||||||
};
|
# };
|
||||||
|
|
||||||
programs.aerc = {
|
# programs.aerc = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
extraBinds = {
|
# extraBinds = {
|
||||||
global = {
|
# global = {
|
||||||
"<C-p>" = ":prev-tab<Enter>";
|
# "<C-p>" = ":prev-tab<Enter>";
|
||||||
"<C-n>" = ":next-tab<Enter>";
|
# "<C-n>" = ":next-tab<Enter>";
|
||||||
"?" = ":help keys<Enter>";
|
# "?" = ":help keys<Enter>";
|
||||||
};
|
# };
|
||||||
|
|
||||||
messages = {
|
# messages = {
|
||||||
"h" = ":prev-tab<Enter>";
|
# "h" = ":prev-tab<Enter>";
|
||||||
"l" = ":next-tab<Enter>";
|
# "l" = ":next-tab<Enter>";
|
||||||
|
|
||||||
"j" = ":next<Enter>";
|
# "j" = ":next<Enter>";
|
||||||
"<Down>" = ":next<Enter>";
|
# "<Down>" = ":next<Enter>";
|
||||||
"<C-d>" = ":next 50%<Enter>";
|
# "<C-d>" = ":next 50%<Enter>";
|
||||||
"<C-f>" = ":next 100%<Enter>";
|
# "<C-f>" = ":next 100%<Enter>";
|
||||||
"<PgDn>" = ":next 100%<Enter>";
|
# "<PgDn>" = ":next 100%<Enter>";
|
||||||
|
|
||||||
"k" = ":prev<Enter>";
|
# "k" = ":prev<Enter>";
|
||||||
"<Up>" = ":prev<Enter>";
|
# "<Up>" = ":prev<Enter>";
|
||||||
"<C-u>" = ":prev 50%<Enter>";
|
# "<C-u>" = ":prev 50%<Enter>";
|
||||||
"<C-b>" = ":prev 100%<Enter>";
|
# "<C-b>" = ":prev 100%<Enter>";
|
||||||
"<PgUp>" = ":prev 100%<Enter>";
|
# "<PgUp>" = ":prev 100%<Enter>";
|
||||||
"g" = ":select 0<Enter>";
|
# "g" = ":select 0<Enter>";
|
||||||
"G" = ":select -1<Enter>";
|
# "G" = ":select -1<Enter>";
|
||||||
|
|
||||||
"J" = ":next-folder<Enter>";
|
# "J" = ":next-folder<Enter>";
|
||||||
"K" = ":prev-folder<Enter>";
|
# "K" = ":prev-folder<Enter>";
|
||||||
"H" = ":collapse-folder<Enter>";
|
# "H" = ":collapse-folder<Enter>";
|
||||||
"L" = ":expand-folder<Enter>";
|
# "L" = ":expand-folder<Enter>";
|
||||||
|
|
||||||
"v" = ":mark -t<Enter>";
|
# "v" = ":mark -t<Enter>";
|
||||||
"x" = ":mark -t<Enter>:next<Enter>";
|
# "x" = ":mark -t<Enter>:next<Enter>";
|
||||||
"V" = ":mark -v<Enter>";
|
# "V" = ":mark -v<Enter>";
|
||||||
|
|
||||||
"T" = ":toggle-threads<Enter>";
|
# "T" = ":toggle-threads<Enter>";
|
||||||
|
|
||||||
"<Enter>" = ":view<Enter>";
|
# "<Enter>" = ":view<Enter>";
|
||||||
"d" = ":prompt 'Really delete this message?' 'delete-message'<Enter>";
|
# "d" = ":prompt 'Really delete this message?' 'delete-message'<Enter>";
|
||||||
"D" = ":delete<Enter>";
|
# "D" = ":delete<Enter>";
|
||||||
"A" = ":archive flat<Enter>";
|
# "A" = ":archive flat<Enter>";
|
||||||
|
|
||||||
"C" = ":compose<Enter>";
|
# "C" = ":compose<Enter>";
|
||||||
|
|
||||||
"rr" = ":reply -a<Enter>";
|
# "rr" = ":reply -a<Enter>";
|
||||||
"rq" = ":reply -aq<Enter>";
|
# "rq" = ":reply -aq<Enter>";
|
||||||
"Rr" = ":reply<Enter>";
|
# "Rr" = ":reply<Enter>";
|
||||||
"Rq" = ":reply -q<Enter>";
|
# "Rq" = ":reply -q<Enter>";
|
||||||
|
|
||||||
"c" = ":cf<space>";
|
# "c" = ":cf<space>";
|
||||||
"$" = ":term<space>";
|
# "$" = ":term<space>";
|
||||||
"!" = ":term<space>";
|
# "!" = ":term<space>";
|
||||||
"|" = ":pipe<space>";
|
# "|" = ":pipe<space>";
|
||||||
|
|
||||||
"/" = ":search<space>";
|
# "/" = ":search<space>";
|
||||||
"\\" = ":filter<space>";
|
# "\\" = ":filter<space>";
|
||||||
"n" = ":next-result<Enter>";
|
# "n" = ":next-result<Enter>";
|
||||||
"N" = ":prev-result<Enter>";
|
# "N" = ":prev-result<Enter>";
|
||||||
"<Esc>" = ":clear<Enter>";
|
# "<Esc>" = ":clear<Enter>";
|
||||||
};
|
# };
|
||||||
|
|
||||||
"messages:folder=Drafts" = {
|
# "messages:folder=Drafts" = {
|
||||||
"<Enter>" = ":recall<Enter>";
|
# "<Enter>" = ":recall<Enter>";
|
||||||
};
|
# };
|
||||||
|
|
||||||
view = {
|
# view = {
|
||||||
"/" = ":toggle-key-passthrough<Enter>/";
|
# "/" = ":toggle-key-passthrough<Enter>/";
|
||||||
"q" = ":close<Enter>";
|
# "q" = ":close<Enter>";
|
||||||
"O" = ":open<Enter>";
|
# "O" = ":open<Enter>";
|
||||||
"S" = ":save<space>";
|
# "S" = ":save<space>";
|
||||||
"|" = ":pipe<space>";
|
# "|" = ":pipe<space>";
|
||||||
"D" = ":delete<Enter>";
|
# "D" = ":delete<Enter>";
|
||||||
"A" = ":archive flat<Enter>";
|
# "A" = ":archive flat<Enter>";
|
||||||
|
|
||||||
"<C-l>" = ":open-link <space>";
|
# "<C-l>" = ":open-link <space>";
|
||||||
|
|
||||||
"f" = ":forward<Enter>";
|
# "f" = ":forward<Enter>";
|
||||||
"rr" = ":reply -a<Enter>";
|
# "rr" = ":reply -a<Enter>";
|
||||||
"rq" = ":reply -aq<Enter>";
|
# "rq" = ":reply -aq<Enter>";
|
||||||
"Rr" = ":reply<Enter>";
|
# "Rr" = ":reply<Enter>";
|
||||||
"Rq" = ":reply -q<Enter>";
|
# "Rq" = ":reply -q<Enter>";
|
||||||
|
|
||||||
"H" = ":toggle-headers<Enter>";
|
# "H" = ":toggle-headers<Enter>";
|
||||||
"<C-k>" = ":prev-part<Enter>";
|
# "<C-k>" = ":prev-part<Enter>";
|
||||||
"<C-j>" = ":next-part<Enter>";
|
# "<C-j>" = ":next-part<Enter>";
|
||||||
"J" = ":next<Enter>";
|
# "J" = ":next<Enter>";
|
||||||
"K" = ":prev<Enter>";
|
# "K" = ":prev<Enter>";
|
||||||
};
|
# };
|
||||||
|
|
||||||
"view::passthrough" = {
|
# "view::passthrough" = {
|
||||||
"$noinherit" = true;
|
# "$noinherit" = true;
|
||||||
"$ex" = "<C-x>";
|
# "$ex" = "<C-x>";
|
||||||
"<Esc>" = ":toggle-key-passthrough<Enter>";
|
# "<Esc>" = ":toggle-key-passthrough<Enter>";
|
||||||
};
|
# };
|
||||||
|
|
||||||
compose = {
|
# compose = {
|
||||||
"$noinherit" = "true";
|
# "$noinherit" = "true";
|
||||||
"$ex" = "<C-x>";
|
# "$ex" = "<C-x>";
|
||||||
"<C-k>" = ":prev-field<Enter>";
|
# "<C-k>" = ":prev-field<Enter>";
|
||||||
"<C-j>" = ":next-field<Enter>";
|
# "<C-j>" = ":next-field<Enter>";
|
||||||
"<A-p>" = ":switch-account -p<Enter>";
|
# "<A-p>" = ":switch-account -p<Enter>";
|
||||||
"<A-n>" = ":switch-account -n<Enter>";
|
# "<A-n>" = ":switch-account -n<Enter>";
|
||||||
"<tab>" = ":next-field<Enter>";
|
# "<tab>" = ":next-field<Enter>";
|
||||||
"<C-p>" = ":prev-tab<Enter>";
|
# "<C-p>" = ":prev-tab<Enter>";
|
||||||
"<C-n>" = ":next-tab<Enter>";
|
# "<C-n>" = ":next-tab<Enter>";
|
||||||
};
|
# };
|
||||||
|
|
||||||
"compose::editor" = {
|
# "compose::editor" = {
|
||||||
"$noinherit" = "true";
|
# "$noinherit" = "true";
|
||||||
"$ex" = "<C-x>";
|
# "$ex" = "<C-x>";
|
||||||
"<C-k>" = ":prev-field<Enter>";
|
# "<C-k>" = ":prev-field<Enter>";
|
||||||
"<C-j>" = ":next-field<Enter>";
|
# "<C-j>" = ":next-field<Enter>";
|
||||||
"<C-p>" = ":prev-tab<Enter>";
|
# "<C-p>" = ":prev-tab<Enter>";
|
||||||
"<C-n>" = ":next-tab<Enter>";
|
# "<C-n>" = ":next-tab<Enter>";
|
||||||
};
|
# };
|
||||||
|
|
||||||
"compose::review" = {
|
# "compose::review" = {
|
||||||
"y" = ":send<Enter>";
|
# "y" = ":send<Enter>";
|
||||||
"n" = ":abort<Enter>";
|
# "n" = ":abort<Enter>";
|
||||||
"p" = ":postpone<Enter>";
|
# "p" = ":postpone<Enter>";
|
||||||
"q" = ":choose -o d discard abort -o p postpone postpone<Enter>";
|
# "q" = ":choose -o d discard abort -o p postpone postpone<Enter>";
|
||||||
"e" = ":edit<Enter>";
|
# "e" = ":edit<Enter>";
|
||||||
"a" = ":attach<space>";
|
# "a" = ":attach<space>";
|
||||||
"d" = ":detach<space>";
|
# "d" = ":detach<space>";
|
||||||
};
|
# };
|
||||||
|
|
||||||
terminal = {
|
# terminal = {
|
||||||
"$noinherit" = "true";
|
# "$noinherit" = "true";
|
||||||
"$ex" = "<C-x>";
|
# "$ex" = "<C-x>";
|
||||||
|
|
||||||
"<C-p>" = ":prev-tab<Enter>";
|
# "<C-p>" = ":prev-tab<Enter>";
|
||||||
"<C-n>" = ":next-tab<Enter>";
|
# "<C-n>" = ":next-tab<Enter>";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
extraConfig = {
|
# extraConfig = {
|
||||||
general.unsafe-accounts-conf = true;
|
# general.unsafe-accounts-conf = true;
|
||||||
ui = {
|
# ui = {
|
||||||
styleset-name = "catppuccin-mocha";
|
# styleset-name = "catppuccin-mocha";
|
||||||
this-day-time-format = ''" 15:04"'';
|
# this-day-time-format = ''" 15:04"'';
|
||||||
this-year-time-format = "Mon Jan 02 15:04";
|
# this-year-time-format = "Mon Jan 02 15:04";
|
||||||
timestamp-format = "2006-01-02 15:04";
|
# timestamp-format = "2006-01-02 15:04";
|
||||||
|
|
||||||
spinner = "[ ⡿ ],[ ⣟ ],[ ⣯ ],[ ⣷ ],[ ⣾ ],[ ⣽ ],[ ⣻ ],[ ⢿ ]";
|
# spinner = "[ ⡿ ],[ ⣟ ],[ ⣯ ],[ ⣷ ],[ ⣾ ],[ ⣽ ],[ ⣻ ],[ ⢿ ]";
|
||||||
border-char-vertical = "┃";
|
# border-char-vertical = "┃";
|
||||||
border-char-horizontal = "━";
|
# border-char-horizontal = "━";
|
||||||
};
|
# };
|
||||||
viewer = {
|
# viewer = {
|
||||||
always-show-mime = true;
|
# always-show-mime = true;
|
||||||
};
|
# };
|
||||||
compose = {
|
# compose = {
|
||||||
no-attachment-warning = "^[^>]*attach(ed|ment)";
|
# no-attachment-warning = "^[^>]*attach(ed|ment)";
|
||||||
};
|
# };
|
||||||
filters = {
|
# filters = {
|
||||||
"text/plain" = "colorize";
|
# "text/plain" = "colorize";
|
||||||
"text/html" = "html";
|
# "text/html" = "html";
|
||||||
"text/calendar" = "calendar";
|
# "text/calendar" = "calendar";
|
||||||
"message/delivery-status" = "colorize";
|
# "message/delivery-status" = "colorize";
|
||||||
"message/rfc822" = "colorize";
|
# "message/rfc822" = "colorize";
|
||||||
"image/*" = "${pkgs.catimg}/bin/catimg -";
|
# "image/*" = "${pkgs.catimg}/bin/catimg -";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
|
|
||||||
programs.notmuch = {
|
programs.notmuch = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -10,7 +10,7 @@ lib.mkMerge [
|
||||||
server.enable = true;
|
server.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
main = {
|
main = {
|
||||||
term = "xterm-256color";
|
term = "xterm-direct";
|
||||||
login-shell = "yes";
|
login-shell = "yes";
|
||||||
dpi-aware = "no";
|
dpi-aware = "no";
|
||||||
horizontal-letter-offset = "1";
|
horizontal-letter-offset = "1";
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
age,
|
age,
|
||||||
hostname,
|
hostname,
|
||||||
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
@ -47,13 +48,19 @@
|
||||||
Install = {
|
Install = {
|
||||||
WantedBy = [ "default.target" ];
|
WantedBy = [ "default.target" ];
|
||||||
};
|
};
|
||||||
Service.ExecStart = "${lib.getExe pkgs.atuin} daemon";
|
Service = {
|
||||||
|
# ExecStartPre = "${lib.getExe' pkgs.toybox "rm"} -f ${config.programs.atuin.settings.daemon.socket_path}";
|
||||||
|
ExecStart = "${lib.getExe pkgs.atuin} daemon";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.atuin = {
|
programs.atuin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
daemon.enabled = true;
|
daemon = {
|
||||||
|
enabled = true;
|
||||||
|
socket_path = "/home/ccr/.local/share/atuin/atuin.sock"; # FIXME using ~ or $HOME doesn't work: https://github.com/atuinsh/atuin/issues/2289
|
||||||
|
};
|
||||||
auto_sync = true;
|
auto_sync = true;
|
||||||
sync_frequency = "5m";
|
sync_frequency = "5m";
|
||||||
sync_address = "http://sisko.fleet:8889";
|
sync_address = "http://sisko.fleet:8889";
|
||||||
|
|
|
@ -115,7 +115,6 @@
|
||||||
owner = "grafana";
|
owner = "grafana";
|
||||||
group = "forgejo";
|
group = "forgejo";
|
||||||
};
|
};
|
||||||
"garmin-collector-environment".owner = "garmin-collector";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
"prometheus-exporters"
|
"prometheus-exporters"
|
||||||
"loki"
|
"loki"
|
||||||
"promtail"
|
"promtail"
|
||||||
"garmin-collector"
|
|
||||||
"restic"
|
"restic"
|
||||||
"atuin"
|
"atuin"
|
||||||
"immich"
|
"immich"
|
||||||
|
@ -63,10 +62,18 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
|
"earlycon"
|
||||||
|
"consoleblank=0"
|
||||||
"console=tty1"
|
"console=tty1"
|
||||||
"console=ttyS0,1500000"
|
"console=ttyS2,1500000"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
systemd.services."serial-getty@ttyS2" = {
|
||||||
|
enable = true;
|
||||||
|
wantedBy = [ "getty.target" ];
|
||||||
|
serviceConfig.restart = "always";
|
||||||
|
};
|
||||||
|
|
||||||
environment.persistence."/persist" = {
|
environment.persistence."/persist" = {
|
||||||
hideMounts = true;
|
hideMounts = true;
|
||||||
directories = [
|
directories = [
|
||||||
|
|
|
@ -55,5 +55,19 @@ in
|
||||||
];
|
];
|
||||||
timerConfig.OnCalendar = "daily";
|
timerConfig.OnCalendar = "daily";
|
||||||
timerConfig.RandomizedDelaySec = "1h";
|
timerConfig.RandomizedDelaySec = "1h";
|
||||||
|
backupPrepareCommand = ''
|
||||||
|
${pkgs.systemd}/bin/systemctl stop podman-*
|
||||||
|
${pkgs.systemd}/bin/systemctl stop syncthing
|
||||||
|
${pkgs.systemd}/bin/systemctl stop paperless-*
|
||||||
|
${pkgs.systemd}/bin/systemctl stop forgejo
|
||||||
|
${pkgs.systemd}/bin/systemctl stop home-assistant
|
||||||
|
'';
|
||||||
|
backupCleanupCommand = ''
|
||||||
|
${pkgs.systemd}/bin/systemctl start --no-block --all "podman-*"
|
||||||
|
${pkgs.systemd}/bin/systemctl start syncthing
|
||||||
|
${pkgs.systemd}/bin/systemctl start --no-block --all "paperless-*"
|
||||||
|
${pkgs.systemd}/bin/systemctl start forgejo
|
||||||
|
${pkgs.systemd}/bin/systemctl start home-assistant
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
sisko = {
|
sisko = {
|
||||||
id = "5JYQLMP-KNBMSOE-I452UDU-UTKPXJI-K27X2DI-MSCSRCG-6V54Q6U-NVGXPQA";
|
id = "TOC7QXZ-JLB4LYP-VNIJAV5-DCKVGFN-UE45SPX-PPFJHSG-O3UHFCK-2PEMAQ6";
|
||||||
addresses = [
|
addresses = [
|
||||||
"tcp://sisko.fleet"
|
"tcp://sisko.fleet"
|
||||||
];
|
];
|
||||||
|
|
Loading…
Add table
Reference in a new issue