mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
Compare commits
4 commits
cef4da535f
...
0287e9d582
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0287e9d582 | ||
|
|
dbe12c8d5e | ||
|
|
49c7cae7f9 | ||
|
|
cc824b648b |
17 changed files with 869 additions and 112 deletions
|
|
@ -410,6 +410,7 @@ A short overview over each input and what it does:
|
|||
nixpkgs-stable24_11.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
systems.url = "github:nix-systems/default";
|
||||
swarsel-modules.url = "github:Swarsel/swarsel-modules/main";
|
||||
swarsel-nix.url = "github:Swarsel/swarsel-nix/main";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
# url = "github:Swarsel/home-manager/module/pizauth";
|
||||
|
|
@ -1546,6 +1547,12 @@ On the structure of overlays: as you notice, all of the attributes within overla
|
|||
};
|
||||
};
|
||||
|
||||
swarsel-nix = _: prev: {
|
||||
swarsel-nix = import inputs.swarsel-nix {
|
||||
pkgs = prev;
|
||||
};
|
||||
};
|
||||
|
||||
zjstatus = _: prev: {
|
||||
zjstatus = inputs.zjstatus.packages.${prev.system}.default;
|
||||
};
|
||||
|
|
@ -1558,6 +1565,7 @@ On the structure of overlays: as you notice, all of the attributes within overla
|
|||
// (nixpkgs-kernel final prev)
|
||||
// (nixpkgs-stable24_05 final prev)
|
||||
// (nixpkgs-stable24_11 final prev)
|
||||
// (swarsel-nix final prev)
|
||||
// (zjstatus final prev)
|
||||
// (inputs.niri-flake.overlays.niri final prev)
|
||||
// (inputs.vbc-nix.overlays.default final prev)
|
||||
|
|
@ -4023,6 +4031,9 @@ in
|
|||
github-nixpkgs-review-token = { owner = mainUser; };
|
||||
}) // (lib.optionalAttrs modules.emacs {
|
||||
emacs-radicale-pw = { owner = mainUser; };
|
||||
}) // (lib.optionalAttrs modules.anki {
|
||||
anki-user = { owner = mainUser; };
|
||||
anki-pw = { owner = mainUser; };
|
||||
});
|
||||
templates = {
|
||||
authinfo = lib.mkIf modules.emacs {
|
||||
|
|
@ -5040,7 +5051,7 @@ Here I only enable =networkmanager= and a few default networks. The rest of the
|
|||
wifi = {
|
||||
# mac-address-blacklist = "";
|
||||
mode = "infrastructure";
|
||||
band = "a";
|
||||
# band = "a";
|
||||
ssid = wlan1;
|
||||
};
|
||||
wifi-security = {
|
||||
|
|
@ -5366,12 +5377,12 @@ Here I disable global completion to prevent redundant compinit calls and cache i
|
|||
id = "default";
|
||||
};
|
||||
"Obsidian" = {
|
||||
path = "${homeDir}/Nextcloud/Obsidian";
|
||||
path = "${homeDir}/Obsidian";
|
||||
inherit devices;
|
||||
id = "yjvni-9eaa7";
|
||||
};
|
||||
"Org" = {
|
||||
path = "${homeDir}/Nextcloud/Org";
|
||||
path = "${homeDir}/Org";
|
||||
inherit devices;
|
||||
id = "a7xnl-zjj3d";
|
||||
};
|
||||
|
|
@ -11154,7 +11165,7 @@ This holds packages that I can use as provided, or with small modifications (as
|
|||
# nomacs
|
||||
libreoffice-qt
|
||||
xournalpp
|
||||
obsidian
|
||||
# obsidian
|
||||
# spotify
|
||||
vesktop # discord client
|
||||
# nextcloud-client # enables a systemd service that I do not want
|
||||
|
|
@ -11195,7 +11206,7 @@ This holds packages that I can use as provided, or with small modifications (as
|
|||
|
||||
# specifically needed for anki
|
||||
# mpv
|
||||
anki-bin
|
||||
# anki-bin
|
||||
|
||||
# dirvish file previews
|
||||
fd
|
||||
|
|
@ -13409,7 +13420,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
***** obsidian service for tray
|
||||
|
||||
#+begin_src nix-ts :tangle modules/home/common/obsidian-tray.nix
|
||||
{ lib, config, pkgs, ... }:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselmodules.obsidian-tray = lib.mkEnableOption "enable obsidian applet for tray";
|
||||
config = lib.mkIf config.swarselmodules.obsidian-tray {
|
||||
|
|
@ -13430,7 +13441,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.obsidian}/bin/obsidian";
|
||||
ExecStart = "${lib.getExe config.programs.obsidian.package}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -13441,7 +13452,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
***** anki service for tray
|
||||
|
||||
#+begin_src nix-ts :tangle modules/home/common/anki-tray.nix
|
||||
{ lib, config, pkgs, ... }:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselmodules.anki-tray = lib.mkEnableOption "enable anki applet for tray";
|
||||
config = lib.mkIf config.swarselmodules.anki-tray {
|
||||
|
|
@ -13462,7 +13473,11 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.anki-bin}/bin/anki-bin";
|
||||
# ExecStart = "${lib.getExe config.programs.anki.package}";
|
||||
ExecStart = "/etc/profiles/per-user/swarsel/bin/anki";
|
||||
Environment = [
|
||||
"QT_QPA_PLATFORM=xcb"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -14403,6 +14418,213 @@ This service changes the screen hue at night. I am not sure if that really does
|
|||
}
|
||||
#+end_src
|
||||
|
||||
**** Obsidian
|
||||
|
||||
#+begin_src nix-ts :tangle modules/home/common/obsidian.nix
|
||||
{ lib, config, pkgs, nixosConfig ? config, ... }:
|
||||
let
|
||||
moduleName = "obsidian";
|
||||
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
||||
in
|
||||
{
|
||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||
programs.obsidian =
|
||||
let
|
||||
name = "Main";
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
package = pkgs.obsidian;
|
||||
defaultSettings = {
|
||||
app = {
|
||||
attachmentFolderPath = "attachments";
|
||||
alwaysUpdateLinks = true;
|
||||
spellcheck = false;
|
||||
inherit userIgnoreFilters;
|
||||
vimMode = false;
|
||||
newFileLocation = "current";
|
||||
};
|
||||
corePlugins = [
|
||||
"backlink"
|
||||
"bookmarks"
|
||||
"canvas"
|
||||
"command-palette"
|
||||
"daily-notes"
|
||||
"editor-status"
|
||||
"file-explorer"
|
||||
"file-recovery"
|
||||
"global-search"
|
||||
"graph"
|
||||
"note-composer"
|
||||
"outgoing-link"
|
||||
"outline"
|
||||
"page-preview"
|
||||
"properties"
|
||||
"slides"
|
||||
"switcher"
|
||||
"tag-pane"
|
||||
"templates"
|
||||
"word-count"
|
||||
];
|
||||
communityPlugins = with pkgs.swarsel-nix; [
|
||||
advanced-tables
|
||||
calendar
|
||||
file-hider
|
||||
linter
|
||||
omnisearch
|
||||
sort-and-permute-lines
|
||||
tag-wrangler
|
||||
tray
|
||||
];
|
||||
};
|
||||
vaults = {
|
||||
${name} = {
|
||||
target = "./Obsidian/${name}";
|
||||
settings = {
|
||||
appearance = {
|
||||
baseFontSize = lib.mkForce 19;
|
||||
};
|
||||
communityPlugins = with pkgs.swarsel-nix; [
|
||||
{
|
||||
pkg = advanced-tables;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = calendar;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = sort-and-permute-lines;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = tag-wrangler;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = tray;
|
||||
enable = true;
|
||||
settings = {
|
||||
launchOnStartup = false;
|
||||
hideOnLaunch = true;
|
||||
runInBackground = true;
|
||||
hideTaskbarIcon = false;
|
||||
createTrayIcon = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
pkg = file-hider;
|
||||
enable = true;
|
||||
settings =
|
||||
{
|
||||
hidden = true;
|
||||
hiddenList = [
|
||||
"attachments"
|
||||
"images"
|
||||
"ltximg"
|
||||
"logseq"
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
pkg = linter;
|
||||
enable = true;
|
||||
settings = {
|
||||
auto-correct-common-misspellings = {
|
||||
skip-words-with-multiple-capitals = true;
|
||||
};
|
||||
convert-bullet-list-markers = {
|
||||
enabled = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
pkg = omnisearch;
|
||||
enable = true;
|
||||
settings = {
|
||||
hideExcluded = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
#+end_src
|
||||
|
||||
**** Anki
|
||||
|
||||
|
||||
#+begin_src nix-ts :tangle modules/home/common/anki.nix
|
||||
{ lib, config, pkgs, globals, nixosConfig ? config, ... }:
|
||||
let
|
||||
moduleName = "anki";
|
||||
inherit (config.swarselsystems) isPublic isNixos;
|
||||
in
|
||||
{
|
||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
|
||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||
|
||||
sops = lib.mkIf (!isPublic && !isNixos) {
|
||||
secrets = {
|
||||
anki-user = { };
|
||||
anki-pw = { };
|
||||
};
|
||||
};
|
||||
|
||||
programs.anki = {
|
||||
enable = true;
|
||||
package = pkgs.anki;
|
||||
hideBottomBar = true;
|
||||
hideBottomBarMode = "always";
|
||||
hideTopBar = true;
|
||||
hideTopBarMode = "always";
|
||||
reduceMotion = true;
|
||||
spacebarRatesCard = true;
|
||||
# videoDriver = "opengl";
|
||||
sync = {
|
||||
autoSync = true;
|
||||
syncMedia = true;
|
||||
url = "https://${globals.services.ankisync.domain}";
|
||||
usernameFile = nixosConfig.sops.secrets.anki-user.path;
|
||||
# this is not the password but the syncKey
|
||||
# get it by logging in or out, saving preferences and then
|
||||
# show details on the "settings wont be saved" dialog
|
||||
keyFile = nixosConfig.sops.secrets.anki-pw.path;
|
||||
};
|
||||
addons =
|
||||
let
|
||||
minimize-to-tray = pkgs.anki-utils.buildAnkiAddon
|
||||
(finalAttrs: {
|
||||
pname = "minimize-to-tray";
|
||||
version = "2.0.1";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "simgunz";
|
||||
repo = "anki21-addons_minimize-to-tray";
|
||||
rev = finalAttrs.version;
|
||||
sparseCheckout = [ "src" ];
|
||||
hash = "sha256-xmvbIOfi9K0yEUtUNKtuvv2Vmqrkaa4Jie6J1s+FuqY=";
|
||||
};
|
||||
sourceRoot = "${finalAttrs.src.name}/src";
|
||||
});
|
||||
in
|
||||
[
|
||||
(minimize-to-tray.withConfig
|
||||
{
|
||||
config = {
|
||||
hide_on_startup = "true";
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
#+end_src
|
||||
|
||||
*** Server
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h:b1a00339-6e9b-4ae4-b5dc-6fd5669a2ddb
|
||||
|
|
@ -17871,9 +18093,11 @@ This holds modules that are to be used on most hosts. These are also the most im
|
|||
blueman-applet = lib.mkDefault true;
|
||||
nm-applet = lib.mkDefault true;
|
||||
obsidian-tray = lib.mkDefault true;
|
||||
obsidian = lib.mkDefault true;
|
||||
anki-tray = lib.mkDefault true;
|
||||
element-tray = lib.mkDefault true;
|
||||
vesktop-tray = lib.mkDefault true;
|
||||
anki = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -19704,13 +19928,13 @@ This part of the configuration mostly makes some aesthetic changes, enables neat
|
|||
(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"))
|
||||
(let ((org-archive-location "~/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))
|
||||
(string-prefix-p (expand-file-name "~/Org/") (file-truename buffer-file-name))
|
||||
(derived-mode-p 'org-mode))
|
||||
(save-buffer))))))
|
||||
|
||||
|
|
@ -19739,14 +19963,14 @@ This part of the configuration mostly makes some aesthetic changes, enables neat
|
|||
(setq org-image-actual-width nil)
|
||||
(setq org-format-latex-options '(:foreground "White" :background default :scale 2.0 :html-foreground "Black" :html-background "Transparent" :html-scale 1.0 :matchers ("begin" "$1" "$" "$$" "\\(" "\\[")))
|
||||
|
||||
(setq org-agenda-files '("/home/swarsel/Nextcloud/Org/Tasks.org"
|
||||
"/home/swarsel/Nextcloud/Org/Archive.org"
|
||||
(setq org-agenda-files '("/home/swarsel/Org/Tasks.org"
|
||||
"/home/swarsel/Org/Archive.org"
|
||||
))
|
||||
|
||||
(setq org-capture-templates
|
||||
'(("t" "Todo" entry (file+headline "~/Nextcloud/Org/Tasks.org" "Inbox")
|
||||
'(("t" "Todo" entry (file+headline "~/Org/Tasks.org" "Inbox")
|
||||
"* TODO %?\n %i\n %a")
|
||||
("j" "Journal" entry (file+datetree "~/Nextcloud/Org/Journal.org")
|
||||
("j" "Journal" entry (file+datetree "~/Org/Journal.org")
|
||||
"* %?\nEntered on %U\n %i\n %a")))
|
||||
|
||||
(setq org-refile-targets
|
||||
|
|
|
|||
|
|
@ -807,13 +807,13 @@ create a new one."
|
|||
(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"))
|
||||
(let ((org-archive-location "~/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))
|
||||
(string-prefix-p (expand-file-name "~/Org/") (file-truename buffer-file-name))
|
||||
(derived-mode-p 'org-mode))
|
||||
(save-buffer))))))
|
||||
|
||||
|
|
@ -842,14 +842,14 @@ create a new one."
|
|||
(setq org-image-actual-width nil)
|
||||
(setq org-format-latex-options '(:foreground "White" :background default :scale 2.0 :html-foreground "Black" :html-background "Transparent" :html-scale 1.0 :matchers ("begin" "$1" "$" "$$" "\\(" "\\[")))
|
||||
|
||||
(setq org-agenda-files '("/home/swarsel/Nextcloud/Org/Tasks.org"
|
||||
"/home/swarsel/Nextcloud/Org/Archive.org"
|
||||
(setq org-agenda-files '("/home/swarsel/Org/Tasks.org"
|
||||
"/home/swarsel/Org/Archive.org"
|
||||
))
|
||||
|
||||
(setq org-capture-templates
|
||||
'(("t" "Todo" entry (file+headline "~/Nextcloud/Org/Tasks.org" "Inbox")
|
||||
'(("t" "Todo" entry (file+headline "~/Org/Tasks.org" "Inbox")
|
||||
"* TODO %?\n %i\n %a")
|
||||
("j" "Journal" entry (file+datetree "~/Nextcloud/Org/Journal.org")
|
||||
("j" "Journal" entry (file+datetree "~/Org/Journal.org")
|
||||
"* %?\nEntered on %U\n %i\n %a")))
|
||||
|
||||
(setq org-refile-targets
|
||||
|
|
|
|||
96
flake.lock
generated
96
flake.lock
generated
|
|
@ -2182,6 +2182,24 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_35": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_17"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759362264,
|
||||
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_4": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
|
|
@ -2485,7 +2503,7 @@
|
|||
},
|
||||
"flake-utils_19": {
|
||||
"inputs": {
|
||||
"systems": "systems_45"
|
||||
"systems": "systems_46"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
|
|
@ -5848,6 +5866,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_17": {
|
||||
"locked": {
|
||||
"lastModified": 1754788789,
|
||||
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1719876945,
|
||||
|
|
@ -7231,6 +7264,22 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_58": {
|
||||
"locked": {
|
||||
"lastModified": 1759733170,
|
||||
"narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8913c168d1c56dc49a7718685968f38752171c3b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_59": {
|
||||
"locked": {
|
||||
"lastModified": 1754800730,
|
||||
"narHash": "sha256-HfVZCXic9XLBgybP0318ym3cDnGwBs/+H5MgxFVYF4I=",
|
||||
|
|
@ -8616,7 +8665,8 @@
|
|||
"stylix": "stylix",
|
||||
"swarsel": "swarsel",
|
||||
"swarsel-modules": "swarsel-modules_4",
|
||||
"systems": "systems_43",
|
||||
"swarsel-nix": "swarsel-nix",
|
||||
"systems": "systems_44",
|
||||
"vbc-nix": "vbc-nix_6",
|
||||
"zjstatus": "zjstatus_6"
|
||||
}
|
||||
|
|
@ -9539,6 +9589,27 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"swarsel-nix": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_35",
|
||||
"nixpkgs": "nixpkgs_58",
|
||||
"systems": "systems_43"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759958031,
|
||||
"narHash": "sha256-rfwQQ42aQrzXYEzjQrqFA1NKoxgo9bqg/RIc2wKBsEQ=",
|
||||
"owner": "Swarsel",
|
||||
"repo": "swarsel-nix",
|
||||
"rev": "ab8460e796c0694fe612a02817d8c290d0662188",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Swarsel",
|
||||
"ref": "main",
|
||||
"repo": "swarsel-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"swarsel_2": {
|
||||
"inputs": {
|
||||
"devshell": "devshell_5",
|
||||
|
|
@ -10303,6 +10374,21 @@
|
|||
}
|
||||
},
|
||||
"systems_44": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_45": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
|
|
@ -10317,7 +10403,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_45": {
|
||||
"systems_46": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
|
@ -11076,7 +11162,7 @@
|
|||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_44"
|
||||
"systems": "systems_45"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742477270,
|
||||
|
|
@ -11334,7 +11420,7 @@
|
|||
"inputs": {
|
||||
"crane": "crane_12",
|
||||
"flake-utils": "flake-utils_19",
|
||||
"nixpkgs": "nixpkgs_58",
|
||||
"nixpkgs": "nixpkgs_59",
|
||||
"rust-overlay": "rust-overlay_12"
|
||||
},
|
||||
"locked": {
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
nixpkgs-stable24_11.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
systems.url = "github:nix-systems/default";
|
||||
swarsel-modules.url = "github:Swarsel/swarsel-modules/main";
|
||||
swarsel-nix.url = "github:Swarsel/swarsel-nix/main";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
# url = "github:Swarsel/home-manager/module/pizauth";
|
||||
|
|
|
|||
329
index.html
329
index.html
|
|
@ -3,7 +3,7 @@
|
|||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-10-07 Di 21:23 -->
|
||||
<!-- 2025-10-09 Do 02:38 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>SwarselSystems: NixOS + Emacs Configurationo</title>
|
||||
|
|
@ -443,8 +443,8 @@
|
|||
<li><a href="#h:15b581ab-09fe-4f84-af26-2f1fbf7d726b">3.2.5.8. Hibernation</a></li>
|
||||
<li><a href="#h:86fb3236-9e18-43f0-8a08-3a2acd61cc98">3.2.5.9. BTRFS</a></li>
|
||||
<li><a href="#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf">3.2.5.10. work</a></li>
|
||||
<li><a href="#orgeec7429">3.2.5.11. microvm-host</a></li>
|
||||
<li><a href="#org6d940c0">3.2.5.12. microvm-guest</a></li>
|
||||
<li><a href="#org9c71125">3.2.5.11. microvm-host</a></li>
|
||||
<li><a href="#org67f229f">3.2.5.12. microvm-guest</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
@ -494,12 +494,12 @@
|
|||
<li><a href="#h:99d05729-df35-4958-9940-3319d6a41359">3.3.1.30.3. Mako</a></li>
|
||||
<li><a href="#h:388e71be-f00a-4d45-ade1-218ce942057d">3.3.1.30.4. SwayOSD</a></li>
|
||||
<li><a href="#h:1598c90b-f195-41a0-9132-94612edf3586">3.3.1.30.5. yubikey-touch-detector</a></li>
|
||||
<li><a href="#org7be9024">3.3.1.30.6. blueman-applet</a></li>
|
||||
<li><a href="#orgaf613e6">3.3.1.30.7. network-manager-applet</a></li>
|
||||
<li><a href="#orgcdbb2b4">3.3.1.30.8. obsidian service for tray</a></li>
|
||||
<li><a href="#org43bece4">3.3.1.30.9. anki service for tray</a></li>
|
||||
<li><a href="#org6a2c6a6">3.3.1.30.10. element service for tray</a></li>
|
||||
<li><a href="#org7f443cf">3.3.1.30.11. vesktop service for tray</a></li>
|
||||
<li><a href="#orgc5993f7">3.3.1.30.6. blueman-applet</a></li>
|
||||
<li><a href="#org723e643">3.3.1.30.7. network-manager-applet</a></li>
|
||||
<li><a href="#orgbaac666">3.3.1.30.8. obsidian service for tray</a></li>
|
||||
<li><a href="#orgde8469c">3.3.1.30.9. anki service for tray</a></li>
|
||||
<li><a href="#orgc08401b">3.3.1.30.10. element service for tray</a></li>
|
||||
<li><a href="#orgaefa149">3.3.1.30.11. vesktop service for tray</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#h:02df9dfc-d1af-4a37-a7a0-d8da0af96a20">3.3.1.31. Sway</a></li>
|
||||
|
|
@ -508,6 +508,8 @@
|
|||
<li><a href="#h:7d384e3b-1be7-4644-b304-ada4af0b692b">3.3.1.34. gpg-agent</a></li>
|
||||
<li><a href="#h:74e236be-a977-4d38-b8c5-0b9feef8af91">3.3.1.35. gammastep</a></li>
|
||||
<li><a href="#h:d1fb3075-ad52-4c1b-ba45-5ddbd0d3b708">3.3.1.36. Spicetify</a></li>
|
||||
<li><a href="#org7e8000d">3.3.1.37. Obsidian</a></li>
|
||||
<li><a href="#org9efd839">3.3.1.38. Anki</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#h:b1a00339-6e9b-4ae4-b5dc-6fd5669a2ddb">3.3.2. Server</a>
|
||||
|
|
@ -572,7 +574,7 @@
|
|||
<li><a href="#h:c3362d4e-d3a8-43e8-9ef7-272b6de0572e">3.5.31. swarsel-build</a></li>
|
||||
<li><a href="#h:95ebfd13-1f6b-427f-950d-e30c1ed6f9fa">3.5.32. swarsel-instantiate</a></li>
|
||||
<li><a href="#h:02842543-caca-4d4c-a4d2-7ac749b5c136">3.5.33. sshrm</a></li>
|
||||
<li><a href="#org3fec506">3.5.34. endme</a></li>
|
||||
<li><a href="#org7608fec">3.5.34. endme</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#h:f0f1c961-3e7a-47b8-99ab-1654bb45dffc">3.6. Profiles</a>
|
||||
|
|
@ -581,7 +583,7 @@
|
|||
<ul>
|
||||
<li><a href="#h:32d654de-8db2-403a-9a27-4c46d7b9172d">3.6.1.1. Personal</a></li>
|
||||
<li><a href="#h:b926f0c8-7968-4079-924c-a5d0ae4d3a45">3.6.1.2. Minimal</a></li>
|
||||
<li><a href="#orge31a252">3.6.1.3. Optionals</a></li>
|
||||
<li><a href="#org62904d9">3.6.1.3. Optionals</a></li>
|
||||
<li><a href="#h:b79fbb59-9cf2-48eb-b469-2589223dda95">3.6.1.4. Chaostheatre</a></li>
|
||||
<li><a href="#h:cb3631a8-9c1b-42f2-ab01-502c7b4c273d">3.6.1.5. Work</a></li>
|
||||
<li><a href="#h:87a83b10-3c2f-407c-89aa-922ad77748a4">3.6.1.6. Uni</a></li>
|
||||
|
|
@ -824,7 +826,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<p>
|
||||
<b>This file has 94167 words spanning 24116 lines and was last revised on 2025-10-07 21:23:03 +0200.</b>
|
||||
<b>This file has 94619 words spanning 24340 lines and was last revised on 2025-10-09 02:38:15 +0200.</b>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
@ -893,7 +895,7 @@ This section defines my Emacs configuration. For a while, I considered to use ry
|
|||
</p>
|
||||
|
||||
<p>
|
||||
My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2025-10-07 21:23:03 +0200)
|
||||
My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2025-10-09 02:38:15 +0200)
|
||||
</p></li>
|
||||
</ul>
|
||||
|
||||
|
|
@ -1338,6 +1340,7 @@ This provides devshell support for flake-parts</li>
|
|||
nixpkgs-stable24_11.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
systems.url = "github:nix-systems/default";
|
||||
swarsel-modules.url = "github:Swarsel/swarsel-modules/main";
|
||||
swarsel-nix.url = "github:Swarsel/swarsel-nix/main";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
# url = "github:Swarsel/home-manager/module/pizauth";
|
||||
|
|
@ -2590,6 +2593,12 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
swarsel-nix = _: prev: {
|
||||
swarsel-nix = import inputs.swarsel-nix {
|
||||
pkgs = prev;
|
||||
};
|
||||
};
|
||||
|
||||
zjstatus = _: prev: {
|
||||
zjstatus = inputs.zjstatus.packages.${prev.system}.default;
|
||||
};
|
||||
|
|
@ -2602,6 +2611,7 @@ in
|
|||
// (nixpkgs-kernel final prev)
|
||||
// (nixpkgs-stable24_05 final prev)
|
||||
// (nixpkgs-stable24_11 final prev)
|
||||
// (swarsel-nix final prev)
|
||||
// (zjstatus final prev)
|
||||
// (inputs.niri-flake.overlays.niri final prev)
|
||||
// (inputs.vbc-nix.overlays.default final prev)
|
||||
|
|
@ -5144,6 +5154,9 @@ in
|
|||
github-nixpkgs-review-token = { owner = mainUser; };
|
||||
}) // (lib.optionalAttrs modules.emacs {
|
||||
emacs-radicale-pw = { owner = mainUser; };
|
||||
}) // (lib.optionalAttrs modules.anki {
|
||||
anki-user = { owner = mainUser; };
|
||||
anki-pw = { owner = mainUser; };
|
||||
});
|
||||
templates = {
|
||||
authinfo = lib.mkIf modules.emacs {
|
||||
|
|
@ -6212,7 +6225,7 @@ in
|
|||
wifi = {
|
||||
# mac-address-blacklist = "";
|
||||
mode = "infrastructure";
|
||||
band = "a";
|
||||
# band = "a";
|
||||
ssid = wlan1;
|
||||
};
|
||||
wifi-security = {
|
||||
|
|
@ -6549,12 +6562,12 @@ in
|
|||
id = "default";
|
||||
};
|
||||
"Obsidian" = {
|
||||
path = "${homeDir}/Nextcloud/Obsidian";
|
||||
path = "${homeDir}/Obsidian";
|
||||
inherit devices;
|
||||
id = "yjvni-9eaa7";
|
||||
};
|
||||
"Org" = {
|
||||
path = "${homeDir}/Nextcloud/Org";
|
||||
path = "${homeDir}/Org";
|
||||
inherit devices;
|
||||
id = "a7xnl-zjj3d";
|
||||
};
|
||||
|
|
@ -12090,8 +12103,8 @@ in
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgeec7429" class="outline-5">
|
||||
<h5 id="orgeec7429"><span class="section-number-5">3.2.5.11.</span> microvm-host</h5>
|
||||
<div id="outline-container-org9c71125" class="outline-5">
|
||||
<h5 id="org9c71125"><span class="section-number-5">3.2.5.11.</span> microvm-host</h5>
|
||||
<div class="outline-text-5" id="text-3-2-5-11">
|
||||
<p>
|
||||
Some standard options that should be set for every microvm host.
|
||||
|
|
@ -12117,8 +12130,8 @@ Some standard options that should be set for every microvm host.
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6d940c0" class="outline-5">
|
||||
<h5 id="org6d940c0"><span class="section-number-5">3.2.5.12.</span> microvm-guest</h5>
|
||||
<div id="outline-container-org67f229f" class="outline-5">
|
||||
<h5 id="org67f229f"><span class="section-number-5">3.2.5.12.</span> microvm-guest</h5>
|
||||
<div class="outline-text-5" id="text-3-2-5-12">
|
||||
<p>
|
||||
Some standard options that should be set vor every microvm guest. We set the default
|
||||
|
|
@ -12484,7 +12497,7 @@ This holds packages that I can use as provided, or with small modifications (as
|
|||
# nomacs
|
||||
libreoffice-qt
|
||||
xournalpp
|
||||
obsidian
|
||||
# obsidian
|
||||
# spotify
|
||||
vesktop # discord client
|
||||
# nextcloud-client # enables a systemd service that I do not want
|
||||
|
|
@ -12525,7 +12538,7 @@ This holds packages that I can use as provided, or with small modifications (as
|
|||
|
||||
# specifically needed for anki
|
||||
# mpv
|
||||
anki-bin
|
||||
# anki-bin
|
||||
|
||||
# dirvish file previews
|
||||
fd
|
||||
|
|
@ -14815,8 +14828,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7be9024" class="outline-6">
|
||||
<h6 id="org7be9024"><span class="section-number-6">3.3.1.30.6.</span> blueman-applet</h6>
|
||||
<div id="outline-container-orgc5993f7" class="outline-6">
|
||||
<h6 id="orgc5993f7"><span class="section-number-6">3.3.1.30.6.</span> blueman-applet</h6>
|
||||
<div class="outline-text-6" id="text-3-3-1-30-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||
|
|
@ -14830,8 +14843,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgaf613e6" class="outline-6">
|
||||
<h6 id="orgaf613e6"><span class="section-number-6">3.3.1.30.7.</span> network-manager-applet</h6>
|
||||
<div id="outline-container-org723e643" class="outline-6">
|
||||
<h6 id="org723e643"><span class="section-number-6">3.3.1.30.7.</span> network-manager-applet</h6>
|
||||
<div class="outline-text-6" id="text-3-3-1-30-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||
|
|
@ -14846,11 +14859,11 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgcdbb2b4" class="outline-6">
|
||||
<h6 id="orgcdbb2b4"><span class="section-number-6">3.3.1.30.8.</span> obsidian service for tray</h6>
|
||||
<div id="outline-container-orgbaac666" class="outline-6">
|
||||
<h6 id="orgbaac666"><span class="section-number-6">3.3.1.30.8.</span> obsidian service for tray</h6>
|
||||
<div class="outline-text-6" id="text-3-3-1-30-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||
{
|
||||
options.swarselmodules.obsidian-tray = lib.mkEnableOption "enable obsidian applet for tray";
|
||||
config = lib.mkIf config.swarselmodules.obsidian-tray {
|
||||
|
|
@ -14871,7 +14884,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.obsidian}/bin/obsidian";
|
||||
ExecStart = "${lib.getExe config.programs.obsidian.package}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -14881,11 +14894,11 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org43bece4" class="outline-6">
|
||||
<h6 id="org43bece4"><span class="section-number-6">3.3.1.30.9.</span> anki service for tray</h6>
|
||||
<div id="outline-container-orgde8469c" class="outline-6">
|
||||
<h6 id="orgde8469c"><span class="section-number-6">3.3.1.30.9.</span> anki service for tray</h6>
|
||||
<div class="outline-text-6" id="text-3-3-1-30-9">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||
{
|
||||
options.swarselmodules.anki-tray = lib.mkEnableOption "enable anki applet for tray";
|
||||
config = lib.mkIf config.swarselmodules.anki-tray {
|
||||
|
|
@ -14906,7 +14919,11 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.anki-bin}/bin/anki-bin";
|
||||
# ExecStart = "${lib.getExe config.programs.anki.package}";
|
||||
ExecStart = "/etc/profiles/per-user/swarsel/bin/anki";
|
||||
Environment = [
|
||||
"QT_QPA_PLATFORM=xcb"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -14916,8 +14933,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6a2c6a6" class="outline-6">
|
||||
<h6 id="org6a2c6a6"><span class="section-number-6">3.3.1.30.10.</span> element service for tray</h6>
|
||||
<div id="outline-container-orgc08401b" class="outline-6">
|
||||
<h6 id="orgc08401b"><span class="section-number-6">3.3.1.30.10.</span> element service for tray</h6>
|
||||
<div class="outline-text-6" id="text-3-3-1-30-10">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
||||
|
|
@ -14951,8 +14968,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7f443cf" class="outline-6">
|
||||
<h6 id="org7f443cf"><span class="section-number-6">3.3.1.30.11.</span> vesktop service for tray</h6>
|
||||
<div id="outline-container-orgaefa149" class="outline-6">
|
||||
<h6 id="orgaefa149"><span class="section-number-6">3.3.1.30.11.</span> vesktop service for tray</h6>
|
||||
<div class="outline-text-6" id="text-3-3-1-30-11">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
||||
|
|
@ -15862,6 +15879,218 @@ in
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7e8000d" class="outline-5">
|
||||
<h5 id="org7e8000d"><span class="section-number-5">3.3.1.37.</span> Obsidian</h5>
|
||||
<div class="outline-text-5" id="text-3-3-1-37">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix-ts">{ lib, config, pkgs, nixosConfig ? config, ... }:
|
||||
let
|
||||
moduleName = "obsidian";
|
||||
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
||||
in
|
||||
{
|
||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||
programs.obsidian =
|
||||
let
|
||||
name = "Main";
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
package = pkgs.obsidian;
|
||||
defaultSettings = {
|
||||
app = {
|
||||
attachmentFolderPath = "attachments";
|
||||
alwaysUpdateLinks = true;
|
||||
spellcheck = false;
|
||||
inherit userIgnoreFilters;
|
||||
vimMode = false;
|
||||
newFileLocation = "current";
|
||||
};
|
||||
corePlugins = [
|
||||
"backlink"
|
||||
"bookmarks"
|
||||
"canvas"
|
||||
"command-palette"
|
||||
"daily-notes"
|
||||
"editor-status"
|
||||
"file-explorer"
|
||||
"file-recovery"
|
||||
"global-search"
|
||||
"graph"
|
||||
"note-composer"
|
||||
"outgoing-link"
|
||||
"outline"
|
||||
"page-preview"
|
||||
"properties"
|
||||
"slides"
|
||||
"switcher"
|
||||
"tag-pane"
|
||||
"templates"
|
||||
"word-count"
|
||||
];
|
||||
communityPlugins = with pkgs.swarsel-nix; [
|
||||
advanced-tables
|
||||
calendar
|
||||
file-hider
|
||||
linter
|
||||
omnisearch
|
||||
sort-and-permute-lines
|
||||
tag-wrangler
|
||||
tray
|
||||
];
|
||||
};
|
||||
vaults = {
|
||||
${name} = {
|
||||
target = "./Obsidian/${name}";
|
||||
settings = {
|
||||
appearance = {
|
||||
baseFontSize = lib.mkForce 19;
|
||||
};
|
||||
communityPlugins = with pkgs.swarsel-nix; [
|
||||
{
|
||||
pkg = advanced-tables;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = calendar;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = sort-and-permute-lines;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = tag-wrangler;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = tray;
|
||||
enable = true;
|
||||
settings = {
|
||||
launchOnStartup = false;
|
||||
hideOnLaunch = true;
|
||||
runInBackground = true;
|
||||
hideTaskbarIcon = false;
|
||||
createTrayIcon = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
pkg = file-hider;
|
||||
enable = true;
|
||||
settings =
|
||||
{
|
||||
hidden = true;
|
||||
hiddenList = [
|
||||
"attachments"
|
||||
"images"
|
||||
"ltximg"
|
||||
"logseq"
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
pkg = linter;
|
||||
enable = true;
|
||||
settings = {
|
||||
auto-correct-common-misspellings = {
|
||||
skip-words-with-multiple-capitals = true;
|
||||
};
|
||||
convert-bullet-list-markers = {
|
||||
enabled = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
pkg = omnisearch;
|
||||
enable = true;
|
||||
settings = {
|
||||
hideExcluded = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org9efd839" class="outline-5">
|
||||
<h5 id="org9efd839"><span class="section-number-5">3.3.1.38.</span> Anki</h5>
|
||||
<div class="outline-text-5" id="text-3-3-1-38">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix-ts">{ inputs, lib, config, pkgs, globals, nixosConfig ? config, ... }:
|
||||
let
|
||||
moduleName = "anki";
|
||||
inherit (config.swarselsystems) isPublic isNixos;
|
||||
in
|
||||
{
|
||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
|
||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||
|
||||
sops = lib.mkIf (!isPublic && !isNixos) {
|
||||
secrets = {
|
||||
anki-user = { };
|
||||
anki-pw = { };
|
||||
};
|
||||
};
|
||||
|
||||
programs.anki = {
|
||||
enable = true;
|
||||
package = pkgs.anki;
|
||||
hideBottomBar = true;
|
||||
hideBottomBarMode = "always";
|
||||
hideTopBar = true;
|
||||
hideTopBarMode = "always";
|
||||
reduceMotion = true;
|
||||
spacebarRatesCard = true;
|
||||
# videoDriver = "opengl";
|
||||
sync = {
|
||||
autoSync = true;
|
||||
syncMedia = true;
|
||||
url = "https://${globals.services.ankisync.domain}";
|
||||
usernameFile = nixosConfig.sops.secrets.anki-user.path;
|
||||
# this is not the password but the syncKey
|
||||
# get it by logging in or out, saving preferences and then
|
||||
# show details on the "settings wont be saved" dialog
|
||||
keyFile = nixosConfig.sops.secrets.anki-pw.path;
|
||||
};
|
||||
addons =
|
||||
let
|
||||
minimize-to-tray = pkgs.anki-utils.buildAnkiAddon
|
||||
(finalAttrs: {
|
||||
pname = "minimize-to-tray";
|
||||
version = "2.0.1";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "simgunz";
|
||||
repo = "anki21-addons_minimize-to-tray";
|
||||
rev = finalAttrs.version;
|
||||
sparseCheckout = [ "src" ];
|
||||
hash = "sha256-xmvbIOfi9K0yEUtUNKtuvv2Vmqrkaa4Jie6J1s+FuqY=";
|
||||
};
|
||||
sourceRoot = "${finalAttrs.src.name}/src";
|
||||
});
|
||||
in
|
||||
[
|
||||
(minimize-to-tray.withConfig
|
||||
{
|
||||
config = {
|
||||
hide_on_startup = "true";
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-h:b1a00339-6e9b-4ae4-b5dc-6fd5669a2ddb" class="outline-4">
|
||||
<h4 id="h:b1a00339-6e9b-4ae4-b5dc-6fd5669a2ddb"><span class="section-number-4">3.3.2.</span> Server</h4>
|
||||
|
|
@ -18999,8 +19228,8 @@ writeShellApplication {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3fec506" class="outline-4">
|
||||
<h4 id="org3fec506"><span class="section-number-4">3.5.34.</span> endme</h4>
|
||||
<div id="outline-container-org7608fec" class="outline-4">
|
||||
<h4 id="org7608fec"><span class="section-number-4">3.5.34.</span> endme</h4>
|
||||
<div class="outline-text-4" id="text-3-5-34">
|
||||
<p>
|
||||
Sometimes my DE crashes after putting it to suspend - to be precise, it happens when I put it into suspend when I have multiple screens plugged in. I have never taken the time to debug the issue, but instead just switch to a different TTY and then use this script to kill the hanging session.
|
||||
|
|
@ -19160,8 +19389,8 @@ in
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge31a252" class="outline-5">
|
||||
<h5 id="orge31a252"><span class="section-number-5">3.6.1.3.</span> Optionals</h5>
|
||||
<div id="outline-container-org62904d9" class="outline-5">
|
||||
<h5 id="org62904d9"><span class="section-number-5">3.6.1.3.</span> Optionals</h5>
|
||||
<div class="outline-text-5" id="text-3-6-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||
|
|
@ -19433,9 +19662,11 @@ in
|
|||
blueman-applet = lib.mkDefault true;
|
||||
nm-applet = lib.mkDefault true;
|
||||
obsidian-tray = lib.mkDefault true;
|
||||
obsidian = lib.mkDefault true;
|
||||
anki-tray = lib.mkDefault true;
|
||||
element-tray = lib.mkDefault true;
|
||||
vesktop-tray = lib.mkDefault true;
|
||||
anki = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -21487,13 +21718,13 @@ This part of the configuration mostly makes some aesthetic changes, enables neat
|
|||
(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"))
|
||||
(let ((org-archive-location "~/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))
|
||||
(string-prefix-p (expand-file-name "~/Org/") (file-truename buffer-file-name))
|
||||
(derived-mode-p 'org-mode))
|
||||
(save-buffer))))))
|
||||
|
||||
|
|
@ -21522,14 +21753,14 @@ This part of the configuration mostly makes some aesthetic changes, enables neat
|
|||
(setq org-image-actual-width nil)
|
||||
(setq org-format-latex-options '(:foreground "White" :background default :scale 2.0 :html-foreground "Black" :html-background "Transparent" :html-scale 1.0 :matchers ("begin" "$1" "$" "$$" "\\(" "\\[")))
|
||||
|
||||
(setq org-agenda-files '("/home/swarsel/Nextcloud/Org/Tasks.org"
|
||||
"/home/swarsel/Nextcloud/Org/Archive.org"
|
||||
(setq org-agenda-files '("/home/swarsel/Org/Tasks.org"
|
||||
"/home/swarsel/Org/Archive.org"
|
||||
))
|
||||
|
||||
(setq org-capture-templates
|
||||
'(("t" "Todo" entry (file+headline "~/Nextcloud/Org/Tasks.org" "Inbox")
|
||||
'(("t" "Todo" entry (file+headline "~/Org/Tasks.org" "Inbox")
|
||||
"* TODO %?\n %i\n %a")
|
||||
("j" "Journal" entry (file+datetree "~/Nextcloud/Org/Journal.org")
|
||||
("j" "Journal" entry (file+datetree "~/Org/Journal.org")
|
||||
"* %?\nEntered on %U\n %i\n %a")))
|
||||
|
||||
(setq org-refile-targets
|
||||
|
|
@ -26218,7 +26449,7 @@ similarly, there exists an version that starts from the right.
|
|||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Leon Schwarzäugl</p>
|
||||
<p class="date">Created: 2025-10-07 Di 21:23</p>
|
||||
<p class="date">Created: 2025-10-09 Do 02:38</p>
|
||||
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselmodules.anki-tray = lib.mkEnableOption "enable anki applet for tray";
|
||||
config = lib.mkIf config.swarselmodules.anki-tray {
|
||||
|
|
@ -19,7 +19,11 @@
|
|||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.anki-bin}/bin/anki-bin";
|
||||
# ExecStart = "${lib.getExe config.programs.anki.package}";
|
||||
ExecStart = "/etc/profiles/per-user/swarsel/bin/anki";
|
||||
Environment = [
|
||||
"QT_QPA_PLATFORM=xcb"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
64
modules/home/common/anki.nix
Normal file
64
modules/home/common/anki.nix
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{ lib, config, pkgs, globals, nixosConfig ? config, ... }:
|
||||
let
|
||||
moduleName = "anki";
|
||||
inherit (config.swarselsystems) isPublic isNixos;
|
||||
in
|
||||
{
|
||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
|
||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||
|
||||
sops = lib.mkIf (!isPublic && !isNixos) {
|
||||
secrets = {
|
||||
anki-user = { };
|
||||
anki-pw = { };
|
||||
};
|
||||
};
|
||||
|
||||
programs.anki = {
|
||||
enable = true;
|
||||
package = pkgs.anki;
|
||||
hideBottomBar = true;
|
||||
hideBottomBarMode = "always";
|
||||
hideTopBar = true;
|
||||
hideTopBarMode = "always";
|
||||
reduceMotion = true;
|
||||
spacebarRatesCard = true;
|
||||
# videoDriver = "opengl";
|
||||
sync = {
|
||||
autoSync = true;
|
||||
syncMedia = true;
|
||||
url = "https://${globals.services.ankisync.domain}";
|
||||
usernameFile = nixosConfig.sops.secrets.anki-user.path;
|
||||
# this is not the password but the syncKey
|
||||
# get it by logging in or out, saving preferences and then
|
||||
# show details on the "settings wont be saved" dialog
|
||||
keyFile = nixosConfig.sops.secrets.anki-pw.path;
|
||||
};
|
||||
addons =
|
||||
let
|
||||
minimize-to-tray = pkgs.anki-utils.buildAnkiAddon
|
||||
(finalAttrs: {
|
||||
pname = "minimize-to-tray";
|
||||
version = "2.0.1";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "simgunz";
|
||||
repo = "anki21-addons_minimize-to-tray";
|
||||
rev = finalAttrs.version;
|
||||
sparseCheckout = [ "src" ];
|
||||
hash = "sha256-xmvbIOfi9K0yEUtUNKtuvv2Vmqrkaa4Jie6J1s+FuqY=";
|
||||
};
|
||||
sourceRoot = "${finalAttrs.src.name}/src";
|
||||
});
|
||||
in
|
||||
[
|
||||
(minimize-to-tray.withConfig
|
||||
{
|
||||
config = {
|
||||
hide_on_startup = "true";
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselmodules.obsidian-tray = lib.mkEnableOption "enable obsidian applet for tray";
|
||||
config = lib.mkIf config.swarselmodules.obsidian-tray {
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.obsidian}/bin/obsidian";
|
||||
ExecStart = "${lib.getExe config.programs.obsidian.package}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
132
modules/home/common/obsidian.nix
Normal file
132
modules/home/common/obsidian.nix
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
{ lib, config, pkgs, nixosConfig ? config, ... }:
|
||||
let
|
||||
moduleName = "obsidian";
|
||||
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
||||
in
|
||||
{
|
||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||
programs.obsidian =
|
||||
let
|
||||
name = "Main";
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
package = pkgs.obsidian;
|
||||
defaultSettings = {
|
||||
app = {
|
||||
attachmentFolderPath = "attachments";
|
||||
alwaysUpdateLinks = true;
|
||||
spellcheck = false;
|
||||
inherit userIgnoreFilters;
|
||||
vimMode = false;
|
||||
newFileLocation = "current";
|
||||
};
|
||||
corePlugins = [
|
||||
"backlink"
|
||||
"bookmarks"
|
||||
"canvas"
|
||||
"command-palette"
|
||||
"daily-notes"
|
||||
"editor-status"
|
||||
"file-explorer"
|
||||
"file-recovery"
|
||||
"global-search"
|
||||
"graph"
|
||||
"note-composer"
|
||||
"outgoing-link"
|
||||
"outline"
|
||||
"page-preview"
|
||||
"properties"
|
||||
"slides"
|
||||
"switcher"
|
||||
"tag-pane"
|
||||
"templates"
|
||||
"word-count"
|
||||
];
|
||||
communityPlugins = with pkgs.swarsel-nix; [
|
||||
advanced-tables
|
||||
calendar
|
||||
file-hider
|
||||
linter
|
||||
omnisearch
|
||||
sort-and-permute-lines
|
||||
tag-wrangler
|
||||
tray
|
||||
];
|
||||
};
|
||||
vaults = {
|
||||
${name} = {
|
||||
target = "./Obsidian/${name}";
|
||||
settings = {
|
||||
appearance = {
|
||||
baseFontSize = lib.mkForce 19;
|
||||
};
|
||||
communityPlugins = with pkgs.swarsel-nix; [
|
||||
{
|
||||
pkg = advanced-tables;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = calendar;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = sort-and-permute-lines;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = tag-wrangler;
|
||||
enable = true;
|
||||
}
|
||||
{
|
||||
pkg = tray;
|
||||
enable = true;
|
||||
settings = {
|
||||
launchOnStartup = false;
|
||||
hideOnLaunch = true;
|
||||
runInBackground = true;
|
||||
hideTaskbarIcon = false;
|
||||
createTrayIcon = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
pkg = file-hider;
|
||||
enable = true;
|
||||
settings =
|
||||
{
|
||||
hidden = true;
|
||||
hiddenList = [
|
||||
"attachments"
|
||||
"images"
|
||||
"ltximg"
|
||||
"logseq"
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
pkg = linter;
|
||||
enable = true;
|
||||
settings = {
|
||||
auto-correct-common-misspellings = {
|
||||
skip-words-with-multiple-capitals = true;
|
||||
};
|
||||
convert-bullet-list-markers = {
|
||||
enabled = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
pkg = omnisearch;
|
||||
enable = true;
|
||||
settings = {
|
||||
hideExcluded = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
# nomacs
|
||||
libreoffice-qt
|
||||
xournalpp
|
||||
obsidian
|
||||
# obsidian
|
||||
# spotify
|
||||
vesktop # discord client
|
||||
# nextcloud-client # enables a systemd service that I do not want
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
|
||||
# specifically needed for anki
|
||||
# mpv
|
||||
anki-bin
|
||||
# anki-bin
|
||||
|
||||
# dirvish file previews
|
||||
fd
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ in
|
|||
wifi = {
|
||||
# mac-address-blacklist = "";
|
||||
mode = "infrastructure";
|
||||
band = "a";
|
||||
# band = "a";
|
||||
ssid = wlan1;
|
||||
};
|
||||
wifi-security = {
|
||||
|
|
|
|||
|
|
@ -27,12 +27,12 @@ in
|
|||
id = "default";
|
||||
};
|
||||
"Obsidian" = {
|
||||
path = "${homeDir}/Nextcloud/Obsidian";
|
||||
path = "${homeDir}/Obsidian";
|
||||
inherit devices;
|
||||
id = "yjvni-9eaa7";
|
||||
};
|
||||
"Org" = {
|
||||
path = "${homeDir}/Nextcloud/Org";
|
||||
path = "${homeDir}/Org";
|
||||
inherit devices;
|
||||
id = "a7xnl-zjj3d";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -22,6 +22,9 @@ in
|
|||
github-nixpkgs-review-token = { owner = mainUser; };
|
||||
}) // (lib.optionalAttrs modules.emacs {
|
||||
emacs-radicale-pw = { owner = mainUser; };
|
||||
}) // (lib.optionalAttrs modules.anki {
|
||||
anki-user = { owner = mainUser; };
|
||||
anki-pw = { owner = mainUser; };
|
||||
});
|
||||
templates = {
|
||||
authinfo = lib.mkIf modules.emacs {
|
||||
|
|
|
|||
|
|
@ -77,6 +77,12 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
swarsel-nix = _: prev: {
|
||||
swarsel-nix = import inputs.swarsel-nix {
|
||||
pkgs = prev;
|
||||
};
|
||||
};
|
||||
|
||||
zjstatus = _: prev: {
|
||||
zjstatus = inputs.zjstatus.packages.${prev.system}.default;
|
||||
};
|
||||
|
|
@ -89,6 +95,7 @@ in
|
|||
// (nixpkgs-kernel final prev)
|
||||
// (nixpkgs-stable24_05 final prev)
|
||||
// (nixpkgs-stable24_11 final prev)
|
||||
// (swarsel-nix final prev)
|
||||
// (zjstatus final prev)
|
||||
// (inputs.niri-flake.overlays.niri final prev)
|
||||
// (inputs.vbc-nix.overlays.default final prev)
|
||||
|
|
|
|||
|
|
@ -45,9 +45,11 @@
|
|||
blueman-applet = lib.mkDefault true;
|
||||
nm-applet = lib.mkDefault true;
|
||||
obsidian-tray = lib.mkDefault true;
|
||||
obsidian = lib.mkDefault true;
|
||||
anki-tray = lib.mkDefault true;
|
||||
element-tray = lib.mkDefault true;
|
||||
vesktop-tray = lib.mkDefault true;
|
||||
anki = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ github-api-token: ENC[AES256_GCM,data:9AhHkmv4JUjmir77INYflGvjNWW/E17FmfoXs5IUnA
|
|||
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]
|
||||
#ENC[AES256_GCM,data:PI5MX6PgK1y0lqyoYA0=,iv:25UAvFaANHFD04GRafGlCzOc5h+15YPtSES2z2tmpXw=,tag:+XLwQ01+AtGWjtsSQhQ1AQ==,type:comment]
|
||||
anki-user: ENC[AES256_GCM,data:WoGaNDAHFw==,iv:ZSjHfKMIjlgOuvGl7hVxJc1fE80nfxxXYLgsKangBCs=,tag:UP8ZI7gzOrJJjNDHovIkyg==,type:str]
|
||||
anki-pw: ENC[AES256_GCM,data:z2SCsSvZIqN2/2VK1EdmcAnl42x5A15PAiK932k3n50Vj1jczGRoSw==,iv:keQCutY4vizVzu5YzPBJLgDLveYDb2VGeEnYmO7CeQw=,tag:KGplFfC5xktNAOTbIlt+Tg==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1h72072slm2pthn9m2qwjsyy2dsazc6hz97kpzh4gksvv0r2jqecqul8w63
|
||||
|
|
@ -90,8 +93,8 @@ sops:
|
|||
SjV6L3crUkdLWTlsNFgyRHBla2FFam8KILYsNbLdCirfoC/Vex8yEYpS2G4O0EQP
|
||||
wa1xzPk3Ue0/g67dv5UZFhUn0ZB2XGFC3kEPWpptTj0VL+9Z/r0zKA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-08-13T07:33:50Z"
|
||||
mac: ENC[AES256_GCM,data:7RjYDh/n+j9lU6Sz3NRDi5tWX/7QL+HK43hOImCQkiHbBaO4n/Gms6hAAzkWfHpfbW9cm02mcPsmQLE85xlzD0DaJz2x4CVQ1wT26D5Sth6RP/rWGiVeoN4shncxuR0Ro0gTFFkTLYftJT2v/4LocPxIeEuOyQrX/J45UXUnhh4=,iv:309gb4TVc/uf6DOfPmSuqWTDt2Newi5rrFmBM2O0e+0=,tag:aVU9bVNTiSdeo4DkvUeJpA==,type:str]
|
||||
lastmodified: "2025-10-08T23:35:53Z"
|
||||
mac: ENC[AES256_GCM,data:TxbNh/NiACHx3IwOi2esAfPf/jHV9yO86PRGarL3QQDTVB+nh5in+lx06oFh3bO5aJwpG6MWH9ZpPbX+3buyr2BTNrb6vc2YctSzaQU+ap5rvHf4AoKT3rC9rjHaR0WqJIPGV7HYcnFcoznULMrHqMTKMeEhUMqNl7xxAwxfIyk=,iv:9HAgoJN4xgxevM92K9j/5I2UYyIydOe9O+Cy3oL6/mo=,tag:1sRN7mrsRkAfp0LuZ6knBg==,type:str]
|
||||
pgp:
|
||||
- created_at: "2025-07-10T23:51:26Z"
|
||||
enc: |-
|
||||
|
|
@ -125,4 +128,4 @@ sops:
|
|||
-----END PGP MESSAGE-----
|
||||
fp: 4BE7925262289B476DBBC17B76FD3810215AE097
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.10.2
|
||||
version: 3.11.0
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"data": "ENC[AES256_GCM,data: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,iv:K7mxQXKb0Vfw9dPNcxjjfsn5fu+WQrT45hGI+ziA3Xo=,tag:d3VeFUg9W7VuVZamCcx7iA==,type:str]",
|
||||
"data": "ENC[AES256_GCM,data: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,iv:9zObdum4T/ejBPPtX06ncAdgBe3ypZHbtOBaelS9100=,tag:MQxyCpZ2Z7dB5Re1ty+jGA==,type:str]",
|
||||
"sops": {
|
||||
"age": [
|
||||
{
|
||||
|
|
@ -27,8 +27,8 @@
|
|||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtU240VjVRZmJ5TGsrclJF\nRXRLbTRCZURtR0Z3d2E2eDNNeGRDODlXVEY4CllTeVFYbDJQWlRSS1RFLzAxSnlM\nZi9NU1c3cWo3YWRLcUJ2U2ZFWFBBVEEKLS0tIGtmZU9qSWdBT3RDeStaaFFDSWtk\ndkUzZXJwZUl4LzVxYXdidmxXRnNnclUKyAMZqCKSY/RQvTR4bbjLaPnGKwdBcHXc\nvtiVSrLdIdzMa6id/J07TJH5UesUmcp0wjU41MDa4aMBLy+cXhuBHA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2025-09-18T10:05:03Z",
|
||||
"mac": "ENC[AES256_GCM,data:8FpGfB2vgSaZ+eddMkLakPXjfx5TbfYrzgjWj3vKJUlGoE6KMRbFnsvWVs9Vku6ia6YKV7qzA6GLpFM36b25CE2uV78BD4VThtahl8ffAGR87HzUdR6hXrDfOluWWGcKgGDlKJ1zSiez0aMdAhbCyKC+phFQl0QnyirsKD3CeVw=,iv:d66S50SmO4yiI48eGxJIPZg3WtosaNYKq+kQ/SFyuD0=,tag:NAVPR0mU0NUP6T6mJdCbkg==,type:str]",
|
||||
"lastmodified": "2025-10-08T21:54:23Z",
|
||||
"mac": "ENC[AES256_GCM,data:vjpvEgzViQDpE4DQE34xKj3dj3yvva1NvjZqfzs9R3uAtqWu2fe5jkLcrMI4t35co3lP84VUwKM5HQ33wKYvmaCsPrM2tvPLI4KSXWU1e+TSfSFphDr21OGZImEUW5Je9hhmgo/rg37Dkc/hq3npoeG3mtHdl6zw2c8URgi/vqk=,iv:fZN8la3P4lalI0AGPJbHOo5D1Q+EmV3SOKg3s47/u0o=,tag:OLsMZbIMRV6X5Wc8NpDFnA==,type:str]",
|
||||
"pgp": [
|
||||
{
|
||||
"created_at": "2025-06-13T20:13:06Z",
|
||||
|
|
@ -37,6 +37,6 @@
|
|||
}
|
||||
],
|
||||
"unencrypted_suffix": "_unencrypted",
|
||||
"version": "3.10.2"
|
||||
"version": "3.11.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue