mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 17:17:22 +01:00
Compare commits
No commits in common. "ae2126f363eb72a7c432934f4fb5c1bd1c577467" and "9577cdf243bee1062bb05ca378f7bcf834569baa" have entirely different histories.
ae2126f363
...
9577cdf243
19 changed files with 1803 additions and 4086 deletions
1319
SwarselSystems.org
1319
SwarselSystems.org
File diff suppressed because it is too large
Load diff
|
|
@ -713,12 +713,9 @@ create a new one."
|
||||||
|
|
||||||
(use-package marginalia
|
(use-package marginalia
|
||||||
:after vertico
|
:after vertico
|
||||||
:bind (:map minibuffer-local-map
|
|
||||||
("M-A" . marginalia-cycle))
|
|
||||||
:init
|
:init
|
||||||
(marginalia-mode)
|
(marginalia-mode)
|
||||||
;; (setq marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil))
|
(setq marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil)))
|
||||||
)
|
|
||||||
|
|
||||||
(use-package nerd-icons-completion
|
(use-package nerd-icons-completion
|
||||||
:after (marginalia nerd-icons)
|
:after (marginalia nerd-icons)
|
||||||
|
|
@ -804,22 +801,6 @@ create a new one."
|
||||||
(setq auth-sources '( "~/.emacs.d/.authinfo")
|
(setq auth-sources '( "~/.emacs.d/.authinfo")
|
||||||
auth-source-cache-expiry nil)
|
auth-source-cache-expiry nil)
|
||||||
|
|
||||||
(defun swarsel/org-agenda-done-and-archive ()
|
|
||||||
"Mark TODO at point as DONE, archive it, and save all agenda files."
|
|
||||||
(interactive)
|
|
||||||
(let ((org-archive-location "~/Nextcloud/Org/Archive.org::Archive"))
|
|
||||||
(org-agenda-todo "DONE")
|
|
||||||
(org-agenda-archive)
|
|
||||||
(dolist (buf (buffer-list))
|
|
||||||
(with-current-buffer buf
|
|
||||||
(when (and buffer-file-name
|
|
||||||
(string-prefix-p (expand-file-name "~/Nextcloud/Org/") (file-truename buffer-file-name))
|
|
||||||
(derived-mode-p 'org-mode))
|
|
||||||
(save-buffer))))))
|
|
||||||
|
|
||||||
(with-eval-after-load 'org-agenda
|
|
||||||
(define-key org-agenda-mode-map (kbd "C-a") #'swarsel/org-agenda-done-and-archive))
|
|
||||||
|
|
||||||
(use-package org
|
(use-package org
|
||||||
;;:diminish (org-indent-mode)
|
;;:diminish (org-indent-mode)
|
||||||
:hook (org-mode . swarsel/org-mode-setup)
|
:hook (org-mode . swarsel/org-mode-setup)
|
||||||
|
|
@ -846,12 +827,6 @@ create a new one."
|
||||||
"/home/swarsel/Nextcloud/Org/Archive.org"
|
"/home/swarsel/Nextcloud/Org/Archive.org"
|
||||||
))
|
))
|
||||||
|
|
||||||
(setq org-capture-templates
|
|
||||||
'(("t" "Todo" entry (file+headline "~/Nextcloud/Org/Tasks.org" "Inbox")
|
|
||||||
"* TODO %?\n %i\n %a")
|
|
||||||
("j" "Journal" entry (file+datetree "~/Nextcloud/Org/Journal.org")
|
|
||||||
"* %?\nEntered on %U\n %i\n %a")))
|
|
||||||
|
|
||||||
(setq org-refile-targets
|
(setq org-refile-targets
|
||||||
'((swarsel-archive-org-file :maxlevel . 1)
|
'((swarsel-archive-org-file :maxlevel . 1)
|
||||||
(swarsel-tasks-org-file :maxlevel . 1)))
|
(swarsel-tasks-org-file :maxlevel . 1)))
|
||||||
|
|
@ -1737,7 +1712,7 @@ create a new one."
|
||||||
|
|
||||||
(defun prot-window-delete-popup-frame (&rest _)
|
(defun prot-window-delete-popup-frame (&rest _)
|
||||||
"Kill selected selected frame if it has parameter `prot-window-popup-frame'.
|
"Kill selected selected frame if it has parameter `prot-window-popup-frame'.
|
||||||
Use this function via a hook."
|
Use this function via a hook."
|
||||||
(when (frame-parameter nil 'prot-window-popup-frame)
|
(when (frame-parameter nil 'prot-window-popup-frame)
|
||||||
(delete-frame)))
|
(delete-frame)))
|
||||||
|
|
||||||
|
|
@ -1748,36 +1723,27 @@ Make the new frame have the `prot-window-popup-frame' parameter."
|
||||||
,(format "Run `%s' in a popup frame with `prot-window-popup-frame' parameter.
|
,(format "Run `%s' in a popup frame with `prot-window-popup-frame' parameter.
|
||||||
Also see `prot-window-delete-popup-frame'." command)
|
Also see `prot-window-delete-popup-frame'." command)
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((frame (make-frame '((prot-window-popup-frame . t)
|
(let ((frame (make-frame '((prot-window-popup-frame . t)))))
|
||||||
(title . "Emacs Popup Frame")))))
|
(select-frame frame)
|
||||||
(unwind-protect
|
(modify-frame-parameters nil '((title . "Emacs Popup Frame")))
|
||||||
(progn
|
(switch-to-buffer " prot-window-hidden-buffer-for-popup-frame")
|
||||||
(select-frame frame)
|
(condition-case nil
|
||||||
(switch-to-buffer " prot-window-hidden-buffer-for-popup-frame")
|
(call-interactively ',command)
|
||||||
(condition-case nil
|
((quit error user-error)
|
||||||
(call-interactively ',command)
|
(delete-frame frame))))))
|
||||||
((quit error user-error)
|
|
||||||
(delete-frame frame))))
|
|
||||||
(dolist (fr (frame-list))
|
|
||||||
(when (string= (frame-parameter fr 'name) "Emacs Popup Anchor")
|
|
||||||
(delete-frame fr)))))))
|
|
||||||
|
|
||||||
(declare-function org-capture "org-capture" (&optional goto keys))
|
(declare-function org-capture "org-capture" (&optional goto keys))
|
||||||
(defvar org-capture-after-finalize-hook)
|
(defvar org-capture-after-finalize-hook)
|
||||||
;;;###autoload (autoload 'prot-window-popup-org-capture "prot-window")
|
;;;###autoload (autoload 'prot-window-popup-org-capture "prot-window")
|
||||||
(prot-window-define-with-popup-frame org-capture)
|
(prot-window-define-with-popup-frame org-capture)
|
||||||
(add-hook 'org-capture-after-finalize-hook #'prot-window-delete-popup-frame)
|
(add-hook 'org-capture-after-finalize-hook #'prot-window-delete-popup-frame)
|
||||||
|
|
||||||
(declare-function mu4e "mu4e" (&optional goto keys))
|
(declare-function mu4e "mu4e" (&optional goto keys))
|
||||||
;;;###autoload (autoload 'prot-window-popup-mu4e "prot-window")
|
;;;###autoload (autoload 'prot-window-popup-mu4e "prot-window")
|
||||||
(prot-window-define-with-popup-frame mu4e)
|
(prot-window-define-with-popup-frame mu4e)
|
||||||
(advice-add 'mu4e-quit :after #'prot-window-delete-popup-frame)
|
(advice-add 'mu4e-quit :after #'prot-window-delete-popup-frame)
|
||||||
|
|
||||||
(declare-function swarsel/open-calendar "swarsel/open-calendar" (&optional goto keys))
|
(declare-function swarsel/open-calendar "swarsel/open-calendar" (&optional goto keys))
|
||||||
;;;###autoload (autoload 'prot-window-popup-swarsel/open-calendar "prot-window")
|
;;;###autoload (autoload 'prot-window-popup-swarsel/open-calendar "prot-window")
|
||||||
(prot-window-define-with-popup-frame swarsel/open-calendar)
|
(prot-window-define-with-popup-frame swarsel/open-calendar)
|
||||||
(advice-add 'bury-buffer :after #'prot-window-delete-popup-frame)
|
(advice-add 'bury-buffer :after #'prot-window-delete-popup-frame)
|
||||||
|
|
||||||
(declare-function org-agenda "org-agenda" (&optional goto keys))
|
|
||||||
;;;###autoload (autoload 'prot-window-popup-org-agenda "prot-window")
|
|
||||||
(prot-window-define-with-popup-frame org-agenda)
|
|
||||||
|
|
|
||||||
1945
flake.lock
generated
1945
flake.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -4,7 +4,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
inputs.stylix.homeManagerModules.stylix
|
inputs.stylix.homeManagerModules.stylix
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
inputs.nix-index-database.homeModules.nix-index
|
inputs.nix-index-database.hmModules.nix-index
|
||||||
"${self}/modules/home"
|
"${self}/modules/home"
|
||||||
"${self}/modules/nixos/common/pii.nix"
|
"${self}/modules/nixos/common/pii.nix"
|
||||||
"${self}/modules/nixos/common/meta.nix"
|
"${self}/modules/nixos/common/meta.nix"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"data": "ENC[AES256_GCM,data:kkwEMOzab5JK9G+rSfYygcAI6Y+b1tXkUFPdxN8e2Rnz2Uv4bDfITu8bmKqJ1q5kmHxQjQukioZkdQkabqBR8cx/CG3dRJfPAjEwMz4v8UYGSNSf8blJvdb4YKSizeOEALCuawBIm5hmvwuskXlol6UfkK66h9UnP94wwdh0KKemWinANxbIUX+cl6kK4X1eZrWRGr5Ts2HmjcowIbA+SmA8yVAwqoP6L1DuavilLGPfWhBI4Kj7ZTI3LRlvu4DZZ+DCAea3FgrrjbTWiWZfFW0YX2fDgNQkIxpp3N203zDu23HebZcmCrVBkfvFS7awBr5iVnwfsqOJR0LH92lIlUb8YoFShlJU/Day80i9uyYDCTHc4l2NBvjIH8NlpiYaA2A+rCW3VkVX3WzCGxBfi/kIqoNE3RdLJAYrIimsYaHSmk4o6jslR3xIRyQzDcNtWa92kINdCwBuJXc0UYe/HnR8tFlmOrlixMlVINTy45PRNYJoy7cuoJPd+aNIPQ2V31TB/CjUSZhEptVJSnQnKDui1xuV7vqcyPv06xftJGZRk/LL2cl3+HDLflkZYE7NVlLaOWMBOkX99W/WokF3NGBWuVeUp9bLCwpuEmzFafpCjKhGrQSDGkw17jmYWCULN9v3q6OvyylwqVuDDQZNSxGZFsSPr7qOxeENwTDQvRwpydthPRMMHh/wf3t5pyV/jW79SBuxIWvn4JbO8TBsd9TmVgXMgpd97+Zg3CnTqZApVVRzM8NzF25fMYHJv12YvkEmyOm0otFU84COhgNkpBRTJhyJdjKWVOTJFJyQviwy6BTBF6jqHyS+YP7BEZO2UID/9ODKVrSACCatSQlNtLQRrXOiE9h3g43uAJc/TyJ+A0IceUJ3BM+6PEJiqDWUfO5ucP3pLDdb4IDOAi/YeV9HQdyCdEVRf6a0CHmPcnkb+X+fxxcmZQCvuzQjOZQZw8UUwfhdJms6jTWqaN9leb3z4u8RPxOM1T+Qsu5dL5ouady7xVSO4c1Fw+EiiL9yOh42DTa4OyBlcTJiz5iigqmkaiQOwdwn+FlOYNraOd24h8+x7dDVQBbHjnV7xF7I1rmpOfA/lUbfovLU5SrIxLPT64J25ucudJWBTCDiYADUwhv+QmfJJsdt11+NWPkS3ymFbbWPtpZvhCaawrNKb3s/ohOEi8JIAyY9dtfRGuRoTsCcsJ4xjeSLehX4TgR0cl31Jmm+0kO2uuP7veDrqyUg1Swqsq4+BKfimprh/QzwSoB9lOdEPu0bdQza9sk+D5+H2ooXsVXA2YJscBZ/Kv+YYW57LlfwEvfpJDx5XiQtAYYlUeN8SPx72i9QzYugm339gj+eB8gtbX3W8Sl+D9Vs0P+GZ4G7K03JvzEExtA=,iv:Go3U5S9ZxtPawFoVjknH8j8WDg2TJLIU6mp5DQDj9BE=,tag:0QPJYyQsuZ4hz8xZZ2V4xw==,type:str]",
|
"data": "ENC[AES256_GCM,data:SEQIHMS8xUj6vsC1+1zTRG+h5BbqL0miA77UEh0UbiFOP7RgqhUlZgq+LmO7BRiIf4RHO13BZ5PXdKiZ96lgGcaquVnaEEQqv2NvkstXpwm3eLjUTJryMxfVupeir5g/FNXHETzhN425KD93EyMr4g7INJW4N4mHXmDnHJOJgS8rlKnSLG64cpgrlef8GAsGfp+i3ky2dig4jNQG8Ijdc46qtiyH9bs7k0d/YuNNmcZSaSIukNyyIMVTqlt6MV+9iUQ4Lj5h0pxgDLfjM1TNQAHRkWW4eozt7SO17U9td1DxvBF9TUdj3xbFCVo4c1OGw4hrjahvUAF8u1TEXBhhJfLqApDUBddRMxybk8Dy98jOHcb6Qwu3qUcgRt9XgkOktwgovS/B2WWAIWMTIZhyKm5ENriaTZWSp6n7hzkw1C1wXyCaP6YT0A4SSPPJt/DuTcBZ5BOFM10237NNgZA0Q7B5J5C57W88bhtzZ2aJZexyQYqQPrr5c38RwR00OAVGJeCgcq70JqeA5EpTuud20rBE0/dHHEPeVUBkrq8pjBHh4SYeMOh8g85CnlF31cxAcnrVJbO14hQQ8sQd4ZmkRNcY3EL981ruDy6Okd3K5AifmF/E9IEZwbvCSLY8EYANA+NV97ZsL4zJOWC6tnA1QHFDoqCR/POsupvGQetYpembrUY0WoB5XkfAvMicQCeLJe2H7S6pOVMDOIIZLx57vcO855LlIJiCpMw2ytqbBXRZolM2WXEBZDEL6BnrEydUnoiUCxqsUrdvQE3HTzktXKQww9jc6HLfBV1MvfScWq2fisGDlkrC2rI5VcWamm8Xbke4uTVcdbKlDpgbpC8NaWmmgNhFe50VNf7M/L5etnvuWWbY68epLZo7dsaaWVE584pdVFT+2K2GwWmGnMHKW+KKA6O9hFfdPUOsJj+eJiF9JX7OwLPAJILTjesWfHXivILBwjDyY5CBCHg91fsrPF37222O/HPPukveY/u6WBOt+co3Ch9mq9usdD7fhieo59IZ7aOJb7dxHSa99nBD8NZbwn6nJkgn3hpLfP9q/2TWcF/zSD1oGY7f1GVbEKEHj2hHv+OHMhFzgRhi5NtvGOO4l0aa1QE1eyRJgHLeqS5aL119Fh1+PSSN9/+v1q6l2JjYuQAV1BqzVdG2GS64J4PBxVqmZ3M9Qv2ZvH0Zwjs64M3MDUMNa5+HZAkPpThvrUWSCEFivIfiOi4Bt/h+HmyQb04LB5QuNFSiRpuF+fQcA+MmMQ==,iv:PL7Z5mKqbNbPfptREw9xFTiOQ1qiVkyxLPvDSoPvbbY=,tag:OPlhVLtN5IDdL/nkkj8+CQ==,type:str]",
|
||||||
"sops": {
|
"sops": {
|
||||||
"age": [
|
"age": [
|
||||||
{
|
{
|
||||||
|
|
@ -11,8 +11,8 @@
|
||||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0Z2tONmQxTUhZUW12Z2Jm\nUnoxSnpYcnZDNGNzSko1ckl2RDh3NG1VS2dFCmIwUXhmSk1OUk02S0JPVDR5UWJ4\na0gwWlg0V005ZWxYa29PZ0laS2VqM0kKLS0tIHN5SU9pQ090eHljeXJGWm5hRFQ4\nZ001Nzkyb29RYkNUMDNDNlo4YnVQeTQK34bNIBgxId2+DHKQNVV3Iro3KGkE03Sp\niB1+dADT6nRvGvoyPqnLq/NYfw7eQ6XqYt55zkdCta8v6L1UNUkw8g==\n-----END AGE ENCRYPTED FILE-----\n"
|
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0Z2tONmQxTUhZUW12Z2Jm\nUnoxSnpYcnZDNGNzSko1ckl2RDh3NG1VS2dFCmIwUXhmSk1OUk02S0JPVDR5UWJ4\na0gwWlg0V005ZWxYa29PZ0laS2VqM0kKLS0tIHN5SU9pQ090eHljeXJGWm5hRFQ4\nZ001Nzkyb29RYkNUMDNDNlo4YnVQeTQK34bNIBgxId2+DHKQNVV3Iro3KGkE03Sp\niB1+dADT6nRvGvoyPqnLq/NYfw7eQ6XqYt55zkdCta8v6L1UNUkw8g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lastmodified": "2025-08-07T12:21:20Z",
|
"lastmodified": "2025-07-13T23:20:32Z",
|
||||||
"mac": "ENC[AES256_GCM,data:JxNvTsW6D7IbaczGsdgfTJcACm5VLrOw6Ep+RU9PoXn2LJZeJ9U8KIlnNdODtxMpiIpZ+ZPeJgQk+EXlUVd5n2dJQEr6vqfs4o85givDWE29Pki12Zb7jMhiW8/z9GYQ/TcskkWUfA0Brz9fKVKXLARvQdL1/9Rlw+F1VwWWBOo=,iv:V31hoIpUgq6X47D0B+MtBMsdD0oDpPkh2kvQWRJtS3w=,tag:dsW9SUIdGipX5rKyLAvCvQ==,type:str]",
|
"mac": "ENC[AES256_GCM,data:ibG9NVwVLf4UgdxnHbAToq5n12v4PPgPmnTn8PYg0LZfU2x6GaxRtNvWoFxDa9bEWMRzrlC5oV+hXsTxzJdYliafNTOxWjtOI/ME/HgEE8cU17HuJViWkR+CL+kzCelgFjCD3XajbTRzdTBtcI9icsUvnaManjlSvsgWmqNP36Y=,iv:uCy8Mv5HM611Qd4cvvEiDovnv1uuLZVSN7p7SV10zRA=,tag:fRjfyRkIIh5L97WVyNyxSQ==,type:str]",
|
||||||
"pgp": [
|
"pgp": [
|
||||||
{
|
{
|
||||||
"created_at": "2025-06-14T22:31:01Z",
|
"created_at": "2025-06-14T22:31:01Z",
|
||||||
|
|
|
||||||
1320
index.html
1320
index.html
File diff suppressed because it is too large
Load diff
|
|
@ -31,7 +31,6 @@ in
|
||||||
SWARSEL_CAL3NAME = source3-name;
|
SWARSEL_CAL3NAME = source3-name;
|
||||||
SWARSEL_FULLNAME = fullName;
|
SWARSEL_FULLNAME = fullName;
|
||||||
SWARSEL_MAIL_ALL = allMailAddresses;
|
SWARSEL_MAIL_ALL = allMailAddresses;
|
||||||
GITHUB_NOTIFICATION_TOKEN_PATH = nixosConfig.sops.secrets.github-notifications-token.path;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,76 +33,22 @@ in
|
||||||
# this is needed so that mbsync can use the passwords from sops
|
# this is needed so that mbsync can use the passwords from sops
|
||||||
systemd.user.services.mbsync.Unit.After = [ "sops-nix.service" ];
|
systemd.user.services.mbsync.Unit.After = [ "sops-nix.service" ];
|
||||||
|
|
||||||
programs.thunderbird = {
|
|
||||||
enable = true;
|
|
||||||
profiles.default = {
|
|
||||||
isDefault = true;
|
|
||||||
withExternalGnupg = true;
|
|
||||||
settings = {
|
|
||||||
"mail.identity.default.archive_enabled" = true;
|
|
||||||
"mail.identity.default.archive_keep_folder_structure" = true;
|
|
||||||
"mail.identity.default.compose_html" = false;
|
|
||||||
"mail.identity.default.protectSubject" = true;
|
|
||||||
"mail.identity.default.reply_on_top" = 1;
|
|
||||||
"mail.identity.default.sig_on_reply" = false;
|
|
||||||
"mail.identity.default.sig_bottom" = false;
|
|
||||||
|
|
||||||
"gfx.webrender.all" = true;
|
|
||||||
"gfx.webrender.enabled" = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
"mail.server.default.allow_utf8_accept" = true;
|
|
||||||
"mail.server.default.max_articles" = 1000;
|
|
||||||
"mail.server.default.check_all_folders_for_new" = true;
|
|
||||||
"mail.show_headers" = 1;
|
|
||||||
"mail.identity.default.auto_quote" = true;
|
|
||||||
"mail.identity.default.attachPgpKey" = true;
|
|
||||||
"mailnews.default_sort_order" = 2;
|
|
||||||
"mailnews.default_sort_type" = 18;
|
|
||||||
"mailnews.default_view_flags" = 0;
|
|
||||||
"mailnews.sort_threads_by_root" = true;
|
|
||||||
"mailnews.headers.showMessageId" = true;
|
|
||||||
"mailnews.headers.showOrganization" = true;
|
|
||||||
"mailnews.headers.showReferences" = true;
|
|
||||||
"mailnews.headers.showUserAgent" = true;
|
|
||||||
"mail.imap.expunge_after_delete" = true;
|
|
||||||
"mail.server.default.delete_model" = 2;
|
|
||||||
"mail.warn_on_delete_from_trash" = false;
|
|
||||||
"mail.warn_on_shift_delete" = false;
|
|
||||||
"toolkit.telemetry.enabled" = false;
|
|
||||||
"toolkit.telemetry.rejected" = true;
|
|
||||||
"toolkit.telemetry.prompted" = 2;
|
|
||||||
"app.update.auto" = false;
|
|
||||||
"privacy.donottrackheader.enabled" = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.mimeApps.defaultApplications = {
|
|
||||||
"x-scheme-handler/mailto" = [ "thunderbird.desktop" ];
|
|
||||||
"x-scheme-handler/mid" = [ "thunderbird.desktop" ];
|
|
||||||
"message/rfc822" = [ "thunderbird.desktop" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
accounts = lib.mkIf (config.swarselsystems.isNixos && !config.swarselsystems.isPublic) {
|
accounts = lib.mkIf (config.swarselsystems.isNixos && !config.swarselsystems.isPublic) {
|
||||||
email =
|
email = {
|
||||||
let
|
maildirBasePath = "Mail";
|
||||||
defaultSettings = {
|
accounts = {
|
||||||
imap = {
|
leon = {
|
||||||
host = "imap.gmail.com";
|
primary = true;
|
||||||
port = 993;
|
address = address1;
|
||||||
tls.enable = true; # SSL/TLS
|
userName = address1;
|
||||||
};
|
realName = fullName;
|
||||||
smtp = {
|
passwordCommand = "cat ${nixosConfig.sops.secrets.address1-token.path}";
|
||||||
host = "smtp.gmail.com";
|
gpg = {
|
||||||
port = 465;
|
key = "0x76FD3810215AE097";
|
||||||
tls.enable = true; # SSL/TLS
|
signByDefault = true;
|
||||||
};
|
|
||||||
thunderbird = {
|
|
||||||
enable = true;
|
|
||||||
profiles = [ "default" ];
|
|
||||||
};
|
};
|
||||||
|
imap.host = "imap.gmail.com";
|
||||||
|
smtp.host = "smtp.gmail.com";
|
||||||
mu.enable = true;
|
mu.enable = true;
|
||||||
msmtp = {
|
msmtp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -123,68 +69,85 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
|
||||||
{
|
swarsel = {
|
||||||
maildirBasePath = "Mail";
|
address = address4;
|
||||||
accounts = {
|
userName = address4-user;
|
||||||
swarsel = {
|
realName = fullName;
|
||||||
address = address4;
|
passwordCommand = "cat ${nixosConfig.sops.secrets.address4-token.path}";
|
||||||
userName = address4-user;
|
smtp = {
|
||||||
realName = fullName;
|
host = address4-host;
|
||||||
passwordCommand = "cat ${nixosConfig.sops.secrets.address4-token.path}";
|
port = 587;
|
||||||
smtp = {
|
tls = {
|
||||||
host = address4-host;
|
|
||||||
port = 587;
|
|
||||||
tls = {
|
|
||||||
enable = true;
|
|
||||||
useStartTls = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
mu.enable = false;
|
|
||||||
msmtp = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
useStartTls = true;
|
||||||
mbsync = {
|
|
||||||
enable = false;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
mu.enable = false;
|
||||||
leon = lib.recursiveUpdate
|
msmtp = {
|
||||||
{
|
enable = true;
|
||||||
primary = true;
|
};
|
||||||
address = address1;
|
mbsync = {
|
||||||
userName = address1;
|
enable = false;
|
||||||
realName = fullName;
|
};
|
||||||
passwordCommand = "cat ${nixosConfig.sops.secrets.address1-token.path}";
|
|
||||||
gpg = {
|
|
||||||
key = "0x76FD3810215AE097";
|
|
||||||
signByDefault = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
defaultSettings;
|
|
||||||
|
|
||||||
nautilus = lib.recursiveUpdate
|
|
||||||
{
|
|
||||||
primary = false;
|
|
||||||
address = address2;
|
|
||||||
userName = address2;
|
|
||||||
realName = address2-name;
|
|
||||||
passwordCommand = "cat ${nixosConfig.sops.secrets.address2-token.path}";
|
|
||||||
}
|
|
||||||
defaultSettings;
|
|
||||||
|
|
||||||
mrswarsel = lib.recursiveUpdate
|
|
||||||
{
|
|
||||||
primary = false;
|
|
||||||
address = address3;
|
|
||||||
userName = address3;
|
|
||||||
realName = address3-name;
|
|
||||||
passwordCommand = "cat ${nixosConfig.sops.secrets.address3-token.path}";
|
|
||||||
}
|
|
||||||
defaultSettings;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nautilus = {
|
||||||
|
primary = false;
|
||||||
|
address = address2;
|
||||||
|
userName = address2;
|
||||||
|
realName = address2-name;
|
||||||
|
passwordCommand = "cat ${nixosConfig.sops.secrets.address2-token.path}";
|
||||||
|
imap.host = "imap.gmail.com";
|
||||||
|
smtp.host = "smtp.gmail.com";
|
||||||
|
msmtp.enable = true;
|
||||||
|
mu.enable = true;
|
||||||
|
mbsync = {
|
||||||
|
enable = true;
|
||||||
|
create = "maildir";
|
||||||
|
expunge = "both";
|
||||||
|
patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ];
|
||||||
|
extraConfig = {
|
||||||
|
channel = {
|
||||||
|
Sync = "All";
|
||||||
|
};
|
||||||
|
account = {
|
||||||
|
Timeout = 120;
|
||||||
|
PipelineDepth = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mrswarsel = {
|
||||||
|
primary = false;
|
||||||
|
address = address3;
|
||||||
|
userName = address3;
|
||||||
|
realName = address3-name;
|
||||||
|
passwordCommand = "cat ${nixosConfig.sops.secrets.address3-token.path}";
|
||||||
|
imap.host = "imap.gmail.com";
|
||||||
|
smtp.host = "smtp.gmail.com";
|
||||||
|
msmtp.enable = true;
|
||||||
|
mu.enable = true;
|
||||||
|
mbsync = {
|
||||||
|
enable = true;
|
||||||
|
create = "maildir";
|
||||||
|
expunge = "both";
|
||||||
|
patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ];
|
||||||
|
extraConfig = {
|
||||||
|
channel = {
|
||||||
|
Sync = "All";
|
||||||
|
};
|
||||||
|
account = {
|
||||||
|
Timeout = 120;
|
||||||
|
PipelineDepth = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -126,10 +126,9 @@ in
|
||||||
"${modifier}+Shift+F12" = "move scratchpad";
|
"${modifier}+Shift+F12" = "move scratchpad";
|
||||||
"${modifier}+F12" = "scratchpad show";
|
"${modifier}+F12" = "scratchpad show";
|
||||||
"${modifier}+Shift+c" = "exec qalculate-gtk";
|
"${modifier}+Shift+c" = "exec qalculate-gtk";
|
||||||
"${modifier}+c" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-org-capture)'";
|
"${modifier}+c" = "emacsclient -e '(prot-window-popup-org-capture)'";
|
||||||
"${modifier}+t" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-org-agenda)'";
|
"${modifier}+Shift+m" = "emacsclient -e '(prot-window-popup-mu4e)'";
|
||||||
"${modifier}+Shift+m" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-mu4e)'";
|
"${modifier}+Shift+a" = "emacsclient -e '(prot-window-popup-swarsel/open-calendar)'";
|
||||||
"${modifier}+Shift+a" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-swarsel/open-calendar)'";
|
|
||||||
"${modifier}+p" = "exec pass-fuzzel";
|
"${modifier}+p" = "exec pass-fuzzel";
|
||||||
"${modifier}+o" = "exec pass-fuzzel --otp";
|
"${modifier}+o" = "exec pass-fuzzel --otp";
|
||||||
"${modifier}+Shift+p" = "exec pass-fuzzel --type";
|
"${modifier}+Shift+p" = "exec pass-fuzzel --type";
|
||||||
|
|
@ -262,8 +261,7 @@ in
|
||||||
{ title = "^Add$"; }
|
{ title = "^Add$"; }
|
||||||
{ title = "^Picture-in-Picture$"; }
|
{ title = "^Picture-in-Picture$"; }
|
||||||
{ title = "Syncthing Tray"; }
|
{ title = "Syncthing Tray"; }
|
||||||
{ title = "^Emacs Popup Frame$"; }
|
{ title = "Emacs Popup Frame"; }
|
||||||
{ title = "^Emacs Popup Anchor$"; }
|
|
||||||
{ title = "^spotifytui$"; }
|
{ title = "^spotifytui$"; }
|
||||||
{ title = "^kittyterm$"; }
|
{ title = "^kittyterm$"; }
|
||||||
{ app_id = "vesktop"; }
|
{ app_id = "vesktop"; }
|
||||||
|
|
@ -314,18 +312,6 @@ in
|
||||||
title = "^Picture-in-Picture$";
|
title = "^Picture-in-Picture$";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
|
||||||
command = "resize set width 60 ppt height 60 ppt, opacity 0.99, sticky enable";
|
|
||||||
criteria = {
|
|
||||||
title = "^Emacs Popup Frame$";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "move container to scratchpad";
|
|
||||||
criteria = {
|
|
||||||
title = "^Emacs Popup Anchor$";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
command = "resize set width 60 ppt height 60 ppt, opacity 0.8, sticky enable, border normal, move container to scratchpad";
|
command = "resize set width 60 ppt height 60 ppt, opacity 0.8, sticky enable, border normal, move container to scratchpad";
|
||||||
criteria = {
|
criteria = {
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ in
|
||||||
|
|
||||||
sops.secrets = lib.mkIf (!config.swarselsystems.isPublic && !config.swarselsystems.isNixos) {
|
sops.secrets = lib.mkIf (!config.swarselsystems.isPublic && !config.swarselsystems.isNixos) {
|
||||||
croc-password = { };
|
croc-password = { };
|
||||||
github-nixpkgs-review-token = { };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
|
|
@ -50,10 +49,8 @@ in
|
||||||
boot-diff = "nix store diff-closures /run/*-system";
|
boot-diff = "nix store diff-closures /run/*-system";
|
||||||
gen-diff = "nix profile diff-closures --profile /nix/var/nix/profiles/system";
|
gen-diff = "nix profile diff-closures --profile /nix/var/nix/profiles/system";
|
||||||
cc = "wl-copy";
|
cc = "wl-copy";
|
||||||
build-topology = "nix build .#topology.x86_64-linux.config.output";
|
topology = "nix build .#topology.x86_64-linux.config.output";
|
||||||
build-iso = "nix build --print-out-paths .#live-iso";
|
iso = "nix build --print-out-paths .#live-iso";
|
||||||
nix-review- = "nix run nixpkgs#nixpkgs-review -- rev HEAD";
|
|
||||||
nix-review-post = "nix run nixpkgs#nixpkgs-review -- pr --post-result --systems linux";
|
|
||||||
}
|
}
|
||||||
config.swarselsystems.shellAliases;
|
config.swarselsystems.shellAliases;
|
||||||
autosuggestion.enable = true;
|
autosuggestion.enable = true;
|
||||||
|
|
@ -127,7 +124,6 @@ in
|
||||||
bindkey '^H' my-backward-delete-word
|
bindkey '^H' my-backward-delete-word
|
||||||
|
|
||||||
export CROC_PASS="$(cat ${nixosConfig.sops.secrets.croc-password.path})"
|
export CROC_PASS="$(cat ${nixosConfig.sops.secrets.croc-password.path})"
|
||||||
export GITHUB_TOKEN="$(cat ${nixosConfig.sops.secrets.github-nixpkgs-review-token.path})"
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -4,542 +4,445 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.swarselmodules.optional.work = lib.mkEnableOption "optional work settings";
|
options.swarselmodules.optional.work = lib.mkEnableOption "optional work settings";
|
||||||
config = lib.mkIf config.swarselmodules.optional.work
|
config = lib.mkIf config.swarselmodules.optional.work {
|
||||||
{
|
home.packages = with pkgs; [
|
||||||
home.packages = with pkgs; [
|
stable.teams-for-linux
|
||||||
stable.teams-for-linux
|
shellcheck
|
||||||
shellcheck
|
dig
|
||||||
dig
|
docker
|
||||||
docker
|
postman
|
||||||
postman
|
rclone
|
||||||
rclone
|
stable24_05.awscli2
|
||||||
stable24_05.awscli2
|
libguestfs-with-appliance
|
||||||
libguestfs-with-appliance
|
stable.prometheus.cli
|
||||||
stable.prometheus.cli
|
tigervnc
|
||||||
tigervnc
|
openstackclient
|
||||||
openstackclient
|
];
|
||||||
pizauth
|
|
||||||
];
|
|
||||||
|
|
||||||
systemd.user.services.pizauth = {
|
home.sessionVariables = {
|
||||||
Unit = {
|
DOCUMENT_DIR_PRIV = lib.mkForce "${homeDir}/Documents/Private";
|
||||||
Description = "Pizauth OAuth2 token manager";
|
DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work";
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.sway.config = {
|
||||||
|
output = {
|
||||||
|
"Applied Creative Technology Transmitter QUATTRO201811" = {
|
||||||
|
bg = "${self}/files/wallpaper/navidrome.png ${config.stylix.imageScalingMode}";
|
||||||
};
|
};
|
||||||
|
"Hewlett Packard HP Z24i CN44250RDT" = {
|
||||||
Service = {
|
bg = "${self}/files/wallpaper/op6wp.png ${config.stylix.imageScalingMode}";
|
||||||
Type = "simple";
|
|
||||||
ExecStart = "${pkgs.pizauth}/bin/pizauth server -vvvv -d";
|
|
||||||
ExecReload = "${pkgs.pizauth}/bin/pizauth reload";
|
|
||||||
ExecStop = "${pkgs.pizauth}/bin/pizauth shutdown";
|
|
||||||
};
|
};
|
||||||
|
"HP Inc. HP 732pk CNC4080YL5" = {
|
||||||
Install = {
|
bg = "${self}/files/wallpaper/botanicswp.png ${config.stylix.imageScalingMode}";
|
||||||
WantedBy = [ "default.target" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
DOCUMENT_DIR_PRIV = lib.mkForce "${homeDir}/Documents/Private";
|
|
||||||
DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work";
|
|
||||||
};
|
|
||||||
|
|
||||||
accounts.email.accounts.work =
|
|
||||||
let
|
|
||||||
inherit (nixosConfig.repo.secrets.local.work) mailAddress mailName;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
primary = false;
|
|
||||||
address = mailAddress;
|
|
||||||
userName = mailAddress;
|
|
||||||
realName = mailName;
|
|
||||||
passwordCommand = "pizauth show work";
|
|
||||||
imap = {
|
|
||||||
host = "outlook.office365.com";
|
|
||||||
port = 993;
|
|
||||||
tls.enable = true; # SSL/TLS
|
|
||||||
};
|
|
||||||
smtp = {
|
|
||||||
host = "outlook.office365.com";
|
|
||||||
port = 587;
|
|
||||||
tls = {
|
|
||||||
enable = true; # SSL/TLS
|
|
||||||
useStartTls = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
thunderbird = {
|
|
||||||
enable = true;
|
|
||||||
profiles = [ "default" ];
|
|
||||||
settings = id: {
|
|
||||||
"mail.smtpserver.smtp_${id}.authMethod" = 10; # oauth
|
|
||||||
"mail.server.server_${id}.authMethod" = 10; # oauth
|
|
||||||
# "toolkit.telemetry.enabled" = false;
|
|
||||||
# "toolkit.telemetry.rejected" = true;
|
|
||||||
# "toolkit.telemetry.prompted" = 2;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
msmtp = {
|
|
||||||
enable = false;
|
|
||||||
extraConfig = {
|
|
||||||
account = "work";
|
|
||||||
auth = "xoauth2";
|
|
||||||
host = "outlook.office365.com";
|
|
||||||
protocol = "smtp";
|
|
||||||
port = "587";
|
|
||||||
tls = "on";
|
|
||||||
tls_starttls = "on";
|
|
||||||
from = "${mailAddress}";
|
|
||||||
user = "${mailAddress}";
|
|
||||||
passwordeval = "pizauth show work";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
mu.enable = false;
|
|
||||||
mbsync = {
|
|
||||||
enable = false;
|
|
||||||
expunge = "both";
|
|
||||||
extraConfig = {
|
|
||||||
account = {
|
|
||||||
AuthMechs = "XOAUTH2";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.sway.config = {
|
|
||||||
output = {
|
|
||||||
"Applied Creative Technology Transmitter QUATTRO201811" = {
|
|
||||||
bg = "${self}/files/wallpaper/navidrome.png ${config.stylix.imageScalingMode}";
|
|
||||||
};
|
|
||||||
"Hewlett Packard HP Z24i CN44250RDT" = {
|
|
||||||
bg = "${self}/files/wallpaper/op6wp.png ${config.stylix.imageScalingMode}";
|
|
||||||
};
|
|
||||||
"HP Inc. HP 732pk CNC4080YL5" = {
|
|
||||||
bg = "${self}/files/wallpaper/botanicswp.png ${config.stylix.imageScalingMode}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
stylix = {
|
|
||||||
targets.firefox.profileNames =
|
|
||||||
let
|
|
||||||
inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3;
|
|
||||||
in
|
|
||||||
[
|
|
||||||
"${user1}"
|
|
||||||
"${user2}"
|
|
||||||
"${user3}"
|
|
||||||
"work"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs =
|
|
||||||
let
|
|
||||||
inherit (nixosConfig.repo.secrets.local.work) user1 user1Long user2 user2Long user3 user3Long user4 path1 loc1 loc2 site1 site2 site3 site4 site5 site6 site7 lifecycle1 lifecycle2 domain1 domain2 gitMail;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
git.userEmail = lib.mkForce gitMail;
|
|
||||||
|
|
||||||
zsh = {
|
|
||||||
shellAliases = {
|
|
||||||
dssh = "ssh -l ${user1Long}";
|
|
||||||
cssh = "ssh -l ${user2Long}";
|
|
||||||
wssh = "ssh -l ${user3Long}";
|
|
||||||
};
|
|
||||||
cdpath = [
|
|
||||||
"~/Documents/Work"
|
|
||||||
];
|
|
||||||
dirHashes = {
|
|
||||||
d = "$HOME/.dotfiles";
|
|
||||||
w = "$HOME/Documents/Work";
|
|
||||||
s = "$HOME/.dotfiles/secrets";
|
|
||||||
pr = "$HOME/Documents/Private";
|
|
||||||
ac = path1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ssh = {
|
|
||||||
matchBlocks = {
|
|
||||||
"${loc1}" = {
|
|
||||||
hostname = "${loc1}.${domain2}";
|
|
||||||
user = user4;
|
|
||||||
};
|
|
||||||
"${loc1}.stg" = {
|
|
||||||
hostname = "${loc1}.${lifecycle1}.${domain2}";
|
|
||||||
user = user4;
|
|
||||||
};
|
|
||||||
"${loc1}.staging" = {
|
|
||||||
hostname = "${loc1}.${lifecycle1}.${domain2}";
|
|
||||||
user = user4;
|
|
||||||
};
|
|
||||||
"${loc1}.dev" = {
|
|
||||||
hostname = "${loc1}.${lifecycle2}.${domain2}";
|
|
||||||
user = user4;
|
|
||||||
};
|
|
||||||
"${loc2}" = {
|
|
||||||
hostname = "${loc2}.${domain1}";
|
|
||||||
user = user1Long;
|
|
||||||
};
|
|
||||||
"${loc2}.stg" = {
|
|
||||||
hostname = "${loc2}.${lifecycle1}.${domain2}";
|
|
||||||
user = user1Long;
|
|
||||||
};
|
|
||||||
"${loc2}.staging" = {
|
|
||||||
hostname = "${loc2}.${lifecycle1}.${domain2}";
|
|
||||||
user = user1Long;
|
|
||||||
};
|
|
||||||
"*.${domain1}" = {
|
|
||||||
user = user1Long;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
firefox = {
|
|
||||||
profiles =
|
|
||||||
let
|
|
||||||
isDefault = false;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
"${user1}" = lib.recursiveUpdate
|
|
||||||
{
|
|
||||||
inherit isDefault;
|
|
||||||
id = 1;
|
|
||||||
settings = {
|
|
||||||
"browser.startup.homepage" = "${site1}|${site2}";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
vars.firefox;
|
|
||||||
"${user2}" = lib.recursiveUpdate
|
|
||||||
{
|
|
||||||
inherit isDefault;
|
|
||||||
id = 2;
|
|
||||||
settings = {
|
|
||||||
"browser.startup.homepage" = "${site3}";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
vars.firefox;
|
|
||||||
"${user3}" = lib.recursiveUpdate
|
|
||||||
{
|
|
||||||
inherit isDefault;
|
|
||||||
id = 3;
|
|
||||||
}
|
|
||||||
vars.firefox;
|
|
||||||
work = lib.recursiveUpdate
|
|
||||||
{
|
|
||||||
inherit isDefault;
|
|
||||||
id = 4;
|
|
||||||
settings = {
|
|
||||||
"browser.startup.homepage" = "${site4}|${site5}|${site6}|${site7}";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
vars.firefox;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
chromium = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.chromium;
|
|
||||||
|
|
||||||
extensions = [
|
|
||||||
# 1password
|
|
||||||
"gejiddohjgogedgjnonbofjigllpkmbf"
|
|
||||||
# dark reader
|
|
||||||
"eimadpbcbfnmbkopoojfekhnkhdbieeh"
|
|
||||||
# ublock origin
|
|
||||||
"cjpalhdlnbpafiamejdnhcphjbkeiagm"
|
|
||||||
# i still dont care about cookies
|
|
||||||
"edibdbjcniadpccecjdfdjjppcpchdlm"
|
|
||||||
# browserpass
|
|
||||||
"naepdomgkenhinolocfifgehidddafch"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
kanshi = {
|
|
||||||
settings = [
|
|
||||||
{
|
|
||||||
# seminary room
|
|
||||||
output = {
|
|
||||||
criteria = "Applied Creative Technology Transmitter QUATTRO201811";
|
|
||||||
scale = 1.0;
|
|
||||||
mode = "1280x720";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
# work main screen
|
|
||||||
output = {
|
|
||||||
criteria = "HP Inc. HP 732pk CNC4080YL5";
|
|
||||||
scale = 1.0;
|
|
||||||
mode = "3840x2160";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
# work side screen
|
|
||||||
output = {
|
|
||||||
criteria = "Hewlett Packard HP Z24i CN44250RDT";
|
|
||||||
scale = 1.0;
|
|
||||||
mode = "1920x1200";
|
|
||||||
transform = "270";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
profile = {
|
|
||||||
name = "lidopen";
|
|
||||||
outputs = [
|
|
||||||
{
|
|
||||||
criteria = config.swarselsystems.sharescreen;
|
|
||||||
status = "enable";
|
|
||||||
scale = 1.5;
|
|
||||||
position = "1462,0";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "HP Inc. HP 732pk CNC4080YL5";
|
|
||||||
scale = 1.4;
|
|
||||||
mode = "3840x2160";
|
|
||||||
position = "-1280,0";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "Hewlett Packard HP Z24i CN44250RDT";
|
|
||||||
scale = 1.0;
|
|
||||||
mode = "1920x1200";
|
|
||||||
transform = "90";
|
|
||||||
position = "-2480,0";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
profile = {
|
|
||||||
name = "lidopen";
|
|
||||||
outputs = [
|
|
||||||
{
|
|
||||||
criteria = config.swarselsystems.sharescreen;
|
|
||||||
status = "enable";
|
|
||||||
scale = 1.7;
|
|
||||||
position = "2560,0";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "Applied Creative Technology Transmitter QUATTRO201811";
|
|
||||||
scale = 1.0;
|
|
||||||
mode = "1280x720";
|
|
||||||
position = "10000,10000";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
profile = {
|
|
||||||
name = "lidclosed";
|
|
||||||
outputs = [
|
|
||||||
{
|
|
||||||
criteria = config.swarselsystems.sharescreen;
|
|
||||||
status = "disable";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "HP Inc. HP 732pk CNC4080YL5";
|
|
||||||
scale = 1.4;
|
|
||||||
mode = "3840x2160";
|
|
||||||
position = "-1280,0";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "Hewlett Packard HP Z24i CN44250RDT";
|
|
||||||
scale = 1.0;
|
|
||||||
mode = "1920x1200";
|
|
||||||
transform = "270";
|
|
||||||
position = "-2480,0";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
profile = {
|
|
||||||
name = "lidclosed";
|
|
||||||
outputs = [
|
|
||||||
{
|
|
||||||
criteria = config.swarselsystems.sharescreen;
|
|
||||||
status = "disable";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "Applied Creative Technology Transmitter QUATTRO201811";
|
|
||||||
scale = 1.0;
|
|
||||||
mode = "1280x720";
|
|
||||||
position = "10000,10000";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg =
|
|
||||||
let
|
|
||||||
inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
configFile."pizauth.conf".text = ''
|
|
||||||
account "work" {
|
|
||||||
auth_uri = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize";
|
|
||||||
token_uri = "https://login.microsoftonline.com/common/oauth2/v2.0/token";
|
|
||||||
client_id = "08162f7c-0fd2-4200-a84a-f25a4db0b584";
|
|
||||||
client_secret = "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82";
|
|
||||||
scopes = [
|
|
||||||
"https://outlook.office365.com/IMAP.AccessAsUser.All",
|
|
||||||
"https://outlook.office365.com/SMTP.Send",
|
|
||||||
"offline_access"
|
|
||||||
];
|
|
||||||
// You don't have to specify login_hint, but it does make
|
|
||||||
// authentication a little easier.
|
|
||||||
login_hint = "${nixosConfig.repo.secrets.local.work.mailAddress}";
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
mimeApps = {
|
|
||||||
defaultApplications = {
|
|
||||||
"x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
desktopEntries =
|
|
||||||
let
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Application" ];
|
|
||||||
icon = "firefox";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
firefox_work = {
|
|
||||||
name = "Firefox (work)";
|
|
||||||
genericName = "Firefox work";
|
|
||||||
exec = "firefox -p work";
|
|
||||||
inherit terminal categories icon;
|
|
||||||
};
|
|
||||||
"firefox_${user1}" = {
|
|
||||||
name = "Firefox (${user1})";
|
|
||||||
genericName = "Firefox ${user1}";
|
|
||||||
exec = "firefox -p ${user1}";
|
|
||||||
inherit terminal categories icon;
|
|
||||||
};
|
|
||||||
|
|
||||||
"firefox_${user2}" = {
|
|
||||||
name = "Firefox (${user2})";
|
|
||||||
genericName = "Firefox ${user2}";
|
|
||||||
exec = "firefox -p ${user2}";
|
|
||||||
inherit terminal categories icon;
|
|
||||||
};
|
|
||||||
|
|
||||||
"firefox_${user3}" = {
|
|
||||||
name = "Firefox (${user3})";
|
|
||||||
genericName = "Firefox ${user3}";
|
|
||||||
exec = "firefox -p ${user3}";
|
|
||||||
inherit terminal categories icon;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
swarselsystems = {
|
|
||||||
startup = [
|
|
||||||
# { command = "nextcloud --background"; }
|
|
||||||
{ command = "vesktop --start-minimized --enable-speech-dispatcher --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime"; }
|
|
||||||
{ command = "element-desktop --hidden --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; }
|
|
||||||
{ command = "ANKI_WAYLAND=1 anki"; }
|
|
||||||
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; }
|
|
||||||
{ command = "nm-applet"; }
|
|
||||||
# { command = "feishin"; }
|
|
||||||
{ command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; }
|
|
||||||
{ command = "1password"; }
|
|
||||||
];
|
|
||||||
monitors = {
|
|
||||||
main = {
|
|
||||||
name = "BOE 0x0BC9 Unknown";
|
|
||||||
mode = "2560x1600"; # TEMPLATE
|
|
||||||
scale = "1";
|
|
||||||
position = "2560,0";
|
|
||||||
workspace = "15:L";
|
|
||||||
output = "eDP-2";
|
|
||||||
};
|
|
||||||
homedesktop = {
|
|
||||||
name = "Philips Consumer Electronics Company PHL BDM3270 AU11806002320";
|
|
||||||
mode = "2560x1440";
|
|
||||||
scale = "1";
|
|
||||||
position = "0,0";
|
|
||||||
workspace = "1:一";
|
|
||||||
output = "DP-11";
|
|
||||||
};
|
|
||||||
work_back_middle = {
|
|
||||||
name = "LG Electronics LG Ultra HD 0x000305A6";
|
|
||||||
mode = "2560x1440";
|
|
||||||
scale = "1";
|
|
||||||
position = "5120,0";
|
|
||||||
workspace = "1:一";
|
|
||||||
output = "DP-10";
|
|
||||||
};
|
|
||||||
work_front_left = {
|
|
||||||
name = "LG Electronics LG Ultra HD 0x0007AB45";
|
|
||||||
mode = "3840x2160";
|
|
||||||
scale = "1";
|
|
||||||
position = "5120,0";
|
|
||||||
workspace = "1:一";
|
|
||||||
output = "DP-7";
|
|
||||||
};
|
|
||||||
work_back_right = {
|
|
||||||
name = "HP Inc. HP Z32 CN41212T55";
|
|
||||||
mode = "3840x2160";
|
|
||||||
scale = "1";
|
|
||||||
position = "5120,0";
|
|
||||||
workspace = "1:一";
|
|
||||||
output = "DP-3";
|
|
||||||
};
|
|
||||||
work_middle_middle_main = {
|
|
||||||
name = "HP Inc. HP 732pk CNC4080YL5";
|
|
||||||
mode = "3840x2160";
|
|
||||||
scale = "1";
|
|
||||||
position = "-1280,0";
|
|
||||||
workspace = "11:M";
|
|
||||||
output = "DP-8";
|
|
||||||
};
|
|
||||||
work_middle_middle_side = {
|
|
||||||
name = "Hewlett Packard HP Z24i CN44250RDT";
|
|
||||||
mode = "1920x1200";
|
|
||||||
transform = "270";
|
|
||||||
scale = "1";
|
|
||||||
position = "-2480,0";
|
|
||||||
workspace = "12:S";
|
|
||||||
output = "DP-9";
|
|
||||||
};
|
|
||||||
work_seminary = {
|
|
||||||
name = "Applied Creative Technology Transmitter QUATTRO201811";
|
|
||||||
mode = "1280x720";
|
|
||||||
scale = "1";
|
|
||||||
position = "10000,10000"; # i.e. this screen is inaccessible by moving the mouse
|
|
||||||
workspace = "14:T";
|
|
||||||
output = "DP-4";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
inputs = {
|
|
||||||
"1133:45081:MX_Master_2S_Keyboard" = {
|
|
||||||
xkb_layout = "us";
|
|
||||||
xkb_variant = "altgr-intl";
|
|
||||||
};
|
|
||||||
# "2362:628:PIXA3854:00_093A:0274_Touchpad" = {
|
|
||||||
# dwt = "enabled";
|
|
||||||
# tap = "enabled";
|
|
||||||
# natural_scroll = "enabled";
|
|
||||||
# middle_emulation = "enabled";
|
|
||||||
# drag_lock = "disabled";
|
|
||||||
# };
|
|
||||||
"1133:50504:Logitech_USB_Receiver" = {
|
|
||||||
xkb_layout = "us";
|
|
||||||
xkb_variant = "altgr-intl";
|
|
||||||
};
|
|
||||||
"1133:45944:MX_KEYS_S" = {
|
|
||||||
xkb_layout = "us";
|
|
||||||
xkb_variant = "altgr-intl";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
keybindings = {
|
|
||||||
"Mod4+Ctrl+Shift+p" = "exec screenshare";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
targets.firefox.profileNames =
|
||||||
|
let
|
||||||
|
inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3;
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"${user1}"
|
||||||
|
"${user2}"
|
||||||
|
"${user3}"
|
||||||
|
"work"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs =
|
||||||
|
let
|
||||||
|
inherit (nixosConfig.repo.secrets.local.work) user1 user1Long user2 user2Long user3 user3Long user4 path1 loc1 loc2 site1 site2 site3 site4 site5 site6 site7 lifecycle1 lifecycle2 domain1 domain2 gitMail;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
git.userEmail = lib.mkForce gitMail;
|
||||||
|
|
||||||
|
zsh = {
|
||||||
|
shellAliases = {
|
||||||
|
dssh = "ssh -l ${user1Long}";
|
||||||
|
cssh = "ssh -l ${user2Long}";
|
||||||
|
wssh = "ssh -l ${user3Long}";
|
||||||
|
};
|
||||||
|
cdpath = [
|
||||||
|
"~/Documents/Work"
|
||||||
|
];
|
||||||
|
dirHashes = {
|
||||||
|
d = "$HOME/.dotfiles";
|
||||||
|
w = "$HOME/Documents/Work";
|
||||||
|
s = "$HOME/.dotfiles/secrets";
|
||||||
|
pr = "$HOME/Documents/Private";
|
||||||
|
ac = path1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ssh = {
|
||||||
|
matchBlocks = {
|
||||||
|
"${loc1}" = {
|
||||||
|
hostname = "${loc1}.${domain2}";
|
||||||
|
user = user4;
|
||||||
|
};
|
||||||
|
"${loc1}.stg" = {
|
||||||
|
hostname = "${loc1}.${lifecycle1}.${domain2}";
|
||||||
|
user = user4;
|
||||||
|
};
|
||||||
|
"${loc1}.staging" = {
|
||||||
|
hostname = "${loc1}.${lifecycle1}.${domain2}";
|
||||||
|
user = user4;
|
||||||
|
};
|
||||||
|
"${loc1}.dev" = {
|
||||||
|
hostname = "${loc1}.${lifecycle2}.${domain2}";
|
||||||
|
user = user4;
|
||||||
|
};
|
||||||
|
"${loc2}" = {
|
||||||
|
hostname = "${loc2}.${domain1}";
|
||||||
|
user = user1Long;
|
||||||
|
};
|
||||||
|
"${loc2}.stg" = {
|
||||||
|
hostname = "${loc2}.${lifecycle1}.${domain2}";
|
||||||
|
user = user1Long;
|
||||||
|
};
|
||||||
|
"${loc2}.staging" = {
|
||||||
|
hostname = "${loc2}.${lifecycle1}.${domain2}";
|
||||||
|
user = user1Long;
|
||||||
|
};
|
||||||
|
"*.${domain1}" = {
|
||||||
|
user = user1Long;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
firefox = {
|
||||||
|
profiles =
|
||||||
|
let
|
||||||
|
isDefault = false;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"${user1}" = lib.recursiveUpdate
|
||||||
|
{
|
||||||
|
inherit isDefault;
|
||||||
|
id = 1;
|
||||||
|
settings = {
|
||||||
|
"browser.startup.homepage" = "${site1}|${site2}";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
vars.firefox;
|
||||||
|
"${user2}" = lib.recursiveUpdate
|
||||||
|
{
|
||||||
|
inherit isDefault;
|
||||||
|
id = 2;
|
||||||
|
settings = {
|
||||||
|
"browser.startup.homepage" = "${site3}";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
vars.firefox;
|
||||||
|
"${user3}" = lib.recursiveUpdate
|
||||||
|
{
|
||||||
|
inherit isDefault;
|
||||||
|
id = 3;
|
||||||
|
}
|
||||||
|
vars.firefox;
|
||||||
|
work = lib.recursiveUpdate
|
||||||
|
{
|
||||||
|
inherit isDefault;
|
||||||
|
id = 4;
|
||||||
|
settings = {
|
||||||
|
"browser.startup.homepage" = "${site4}|${site5}|${site6}|${site7}";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
vars.firefox;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
chromium = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.chromium;
|
||||||
|
|
||||||
|
extensions = [
|
||||||
|
# 1password
|
||||||
|
"gejiddohjgogedgjnonbofjigllpkmbf"
|
||||||
|
# dark reader
|
||||||
|
"eimadpbcbfnmbkopoojfekhnkhdbieeh"
|
||||||
|
# ublock origin
|
||||||
|
"cjpalhdlnbpafiamejdnhcphjbkeiagm"
|
||||||
|
# i still dont care about cookies
|
||||||
|
"edibdbjcniadpccecjdfdjjppcpchdlm"
|
||||||
|
# browserpass
|
||||||
|
"naepdomgkenhinolocfifgehidddafch"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
kanshi = {
|
||||||
|
settings = [
|
||||||
|
{
|
||||||
|
# seminary room
|
||||||
|
output = {
|
||||||
|
criteria = "Applied Creative Technology Transmitter QUATTRO201811";
|
||||||
|
scale = 1.0;
|
||||||
|
mode = "1280x720";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
# work main screen
|
||||||
|
output = {
|
||||||
|
criteria = "HP Inc. HP 732pk CNC4080YL5";
|
||||||
|
scale = 1.0;
|
||||||
|
mode = "3840x2160";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
# work side screen
|
||||||
|
output = {
|
||||||
|
criteria = "Hewlett Packard HP Z24i CN44250RDT";
|
||||||
|
scale = 1.0;
|
||||||
|
mode = "1920x1200";
|
||||||
|
transform = "270";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
profile = {
|
||||||
|
name = "lidopen";
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = config.swarselsystems.sharescreen;
|
||||||
|
status = "enable";
|
||||||
|
scale = 1.5;
|
||||||
|
position = "1462,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "HP Inc. HP 732pk CNC4080YL5";
|
||||||
|
scale = 1.4;
|
||||||
|
mode = "3840x2160";
|
||||||
|
position = "-1280,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "Hewlett Packard HP Z24i CN44250RDT";
|
||||||
|
scale = 1.0;
|
||||||
|
mode = "1920x1200";
|
||||||
|
transform = "90";
|
||||||
|
position = "-2480,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
profile = {
|
||||||
|
name = "lidopen";
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = config.swarselsystems.sharescreen;
|
||||||
|
status = "enable";
|
||||||
|
scale = 1.7;
|
||||||
|
position = "2560,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "Applied Creative Technology Transmitter QUATTRO201811";
|
||||||
|
scale = 1.0;
|
||||||
|
mode = "1280x720";
|
||||||
|
position = "10000,10000";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
profile = {
|
||||||
|
name = "lidclosed";
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = config.swarselsystems.sharescreen;
|
||||||
|
status = "disable";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "HP Inc. HP 732pk CNC4080YL5";
|
||||||
|
scale = 1.4;
|
||||||
|
mode = "3840x2160";
|
||||||
|
position = "-1280,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "Hewlett Packard HP Z24i CN44250RDT";
|
||||||
|
scale = 1.0;
|
||||||
|
mode = "1920x1200";
|
||||||
|
transform = "270";
|
||||||
|
position = "-2480,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
profile = {
|
||||||
|
name = "lidclosed";
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = config.swarselsystems.sharescreen;
|
||||||
|
status = "disable";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "Applied Creative Technology Transmitter QUATTRO201811";
|
||||||
|
scale = 1.0;
|
||||||
|
mode = "1280x720";
|
||||||
|
position = "10000,10000";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg =
|
||||||
|
let
|
||||||
|
inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
mimeApps = {
|
||||||
|
defaultApplications = {
|
||||||
|
"x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
desktopEntries =
|
||||||
|
let
|
||||||
|
terminal = false;
|
||||||
|
categories = [ "Application" ];
|
||||||
|
icon = "firefox";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
firefox_work = {
|
||||||
|
name = "Firefox (work)";
|
||||||
|
genericName = "Firefox work";
|
||||||
|
exec = "firefox -p work";
|
||||||
|
inherit terminal categories icon;
|
||||||
|
};
|
||||||
|
"firefox_${user1}" = {
|
||||||
|
name = "Firefox (${user1})";
|
||||||
|
genericName = "Firefox ${user1}";
|
||||||
|
exec = "firefox -p ${user1}";
|
||||||
|
inherit terminal categories icon;
|
||||||
|
};
|
||||||
|
|
||||||
|
"firefox_${user2}" = {
|
||||||
|
name = "Firefox (${user2})";
|
||||||
|
genericName = "Firefox ${user2}";
|
||||||
|
exec = "firefox -p ${user2}";
|
||||||
|
inherit terminal categories icon;
|
||||||
|
};
|
||||||
|
|
||||||
|
"firefox_${user3}" = {
|
||||||
|
name = "Firefox (${user3})";
|
||||||
|
genericName = "Firefox ${user3}";
|
||||||
|
exec = "firefox -p ${user3}";
|
||||||
|
inherit terminal categories icon;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
swarselsystems = {
|
||||||
|
startup = [
|
||||||
|
# { command = "nextcloud --background"; }
|
||||||
|
{ command = "vesktop --start-minimized --enable-speech-dispatcher --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime"; }
|
||||||
|
{ command = "element-desktop --hidden --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; }
|
||||||
|
{ command = "ANKI_WAYLAND=1 anki"; }
|
||||||
|
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; }
|
||||||
|
{ command = "nm-applet"; }
|
||||||
|
# { command = "feishin"; }
|
||||||
|
{ command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; }
|
||||||
|
{ command = "1password"; }
|
||||||
|
];
|
||||||
|
monitors = {
|
||||||
|
main = {
|
||||||
|
name = "BOE 0x0BC9 Unknown";
|
||||||
|
mode = "2560x1600"; # TEMPLATE
|
||||||
|
scale = "1";
|
||||||
|
position = "2560,0";
|
||||||
|
workspace = "15:L";
|
||||||
|
output = "eDP-2";
|
||||||
|
};
|
||||||
|
homedesktop = {
|
||||||
|
name = "Philips Consumer Electronics Company PHL BDM3270 AU11806002320";
|
||||||
|
mode = "2560x1440";
|
||||||
|
scale = "1";
|
||||||
|
position = "0,0";
|
||||||
|
workspace = "1:一";
|
||||||
|
output = "DP-11";
|
||||||
|
};
|
||||||
|
work_back_middle = {
|
||||||
|
name = "LG Electronics LG Ultra HD 0x000305A6";
|
||||||
|
mode = "2560x1440";
|
||||||
|
scale = "1";
|
||||||
|
position = "5120,0";
|
||||||
|
workspace = "1:一";
|
||||||
|
output = "DP-10";
|
||||||
|
};
|
||||||
|
work_front_left = {
|
||||||
|
name = "LG Electronics LG Ultra HD 0x0007AB45";
|
||||||
|
mode = "3840x2160";
|
||||||
|
scale = "1";
|
||||||
|
position = "5120,0";
|
||||||
|
workspace = "1:一";
|
||||||
|
output = "DP-7";
|
||||||
|
};
|
||||||
|
work_back_right = {
|
||||||
|
name = "HP Inc. HP Z32 CN41212T55";
|
||||||
|
mode = "3840x2160";
|
||||||
|
scale = "1";
|
||||||
|
position = "5120,0";
|
||||||
|
workspace = "1:一";
|
||||||
|
output = "DP-3";
|
||||||
|
};
|
||||||
|
work_middle_middle_main = {
|
||||||
|
name = "HP Inc. HP 732pk CNC4080YL5";
|
||||||
|
mode = "3840x2160";
|
||||||
|
scale = "1";
|
||||||
|
position = "-1280,0";
|
||||||
|
workspace = "11:M";
|
||||||
|
output = "DP-8";
|
||||||
|
};
|
||||||
|
work_middle_middle_side = {
|
||||||
|
name = "Hewlett Packard HP Z24i CN44250RDT";
|
||||||
|
mode = "1920x1200";
|
||||||
|
transform = "270";
|
||||||
|
scale = "1";
|
||||||
|
position = "-2480,0";
|
||||||
|
workspace = "12:S";
|
||||||
|
output = "DP-9";
|
||||||
|
};
|
||||||
|
work_seminary = {
|
||||||
|
name = "Applied Creative Technology Transmitter QUATTRO201811";
|
||||||
|
mode = "1280x720";
|
||||||
|
scale = "1";
|
||||||
|
position = "10000,10000"; # i.e. this screen is inaccessible by moving the mouse
|
||||||
|
workspace = "14:T";
|
||||||
|
output = "DP-4";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
inputs = {
|
||||||
|
"1133:45081:MX_Master_2S_Keyboard" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
# "2362:628:PIXA3854:00_093A:0274_Touchpad" = {
|
||||||
|
# dwt = "enabled";
|
||||||
|
# tap = "enabled";
|
||||||
|
# natural_scroll = "enabled";
|
||||||
|
# middle_emulation = "enabled";
|
||||||
|
# drag_lock = "disabled";
|
||||||
|
# };
|
||||||
|
"1133:50504:Logitech_USB_Receiver" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
"1133:45944:MX_KEYS_S" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
keybindings = {
|
||||||
|
"Mod4+Ctrl+Shift+p" = "exec screenshare";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,7 @@
|
||||||
gst-plugins-ugly
|
gst-plugins-ugly
|
||||||
gst-libav
|
gst-libav
|
||||||
]);
|
]);
|
||||||
} // (lib.optionalAttrs (!config.swarselsystems.isPublic) {
|
};
|
||||||
GITHUB_NOTIFICATION_TOKEN_PATH = config.sops.secrets.github-notifications-token.path;
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
settings = {
|
settings = {
|
||||||
initial_session.command = "sway";
|
initial_session.command = "sway";
|
||||||
default_session.command = ''
|
default_session.command = ''
|
||||||
${pkgs.tuigreet}/bin/tuigreet \
|
${pkgs.greetd.tuigreet}/bin/tuigreet \
|
||||||
--time \
|
--time \
|
||||||
--asterisks \
|
--asterisks \
|
||||||
--user-menu \
|
--user-menu \
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@
|
||||||
pixman
|
pixman
|
||||||
speex
|
speex
|
||||||
stdenv.cc.cc
|
stdenv.cc.cc
|
||||||
stable.steam-fhsenv-without-steam
|
steam-fhsenv-without-steam
|
||||||
systemd
|
systemd
|
||||||
tbb
|
tbb
|
||||||
vulkan-loader
|
vulkan-loader
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,9 @@
|
||||||
options.swarselmodules.systemdTimeout = lib.mkEnableOption "systemd timeout config";
|
options.swarselmodules.systemdTimeout = lib.mkEnableOption "systemd timeout config";
|
||||||
config = lib.mkIf config.swarselmodules.systemdTimeout {
|
config = lib.mkIf config.swarselmodules.systemdTimeout {
|
||||||
# systemd
|
# systemd
|
||||||
systemd.settings.Manager = {
|
systemd.extraConfig = ''
|
||||||
DefaultTimeoutStartSec = "60s";
|
DefaultTimeoutStartSec=60s
|
||||||
DefaultTimeoutStopSec = "15s";
|
DefaultTimeoutStopSec=15s
|
||||||
};
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@ in
|
||||||
fever-pw = { path = "${homeDir}/.emacs.d/.fever"; owner = mainUser; };
|
fever-pw = { path = "${homeDir}/.emacs.d/.fever"; owner = mainUser; };
|
||||||
}) // (lib.optionalAttrs modules.zsh {
|
}) // (lib.optionalAttrs modules.zsh {
|
||||||
croc-password = { owner = mainUser; };
|
croc-password = { owner = mainUser; };
|
||||||
github-nixpkgs-review-token = { owner = mainUser; };
|
|
||||||
}) // (lib.optionalAttrs modules.emacs {
|
}) // (lib.optionalAttrs modules.emacs {
|
||||||
emacs-radicale-pw = { owner = mainUser; };
|
emacs-radicale-pw = { owner = mainUser; };
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
verbose = true;
|
verbose = true;
|
||||||
users.${config.swarselsystems.mainUser}.imports = [
|
users.${config.swarselsystems.mainUser}.imports = [
|
||||||
inputs.nix-index-database.homeModules.nix-index
|
inputs.nix-index-database.hmModules.nix-index
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
# inputs.stylix.homeModules.stylix
|
# inputs.stylix.homeModules.stylix
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -213,12 +213,13 @@ in
|
||||||
gh
|
gh
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
spice-vdagentd.enable = true;
|
spice-vdagentd.enable = true;
|
||||||
openssh = {
|
openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
syncthing = {
|
syncthing = {
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,6 @@ croc-password: ENC[AES256_GCM,data:uz7vI2rrPi1uTKEks4IPnWOt/R6ydlp/cQ==,iv:ZE01X
|
||||||
github-api-token: ENC[AES256_GCM,data:9AhHkmv4JUjmir77INYflGvjNWW/E17FmfoXs5IUnAlL7B/l8s7UlVob0Az4lOUnm3+R0RWJz0HKMvOdZVZjd3RakdoWqvBHFqOVNF1MNthg2izIiaERsnDXcxj54qJfpD505xFSBWmnTKWVwRZlW5WEsFPuvaVy,iv:wzXT+qsn4VG+R8tGU33EWoaMKs4c/BB5W7f2JvuX2eY=,tag:EEhbktsmWHBwh0iBtfaXlA==,type:str]
|
github-api-token: ENC[AES256_GCM,data:9AhHkmv4JUjmir77INYflGvjNWW/E17FmfoXs5IUnAlL7B/l8s7UlVob0Az4lOUnm3+R0RWJz0HKMvOdZVZjd3RakdoWqvBHFqOVNF1MNthg2izIiaERsnDXcxj54qJfpD505xFSBWmnTKWVwRZlW5WEsFPuvaVy,iv:wzXT+qsn4VG+R8tGU33EWoaMKs4c/BB5W7f2JvuX2eY=,tag:EEhbktsmWHBwh0iBtfaXlA==,type:str]
|
||||||
#ENC[AES256_GCM,data:vQF1i7rtfz/MBElKIN9j8N0=,iv:jf2SZpulx85yx2sHcnA3iwkiXJcHq4x1fdBUcSRuiK0=,tag:WpUNpH6/8jDvQA8zRGrdKg==,type:comment]
|
#ENC[AES256_GCM,data:vQF1i7rtfz/MBElKIN9j8N0=,iv:jf2SZpulx85yx2sHcnA3iwkiXJcHq4x1fdBUcSRuiK0=,tag:WpUNpH6/8jDvQA8zRGrdKg==,type:comment]
|
||||||
emacs-radicale-pw: ENC[AES256_GCM,data:BIORG0geX8s1WOA=,iv:SeoVn8xHlqQGxZzHrm5I5LITMoutRnz3OygswDc96ew=,tag:C3S4a8IEvCjHgAyRrCaaRw==,type:str]
|
emacs-radicale-pw: ENC[AES256_GCM,data:BIORG0geX8s1WOA=,iv:SeoVn8xHlqQGxZzHrm5I5LITMoutRnz3OygswDc96ew=,tag:C3S4a8IEvCjHgAyRrCaaRw==,type:str]
|
||||||
#ENC[AES256_GCM,data:qsBNKxd3Ng==,iv:1fNMDJt7vgKFSdghYBZsuDoZ1sWvzj1Zu8NmkjX6Zh8=,tag:0D7EsgN8B1z7/y4iZS/PtQ==,type:comment]
|
|
||||||
github-nixpkgs-review-token: ENC[AES256_GCM,data:/4ssZAEwEc9fZeR69GCvLMm4eRv4uabyDbGDGqfRUllO5DVSbZxO+A==,iv:mcARvAyPAB9pyCGFy2A/6qeZbSepHyWVNyusaQ5ze3I=,tag:o7AP6g8XHkPUaCnXK3CFig==,type:str]
|
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- recipient: age1h72072slm2pthn9m2qwjsyy2dsazc6hz97kpzh4gksvv0r2jqecqul8w63
|
- recipient: age1h72072slm2pthn9m2qwjsyy2dsazc6hz97kpzh4gksvv0r2jqecqul8w63
|
||||||
|
|
@ -89,8 +87,8 @@ sops:
|
||||||
SjV6L3crUkdLWTlsNFgyRHBla2FFam8KILYsNbLdCirfoC/Vex8yEYpS2G4O0EQP
|
SjV6L3crUkdLWTlsNFgyRHBla2FFam8KILYsNbLdCirfoC/Vex8yEYpS2G4O0EQP
|
||||||
wa1xzPk3Ue0/g67dv5UZFhUn0ZB2XGFC3kEPWpptTj0VL+9Z/r0zKA==
|
wa1xzPk3Ue0/g67dv5UZFhUn0ZB2XGFC3kEPWpptTj0VL+9Z/r0zKA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-08-05T09:33:50Z"
|
lastmodified: "2025-07-22T05:16:03Z"
|
||||||
mac: ENC[AES256_GCM,data:rMtrDQtYsDyNqqVYKY9vg7fDGJjO2zQ+boN3j0dmYKyr5zzbbJAeCxAs3H/rNkgc3ril7sCfyAvP8n9KtYO6xmQuvu3Qgj2oqBiyvolfmYCArT0l7n+ImnNUGnFOfeugYPEIxvhDcEDK6dKiBMlEuyhtJ0hbVfvE4POQZi/jvMM=,iv:imWVUiFAbgzhPN/RNecx2LzCC5MJFg5nAIvGDCN2k0I=,tag:z0P180ZKj5p/g/E38CUjAQ==,type:str]
|
mac: ENC[AES256_GCM,data:CoOd5ki9DoSBzwTeTw3JDGPReJD4th+v20AItwIZBLX15eLb1KXANdz5ekHeFZ6ntHq4ij0FUH63W6ojpBdvzJS7GgboQyAThkyJSmqtr7lN9rTa3XZSIKDTZCKm4wrG60q17vUIZXPLxM+NN1Fp2oEyCwt1s7SHM11xJ3JdyBk=,iv:ofyAhu4pjzNAJguU5Z5H9Capqcky/mTMXHEYS/qhvNs=,tag:L9tZRzd5VgbB7lyCkT6yTA==,type:str]
|
||||||
pgp:
|
pgp:
|
||||||
- created_at: "2025-07-10T23:51:26Z"
|
- created_at: "2025-07-10T23:51:26Z"
|
||||||
enc: |-
|
enc: |-
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue