55 Commits
Author SHA1 Message Date
tomasr 6263a11c4c fix archivebox extesnion 2026-08-11 17:06:16 +02:00
tomasr 1471a976f1 remove temp mullvad 2026-08-11 17:03:55 +02:00
tomasr 0ce25113e7 add archivebox extension 2026-08-11 16:17:48 +02:00
tomasr e49019c8ba add browser bookmark noogle.dev 2026-08-11 16:14:32 +02:00
tomasr bd85b284a6 reactivate qtbatticon 2026-08-11 16:13:11 +02:00
tomasr 7f2367720b oga bouga 2026-08-09 14:48:54 +02:00
tomasr 14751f5cf0 snapshot pre-cleanup-2026-08-08T20-52-19Z 2026-08-08 22:52:19 +02:00
tomasr 419f5a6214 flack lock change 2026-08-08 10:14:54 +02:00
tomasr b5b329ab17 snapshot pre-autoupdate-2026-08-08T08-02-18Z 2026-08-08 10:02:18 +02:00
tomasr dc1b4caa24 rss reader 2026-08-04 19:50:32 +02:00
tomasr c7d72333d4 debugging max battery 2026-08-04 14:16:53 +02:00
tomasr 04b3257c7d debugging max battery 2026-08-04 14:13:16 +02:00
tomasr 12bcb8ad6a fix calendar? 2026-08-04 11:29:50 +02:00
tomasr 229201a7c7 add kontact 2026-08-04 11:25:52 +02:00
tomasr ace1780097 add KOrganizer 2026-08-04 11:21:17 +02:00
tomasr 928b192611 Auto: cleanup-2026-08-02T11-15-39Z 2026-08-02 13:15:57 +02:00
tomasr 3160e6a409 snapshot pre-cleanup-2026-08-02T11-15-39Z 2026-08-02 13:15:39 +02:00
tomasr f76e16266b snapshot pre-autoupdate-2026-08-01T08-20-53Z 2026-08-01 10:20:53 +02:00
tomasr eec6da5803 librewolf: remove old bookmark 2026-07-30 21:28:31 +02:00
tomasr 282d076bf3 first tmux config 2026-07-30 21:18:33 +02:00
tomasr 0e67b49ebd tmux: init config 2026-07-30 14:06:41 +02:00
tomasr dd1c9bd990 hledger-ui: replace by puffin 2026-07-29 21:11:21 +02:00
tomasr 20cef053c0 replace rss reader 2026-07-29 18:46:20 +02:00
tomasr 553796d6c7 fix pagers 2026-07-26 21:54:17 +02:00
tomasr 63ec8d1945 flack.lock change 2026-07-26 18:41:00 +02:00
tomasr 588a1e77e8 migrate nixpkgs-notifier to ntfy 2026-07-26 16:46:26 +02:00
tomasr eca6ad278d Auto: cleanup-2026-07-26T14-02-17Z 2026-07-26 16:02:39 +02:00
tomasr 5e7550f6d7 snapshot pre-cleanup-2026-07-26T14-02-17Z 2026-07-26 16:02:17 +02:00
tomasr abd6a6ca3c snapshot pre-cleanup-2026-07-26T13-59-06Z 2026-07-26 15:59:06 +02:00
tomasr a7370a65e7 snapshot pre-cleanup-2026-07-26T13-57-11Z 2026-07-26 15:57:11 +02:00
tomasr 01cd080bf1 snapshot pre-cleanup-2026-07-26T13-54-32Z 2026-07-26 15:54:32 +02:00
tomasr b24b16728a setup agenix and migrate from matrix-commander-rs to ntfy for phone notifications 2026-07-26 15:48:54 +02:00
tomasr a80629a6e4 snapshot pre-autoupdate-2026-07-26T13-20-51Z 2026-07-26 15:20:51 +02:00
tomasr ff26348536 snapshot pre-autoupdate-2026-07-26T13-04-37Z 2026-07-26 15:04:37 +02:00
tomasr e672a99d95 snapshot pre-autoupdate-2026-07-26T13-01-03Z 2026-07-26 15:01:03 +02:00
tomasr 35542be154 snapshot pre-autoupdate-2026-07-26T12-55-52Z 2026-07-26 14:55:52 +02:00
tomasr 8b1e206d4f snapshot pre-autoupdate-2026-07-26T12-53-35Z 2026-07-26 14:53:35 +02:00
tomasr 6304c65ea6 snapshot pre-autoupdate-2026-07-26T12-46-58Z 2026-07-26 14:46:58 +02:00
tomasr 325ee56fa3 snapshot pre-autoupdate-2026-07-26T12-33-05Z 2026-07-26 14:33:05 +02:00
tomasr a9874f1b2a snapshot pre-autoupdate-2026-07-26T12-32-47Z 2026-07-26 14:32:47 +02:00
tomasr ba4f2b5bf2 setup agenix 2026-07-26 14:09:18 +02:00
tomasr 72fae98a43 snapshot pre-cleanup-2026-07-25T22-02-24Z 2026-07-26 00:02:24 +02:00
tomasr ab6b81a228 snapshot pre-autoupdate-2026-07-25T15-13-11Z 2026-07-25 17:13:11 +02:00
tomasr 247ddefdc6 onyx fix 2026-07-25 16:03:34 +02:00
tomasr 1a646b0c06 add gvfs 2026-07-24 20:03:26 +02:00
tomasr 5d4d51b475 notewrapper: use kdrive directly 2026-07-24 17:40:27 +02:00
tomasr c6a30039e8 neovim: add hledger integration 2026-07-21 16:53:32 +02:00
tomasr 2b45b7f179 neovim: add lean lsp and config 2026-07-21 16:51:34 +02:00
tomasr 8268324958 hledger: init 2026-07-21 11:38:27 +02:00
tomasr 2d0c655658 snapshot pre-autoupdate-2026-07-20T23-03-59Z 2026-07-21 01:03:59 +02:00
tomasr fb5cd58254 CI: fix crash when no diff 2026-07-21 00:46:12 +02:00
tomasr 20ad4bb594 snapshot pre-autoupdate-2026-07-20T22-36-16Z 2026-07-21 00:36:16 +02:00
tomasr d83045353f snapshot pre-cleanup-2026-07-20T22-15-38Z 2026-07-21 00:15:38 +02:00
tomasr 806215b1b8 snapshot pre-autoupdate-2026-07-20T22-12-08Z 2026-07-21 00:12:08 +02:00
tomasr 63baafdca6 snapshot pre-autoupdate-2026-07-20T22-05-05Z 2026-07-21 00:05:05 +02:00
28 changed files with 476 additions and 188 deletions

No files matched your search

+43 -28
View File
@@ -49,20 +49,30 @@ jobs:
exit 1
;;
esac
- name: Check for changes
run: |
git fetch origin main "${{ steps.branch.outputs.source }}"
HAS_CHANGES=true
if git diff --quiet \
"origin/main...origin/${{ steps.branch.outputs.source }}"; then
HAS_CHANGES=false
fi
- name: Check for existing PR
id: existing
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
PR_NUMBER=$(gh pr list \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--state open \
--json number \
--jq '.[0].number // empty')
if $HAS_CHANGES; then
PR_NUMBER=$(gh pr list \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--state open \
--json number \
--jq '.[0].number // empty')
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
fi
- name: Create PR
id: create
@@ -70,28 +80,31 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr create \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \
--body "This pull request was created automatically by GitHub Actions."
if $HAS_CHANGES; then
gh pr create \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \
--body "This pull request was created automatically by GitHub Actions."
PR_NUMBER=$(gh pr list \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--state open \
--json number \
--jq '.[0].number')
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
PR_NUMBER=$(gh pr list \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--state open \
--json number \
--jq '.[0].number')
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
fi
- name: Determine PR number
id: pr
run: |
if [ -n "${{ steps.existing.outputs.number }}" ]; then
echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT"
else
echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT"
if $HAS_CHANGES; then
if [ -n "${{ steps.existing.outputs.number }}" ]; then
echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT"
else
echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT"
fi
fi
- name: Enable auto-merge
@@ -99,7 +112,9 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr merge \
"${{ steps.pr.outputs.number }}" \
--auto \
--merge
if $HAS_CHANGES; then
gh pr merge \
"${{ steps.pr.outputs.number }}" \
--auto \
--merge
fi
Generated
+106 -43
View File
@@ -1,5 +1,30 @@
{
"nodes": {
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1770165109,
"narHash": "sha256-9VnK6Oqai65puVJ4WYtCTvlJeXxMzAp/69HhQuTdl/I=",
"owner": "ryantm",
"repo": "agenix",
"rev": "b027ee29d959fda4b60b57566d64c98a202e0feb",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "agenix",
"type": "github"
}
},
"caelestia-cli": {
"inputs": {
"caelestia-shell": [
@@ -11,11 +36,11 @@
]
},
"locked": {
"lastModified": 1780375472,
"narHash": "sha256-Q8RAJoYlakA6B2I5DVcuxzNbhCNU1nnIjqQZYP1KGrM=",
"lastModified": 1785555198,
"narHash": "sha256-qR5i58eQTPUYeqvm4OD1pYYDwYjJWuSdCp+0RVlJj/M=",
"owner": "caelestia-dots",
"repo": "cli",
"rev": "d1c8c8fc09738d1b40576e97c274b4a11a2e0ac7",
"rev": "1a228f9b5566a6e8777a78b086284390357e3640",
"type": "github"
},
"original": {
@@ -34,11 +59,11 @@
"quickshell": "quickshell"
},
"locked": {
"lastModified": 1781178648,
"narHash": "sha256-z6V1T7MHShM7TfFIMCDp94Bi1Wk9LJfK96vm8YFGY5M=",
"lastModified": 1786013040,
"narHash": "sha256-/RABHr0dLEjX0Nktpe36Wdg8IUbc3BQLu/Hm4DOmPNI=",
"owner": "caelestia-dots",
"repo": "shell",
"rev": "a16c957a8bd13e0cfd09928ca0a22fecd3681e44",
"rev": "94d5eb9e6fe9c6b1f69e663d9ed410a441e2d67f",
"type": "github"
},
"original": {
@@ -47,6 +72,28 @@
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1744478979,
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
"type": "github"
},
"original": {
"owner": "lnl7",
"ref": "master",
"repo": "nix-darwin",
"type": "github"
}
},
"disko": {
"inputs": {
"nixpkgs": [
@@ -72,12 +119,12 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"revCount": 475,
"lastModified": 1785627969,
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
"revCount": 483,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.475%2Brev-f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb/019e2533-0324-7e90-93eb-29b02e1a61cd/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.483%2Brev-427bf4bd9435fdf21321c8cc628c24efc14c0f7a/019fc124-5bcc-79d1-a1e4-306df724dc0a/source.tar.gz"
},
"original": {
"type": "tarball",
@@ -86,7 +133,7 @@
},
"flake-utils": {
"inputs": {
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
@@ -108,11 +155,11 @@
]
},
"locked": {
"lastModified": 1781319724,
"narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=",
"lastModified": 1785119570,
"narHash": "sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae",
"rev": "d4fd24667c8cbef124bb70a20380cab75ec8474d",
"type": "github"
},
"original": {
@@ -124,11 +171,11 @@
},
"import-tree": {
"locked": {
"lastModified": 1778781969,
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
"lastModified": 1784254960,
"narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=",
"owner": "vic",
"repo": "import-tree",
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
"rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69",
"type": "github"
},
"original": {
@@ -164,11 +211,11 @@
]
},
"locked": {
"lastModified": 1780928816,
"narHash": "sha256-s4wU4nfs8xsXvwPtD0yebTPaOgmtDesmEvWuKFES6cE=",
"lastModified": 1781373243,
"narHash": "sha256-CpZ5FEU1BtW6K4FywtCCE2wJs6R/Ifps3etRDh8NJ9w=",
"owner": "tomasriveral",
"repo": "nix-git-cherry-picker",
"rev": "785b747ebca67f3e11b49ef5a85f9d3635bfe85d",
"rev": "9865dba535620831ae7cab395bf404f8f464df0e",
"type": "github"
},
"original": {
@@ -179,11 +226,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1780902259,
"narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
"lastModified": 1785989512,
"narHash": "sha256-HFQhkQcl5D1hUNoen3SGHCSFCt2Bg6uP+HgbrnA3InQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
"rev": "445d861c6d31b4af0c79d8d4be2331f762a361d7",
"type": "github"
},
"original": {
@@ -195,11 +242,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1777168982,
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
"lastModified": 1785031560,
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
"type": "github"
},
"original": {
@@ -218,11 +265,11 @@
]
},
"locked": {
"lastModified": 1781273662,
"narHash": "sha256-50dd7Cs1mUHq1srw7UojdzCYOB4TfrIXMv7XHHPU9zw=",
"lastModified": 1785077063,
"narHash": "sha256-rJxX9Mq16TOiIlf+nNR4SaLsWf1yII8xsQpJUNio3Yg=",
"owner": "tomasriveral",
"repo": "nixpkgs-notifier",
"rev": "12183f26e8b196d9906f82dc05f9672793c61038",
"rev": "39a89ffbdc49cc9ab6f67bc4be7ea2f7d3e2b38c",
"type": "github"
},
"original": {
@@ -233,11 +280,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1781268102,
"narHash": "sha256-Zn5KTggEmUB3lXn/ccERNcBdddE6IaOFber9dWViWDg=",
"lastModified": 1785975029,
"narHash": "sha256-X44cn5rzytELc3NNoQsh0aLkjWA/QzPfc6HPQmsG3sU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "49a4bd0573c376468dd7996ddb6f9fa31d8c4d97",
"rev": "70ce234312134a463ba7728e94da2486a1d237ac",
"type": "github"
},
"original": {
@@ -257,11 +304,11 @@
]
},
"locked": {
"lastModified": 1780908812,
"narHash": "sha256-syxEJP0NNgVZYHp/zRVuz32VYf+ULD9itZk7V06SCos=",
"lastModified": 1785748317,
"narHash": "sha256-SVFtpKh2YPsK/8l8kmPi/dLk1x9BJop/UeZUmMxOghg=",
"owner": "tomasriveral",
"repo": "notewrapper",
"rev": "e670ef935f0dd87dc8a8c6982147a9b8dce7565e",
"rev": "3f9471531d00bdcbef51f8dad869a5b974dad4d6",
"type": "github"
},
"original": {
@@ -281,11 +328,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1781158593,
"narHash": "sha256-zxlheX4o1MK00dkYzoXm7Srj5SD9iOCSp4N7f1iShr0=",
"lastModified": 1785671282,
"narHash": "sha256-xNA8ntAtz0fYJwnDhI4y90CME1GFHH1mO4r1syrFRHI=",
"owner": "r14dd",
"repo": "patent",
"rev": "68772d068088d62a030619090959165af5e71ed1",
"rev": "71f5e0e19d617cd2e7ef58562326bd769a2b34f3",
"type": "github"
},
"original": {
@@ -302,11 +349,11 @@
]
},
"locked": {
"lastModified": 1780303737,
"narHash": "sha256-7HgdJBG4BgAPDyHKKxWtxj7nziqsQo6zQCXtwy+L9fs=",
"lastModified": 1785134238,
"narHash": "sha256-bv5gar+ZAXZCJH7UOv0eRFILKt5RKA/3px/XbVR98Cg=",
"ref": "refs/heads/master",
"rev": "b66495fcc5022681b56b61f928c7acbe910e722c",
"revCount": 821,
"rev": "43d4fa9e883cb03239b3d578c9c57070f4fbd281",
"revCount": 834,
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
},
@@ -317,6 +364,7 @@
},
"root": {
"inputs": {
"agenix": "agenix",
"caelestia-shell": "caelestia-shell",
"disko": "disko",
"flake-parts": "flake-parts",
@@ -369,6 +417,21 @@
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
+7 -1
View File
@@ -47,6 +47,11 @@
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
/*
microPlugins-vivify = {
url = "git+https://codeberg.org/gibbert/micro-vivify";
@@ -70,7 +75,8 @@
"steam"
"steam-unwrapped"
"cheatsheet.nvim"
"zoom-us" "zoom"
"zoom-us"
"zoom"
];
mkUnfreePredicate = pkg:
builtins.elem (inputs.nixpkgs.lib.getName pkg) unfreePkgs;
+10 -6
View File
@@ -164,6 +164,10 @@
install_url = "https://addons.mozilla.org/firefox/downloads/file/4790089/consumer_rights_wiki-latest.xpi";
installation_mode = "force_installed";
};
"archivebox@tjhorner.dev" = {
install_url = "https://addons.mozilla.org/firefox/downloads/file/4820668/archivebox_exporter-latest.xpi";
installation_mode = "force_installed";
};
};
DisableTelemetry = true;
DisableFirefoxStudies = true;
@@ -344,12 +348,6 @@
keyword = "nixpkgs tracker";
url = "https://nixpk.gs/pr-tracker.html";
}
{
name = "fahrlehrer";
tags = ["theorie" "fahrlehrer" "conduite"];
keyword = "fahrlehrer24";
url = "https://app.fahrlehrer24.ch/";
}
{
name = "cogito";
tags = ["cogito" "esprit" "critique"];
@@ -398,6 +396,12 @@
keyword = "rryan-tm logs";
url = "https://nixpkgs-update-logs.nix-community.org";
}
{
name = "Nix function search";
tags = ["nixpkgs" "nix" "search"];
keyword = "nix function search";
url = "https://noogle.dev";
}
];
};
search = {
+13 -15
View File
@@ -41,7 +41,7 @@
wayland.windowManager.hyprland.settings = {
exec-once = [
"qtbatticon" # custom battery tray
"nixpkgs-notifier listen" # tracks PR merge in nixos-unstable
"source /run/agenix/ntfy && nixpkgs-notifier listen" # tracks PR merge in nixos-unstable
];
monitor = [
"eDP-1, highres@highrr, 0x0, 1"
@@ -57,14 +57,13 @@
"if [ -e \"/home/tomasr/icloudSync.sh\" ]; then /home/tomasr/icloudSync.sh; else notify-send \"icloudSync.sh doesn't exist\" \"See ~/nixos/modules/applications/hyprland.nix for more information\"; fi"
# my icloud account uses an email that I don't want to make public. So the script isnt pushed to github. The script looks like:
/*
#!/etc/profiles/per-user/tomasr/bin/zsh
if ! icloudpd --auth-only --username tomas.rivera_2009@icloud.com --dry-run; then
notify-send "icloudpd is not logged in" "Please run icloudpd icloudpd --username my@email.address --password my_password --auth-only"
exit 1
fi
icloudpd --directory ~/hdd/kdrive/Photo/IPhone/icloudpd-backup --username tomas.rivera_2009@icloud.com --watch-with-interval 3600 --no-progress-bar
#!/etc/profiles/per-user/tomasr/bin/zsh
if ! icloudpd --auth-only --username tomas.rivera_2009@icloud.com --dry-run; then
notify-send "icloudpd is not logged in" "Please run icloudpd icloudpd --username my@email.address --password my_password --auth-only"
exit 1
fi
icloudpd --directory ~/hdd/kdrive/Photo/IPhone/icloudpd-backup --username tomas.rivera_2009@icloud.com --watch-with-interval 3600 --no-progress-bar
*/
];
};
};
@@ -78,7 +77,7 @@
home.sessionVariables.NIXOS_OZONE_WL = "1";
wayland.windowManager.hyprland.plugins = [
#pkgs-unstable.hyprlandPlugins.hyprspace # currently broken
pkgs-unstable.hyprlandPlugins.hypr-dynamic-cursors
#pkgs-unstable.hyprlandPlugins.hypr-dynamic-cursors
];
wayland.windowManager.hyprland.configType = "hyprlang";
wayland.windowManager.hyprland.settings = {
@@ -226,7 +225,7 @@
*/
# pos 4 1 notification center.
"Ctrl+Alt, 1, exec, caelestia shell drawers toggle sidebar"
"Ctrl+Alt, 1, exec, [[ -f ~/.cache/hypr-battery-saver ]] || swaync-client -t"
#"Ctrl+Alt, 1, exec, [[ -f ~/.cache/hypr-battery-saver ]] || swaync-client -t"
"Ctrl+$mod, 4, exec, caelestia shell notifs toggleDnd"
"Ctrl+$mod, 3, exec, pavucontrol" # pos 1 2 audiocontrol
"Ctrl+Shift+Alt, 0, exec, kitty --hold --class \"custom-changeAudioOutput\" --name \"Select audio output\" zsh -c \"custom-changeAudioOutput\"" # pos 2 2 change audio output fzf
@@ -279,8 +278,8 @@
"rm -rf ~/.cache/cliphist/ && wl-paste --type text --watch cliphist store & wl-paste --type image --watch cliphist store"
#"wl-paste --type text --watch cliphist store" # clipboard store text data
#"wl-paste --type image --watch cliphist store" # clipboard store image data
"custom-batterynotify"
"custom-batterywarning"
#"custom-batterynotify"
#"custom-batterywarning"
#"birdtray" # thunderbird tray app # curently broken
#wallpapers/b
"awww img ${wallpaper}"
@@ -289,13 +288,12 @@
"custom-checkKdrive && custom-mountkdrive" # checks if the remote works and mount it
#"waybar"
"custom-gitnotify"
"custom-checkMatrix" # checks if matrix-commander-rs is connected which is important for other stuff
#"custom-obsidianbackup" # backups the obsidian notes to kdrive and to a timed hidden dir (~/.Notes.backup/)
#"QS-notifycache" # builds the cache that will be used for the notification history
"sleep 4 & caelestia-shell" #works better if it sleeps a bit before
"sleep 20 && ngcp pull --automatic" # see github.com/tomasriveral/nix-git-cherry-picker
"rm ~/.cache/hypr-battery-saver"
"rm ~/.cache/hypr-battery-saver.brightness"
#"rm ~/.cache/hypr-battery-saver"
#"rm ~/.cache/hypr-battery-saver.brightness"
/*
We stopped using that ######################### maybe we should desactivate those scripts
# login autostart
+10 -7
View File
@@ -35,8 +35,8 @@
CPUWeight = 1; # minimum relative CPU share
};
};
systemd.user.timers.kdrive-sync = {
wantedBy = [ "timers.target" ];
systemd.user.timers.kdrive-sync = {
wantedBy = ["timers.target"];
timerConfig = {
OnBootSec = "10m";
OnUnitActiveSec = "1h";
@@ -48,11 +48,12 @@
name = "custom-checkKdrive";
runtimeInputs = with pkgs; [
rclone
matrix-commander-rs
curl
libnotify
];
text = ''
# shellcheck disable=SC1091
source /run/agenix/ntfy
# waits for an internet connection. It pings both Google DNS and Cloudfare dns in case one of them is down
until ping -c1 -W1 1.1.1.1 >/dev/null 2>&1 || \
ping -c1 -W1 8.8.8.8 >/dev/null 2>&1
@@ -72,9 +73,11 @@
else
echo "kdrive rclone failed with error: $output"
notify-send "rclone kdrive failed" "$output"
matrix-commander-rs --verbose -m "rclone kdrive failed.<br>Error: <pre>$output</pre><br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Rclone couldnt access kdrive (rclone lsd kdrive). Error: $output" \
-H "Title: Rclone kdrive" \
"$NTFY_SERVER/Alerts"
fi
'';
};
+9 -2
View File
@@ -53,6 +53,8 @@ _: {
pkgs-unstable.vimPlugins.nvim-treesitter-parsers.printf
pkgs-unstable.vimPlugins.nvim-treesitter-parsers.python
pkgs-unstable.vimPlugins.nvim-treesitter-parsers.sparql
pkgs-unstable.vimPlugins.lean-nvim
pkgs-unstable.vimPlugins.vim-ledger
pkgs-unstable.vimPlugins.telescope-nvim
pkgs-unstable.vimPlugins.nvim-scrollbar
pkgs-unstable.vimPlugins.promise-async
@@ -371,7 +373,7 @@ _: {
},
})
vim.lsp.enable({ "lua_ls", "clangd", "pylsp", "texlab", "nixd", "ltex"})
vim.lsp.enable({ "lua_ls", "clangd", "pylsp", "texlab", "nixd", "ltex", "leanls"})
-- =========================
-- DASHBOARD
-- =========================
@@ -474,7 +476,12 @@ _: {
-- =========================
require('lualine').setup { options = { theme = "gruvbox_dark" } }
-- ==================
-- lean
-- ==================
require('lean').setup({
mappings = true,
})
--==================0
-- Some utils
--==================
+32 -3
View File
@@ -1,5 +1,5 @@
{inputs, ...}: {
flake.homeModules.notewrapper = {pkgs, ...}: {
flake.homeModules.laptop-notewrapper = {pkgs, ...}: {
home.packages = [
inputs.notewrapper.packages.${pkgs.system}.default
];
@@ -8,7 +8,7 @@
force = true;
text = ''
{
"directory": ["~/Documents/Notes/", "~/test/"],
"directory": ["~/kdrive/Notes/"],
"render": true,
"jumpToEndOfFileOnLaunch": true,
"editor": "neovim",
@@ -16,7 +16,36 @@
"dateEntry": "# %Y %m %d %a",
"newLineOnOpening": true,
"backup": {
"enable": true,
"enable": false,
"directory": {
"~/Documents/Notes/": "~/kdrive/Notes/",
"~/test/": "~/backupTest/"
},
"interval": "daily",
"rsyncArgs": ["-Lqah", "--update"]
}
}
'';
};
};
flake.homeModules.desktop-notewrapper = {pkgs, ...}: {
home.packages = [
inputs.notewrapper.packages.${pkgs.system}.default
];
home.file.".config/notewrapper/config.json" = {
enable = true;
force = true;
text = ''
{
"directory": ["~/hdd/kdrive/Notes/"],
"render": true,
"jumpToEndOfFileOnLaunch": true,
"editor": "neovim",
"journalRegex": ".*journal.*",
"dateEntry": "# %Y %m %d %a",
"newLineOnOpening": true,
"backup": {
"enable": false,
"directory": {
"~/Documents/Notes/": "~/kdrive/Notes/",
"~/test/": "~/backupTest/"
+8
View File
@@ -0,0 +1,8 @@
_: {
flake.homeModules.tmux = _: {
programs.tmux = {
enable = true;
clock24 = true;
};
};
}
+1
View File
@@ -88,6 +88,7 @@ _: {
nnvim = "nvim";
nvvim = "nvim";
nviim = "nvim";
hledger-ui = "puffin";
};
};
};
+4 -2
View File
@@ -36,7 +36,8 @@
services.system76-scheduler.settings.cfsProfiles.enable = true; # Better scheduling for CPU cycles - thanks System76!!!
services.thermald.enable = false; # Enable thermald, the temperature management daemon. (only necessary if on Intel CPUs)
services.power-profiles-daemon.enable = true; # ppd is recommended over tlp for framework 16
/*services.tlp = {
/*
services.tlp = {
enable = true; # Enable TLP (better than gnomes internal power manager)
settings = {
CPU_BOOST_ON_AC = 1;
@@ -51,7 +52,8 @@
PLATFORM_PROFILE_ON_BAT = "powersave";
STOP_CHARGE_THRESH_BAT1 = 80;
};
};*/
};
*/
environment.systemPackages = [
self.packages.${pkgs.system}.custom-performance
];
+2 -2
View File
@@ -2,8 +2,8 @@ _: {
flake.nixosModules.hardwareUtils-laptop = {pkgs, ...}: {
environment.systemPackages = with pkgs; [
# used for the framework 16 laptop
framework-tool
framework-tool-tui
#framework-tool
#framework-tool-tui
vial # Open-source GUI and QMK fork for configuring your keyboard in real time
];
};
+10
View File
@@ -0,0 +1,10 @@
_: {
flake.nixosModules.onxyboox = {pkgs, ...}: {
services.gvfs.enable = true;
environment.systemPackages = with pkgs; [
gvfs
calibre
kdePackages.kio-extras
];
};
}
+1 -1
View File
@@ -1,5 +1,5 @@
{self, ...}: {
flake.nixosModules.performance-desktop = {pkgs,...}: {
flake.nixosModules.performance-desktop = {pkgs, ...}: {
environment.systemPackages = [
self.packages.${pkgs.system}.custom-performance
];
+7 -4
View File
@@ -30,13 +30,15 @@
games
hardware-configuration-desktop
hdd
hledger
hledger-desktop
hyprland
IO
kdrive-desktop # we will setup this later
latex
ly
mathematics
mullvad
#mullvad #temporarly broken
networking
nixUtils
notifications
@@ -66,10 +68,10 @@
hyprland-desktop
kitty
librewolf
mullvad
#mullvad #temporarly broken
neovim
nix-git-cherry-picker-desktop
notewrapper
desktop-notewrapper
oh-my-zsh
ripgrep
rofi
@@ -78,6 +80,7 @@
swaync # used in performance mode
thunderbird
tomasr
tmux
vivify
waybar-minimal # used in performance mode
zoxide
@@ -130,7 +133,7 @@
home.homeDirectory = "/home/tomasr";
home.sessionVariables = {
EDITOR = "neovim";
EDITOR = "nvim";
TERMINAL = "kitty";
};
+13 -5
View File
@@ -9,6 +9,8 @@
inherit (self) pkgs-unstable pkgs-local pkgs-master;
};
modules = with self.nixosModules; [
inputs.agenix.nixosModules.default
agenix
# important do not remove
home-manager-laptop
laptop
@@ -18,7 +20,7 @@
audioAndMedia
autoCleanup-laptop
autoUpdate-laptop
battery-laptop
#battery-laptop
bluetooth
bootloader
browsers
@@ -31,18 +33,21 @@
gitBackup
hardware-configuration-laptop
hardwareUtils-laptop
hledger
hledger-laptop
hyprland
IO
kdrive-laptop
latex
ly
mathematics
mullvad
#mullvad #temporarly broken
networking
nixUtils-laptop
nixUtils
notifications
office
onxyboox
#ollama
otherUtils
printer
@@ -67,10 +72,10 @@
hyprland-laptop
kitty
librewolf
mullvad
#mullvad #temporarly broken
neovim
nix-git-cherry-picker-laptop
notewrapper
laptop-notewrapper
oh-my-zsh
ripgrep
rofi
@@ -78,6 +83,7 @@
ssh
swaync # used in performance mode
thunderbird
tmux
tomasr
vivify
waybar-minimal # used in performance mode
@@ -126,8 +132,10 @@
home.homeDirectory = "/home/tomasr";
home.sessionVariables = {
EDITOR = "neovim";
EDITOR = "nvim";
TERMINAL = "kitty";
SYSTEMD_PAGER = "cat";
PAGER = "cat";
};
# Required for Home Manager
+17
View File
@@ -0,0 +1,17 @@
{inputs, ...}: {
flake.nixosModules.agenix = {pkgs, ...}: {
environment.systemPackages = [
inputs.agenix.packages.${pkgs.system}.default
pkgs.age
];
age.identityPaths = [
"/etc/ssh/ssh_host_ed25519_key"
];
age.secrets.ntfy = {
file = ../../secrets/ntfy.age;
owner = "tomasr";
group = "users";
mode = "0400";
};
};
}
+48 -18
View File
@@ -2,8 +2,12 @@
flake.nixosModules.autoCleanup-laptop = {
pkgs,
pkgs-unstable,
config,
...
}: {
age.secrets.ntfy = {
file = ../../secrets/ntfy.age;
};
# Ensure your script is available system-wide
environment.systemPackages = [
self.packages.${pkgs.system}.custom-cleanNix-laptop
@@ -17,6 +21,9 @@
description = "NixOS configuration auto cleanup";
serviceConfig = {
Environment = [
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
];
Type = "oneshot";
ExecStart = "/run/current-system/sw/bin/custom-cleanNix";
@@ -54,8 +61,12 @@
flake.nixosModules.autoCleanup-desktop = {
pkgs,
pkgs-unstable,
config,
...
}: {
age.secrets.ntfy = {
file = ../../secrets/ntfy.age;
};
# Ensure your script is available system-wide
environment.systemPackages = [
self.packages.${pkgs.system}.custom-cleanNix-desktop
@@ -69,6 +80,9 @@
description = "NixOS configuration auto cleanup";
serviceConfig = {
Environment = [
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
];
Type = "oneshot";
ExecStart = "/run/current-system/sw/bin/custom-cleanNix";
@@ -108,14 +122,18 @@
runtimeInputs = with pkgs; [
git
nixos-rebuild
matrix-commander-rs
curl
libnotify
alejandra
deadnix
statix
];
text = ''
set -e
set -ex
# shellcheck disable=SC1090
source "$NTFY_SECRET"
FLAKE_DIR="/home/tomasr/nixos"
FLAKE="$FLAKE_DIR#laptop"
@@ -139,7 +157,7 @@
alejandra "$FLAKE_DIR" # formats the config
echo "--------------------------------------------------------------"
if sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if /run/wrappers/bin/sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if ! git -C "$FLAKE_DIR" diff --quiet HEAD; then
git -C "$FLAKE_DIR" add -A
@@ -148,9 +166,11 @@
notify-send "Nix auto cleanup" "Everything OK"
matrix-commander-rs --verbose -m "Nix auto cleanup. Everything OK.<br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Everything OK" \
-H "Title: Laptop Nix auto cleanup" \
"$NTFY_SERVER/Alerts"
else
notify-send "Nix auto cleanup" "No changes"
git -C "$FLAKE_DIR" push
@@ -161,9 +181,11 @@
notify-send -u critical "Nix auto cleanup" "FAILED"
matrix-commander-rs --verbose -m "Nix auto cleanup failed.<br>Error: <pre>$ERROR_MSG</pre><br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Nix auto cleanup failed. Error: $ERROR_MSG" \
-H "Title: Laptop Nix auto cleanup" \
"$NTFY_SERVER/Alerts"
git -C "$FLAKE_DIR" reset --hard "pre-cleanup-$TIME"
fi
@@ -178,14 +200,18 @@
runtimeInputs = with pkgs; [
git
nixos-rebuild
matrix-commander-rs
curl
libnotify
alejandra
deadnix
statix
];
text = ''
set -e
set -ex
# shellcheck disable=SC1090
source "$NTFY_SECRET"
FLAKE_DIR="/home/tomasr/nixos"
FLAKE="$FLAKE_DIR#desktop"
@@ -209,7 +235,7 @@
alejandra "$FLAKE_DIR" # formats the config
echo "--------------------------------------------------------------"
if sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if /run/wrappers/bin/sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if ! git -C "$FLAKE_DIR" diff --quiet HEAD; then
git -C "$FLAKE_DIR" add -A
@@ -218,9 +244,11 @@
notify-send "Nix auto cleanup" "Everything OK"
matrix-commander-rs --verbose -m "Nix auto cleanup. Everything OK.<br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Everything OK" \
-H "Title: Desktop Nix auto cleanup" \
"$NTFY_SERVER/Alerts"
else
notify-send "Nix auto cleanup" "No changes"
git -C "$FLAKE_DIR" push
@@ -231,9 +259,11 @@
notify-send -u critical "Nix auto cleanup" "FAILED"
matrix-commander-rs --verbose -m "Nix auto cleanup failed.<br>Error: <pre>$ERROR_MSG</pre><br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Nix auto cleanup failed. Error: $ERROR_MSG" \
-H "Title: Desktop Nix auto cleanup" \
"$NTFY_SERVER/Alerts"
git -C "$FLAKE_DIR" reset --hard "pre-cleanup-$TIME"
fi
+55 -18
View File
@@ -1,5 +1,12 @@
{self, ...}: {
flake.nixosModules.autoUpdate-laptop = {pkgs, ...}: {
flake.nixosModules.autoUpdate-laptop = {
pkgs,
config,
...
}: {
age.secrets.ntfy = {
file = ../../secrets/ntfy.age;
};
# Ensure your script is available system-wide
environment.systemPackages = [
self.packages.${pkgs.system}.custom-autoupdate-laptop
@@ -12,6 +19,9 @@
description = "NixOS flake auto update";
serviceConfig = {
Environment = [
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
];
Type = "oneshot";
ExecStart = "/run/current-system/sw/bin/custom-autoupdate";
@@ -46,7 +56,14 @@
};
## desktop
flake.nixosModules.autoUpdate-desktop = {pkgs, ...}: {
flake.nixosModules.autoUpdate-desktop = {
pkgs,
config,
...
}: {
age.secrets.ntfy = {
file = ../../secrets/ntfy.age;
};
# Ensure your script is available system-wide
environment.systemPackages = [
self.packages.${pkgs.system}.custom-autoupdate-desktop
@@ -59,6 +76,9 @@
description = "NixOS flake auto update";
serviceConfig = {
Environment = [
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
];
Type = "oneshot";
ExecStart = "/run/current-system/sw/bin/custom-autoupdate";
@@ -98,11 +118,14 @@
runtimeInputs = with pkgs; [
git
nixos-rebuild
matrix-commander-rs
curl
libnotify
nix
];
text = ''
# shellcheck disable=SC1090
source "$NTFY_SECRET"
set -e
FLAKE_DIR="/home/tomasr/nixos"
@@ -119,7 +142,7 @@
# update lock only
nix flake update --flake "$FLAKE_DIR"
if sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if /run/wrappers/bin/sudo ${pkgs.nixos-rebuild}/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if ! git -C "$FLAKE_DIR" diff --quiet -- flake.lock; then
git -C "$FLAKE_DIR" add flake.lock
@@ -128,9 +151,11 @@
notify-send "Flake autoupdate" "Rebuild OK"
matrix-commander-rs --verbose -m "Flake rebuild succesfull.<br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Laptop Flake rebuild successful" \
-H "Title: Flake autoupdate" \
"$NTFY_SERVER/Alerts"
else
notify-send "Flake autoupdate" "No changes"
git -C "$FLAKE_DIR" push
@@ -141,9 +166,12 @@
notify-send -u critical "Flake autoupdate" "FAILED"
matrix-commander-rs --verbose -m "Flake rebuild failed.<br>Error: <pre>$ERROR_MSG</pre><br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Laptop Flake rebuild failed. Error: $ERROR_MSG" \
-H "Title: Flake autoupdate FAILED" \
-H "Priority: urgent" \
"$NTFY_SERVER/Alerts"
git -C "$FLAKE_DIR" reset --hard "pre-autoupdate-$TIME"
fi
@@ -159,11 +187,14 @@
runtimeInputs = with pkgs; [
git
nixos-rebuild
matrix-commander-rs
libnotify
curl
nix
];
text = ''
# shellcheck disable=SC1090
source "$NTFY_SECRET"
set -e
FLAKE_DIR="/home/tomasr/nixos"
@@ -180,7 +211,7 @@
# update lock only
nix flake update --flake "$FLAKE_DIR"
if sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if /run/wrappers/bin/sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if ! git -C "$FLAKE_DIR" diff --quiet -- flake.lock; then
git -C "$FLAKE_DIR" add flake.lock
@@ -189,9 +220,12 @@
notify-send "Flake autoupdate" "Rebuild OK"
matrix-commander-rs --verbose -m "Flake rebuild succesfull.<br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Flake rebuild successful" \
-H "Title: Desktop Flake autoupdate" \
"$NTFY_SERVER/Alerts"
else
notify-send "Flake autoupdate" "No changes"
git -C "$FLAKE_DIR" push
@@ -202,9 +236,12 @@
notify-send -u critical "Flake autoupdate" "FAILED"
matrix-commander-rs --verbose -m "Flake rebuild failed.<br>Error: <pre>$ERROR_MSG</pre><br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Flake rebuild failed. Error: $ERROR_MSG" \
-H "Title: Desktop Flake autoupdate FAILED" \
-H "Priority: urgent" \
"$NTFY_SERVER/Alerts"
git -C "$FLAKE_DIR" reset --hard "pre-autoupdate-$TIME"
fi
+20
View File
@@ -0,0 +1,20 @@
_: {
flake.nixosModules.hledger = {pkgs, ...}: {
environment.systemPackages = with pkgs; [
hledger
hledger-web
asciinema # used for some hledger demos
puffin
];
};
flake.nixosModules.hledger-laptop = _: {
environment.variables = {
LEDGER_FILE = "/home/tomasr/kdrive/Budget/hledger.journal";
};
};
flake.nixosModules.hledger-desktop = _: {
environment.variables = {
LEDGER_FILE = "/home/tomasr/hdd/kdrive/Budget/hledger.journal";
};
};
}
@@ -3,44 +3,26 @@
environment.systemPackages = with pkgs; [
libnotify # Library that sends desktop notifications to a notification daemon
socat # Utility for bidirectional data transfer between two independent data channels (used to communicate between hyprland and awww to change wallpapers dinamically)
matrix-commander-rs # matrix client used to send notifications from scripts to my phone
# battery notifications
self.packages.${pkgs.system}.custom-batterynotify
self.packages.${pkgs.system}.custom-batterywarning
# checks if matrix-commander-rs is installed and logged in
self.packages.${pkgs.system}.custom-checkMatrix
self.packages.${pkgs.system}.custom-gitnotify # checks if git is set up
self.packages.${pkgs.system}.custom-checkKdrive # check if kdrive is set up with rclone
zoom-us
];
};
perSystem = {pkgs, ...}: {
packages.custom-checkMatrix = pkgs.writeShellApplication {
name = "custom-checkMatrix";
runtimeInputs = with pkgs; [
matrix-commander-rs
libnotify
];
text = ''
expected="@totorile1:unredacted.org"
current="$(matrix-commander-rs --whoami | tr -d '\n')"
if [ "$current" != "$expected" ]; then
notify-send "matrix-commander-rs" \
"You are not logged in as @totorile1:unredacted.org\nLog:\n$current"
fi
'';
};
packages.custom-gitnotify = pkgs.writeShellApplication {
name = "custom-gitnotify";
runtimeInputs = with pkgs; [
git
libnotify
curl
];
text = ''
# shellcheck disable=SC1091
source /run/agenix/ntfy
# Check if git is installed
if ! command -v git >/dev/null 2>&1; then
exit 0
@@ -53,9 +35,10 @@
notify-send \
"Git not configured" \
"Set your identity\n or remove this warning by removing the custom-gitnotify line in\n ~/nixos/modules/applications/hyprland.nix"
matrix-commander-rs --verbose -m "Git not configured.<br>Set your identify or remove this warning by removing the custom-gitnotify in ~/nixos/modules/applications/hyprland.nix<br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Git not configured" \
"$NTFY_SERVER/Alerts"
fi
'';
};
+7 -1
View File
@@ -48,11 +48,17 @@
"configFetchTime": 1,
"localNotify": true,
"matrix": {
"enable": true,
"enable": false,
"room": "!BXRRokBmEdNOyYdfOF:matrix.org",
"ping": true,
"userPing": "@notificationbot_0000",
"userPingServer": "matrix.org"
},
"ntfy": {
"enable": true,
"auth": ":$NTFY_TOKEN",
"server": "$NTFY_SERVER",
"topic": "Alerts"
}
}
'';
+20 -5
View File
@@ -1,5 +1,12 @@
{self, ...}: {
flake.nixosModules.gitBackup = {pkgs, ...}: {
flake.nixosModules.gitBackup = {
pkgs,
config,
...
}: {
age.secrets.ntfy = {
file = ../../secrets/ntfy.age;
};
environment.systemPackages = [
self.packages.${pkgs.system}.custom-gitBackup
];
@@ -9,6 +16,9 @@
serviceConfig = {
Type = "oneshot";
Environment = [
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
];
ExecStart = "/run/current-system/sw/bin/custom-gitBackup";
@@ -41,11 +51,14 @@
name = "custom-gitBackup";
runtimeInputs = with pkgs; [
rsync
matrix-commander-rs
curl
libnotify
self.packages.${pkgs.system}.custom-checkKdrive
];
text = ''
# shellcheck disable=SC1090
source "$NTFY_SECRET"
# checks if kdrive is available
custom-checkKdrive
@@ -69,9 +82,11 @@
notify_error() {
local message="$1"
notify-send "Git Backup Failed" "$message"
matrix-commander-rs --verbose -m "Git Backup Failed: $message <br><a href=\"https://matrix.to/#/@notificationbot_0000:matrix.org\">@notificationbot_0000</a>" \
--html \
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
curl \
-u ":$NTFY_TOKEN" \
-d "Git backup failed. Error: $message" \
-H "Title: Git Backup" \
"$NTFY_SERVER/Alerts"
}
+9 -1
View File
@@ -16,7 +16,15 @@ _: {
networking.networkmanager.enable = true;
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
services.openssh = {
enable = true;
hostKeys = [
{
path = "/etc/ssh/ssh_host_ed25519_key";
type = "ed25519";
}
];
};
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
+6
View File
@@ -3,6 +3,12 @@ _: {
environment.systemPackages = with pkgs; [
libreoffice
birdtray
kdePackages.korganizer
#needed for korganizer
kdePackages.akonadi
kdePackages.akonadi-calendar
kdePackages.akonadi-calendar-tools
];
programs.kde-pim.kontact = true; # needed for korganizer
};
}
+1 -1
View File
@@ -1,7 +1,7 @@
_: {
flake.nixosModules.rss = {pkgs, ...}: {
environment.systemPackages = with pkgs; [
nom
newsflash
];
};
}
BIN
View File
Binary file not shown.
+9
View File
@@ -0,0 +1,9 @@
let
backupAgeKey = "age1y4lhpk7awhjyu42p46ulg5q2c49r2lnwu8tyyk4ejj6jztd64uksfhd670";
laptopHostKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJCsewl8ZXXMjRyO20cBIiuW2gA4mGoMkxQ0dcMyNidR root@nixos";
in {
"ntfy.age".publicKeys = [
backupAgeKey
laptopHostKey
];
}