mirror of
https://github.com/tomasriveral/nixos.git
synced 2026-10-13 17:53:03 +02:00
Compare commits
57
Commits
desktop
...
ec22349a7a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec22349a7a | ||
|
|
29c7a4a86c | ||
|
|
6263a11c4c | ||
|
|
1471a976f1 | ||
|
|
0ce25113e7 | ||
|
|
e49019c8ba | ||
|
|
bd85b284a6 | ||
|
|
7f2367720b | ||
|
|
14751f5cf0 | ||
|
|
419f5a6214 | ||
|
|
b5b329ab17 | ||
|
|
dc1b4caa24 | ||
|
|
c7d72333d4 | ||
|
|
04b3257c7d | ||
|
|
12bcb8ad6a | ||
|
|
229201a7c7 | ||
|
|
ace1780097 | ||
|
|
928b192611 | ||
|
|
3160e6a409 | ||
|
|
f76e16266b | ||
|
|
eec6da5803 | ||
|
|
282d076bf3 | ||
|
|
0e67b49ebd | ||
|
|
dd1c9bd990 | ||
|
|
20cef053c0 | ||
|
|
553796d6c7 | ||
|
|
63ec8d1945 | ||
|
|
588a1e77e8 | ||
|
|
eca6ad278d | ||
|
|
5e7550f6d7 | ||
|
|
abd6a6ca3c | ||
|
|
a7370a65e7 | ||
|
|
01cd080bf1 | ||
|
|
b24b16728a | ||
|
|
a80629a6e4 | ||
|
|
ff26348536 | ||
|
|
e672a99d95 | ||
|
|
35542be154 | ||
|
|
8b1e206d4f | ||
|
|
6304c65ea6 | ||
|
|
325ee56fa3 | ||
|
|
a9874f1b2a | ||
|
|
ba4f2b5bf2 | ||
|
|
72fae98a43 | ||
|
|
ab6b81a228 | ||
|
|
247ddefdc6 | ||
|
|
1a646b0c06 | ||
|
|
5d4d51b475 | ||
|
|
c6a30039e8 | ||
|
|
2b45b7f179 | ||
|
|
8268324958 | ||
|
|
2d0c655658 | ||
|
|
fb5cd58254 | ||
|
|
20ad4bb594 | ||
|
|
d83045353f | ||
|
|
806215b1b8 | ||
|
|
63baafdca6 |
No files matched your search
@@ -49,20 +49,30 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
- name: Check for existing PR
|
||||||
id: existing
|
id: existing
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
PR_NUMBER=$(gh pr list \
|
if $HAS_CHANGES; then
|
||||||
--base main \
|
PR_NUMBER=$(gh pr list \
|
||||||
--head "${{ steps.branch.outputs.source }}" \
|
--base main \
|
||||||
--state open \
|
--head "${{ steps.branch.outputs.source }}" \
|
||||||
--json number \
|
--state open \
|
||||||
--jq '.[0].number // empty')
|
--json number \
|
||||||
|
--jq '.[0].number // empty')
|
||||||
|
|
||||||
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
|
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Create PR
|
- name: Create PR
|
||||||
id: create
|
id: create
|
||||||
@@ -70,28 +80,31 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
gh pr create \
|
if $HAS_CHANGES; then
|
||||||
--base main \
|
gh pr create \
|
||||||
--head "${{ steps.branch.outputs.source }}" \
|
--base main \
|
||||||
--title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \
|
--head "${{ steps.branch.outputs.source }}" \
|
||||||
--body "This pull request was created automatically by GitHub Actions."
|
--title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \
|
||||||
|
--body "This pull request was created automatically by GitHub Actions."
|
||||||
|
|
||||||
PR_NUMBER=$(gh pr list \
|
PR_NUMBER=$(gh pr list \
|
||||||
--base main \
|
--base main \
|
||||||
--head "${{ steps.branch.outputs.source }}" \
|
--head "${{ steps.branch.outputs.source }}" \
|
||||||
--state open \
|
--state open \
|
||||||
--json number \
|
--json number \
|
||||||
--jq '.[0].number')
|
--jq '.[0].number')
|
||||||
|
|
||||||
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
|
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
- name: Determine PR number
|
- name: Determine PR number
|
||||||
id: pr
|
id: pr
|
||||||
run: |
|
run: |
|
||||||
if [ -n "${{ steps.existing.outputs.number }}" ]; then
|
if $HAS_CHANGES; then
|
||||||
echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT"
|
if [ -n "${{ steps.existing.outputs.number }}" ]; then
|
||||||
else
|
echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT"
|
else
|
||||||
|
echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Enable auto-merge
|
- name: Enable auto-merge
|
||||||
@@ -99,7 +112,9 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
gh pr merge \
|
if $HAS_CHANGES; then
|
||||||
"${{ steps.pr.outputs.number }}" \
|
gh pr merge \
|
||||||
--auto \
|
"${{ steps.pr.outputs.number }}" \
|
||||||
--merge
|
--auto \
|
||||||
|
--merge
|
||||||
|
fi
|
||||||
Generated
+106
-43
@@ -1,5 +1,30 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"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": {
|
"caelestia-cli": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"caelestia-shell": [
|
"caelestia-shell": [
|
||||||
@@ -11,11 +36,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780375472,
|
"lastModified": 1785555198,
|
||||||
"narHash": "sha256-Q8RAJoYlakA6B2I5DVcuxzNbhCNU1nnIjqQZYP1KGrM=",
|
"narHash": "sha256-qR5i58eQTPUYeqvm4OD1pYYDwYjJWuSdCp+0RVlJj/M=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "cli",
|
"repo": "cli",
|
||||||
"rev": "d1c8c8fc09738d1b40576e97c274b4a11a2e0ac7",
|
"rev": "1a228f9b5566a6e8777a78b086284390357e3640",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -34,11 +59,11 @@
|
|||||||
"quickshell": "quickshell"
|
"quickshell": "quickshell"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781178648,
|
"lastModified": 1786013040,
|
||||||
"narHash": "sha256-z6V1T7MHShM7TfFIMCDp94Bi1Wk9LJfK96vm8YFGY5M=",
|
"narHash": "sha256-/RABHr0dLEjX0Nktpe36Wdg8IUbc3BQLu/Hm4DOmPNI=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "shell",
|
"repo": "shell",
|
||||||
"rev": "a16c957a8bd13e0cfd09928ca0a22fecd3681e44",
|
"rev": "94d5eb9e6fe9c6b1f69e663d9ed410a441e2d67f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -47,6 +72,28 @@
|
|||||||
"type": "github"
|
"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": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -72,12 +119,12 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778716662,
|
"lastModified": 1785627969,
|
||||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
|
||||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
|
||||||
"revCount": 475,
|
"revCount": 483,
|
||||||
"type": "tarball",
|
"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": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
@@ -86,7 +133,7 @@
|
|||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
@@ -108,11 +155,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781319724,
|
"lastModified": 1785119570,
|
||||||
"narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=",
|
"narHash": "sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae",
|
"rev": "d4fd24667c8cbef124bb70a20380cab75ec8474d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -124,11 +171,11 @@
|
|||||||
},
|
},
|
||||||
"import-tree": {
|
"import-tree": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778781969,
|
"lastModified": 1784254960,
|
||||||
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
|
"narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=",
|
||||||
"owner": "vic",
|
"owner": "vic",
|
||||||
"repo": "import-tree",
|
"repo": "import-tree",
|
||||||
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
|
"rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -164,11 +211,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780928816,
|
"lastModified": 1781373243,
|
||||||
"narHash": "sha256-s4wU4nfs8xsXvwPtD0yebTPaOgmtDesmEvWuKFES6cE=",
|
"narHash": "sha256-CpZ5FEU1BtW6K4FywtCCE2wJs6R/Ifps3etRDh8NJ9w=",
|
||||||
"owner": "tomasriveral",
|
"owner": "tomasriveral",
|
||||||
"repo": "nix-git-cherry-picker",
|
"repo": "nix-git-cherry-picker",
|
||||||
"rev": "785b747ebca67f3e11b49ef5a85f9d3635bfe85d",
|
"rev": "9865dba535620831ae7cab395bf404f8f464df0e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -179,11 +226,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780902259,
|
"lastModified": 1785989512,
|
||||||
"narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
|
"narHash": "sha256-HFQhkQcl5D1hUNoen3SGHCSFCt2Bg6uP+HgbrnA3InQ=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
|
"rev": "445d861c6d31b4af0c79d8d4be2331f762a361d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -195,11 +242,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777168982,
|
"lastModified": 1785031560,
|
||||||
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
|
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
|
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -218,11 +265,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781273662,
|
"lastModified": 1785077063,
|
||||||
"narHash": "sha256-50dd7Cs1mUHq1srw7UojdzCYOB4TfrIXMv7XHHPU9zw=",
|
"narHash": "sha256-rJxX9Mq16TOiIlf+nNR4SaLsWf1yII8xsQpJUNio3Yg=",
|
||||||
"owner": "tomasriveral",
|
"owner": "tomasriveral",
|
||||||
"repo": "nixpkgs-notifier",
|
"repo": "nixpkgs-notifier",
|
||||||
"rev": "12183f26e8b196d9906f82dc05f9672793c61038",
|
"rev": "39a89ffbdc49cc9ab6f67bc4be7ea2f7d3e2b38c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -233,11 +280,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781268102,
|
"lastModified": 1785975029,
|
||||||
"narHash": "sha256-Zn5KTggEmUB3lXn/ccERNcBdddE6IaOFber9dWViWDg=",
|
"narHash": "sha256-X44cn5rzytELc3NNoQsh0aLkjWA/QzPfc6HPQmsG3sU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "49a4bd0573c376468dd7996ddb6f9fa31d8c4d97",
|
"rev": "70ce234312134a463ba7728e94da2486a1d237ac",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -257,11 +304,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780908812,
|
"lastModified": 1785748317,
|
||||||
"narHash": "sha256-syxEJP0NNgVZYHp/zRVuz32VYf+ULD9itZk7V06SCos=",
|
"narHash": "sha256-SVFtpKh2YPsK/8l8kmPi/dLk1x9BJop/UeZUmMxOghg=",
|
||||||
"owner": "tomasriveral",
|
"owner": "tomasriveral",
|
||||||
"repo": "notewrapper",
|
"repo": "notewrapper",
|
||||||
"rev": "e670ef935f0dd87dc8a8c6982147a9b8dce7565e",
|
"rev": "3f9471531d00bdcbef51f8dad869a5b974dad4d6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -281,11 +328,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781158593,
|
"lastModified": 1785671282,
|
||||||
"narHash": "sha256-zxlheX4o1MK00dkYzoXm7Srj5SD9iOCSp4N7f1iShr0=",
|
"narHash": "sha256-xNA8ntAtz0fYJwnDhI4y90CME1GFHH1mO4r1syrFRHI=",
|
||||||
"owner": "r14dd",
|
"owner": "r14dd",
|
||||||
"repo": "patent",
|
"repo": "patent",
|
||||||
"rev": "68772d068088d62a030619090959165af5e71ed1",
|
"rev": "71f5e0e19d617cd2e7ef58562326bd769a2b34f3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -302,11 +349,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780303737,
|
"lastModified": 1785134238,
|
||||||
"narHash": "sha256-7HgdJBG4BgAPDyHKKxWtxj7nziqsQo6zQCXtwy+L9fs=",
|
"narHash": "sha256-bv5gar+ZAXZCJH7UOv0eRFILKt5RKA/3px/XbVR98Cg=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "b66495fcc5022681b56b61f928c7acbe910e722c",
|
"rev": "43d4fa9e883cb03239b3d578c9c57070f4fbd281",
|
||||||
"revCount": 821,
|
"revCount": 834,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
},
|
},
|
||||||
@@ -317,6 +364,7 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"agenix": "agenix",
|
||||||
"caelestia-shell": "caelestia-shell",
|
"caelestia-shell": "caelestia-shell",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
@@ -369,6 +417,21 @@
|
|||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"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",
|
"root": "root",
|
||||||
|
|||||||
@@ -47,6 +47,11 @@
|
|||||||
url = "github:nix-community/disko";
|
url = "github:nix-community/disko";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
agenix = {
|
||||||
|
url = "github:ryantm/agenix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.home-manager.follows = "home-manager";
|
||||||
|
};
|
||||||
/*
|
/*
|
||||||
microPlugins-vivify = {
|
microPlugins-vivify = {
|
||||||
url = "git+https://codeberg.org/gibbert/micro-vivify";
|
url = "git+https://codeberg.org/gibbert/micro-vivify";
|
||||||
@@ -70,7 +75,8 @@
|
|||||||
"steam"
|
"steam"
|
||||||
"steam-unwrapped"
|
"steam-unwrapped"
|
||||||
"cheatsheet.nvim"
|
"cheatsheet.nvim"
|
||||||
"zoom-us" "zoom"
|
"zoom-us"
|
||||||
|
"zoom"
|
||||||
];
|
];
|
||||||
mkUnfreePredicate = pkg:
|
mkUnfreePredicate = pkg:
|
||||||
builtins.elem (inputs.nixpkgs.lib.getName pkg) unfreePkgs;
|
builtins.elem (inputs.nixpkgs.lib.getName pkg) unfreePkgs;
|
||||||
|
|||||||
@@ -164,6 +164,10 @@
|
|||||||
install_url = "https://addons.mozilla.org/firefox/downloads/file/4790089/consumer_rights_wiki-latest.xpi";
|
install_url = "https://addons.mozilla.org/firefox/downloads/file/4790089/consumer_rights_wiki-latest.xpi";
|
||||||
installation_mode = "force_installed";
|
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;
|
DisableTelemetry = true;
|
||||||
DisableFirefoxStudies = true;
|
DisableFirefoxStudies = true;
|
||||||
@@ -344,12 +348,6 @@
|
|||||||
keyword = "nixpkgs tracker";
|
keyword = "nixpkgs tracker";
|
||||||
url = "https://nixpk.gs/pr-tracker.html";
|
url = "https://nixpk.gs/pr-tracker.html";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
name = "fahrlehrer";
|
|
||||||
tags = ["theorie" "fahrlehrer" "conduite"];
|
|
||||||
keyword = "fahrlehrer24";
|
|
||||||
url = "https://app.fahrlehrer24.ch/";
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
name = "cogito";
|
name = "cogito";
|
||||||
tags = ["cogito" "esprit" "critique"];
|
tags = ["cogito" "esprit" "critique"];
|
||||||
@@ -398,6 +396,12 @@
|
|||||||
keyword = "rryan-tm logs";
|
keyword = "rryan-tm logs";
|
||||||
url = "https://nixpkgs-update-logs.nix-community.org";
|
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 = {
|
search = {
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"qtbatticon" # custom battery tray
|
"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 = [
|
monitor = [
|
||||||
"eDP-1, highres@highrr, 0x0, 1"
|
"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"
|
"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:
|
# 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
|
#!/etc/profiles/per-user/tomasr/bin/zsh
|
||||||
if ! icloudpd --auth-only --username tomas.rivera_2009@icloud.com --dry-run; then
|
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"
|
notify-send "icloudpd is not logged in" "Please run icloudpd icloudpd --username my@email.address --password my_password --auth-only"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
icloudpd --directory ~/hdd/kdrive/Photo/IPhone/icloudpd-backup --username tomas.rivera_2009@icloud.com --watch-with-interval 3600 --no-progress-bar
|
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";
|
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
wayland.windowManager.hyprland.plugins = [
|
wayland.windowManager.hyprland.plugins = [
|
||||||
#pkgs-unstable.hyprlandPlugins.hyprspace # currently broken
|
#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.configType = "hyprlang";
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
@@ -226,7 +225,7 @@
|
|||||||
*/
|
*/
|
||||||
# pos 4 1 notification center.
|
# pos 4 1 notification center.
|
||||||
"Ctrl+Alt, 1, exec, caelestia shell drawers toggle sidebar"
|
"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, 4, exec, caelestia shell notifs toggleDnd"
|
||||||
"Ctrl+$mod, 3, exec, pavucontrol" # pos 1 2 audiocontrol
|
"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
|
"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
|
||||||
@@ -289,13 +288,12 @@
|
|||||||
"custom-checkKdrive && custom-mountkdrive" # checks if the remote works and mount it
|
"custom-checkKdrive && custom-mountkdrive" # checks if the remote works and mount it
|
||||||
#"waybar"
|
#"waybar"
|
||||||
"custom-gitnotify"
|
"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/)
|
#"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
|
#"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 4 & caelestia-shell" #works better if it sleeps a bit before
|
||||||
"sleep 20 && ngcp pull --automatic" # see github.com/tomasriveral/nix-git-cherry-picker
|
"sleep 20 && ngcp pull --automatic" # see github.com/tomasriveral/nix-git-cherry-picker
|
||||||
"rm ~/.cache/hypr-battery-saver"
|
#"rm ~/.cache/hypr-battery-saver"
|
||||||
"rm ~/.cache/hypr-battery-saver.brightness"
|
#"rm ~/.cache/hypr-battery-saver.brightness"
|
||||||
/*
|
/*
|
||||||
We stopped using that ######################### maybe we should desactivate those scripts
|
We stopped using that ######################### maybe we should desactivate those scripts
|
||||||
# login autostart
|
# login autostart
|
||||||
|
|||||||
@@ -35,8 +35,8 @@
|
|||||||
CPUWeight = 1; # minimum relative CPU share
|
CPUWeight = 1; # minimum relative CPU share
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systemd.user.timers.kdrive-sync = {
|
systemd.user.timers.kdrive-sync = {
|
||||||
wantedBy = [ "timers.target" ];
|
wantedBy = ["timers.target"];
|
||||||
timerConfig = {
|
timerConfig = {
|
||||||
OnBootSec = "10m";
|
OnBootSec = "10m";
|
||||||
OnUnitActiveSec = "1h";
|
OnUnitActiveSec = "1h";
|
||||||
@@ -48,11 +48,12 @@
|
|||||||
name = "custom-checkKdrive";
|
name = "custom-checkKdrive";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
rclone
|
rclone
|
||||||
matrix-commander-rs
|
curl
|
||||||
libnotify
|
libnotify
|
||||||
];
|
];
|
||||||
text = ''
|
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
|
# 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 || \
|
until ping -c1 -W1 1.1.1.1 >/dev/null 2>&1 || \
|
||||||
ping -c1 -W1 8.8.8.8 >/dev/null 2>&1
|
ping -c1 -W1 8.8.8.8 >/dev/null 2>&1
|
||||||
@@ -72,9 +73,11 @@
|
|||||||
else
|
else
|
||||||
echo "kdrive rclone failed with error: $output"
|
echo "kdrive rclone failed with error: $output"
|
||||||
notify-send "rclone kdrive failed" "$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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-d "Rclone couldnt access kdrive (rclone lsd kdrive). Error: $output" \
|
||||||
|
-H "Title: Rclone kdrive" \
|
||||||
|
"$NTFY_SERVER/Alerts"
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -53,6 +53,8 @@ _: {
|
|||||||
pkgs-unstable.vimPlugins.nvim-treesitter-parsers.printf
|
pkgs-unstable.vimPlugins.nvim-treesitter-parsers.printf
|
||||||
pkgs-unstable.vimPlugins.nvim-treesitter-parsers.python
|
pkgs-unstable.vimPlugins.nvim-treesitter-parsers.python
|
||||||
pkgs-unstable.vimPlugins.nvim-treesitter-parsers.sparql
|
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.telescope-nvim
|
||||||
pkgs-unstable.vimPlugins.nvim-scrollbar
|
pkgs-unstable.vimPlugins.nvim-scrollbar
|
||||||
pkgs-unstable.vimPlugins.promise-async
|
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
|
-- DASHBOARD
|
||||||
-- =========================
|
-- =========================
|
||||||
@@ -474,7 +476,12 @@ _: {
|
|||||||
-- =========================
|
-- =========================
|
||||||
require('lualine').setup { options = { theme = "gruvbox_dark" } }
|
require('lualine').setup { options = { theme = "gruvbox_dark" } }
|
||||||
|
|
||||||
|
-- ==================
|
||||||
|
-- lean
|
||||||
|
-- ==================
|
||||||
|
require('lean').setup({
|
||||||
|
mappings = true,
|
||||||
|
})
|
||||||
--==================0
|
--==================0
|
||||||
-- Some utils
|
-- Some utils
|
||||||
--==================
|
--==================
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{inputs, ...}: {
|
{inputs, ...}: {
|
||||||
flake.homeModules.notewrapper = {pkgs, ...}: {
|
flake.homeModules.laptop-notewrapper = {pkgs, ...}: {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
inputs.notewrapper.packages.${pkgs.system}.default
|
inputs.notewrapper.packages.${pkgs.system}.default
|
||||||
];
|
];
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
force = true;
|
force = true;
|
||||||
text = ''
|
text = ''
|
||||||
{
|
{
|
||||||
"directory": ["~/Documents/Notes/", "~/test/"],
|
"directory": ["~/kdrive/Notes/"],
|
||||||
"render": true,
|
"render": true,
|
||||||
"jumpToEndOfFileOnLaunch": true,
|
"jumpToEndOfFileOnLaunch": true,
|
||||||
"editor": "neovim",
|
"editor": "neovim",
|
||||||
@@ -16,7 +16,36 @@
|
|||||||
"dateEntry": "# %Y %m %d %a",
|
"dateEntry": "# %Y %m %d %a",
|
||||||
"newLineOnOpening": true,
|
"newLineOnOpening": true,
|
||||||
"backup": {
|
"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": {
|
"directory": {
|
||||||
"~/Documents/Notes/": "~/kdrive/Notes/",
|
"~/Documents/Notes/": "~/kdrive/Notes/",
|
||||||
"~/test/": "~/backupTest/"
|
"~/test/": "~/backupTest/"
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
_: {
|
||||||
|
flake.homeModules.tmux = _: {
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
clock24 = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -88,6 +88,7 @@ _: {
|
|||||||
nnvim = "nvim";
|
nnvim = "nvim";
|
||||||
nvvim = "nvim";
|
nvvim = "nvim";
|
||||||
nviim = "nvim";
|
nviim = "nvim";
|
||||||
|
hledger-ui = "puffin";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -36,7 +36,8 @@
|
|||||||
services.system76-scheduler.settings.cfsProfiles.enable = true; # Better scheduling for CPU cycles - thanks System76!!!
|
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.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.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)
|
enable = true; # Enable TLP (better than gnomes internal power manager)
|
||||||
settings = {
|
settings = {
|
||||||
CPU_BOOST_ON_AC = 1;
|
CPU_BOOST_ON_AC = 1;
|
||||||
@@ -51,7 +52,8 @@
|
|||||||
PLATFORM_PROFILE_ON_BAT = "powersave";
|
PLATFORM_PROFILE_ON_BAT = "powersave";
|
||||||
STOP_CHARGE_THRESH_BAT1 = 80;
|
STOP_CHARGE_THRESH_BAT1 = 80;
|
||||||
};
|
};
|
||||||
};*/
|
};
|
||||||
|
*/
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
self.packages.${pkgs.system}.custom-performance
|
self.packages.${pkgs.system}.custom-performance
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ _: {
|
|||||||
flake.nixosModules.hardwareUtils-laptop = {pkgs, ...}: {
|
flake.nixosModules.hardwareUtils-laptop = {pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# used for the framework 16 laptop
|
# used for the framework 16 laptop
|
||||||
framework-tool
|
#framework-tool
|
||||||
framework-tool-tui
|
#framework-tool-tui
|
||||||
vial # Open-source GUI and QMK fork for configuring your keyboard in real time
|
vial # Open-source GUI and QMK fork for configuring your keyboard in real time
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
_: {
|
||||||
|
flake.nixosModules.onxyboox = {pkgs, ...}: {
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gvfs
|
||||||
|
calibre
|
||||||
|
kdePackages.kio-extras
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{self, ...}: {
|
{self, ...}: {
|
||||||
flake.nixosModules.performance-desktop = {pkgs,...}: {
|
flake.nixosModules.performance-desktop = {pkgs, ...}: {
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
self.packages.${pkgs.system}.custom-performance
|
self.packages.${pkgs.system}.custom-performance
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -30,13 +30,15 @@
|
|||||||
games
|
games
|
||||||
hardware-configuration-desktop
|
hardware-configuration-desktop
|
||||||
hdd
|
hdd
|
||||||
|
hledger
|
||||||
|
hledger-desktop
|
||||||
hyprland
|
hyprland
|
||||||
IO
|
IO
|
||||||
kdrive-desktop # we will setup this later
|
kdrive-desktop # we will setup this later
|
||||||
latex
|
latex
|
||||||
ly
|
ly
|
||||||
mathematics
|
mathematics
|
||||||
mullvad
|
#mullvad #temporarly broken
|
||||||
networking
|
networking
|
||||||
nixUtils
|
nixUtils
|
||||||
notifications
|
notifications
|
||||||
@@ -66,10 +68,10 @@
|
|||||||
hyprland-desktop
|
hyprland-desktop
|
||||||
kitty
|
kitty
|
||||||
librewolf
|
librewolf
|
||||||
mullvad
|
#mullvad #temporarly broken
|
||||||
neovim
|
neovim
|
||||||
nix-git-cherry-picker-desktop
|
nix-git-cherry-picker-desktop
|
||||||
notewrapper
|
desktop-notewrapper
|
||||||
oh-my-zsh
|
oh-my-zsh
|
||||||
ripgrep
|
ripgrep
|
||||||
rofi
|
rofi
|
||||||
@@ -78,6 +80,7 @@
|
|||||||
swaync # used in performance mode
|
swaync # used in performance mode
|
||||||
thunderbird
|
thunderbird
|
||||||
tomasr
|
tomasr
|
||||||
|
tmux
|
||||||
vivify
|
vivify
|
||||||
waybar-minimal # used in performance mode
|
waybar-minimal # used in performance mode
|
||||||
zoxide
|
zoxide
|
||||||
@@ -130,7 +133,7 @@
|
|||||||
home.homeDirectory = "/home/tomasr";
|
home.homeDirectory = "/home/tomasr";
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "neovim";
|
EDITOR = "nvim";
|
||||||
TERMINAL = "kitty";
|
TERMINAL = "kitty";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
inherit (self) pkgs-unstable pkgs-local pkgs-master;
|
inherit (self) pkgs-unstable pkgs-local pkgs-master;
|
||||||
};
|
};
|
||||||
modules = with self.nixosModules; [
|
modules = with self.nixosModules; [
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
agenix
|
||||||
# important do not remove
|
# important do not remove
|
||||||
home-manager-laptop
|
home-manager-laptop
|
||||||
laptop
|
laptop
|
||||||
@@ -18,7 +20,7 @@
|
|||||||
audioAndMedia
|
audioAndMedia
|
||||||
autoCleanup-laptop
|
autoCleanup-laptop
|
||||||
autoUpdate-laptop
|
autoUpdate-laptop
|
||||||
battery-laptop
|
#battery-laptop
|
||||||
bluetooth
|
bluetooth
|
||||||
bootloader
|
bootloader
|
||||||
browsers
|
browsers
|
||||||
@@ -31,18 +33,21 @@
|
|||||||
gitBackup
|
gitBackup
|
||||||
hardware-configuration-laptop
|
hardware-configuration-laptop
|
||||||
hardwareUtils-laptop
|
hardwareUtils-laptop
|
||||||
|
hledger
|
||||||
|
hledger-laptop
|
||||||
hyprland
|
hyprland
|
||||||
IO
|
IO
|
||||||
kdrive-laptop
|
kdrive-laptop
|
||||||
latex
|
latex
|
||||||
ly
|
ly
|
||||||
mathematics
|
mathematics
|
||||||
mullvad
|
#mullvad #temporarly broken
|
||||||
networking
|
networking
|
||||||
nixUtils-laptop
|
nixUtils-laptop
|
||||||
nixUtils
|
nixUtils
|
||||||
notifications
|
notifications
|
||||||
office
|
office
|
||||||
|
onxyboox
|
||||||
#ollama
|
#ollama
|
||||||
otherUtils
|
otherUtils
|
||||||
printer
|
printer
|
||||||
@@ -67,10 +72,10 @@
|
|||||||
hyprland-laptop
|
hyprland-laptop
|
||||||
kitty
|
kitty
|
||||||
librewolf
|
librewolf
|
||||||
mullvad
|
#mullvad #temporarly broken
|
||||||
neovim
|
neovim
|
||||||
nix-git-cherry-picker-laptop
|
nix-git-cherry-picker-laptop
|
||||||
notewrapper
|
laptop-notewrapper
|
||||||
oh-my-zsh
|
oh-my-zsh
|
||||||
ripgrep
|
ripgrep
|
||||||
rofi
|
rofi
|
||||||
@@ -78,6 +83,7 @@
|
|||||||
ssh
|
ssh
|
||||||
swaync # used in performance mode
|
swaync # used in performance mode
|
||||||
thunderbird
|
thunderbird
|
||||||
|
tmux
|
||||||
tomasr
|
tomasr
|
||||||
vivify
|
vivify
|
||||||
waybar-minimal # used in performance mode
|
waybar-minimal # used in performance mode
|
||||||
@@ -126,8 +132,10 @@
|
|||||||
home.homeDirectory = "/home/tomasr";
|
home.homeDirectory = "/home/tomasr";
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "neovim";
|
EDITOR = "nvim";
|
||||||
TERMINAL = "kitty";
|
TERMINAL = "kitty";
|
||||||
|
SYSTEMD_PAGER = "cat";
|
||||||
|
PAGER = "cat";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Required for Home Manager
|
# Required for Home Manager
|
||||||
|
|||||||
@@ -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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
self.packages.${pkgs.system}.custom-changeAudioOutput
|
self.packages.${pkgs.system}.custom-changeAudioOutput
|
||||||
kdePackages.okular
|
kdePackages.okular
|
||||||
kdePackages.dolphin
|
kdePackages.dolphin
|
||||||
|
kdePackages.ark
|
||||||
pulseaudio # sound server
|
pulseaudio # sound server
|
||||||
playerctl # controls media player
|
playerctl # controls media player
|
||||||
pavucontrol # PulseAudio Volume Control
|
pavucontrol # PulseAudio Volume Control
|
||||||
|
|||||||
@@ -2,8 +2,12 @@
|
|||||||
flake.nixosModules.autoCleanup-laptop = {
|
flake.nixosModules.autoCleanup-laptop = {
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-unstable,
|
pkgs-unstable,
|
||||||
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
age.secrets.ntfy = {
|
||||||
|
file = ../../secrets/ntfy.age;
|
||||||
|
};
|
||||||
# Ensure your script is available system-wide
|
# Ensure your script is available system-wide
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
self.packages.${pkgs.system}.custom-cleanNix-laptop
|
self.packages.${pkgs.system}.custom-cleanNix-laptop
|
||||||
@@ -17,6 +21,9 @@
|
|||||||
description = "NixOS configuration auto cleanup";
|
description = "NixOS configuration auto cleanup";
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
Environment = [
|
||||||
|
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
|
||||||
|
];
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
|
|
||||||
ExecStart = "/run/current-system/sw/bin/custom-cleanNix";
|
ExecStart = "/run/current-system/sw/bin/custom-cleanNix";
|
||||||
@@ -54,8 +61,12 @@
|
|||||||
flake.nixosModules.autoCleanup-desktop = {
|
flake.nixosModules.autoCleanup-desktop = {
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-unstable,
|
pkgs-unstable,
|
||||||
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
age.secrets.ntfy = {
|
||||||
|
file = ../../secrets/ntfy.age;
|
||||||
|
};
|
||||||
# Ensure your script is available system-wide
|
# Ensure your script is available system-wide
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
self.packages.${pkgs.system}.custom-cleanNix-desktop
|
self.packages.${pkgs.system}.custom-cleanNix-desktop
|
||||||
@@ -69,6 +80,9 @@
|
|||||||
description = "NixOS configuration auto cleanup";
|
description = "NixOS configuration auto cleanup";
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
Environment = [
|
||||||
|
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
|
||||||
|
];
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
|
|
||||||
ExecStart = "/run/current-system/sw/bin/custom-cleanNix";
|
ExecStart = "/run/current-system/sw/bin/custom-cleanNix";
|
||||||
@@ -108,14 +122,18 @@
|
|||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
git
|
git
|
||||||
nixos-rebuild
|
nixos-rebuild
|
||||||
matrix-commander-rs
|
curl
|
||||||
libnotify
|
libnotify
|
||||||
alejandra
|
alejandra
|
||||||
deadnix
|
deadnix
|
||||||
|
statix
|
||||||
];
|
];
|
||||||
|
|
||||||
text = ''
|
text = ''
|
||||||
set -e
|
set -ex
|
||||||
|
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
source "$NTFY_SECRET"
|
||||||
|
|
||||||
FLAKE_DIR="/home/tomasr/nixos"
|
FLAKE_DIR="/home/tomasr/nixos"
|
||||||
FLAKE="$FLAKE_DIR#laptop"
|
FLAKE="$FLAKE_DIR#laptop"
|
||||||
@@ -139,7 +157,7 @@
|
|||||||
alejandra "$FLAKE_DIR" # formats the config
|
alejandra "$FLAKE_DIR" # formats the config
|
||||||
echo "--------------------------------------------------------------"
|
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
|
if ! git -C "$FLAKE_DIR" diff --quiet HEAD; then
|
||||||
git -C "$FLAKE_DIR" add -A
|
git -C "$FLAKE_DIR" add -A
|
||||||
@@ -148,9 +166,11 @@
|
|||||||
|
|
||||||
notify-send "Nix auto cleanup" "Everything OK"
|
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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-d "Everything OK" \
|
||||||
|
-H "Title: Laptop Nix auto cleanup" \
|
||||||
|
"$NTFY_SERVER/Alerts"
|
||||||
else
|
else
|
||||||
notify-send "Nix auto cleanup" "No changes"
|
notify-send "Nix auto cleanup" "No changes"
|
||||||
git -C "$FLAKE_DIR" push
|
git -C "$FLAKE_DIR" push
|
||||||
@@ -161,9 +181,11 @@
|
|||||||
|
|
||||||
notify-send -u critical "Nix auto cleanup" "FAILED"
|
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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-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"
|
git -C "$FLAKE_DIR" reset --hard "pre-cleanup-$TIME"
|
||||||
fi
|
fi
|
||||||
@@ -178,14 +200,18 @@
|
|||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
git
|
git
|
||||||
nixos-rebuild
|
nixos-rebuild
|
||||||
matrix-commander-rs
|
curl
|
||||||
libnotify
|
libnotify
|
||||||
alejandra
|
alejandra
|
||||||
deadnix
|
deadnix
|
||||||
|
statix
|
||||||
];
|
];
|
||||||
|
|
||||||
text = ''
|
text = ''
|
||||||
set -e
|
set -ex
|
||||||
|
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
source "$NTFY_SECRET"
|
||||||
|
|
||||||
FLAKE_DIR="/home/tomasr/nixos"
|
FLAKE_DIR="/home/tomasr/nixos"
|
||||||
FLAKE="$FLAKE_DIR#desktop"
|
FLAKE="$FLAKE_DIR#desktop"
|
||||||
@@ -209,7 +235,7 @@
|
|||||||
alejandra "$FLAKE_DIR" # formats the config
|
alejandra "$FLAKE_DIR" # formats the config
|
||||||
echo "--------------------------------------------------------------"
|
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
|
if ! git -C "$FLAKE_DIR" diff --quiet HEAD; then
|
||||||
git -C "$FLAKE_DIR" add -A
|
git -C "$FLAKE_DIR" add -A
|
||||||
@@ -218,9 +244,11 @@
|
|||||||
|
|
||||||
notify-send "Nix auto cleanup" "Everything OK"
|
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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-d "Everything OK" \
|
||||||
|
-H "Title: Desktop Nix auto cleanup" \
|
||||||
|
"$NTFY_SERVER/Alerts"
|
||||||
else
|
else
|
||||||
notify-send "Nix auto cleanup" "No changes"
|
notify-send "Nix auto cleanup" "No changes"
|
||||||
git -C "$FLAKE_DIR" push
|
git -C "$FLAKE_DIR" push
|
||||||
@@ -231,9 +259,11 @@
|
|||||||
|
|
||||||
notify-send -u critical "Nix auto cleanup" "FAILED"
|
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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-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"
|
git -C "$FLAKE_DIR" reset --hard "pre-cleanup-$TIME"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
{self, ...}: {
|
{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
|
# Ensure your script is available system-wide
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
self.packages.${pkgs.system}.custom-autoupdate-laptop
|
self.packages.${pkgs.system}.custom-autoupdate-laptop
|
||||||
@@ -12,6 +19,9 @@
|
|||||||
description = "NixOS flake auto update";
|
description = "NixOS flake auto update";
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
Environment = [
|
||||||
|
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
|
||||||
|
];
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
|
|
||||||
ExecStart = "/run/current-system/sw/bin/custom-autoupdate";
|
ExecStart = "/run/current-system/sw/bin/custom-autoupdate";
|
||||||
@@ -46,7 +56,14 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
## desktop
|
## 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
|
# Ensure your script is available system-wide
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
self.packages.${pkgs.system}.custom-autoupdate-desktop
|
self.packages.${pkgs.system}.custom-autoupdate-desktop
|
||||||
@@ -59,6 +76,9 @@
|
|||||||
description = "NixOS flake auto update";
|
description = "NixOS flake auto update";
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
Environment = [
|
||||||
|
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
|
||||||
|
];
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
|
|
||||||
ExecStart = "/run/current-system/sw/bin/custom-autoupdate";
|
ExecStart = "/run/current-system/sw/bin/custom-autoupdate";
|
||||||
@@ -98,11 +118,14 @@
|
|||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
git
|
git
|
||||||
nixos-rebuild
|
nixos-rebuild
|
||||||
matrix-commander-rs
|
curl
|
||||||
libnotify
|
libnotify
|
||||||
|
nix
|
||||||
];
|
];
|
||||||
|
|
||||||
text = ''
|
text = ''
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
source "$NTFY_SECRET"
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
FLAKE_DIR="/home/tomasr/nixos"
|
FLAKE_DIR="/home/tomasr/nixos"
|
||||||
@@ -119,7 +142,7 @@
|
|||||||
# update lock only
|
# update lock only
|
||||||
nix flake update --flake "$FLAKE_DIR"
|
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
|
if ! git -C "$FLAKE_DIR" diff --quiet -- flake.lock; then
|
||||||
git -C "$FLAKE_DIR" add flake.lock
|
git -C "$FLAKE_DIR" add flake.lock
|
||||||
@@ -128,9 +151,11 @@
|
|||||||
|
|
||||||
notify-send "Flake autoupdate" "Rebuild OK"
|
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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-d "Laptop Flake rebuild successful" \
|
||||||
|
-H "Title: Flake autoupdate" \
|
||||||
|
"$NTFY_SERVER/Alerts"
|
||||||
else
|
else
|
||||||
notify-send "Flake autoupdate" "No changes"
|
notify-send "Flake autoupdate" "No changes"
|
||||||
git -C "$FLAKE_DIR" push
|
git -C "$FLAKE_DIR" push
|
||||||
@@ -141,9 +166,12 @@
|
|||||||
|
|
||||||
notify-send -u critical "Flake autoupdate" "FAILED"
|
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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-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"
|
git -C "$FLAKE_DIR" reset --hard "pre-autoupdate-$TIME"
|
||||||
fi
|
fi
|
||||||
@@ -159,11 +187,14 @@
|
|||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
git
|
git
|
||||||
nixos-rebuild
|
nixos-rebuild
|
||||||
matrix-commander-rs
|
|
||||||
libnotify
|
libnotify
|
||||||
|
curl
|
||||||
|
nix
|
||||||
];
|
];
|
||||||
|
|
||||||
text = ''
|
text = ''
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
source "$NTFY_SECRET"
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
FLAKE_DIR="/home/tomasr/nixos"
|
FLAKE_DIR="/home/tomasr/nixos"
|
||||||
@@ -180,7 +211,7 @@
|
|||||||
# update lock only
|
# update lock only
|
||||||
nix flake update --flake "$FLAKE_DIR"
|
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
|
if ! git -C "$FLAKE_DIR" diff --quiet -- flake.lock; then
|
||||||
git -C "$FLAKE_DIR" add flake.lock
|
git -C "$FLAKE_DIR" add flake.lock
|
||||||
@@ -189,9 +220,12 @@
|
|||||||
|
|
||||||
notify-send "Flake autoupdate" "Rebuild OK"
|
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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-d "Flake rebuild successful" \
|
||||||
|
-H "Title: Desktop Flake autoupdate" \
|
||||||
|
"$NTFY_SERVER/Alerts"
|
||||||
|
|
||||||
else
|
else
|
||||||
notify-send "Flake autoupdate" "No changes"
|
notify-send "Flake autoupdate" "No changes"
|
||||||
git -C "$FLAKE_DIR" push
|
git -C "$FLAKE_DIR" push
|
||||||
@@ -202,9 +236,12 @@
|
|||||||
|
|
||||||
notify-send -u critical "Flake autoupdate" "FAILED"
|
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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-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"
|
git -C "$FLAKE_DIR" reset --hard "pre-autoupdate-$TIME"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -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; [
|
environment.systemPackages = with pkgs; [
|
||||||
libnotify # Library that sends desktop notifications to a notification daemon
|
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)
|
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
|
# battery notifications
|
||||||
self.packages.${pkgs.system}.custom-batterynotify
|
self.packages.${pkgs.system}.custom-batterynotify
|
||||||
self.packages.${pkgs.system}.custom-batterywarning
|
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-gitnotify # checks if git is set up
|
||||||
self.packages.${pkgs.system}.custom-checkKdrive # check if kdrive is set up with rclone
|
self.packages.${pkgs.system}.custom-checkKdrive # check if kdrive is set up with rclone
|
||||||
zoom-us
|
zoom-us
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
perSystem = {pkgs, ...}: {
|
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 {
|
packages.custom-gitnotify = pkgs.writeShellApplication {
|
||||||
name = "custom-gitnotify";
|
name = "custom-gitnotify";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
git
|
git
|
||||||
libnotify
|
libnotify
|
||||||
|
curl
|
||||||
];
|
];
|
||||||
text = ''
|
text = ''
|
||||||
|
# shellcheck disable=SC1091
|
||||||
|
source /run/agenix/ntfy
|
||||||
|
|
||||||
# Check if git is installed
|
# Check if git is installed
|
||||||
if ! command -v git >/dev/null 2>&1; then
|
if ! command -v git >/dev/null 2>&1; then
|
||||||
exit 0
|
exit 0
|
||||||
@@ -53,9 +35,10 @@
|
|||||||
notify-send \
|
notify-send \
|
||||||
"Git not configured" \
|
"Git not configured" \
|
||||||
"Set your identity\n or remove this warning by removing the custom-gitnotify line in\n ~/nixos/modules/applications/hyprland.nix"
|
"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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-d "Git not configured" \
|
||||||
|
"$NTFY_SERVER/Alerts"
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -48,11 +48,17 @@
|
|||||||
"configFetchTime": 1,
|
"configFetchTime": 1,
|
||||||
"localNotify": true,
|
"localNotify": true,
|
||||||
"matrix": {
|
"matrix": {
|
||||||
"enable": true,
|
"enable": false,
|
||||||
"room": "!BXRRokBmEdNOyYdfOF:matrix.org",
|
"room": "!BXRRokBmEdNOyYdfOF:matrix.org",
|
||||||
"ping": true,
|
"ping": true,
|
||||||
"userPing": "@notificationbot_0000",
|
"userPing": "@notificationbot_0000",
|
||||||
"userPingServer": "matrix.org"
|
"userPingServer": "matrix.org"
|
||||||
|
},
|
||||||
|
"ntfy": {
|
||||||
|
"enable": true,
|
||||||
|
"auth": ":$NTFY_TOKEN",
|
||||||
|
"server": "$NTFY_SERVER",
|
||||||
|
"topic": "Alerts"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
{self, ...}: {
|
{self, ...}: {
|
||||||
flake.nixosModules.gitBackup = {pkgs, ...}: {
|
flake.nixosModules.gitBackup = {
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
age.secrets.ntfy = {
|
||||||
|
file = ../../secrets/ntfy.age;
|
||||||
|
};
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
self.packages.${pkgs.system}.custom-gitBackup
|
self.packages.${pkgs.system}.custom-gitBackup
|
||||||
];
|
];
|
||||||
@@ -9,6 +16,9 @@
|
|||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
|
Environment = [
|
||||||
|
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
|
||||||
|
];
|
||||||
|
|
||||||
ExecStart = "/run/current-system/sw/bin/custom-gitBackup";
|
ExecStart = "/run/current-system/sw/bin/custom-gitBackup";
|
||||||
|
|
||||||
@@ -41,11 +51,14 @@
|
|||||||
name = "custom-gitBackup";
|
name = "custom-gitBackup";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
rsync
|
rsync
|
||||||
matrix-commander-rs
|
curl
|
||||||
libnotify
|
libnotify
|
||||||
self.packages.${pkgs.system}.custom-checkKdrive
|
self.packages.${pkgs.system}.custom-checkKdrive
|
||||||
];
|
];
|
||||||
text = ''
|
text = ''
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
source "$NTFY_SECRET"
|
||||||
|
|
||||||
# checks if kdrive is available
|
# checks if kdrive is available
|
||||||
custom-checkKdrive
|
custom-checkKdrive
|
||||||
|
|
||||||
@@ -69,9 +82,11 @@
|
|||||||
notify_error() {
|
notify_error() {
|
||||||
local message="$1"
|
local message="$1"
|
||||||
notify-send "Git Backup Failed" "$message"
|
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>" \
|
curl \
|
||||||
--html \
|
-u ":$NTFY_TOKEN" \
|
||||||
-r "\!BXRRokBmEdNOyYdfOF:matrix.org"
|
-d "Git backup failed. Error: $message" \
|
||||||
|
-H "Title: Git Backup" \
|
||||||
|
"$NTFY_SERVER/Alerts"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,15 @@ _: {
|
|||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# 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.
|
# Open ports in the firewall.
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
|||||||
@@ -3,6 +3,12 @@ _: {
|
|||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
libreoffice
|
libreoffice
|
||||||
birdtray
|
birdtray
|
||||||
|
kdePackages.korganizer
|
||||||
|
#needed for korganizer
|
||||||
|
kdePackages.akonadi
|
||||||
|
kdePackages.akonadi-calendar
|
||||||
|
kdePackages.akonadi-calendar-tools
|
||||||
];
|
];
|
||||||
|
programs.kde-pim.kontact = true; # needed for korganizer
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
_: {
|
_: {
|
||||||
flake.nixosModules.rss = {pkgs, ...}: {
|
flake.nixosModules.rss = {pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
nom
|
newsflash
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
Binary file not shown.
@@ -0,0 +1,9 @@
|
|||||||
|
let
|
||||||
|
backupAgeKey = "age1y4lhpk7awhjyu42p46ulg5q2c49r2lnwu8tyyk4ejj6jztd64uksfhd670";
|
||||||
|
laptopHostKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJCsewl8ZXXMjRyO20cBIiuW2gA4mGoMkxQ0dcMyNidR root@nixos";
|
||||||
|
in {
|
||||||
|
"ntfy.age".publicKeys = [
|
||||||
|
backupAgeKey
|
||||||
|
laptopHostKey
|
||||||
|
];
|
||||||
|
}
|
||||||
Reference in new issue
Block a user