mirror of
https://github.com/tomasriveral/nixos.git
synced 2026-10-10 17:02:43 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b0c997dad | ||
|
|
21349e4585 | ||
|
|
f23ec09369 | ||
|
|
7d5ae9fa2c | ||
|
|
8f4117f3e7 | ||
|
|
bd97ba4df7 | ||
|
|
bd678ae32d | ||
|
|
9879131aca | ||
|
|
c2f733d4c9 | ||
|
|
44709a3b7c | ||
|
|
ce8c4f7d73 | ||
|
|
2f2d3cd2ba | ||
|
|
b738cbb8ef | ||
|
|
fdb4d53ec0 | ||
|
|
1a29fda1f9 | ||
|
|
b760904557 | ||
|
|
28d56cf671 | ||
|
|
4db1f329f2 | ||
|
|
7afe2cf7b6 | ||
|
|
434e6ed31d | ||
|
|
f1e266331c | ||
|
|
f745a79af8 | ||
|
|
a99cb710b3 | ||
|
|
9805986c10 | ||
|
|
bc67f2b0e8 | ||
|
|
7cd934c58c | ||
|
|
6e3286419f | ||
|
|
c7781b7483 | ||
|
|
682a5c13df | ||
|
|
82bd78bc73 | ||
|
|
1071ce70d7 | ||
|
|
1ff4785399 | ||
|
|
ed9ccd4b11 | ||
|
|
13cdae0655 | ||
|
|
d0b7183849 | ||
|
|
cea0d0e3f8 | ||
|
|
a4c66b4aff | ||
|
|
56a9bba86b | ||
|
|
1dab571e12 | ||
|
|
93f7328a3b | ||
|
|
0e222a9c50 | ||
|
|
d1125d1571 | ||
|
|
550413c6b1 | ||
|
|
b4537796a2 | ||
|
|
4c0fbc5f0e | ||
|
|
d0a9511ff7 | ||
|
|
262476404e | ||
|
|
9f9906d423 | ||
|
|
0d616266ff | ||
|
|
6b282b5344 | ||
|
|
19fd3ec35d | ||
|
|
324d54683c | ||
|
|
0030034418 | ||
|
|
fb7be79e86 | ||
|
|
5db8135dd5 | ||
|
|
2107d23209 | ||
|
|
77f4b0fc5f | ||
|
|
1642dc97ca | ||
|
|
2b59031896 | ||
|
|
d323e9f702 | ||
|
|
25813d8ab5 | ||
|
|
05ef065d75 | ||
|
|
2722840919 | ||
|
|
9e862337ca | ||
|
|
876ec4ce21 | ||
|
|
e2b7fd8a64 | ||
|
|
752957818b | ||
|
|
1c600dbf3c | ||
|
|
4a648b7f7c | ||
|
|
67d21671c5 | ||
|
|
b8d8ef1aa8 | ||
|
|
2d16f3893b | ||
|
|
2a0c85275f | ||
|
|
23a9fdd4e8 | ||
|
|
246412ae4b | ||
|
|
88eb91c780 | ||
|
|
3b73438d4f | ||
|
|
8088f78f05 | ||
|
|
3b89cf7b35 | ||
|
|
89eb25ca7d | ||
|
|
3ea36fa6bb | ||
|
|
3d468572d5 | ||
|
|
d23c6979f9 | ||
|
|
552d898680 | ||
|
|
5b7c43c8f9 | ||
|
|
f1e9c76d02 | ||
|
|
37f76a4439 | ||
|
|
143f699365 | ||
|
|
d20f0d87d5 | ||
|
|
45639e2531 | ||
|
|
2d2d4fd4a8 | ||
|
|
d49c7ba99e | ||
|
|
29554e41ca | ||
|
|
2a318bdced | ||
|
|
763bbbacd4 | ||
|
|
99f1dd3ec8 |
No files matched your search
@@ -49,30 +49,20 @@ 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: |
|
||||
if $HAS_CHANGES; then
|
||||
PR_NUMBER=$(gh pr list \
|
||||
--base main \
|
||||
--head "${{ steps.branch.outputs.source }}" \
|
||||
--state open \
|
||||
--json number \
|
||||
--jq '.[0].number // empty')
|
||||
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"
|
||||
fi
|
||||
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Create PR
|
||||
id: create
|
||||
@@ -80,31 +70,28 @@ jobs:
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
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."
|
||||
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')
|
||||
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"
|
||||
|
||||
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
- name: Determine PR number
|
||||
id: pr
|
||||
run: |
|
||||
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
|
||||
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
|
||||
|
||||
- name: Enable auto-merge
|
||||
@@ -112,9 +99,7 @@ jobs:
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
if $HAS_CHANGES; then
|
||||
gh pr merge \
|
||||
"${{ steps.pr.outputs.number }}" \
|
||||
--auto \
|
||||
--merge
|
||||
fi
|
||||
gh pr merge \
|
||||
"${{ steps.pr.outputs.number }}" \
|
||||
--auto \
|
||||
--merge
|
||||
@@ -1,5 +1,7 @@
|
||||
# NixOS Configuration
|
||||
|
||||

|
||||
|
||||
This repository contains my personal NixOS configuration.
|
||||
|
||||
The configuration uses the **[dendritic pattern](https://github.com/mightyiam/dendritic)**. Instead of keeping one large system configuration, functionality is split into smaller, composable modules. This makes it easier to reuse pieces of the configuration across hosts and to keep application, hardware, utility, and host-specific configuration separate.
|
||||
@@ -107,7 +109,7 @@ nixos/
|
||||
│ │ └── README.md
|
||||
│ ├── kblayouts/ # Keyboard and Framework macropad layouts
|
||||
│ ├── mullvad/ # Mullvad configuration
|
||||
│ └── quickshell/ # Legacy Quickshell configuration
|
||||
│ └── quickshell/ # Quickshell configuration
|
||||
│
|
||||
├── secrets/ # agenix-encrypted secrets
|
||||
├── flake.nix
|
||||
@@ -499,18 +501,16 @@ Useful command-line tools include:
|
||||
* `fastfetch`
|
||||
* `man`
|
||||
* `manix`
|
||||
* `trash`
|
||||
|
||||
`ls`. `l`, `ll` and `la` are aliased/replaced by `eza`.
|
||||
`ls` is replaced by `eza`.
|
||||
|
||||
`man` and `manix` are modified to use fzf to search for the man(ix) page. So in `man(ix) <arg>` `<arg>` will be ignored. If you want a specific man(ix) page, you can use `\man` and `\manix`.
|
||||
Common aliases include:
|
||||
|
||||
`rm` is replaced by trash-cli :
|
||||
* `rm` alias to `trash-put`
|
||||
* `rml` alias to `trash-list`
|
||||
* `rmr` alias to `trash-restore`
|
||||
* `rme` alias to `trash-empty`
|
||||
* `rmx` alias to `trash-rm` (remove individual item from the trash).
|
||||
```text
|
||||
l
|
||||
ll
|
||||
la
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -589,6 +589,15 @@ Custom scripts and packages are located in:
|
||||
```text
|
||||
modules/packages/
|
||||
```
|
||||
Examples include:
|
||||
|
||||
* `custom-colorpicker`
|
||||
* `custom-cowsay`
|
||||
* `custom-syllabes`
|
||||
* `custom-tomato`
|
||||
* `custom-weather`
|
||||
* `vivifyManuallyDerived`
|
||||
* `dejaManuallyDerived`
|
||||
|
||||
Or imported in flake.nix from other repos.
|
||||
|
||||
@@ -597,7 +606,7 @@ Examples include:
|
||||
* `custom-syllabes` A syllab counter when I write french poetry. (note: algorithmic syllab counting is pretty difficult in french, so this small scripts makes a lot of errors)
|
||||
* `ngcp` (see the [GitHub repo](https://github.com/tomasriveral/Nix-Git-Cherry-Picker)) is what i use to manage between my `laptop` and `desktop` git branch.
|
||||
* `nixpkgs-notifier` (see the [GitHub repo](https://github.com/tomasriveral/nixpkgs-notifier)) notifies my when PRs get merged to nixos-unstable.
|
||||
* `notewrapper` (see the [GitHub repo](https://github.com/tomasriveral/Notewrapper)) a notetaking/journalling TUI wrapper organizer.
|
||||
|
||||
---
|
||||
|
||||
# Applications and Desktop Environment
|
||||
|
||||
Generated
+43
-106
@@ -1,30 +1,5 @@
|
||||
{
|
||||
"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": [
|
||||
@@ -36,11 +11,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787276686,
|
||||
"narHash": "sha256-rYdGb5rKIfETdlenQRxHfg17dhf9fN8eaRryX6sztnQ=",
|
||||
"lastModified": 1781239472,
|
||||
"narHash": "sha256-WFL8jZMWNH1tx3UwaJ9aa9NN25uOEJ9mbKPRNQJY/xM=",
|
||||
"owner": "caelestia-dots",
|
||||
"repo": "cli",
|
||||
"rev": "7401d9e3a371e583bc0b42dc1a139d01e278e6c1",
|
||||
"rev": "3f3229aed4f36752a02fd870fd6cad94bd76555f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -59,11 +34,11 @@
|
||||
"quickshell": "quickshell"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787890941,
|
||||
"narHash": "sha256-j91lsxm/wuuoPPwz4RQOr520EXlHgLPWfSW0KqKsy7E=",
|
||||
"lastModified": 1781408632,
|
||||
"narHash": "sha256-kYVf3Jye4UhyBrtubYcSrmVyFv9uqOY2JvjmElFiZHE=",
|
||||
"owner": "caelestia-dots",
|
||||
"repo": "shell",
|
||||
"rev": "1b7052d108677a7ca0d3d3365511bfe8281a6868",
|
||||
"rev": "f86c359cd90530bacc800e94e35ffbebecd3f58f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -72,28 +47,6 @@
|
||||
"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": [
|
||||
@@ -119,12 +72,12 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787559586,
|
||||
"narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=",
|
||||
"rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1",
|
||||
"revCount": 489,
|
||||
"lastModified": 1778716662,
|
||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||
"revCount": 475,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.489%2Brev-9d0d87172c374f89da73c1cfe6d81ae62feac1f1/01a034df-3c80-7cd2-a669-be2243c45202/source.tar.gz"
|
||||
"url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.475%2Brev-f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb/019e2533-0324-7e90-93eb-29b02e1a61cd/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
@@ -133,7 +86,7 @@
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -155,11 +108,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787377438,
|
||||
"narHash": "sha256-Sxu1NLTD/Ern6hFGLlZmtKCSct3YQXZI/lls8RE1XeM=",
|
||||
"lastModified": 1781319724,
|
||||
"narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "65258d5c65a250189fde2e35f490d15e064c4c62",
|
||||
"rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -171,11 +124,11 @@
|
||||
},
|
||||
"import-tree": {
|
||||
"locked": {
|
||||
"lastModified": 1784254960,
|
||||
"narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=",
|
||||
"lastModified": 1778781969,
|
||||
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
|
||||
"owner": "vic",
|
||||
"repo": "import-tree",
|
||||
"rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69",
|
||||
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -211,11 +164,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1786462419,
|
||||
"narHash": "sha256-A7Q3UIyzDg1O54E0W6HOQIzvsVJq/rMuelJR+ELLRvI=",
|
||||
"lastModified": 1781373243,
|
||||
"narHash": "sha256-CpZ5FEU1BtW6K4FywtCCE2wJs6R/Ifps3etRDh8NJ9w=",
|
||||
"owner": "tomasriveral",
|
||||
"repo": "nix-git-cherry-picker",
|
||||
"rev": "aec69257dc9b68d875333ec9f4a7b310d878abd1",
|
||||
"rev": "9865dba535620831ae7cab395bf404f8f464df0e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -226,11 +179,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1787848966,
|
||||
"narHash": "sha256-7gDpu5hpq0rOYnYMcOWqSzquK4HA/xU8Xf3CjUBOOJA=",
|
||||
"lastModified": 1781216227,
|
||||
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d57af924f160a5084293c71c2043f058bd1cdb60",
|
||||
"rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -242,11 +195,11 @@
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1785031560,
|
||||
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
|
||||
"lastModified": 1777168982,
|
||||
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
|
||||
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -265,11 +218,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785077063,
|
||||
"narHash": "sha256-rJxX9Mq16TOiIlf+nNR4SaLsWf1yII8xsQpJUNio3Yg=",
|
||||
"lastModified": 1781273662,
|
||||
"narHash": "sha256-50dd7Cs1mUHq1srw7UojdzCYOB4TfrIXMv7XHHPU9zw=",
|
||||
"owner": "tomasriveral",
|
||||
"repo": "nixpkgs-notifier",
|
||||
"rev": "39a89ffbdc49cc9ab6f67bc4be7ea2f7d3e2b38c",
|
||||
"rev": "12183f26e8b196d9906f82dc05f9672793c61038",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -280,11 +233,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1787814960,
|
||||
"narHash": "sha256-PYZq1qzCJXC2zGI0mH07vrZBsw6DRBAOX0jN1pPtqOQ=",
|
||||
"lastModified": 1781328464,
|
||||
"narHash": "sha256-j9uBlHI0eJ9zWU9IlF6SlBBPdeJu30hcvar31IRKHpw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c27cdad491a991b11ed731760aa2ef8db0cb0410",
|
||||
"rev": "5a722a7155bfc9fbe657f28d26b71860d95324bc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -304,11 +257,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787547082,
|
||||
"narHash": "sha256-v2KPBHgeSvThqz/qsajxpc98CIcBhXson4uUazAuwFs=",
|
||||
"lastModified": 1780908812,
|
||||
"narHash": "sha256-syxEJP0NNgVZYHp/zRVuz32VYf+ULD9itZk7V06SCos=",
|
||||
"owner": "tomasriveral",
|
||||
"repo": "notewrapper",
|
||||
"rev": "713fa27893c91896607229895d06e4b853edceeb",
|
||||
"rev": "e670ef935f0dd87dc8a8c6982147a9b8dce7565e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -328,11 +281,11 @@
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787604401,
|
||||
"narHash": "sha256-r5Ts5BWk99uIuyFqai85c+WdS3AAar20Qgd0diV1YoM=",
|
||||
"lastModified": 1781158593,
|
||||
"narHash": "sha256-zxlheX4o1MK00dkYzoXm7Srj5SD9iOCSp4N7f1iShr0=",
|
||||
"owner": "r14dd",
|
||||
"repo": "patent",
|
||||
"rev": "bbe68e8ebc29ca6cec996f89b03997a5d67aa550",
|
||||
"rev": "68772d068088d62a030619090959165af5e71ed1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -349,11 +302,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787440121,
|
||||
"narHash": "sha256-OZdLL1rMR9kjTFZroOODeyQ0u6nrSxcFHlK6JUi+R/c=",
|
||||
"lastModified": 1781053488,
|
||||
"narHash": "sha256-P4WEBaKgl8flRckHxXGHzT0potPvB3x8ZFIp9gLEAMY=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "0fed22a2c47d9568ddf13cf61586b3f2ac4378a2",
|
||||
"revCount": 847,
|
||||
"rev": "d99d87d5e5ec4e696815348692fdaaf0b6be1b2c",
|
||||
"revCount": 822,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||
},
|
||||
@@ -364,7 +317,6 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"caelestia-shell": "caelestia-shell",
|
||||
"disko": "disko",
|
||||
"flake-parts": "flake-parts",
|
||||
@@ -417,21 +369,6 @@
|
||||
"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",
|
||||
|
||||
@@ -47,11 +47,6 @@
|
||||
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";
|
||||
|
||||
@@ -51,56 +51,58 @@ _: {
|
||||
enable = true;
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
flake.homeModules.hyprland-desktop = {
|
||||
home.file.".config/hypr/host.lua" = {
|
||||
text = ''
|
||||
hl.monitor({
|
||||
output = "",
|
||||
mode = "preferred",
|
||||
position = "auto",
|
||||
scale = 0.75,
|
||||
})
|
||||
'';
|
||||
enable = true;
|
||||
force = true;
|
||||
};
|
||||
flake.homeModules.hyprland-desktop = {
|
||||
home.file.".config/hypr/host.lua" = {
|
||||
text = ''
|
||||
hl.monitor({
|
||||
output = "",
|
||||
mode = "preferred",
|
||||
position = "auto",
|
||||
scale = 0.75,
|
||||
})
|
||||
'';
|
||||
enable = true;
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
flake.homeModules.hyprland = {pkgs-unstable, ...}: let
|
||||
wallpaper1 = ../../assets/wallpaper1.jpg;
|
||||
wallpaper2 = ../../assets/wallpaper2.jpg;
|
||||
wallpaper3 = ../../assets/wallpaper3.jpg;
|
||||
wallpaper4 = ../../assets/wallpaper4.jpg;
|
||||
wallpaper5 = ../../assets/wallpaper5.jpg;
|
||||
};
|
||||
flake.homeModules.hyprland = {pkgs-unstable, ... }:
|
||||
let
|
||||
wallpaper1 = ../../assets/wallpaper1.jpg;
|
||||
wallpaper2 = ../../assets/wallpaper2.jpg;
|
||||
wallpaper3 = ../../assets/wallpaper3.jpg;
|
||||
wallpaper4 = ../../assets/wallpaper4.jpg;
|
||||
wallpaper5 = ../../assets/wallpaper5.jpg;
|
||||
|
||||
hyprlandLua =
|
||||
builtins.replaceStrings
|
||||
[
|
||||
"WALLPAPER1/PATH/PLACEHOLDER"
|
||||
"WALLPAPER2/PATH/PLACEHOLDER"
|
||||
"WALLPAPER3/PATH/PLACEHOLDER"
|
||||
"WALLPAPER4/PATH/PLACEHOLDER"
|
||||
"WALLPAPER5/PATH/PLACEHOLDER"
|
||||
]
|
||||
[
|
||||
(toString wallpaper1)
|
||||
(toString wallpaper2)
|
||||
(toString wallpaper3)
|
||||
(toString wallpaper4)
|
||||
(toString wallpaper5)
|
||||
]
|
||||
(builtins.readFile ../../other/hyprland/hyprland.lua);
|
||||
in {
|
||||
#refer to https://wiki.hypr.land/Nix/Hyprland-on-Home-Manager/
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
wayland.windowManager.hyprland.package = pkgs-unstable.hyprland;
|
||||
#hint Electron apps to use on wayland;
|
||||
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
wayland.windowManager.hyprland.plugins = [
|
||||
#pkgs-unstable.hyprlandPlugins.hyprspace # currently broken
|
||||
#pkgs-unstable.hyprlandPlugins.hypr-dynamic-cursors
|
||||
];
|
||||
wayland.windowManager.hyprland.configType = "lua";
|
||||
wayland.windowManager.hyprland.extraConfig = hyprlandLua;
|
||||
hyprlandLua = builtins.replaceStrings
|
||||
[
|
||||
"WALLPAPER1/PATH/PLACEHOLDER"
|
||||
"WALLPAPER2/PATH/PLACEHOLDER"
|
||||
"WALLPAPER3/PATH/PLACEHOLDER"
|
||||
"WALLPAPER4/PATH/PLACEHOLDER"
|
||||
"WALLPAPER5/PATH/PLACEHOLDER"
|
||||
]
|
||||
[
|
||||
(toString wallpaper1)
|
||||
(toString wallpaper2)
|
||||
(toString wallpaper3)
|
||||
(toString wallpaper4)
|
||||
(toString wallpaper5)
|
||||
]
|
||||
(builtins.readFile ../../other/hyprland/hyprland.lua);
|
||||
in
|
||||
{
|
||||
|
||||
#refer to https://wiki.hypr.land/Nix/Hyprland-on-Home-Manager/
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
wayland.windowManager.hyprland.package = pkgs-unstable.hyprland;
|
||||
#hint Electron apps to use on wayland;
|
||||
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
wayland.windowManager.hyprland.plugins = [
|
||||
#pkgs-unstable.hyprlandPlugins.hyprspace # currently broken
|
||||
#pkgs-unstable.hyprlandPlugins.hypr-dynamic-cursors
|
||||
];
|
||||
wayland.windowManager.hyprland.configType = "lua";
|
||||
wayland.windowManager.hyprland.extraConfig = hyprlandLua;
|
||||
};
|
||||
}
|
||||
@@ -333,8 +333,6 @@ _: {
|
||||
}
|
||||
})
|
||||
vim.lsp.config("texlab", { cmd = { "texlab" }, filetypes = { "tex" }, on_attach = on_attach })
|
||||
|
||||
-- i remove ltex from being enable bellow as it's too anoying and doesn't really help as sometime i write in french and other times in english/spanish or even german
|
||||
vim.lsp.config("ltex", {
|
||||
cmd = { "ltex-ls-plus" },
|
||||
filetypes = { "markdown", "text", "tex", "plaintex" },
|
||||
@@ -375,7 +373,7 @@ _: {
|
||||
},
|
||||
})
|
||||
|
||||
vim.lsp.enable({ "lua_ls", "clangd", "pylsp", "texlab", "nixd", "leanls"})
|
||||
vim.lsp.enable({ "lua_ls", "clangd", "pylsp", "texlab", "nixd", "ltex", "leanls"})
|
||||
-- =========================
|
||||
-- DASHBOARD
|
||||
-- =========================
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
_: {
|
||||
|
||||
flake.homeModules.tmux = _: {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
|
||||
@@ -56,7 +56,7 @@ _: {
|
||||
command cat "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
custom-eza() { # behaves differently if we just call it or if we pipe initContent
|
||||
if [[ -t 1 ]]; then
|
||||
eza -hlF -aa --color=always --hyperlink --group-directories-first --show-symlinks --icons=always --git --no-permissions "$@"
|
||||
@@ -70,7 +70,7 @@ _: {
|
||||
fastfetch
|
||||
fi
|
||||
|
||||
'';
|
||||
'';
|
||||
shellAliases = {
|
||||
".." = "z ..";
|
||||
grep = "rg";
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{self, ...}: {
|
||||
{
|
||||
self,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
flake.nixosModules.battery-laptop = {pkgs, ...}:
|
||||
# https://discourse.nixos.org/t/what-is-the-best-option-for-power-management/63406/2
|
||||
# we just activate tlp unconditonally
|
||||
@@ -31,7 +35,7 @@
|
||||
*/
|
||||
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.power-profiles-daemon.enable = true; # ppd is recommended over tlp for framework 16
|
||||
/*
|
||||
services.tlp = {
|
||||
enable = true; # Enable TLP (better than gnomes internal power manager)
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
_: {
|
||||
flake.nixosModules.onxyboox = {pkgs, ...}: {
|
||||
services.gvfs.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
gvfs
|
||||
calibre
|
||||
kdePackages.kio-extras
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -44,7 +44,7 @@
|
||||
notifications
|
||||
nvidia
|
||||
office
|
||||
#ollama
|
||||
ollama
|
||||
otherUtils
|
||||
performance-desktop
|
||||
printer
|
||||
@@ -133,7 +133,7 @@
|
||||
home.homeDirectory = "/home/tomasr";
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
EDITOR = "neovim";
|
||||
TERMINAL = "kitty";
|
||||
};
|
||||
|
||||
|
||||
@@ -9,8 +9,6 @@
|
||||
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
|
||||
@@ -20,7 +18,7 @@
|
||||
audioAndMedia
|
||||
autoCleanup-laptop
|
||||
autoUpdate-laptop
|
||||
#battery-laptop
|
||||
battery-laptop
|
||||
bluetooth
|
||||
bootloader
|
||||
browsers
|
||||
@@ -48,7 +46,6 @@
|
||||
nixUtils
|
||||
notifications
|
||||
office
|
||||
onxyboox
|
||||
#ollama
|
||||
otherUtils
|
||||
printer
|
||||
@@ -133,7 +130,7 @@
|
||||
home.homeDirectory = "/home/tomasr";
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
EDITOR = "neovim";
|
||||
TERMINAL = "kitty";
|
||||
SYSTEMD_PAGER = "cat";
|
||||
PAGER = "cat";
|
||||
|
||||
@@ -19,9 +19,6 @@
|
||||
description = "NixOS flake auto update";
|
||||
|
||||
serviceConfig = {
|
||||
Environment = [
|
||||
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
|
||||
];
|
||||
Type = "oneshot";
|
||||
|
||||
ExecStart = "/run/current-system/sw/bin/custom-autoupdate";
|
||||
@@ -76,9 +73,6 @@
|
||||
description = "NixOS flake auto update";
|
||||
|
||||
serviceConfig = {
|
||||
Environment = [
|
||||
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
|
||||
];
|
||||
Type = "oneshot";
|
||||
|
||||
ExecStart = "/run/current-system/sw/bin/custom-autoupdate";
|
||||
@@ -118,9 +112,8 @@
|
||||
runtimeInputs = with pkgs; [
|
||||
git
|
||||
nixos-rebuild
|
||||
curl
|
||||
matrix-commander-rs
|
||||
libnotify
|
||||
nix
|
||||
];
|
||||
|
||||
text = ''
|
||||
@@ -142,7 +135,7 @@
|
||||
# update lock only
|
||||
nix flake update --flake "$FLAKE_DIR"
|
||||
|
||||
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 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
|
||||
@@ -187,14 +180,11 @@
|
||||
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"
|
||||
@@ -211,7 +201,7 @@
|
||||
# update lock only
|
||||
nix flake update --flake "$FLAKE_DIR"
|
||||
|
||||
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 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
|
||||
|
||||
@@ -2,9 +2,9 @@ _: {
|
||||
flake.nixosModules.hledger = {pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
hledger
|
||||
hledger-ui
|
||||
hledger-web
|
||||
asciinema # used for some hledger demos
|
||||
puffin
|
||||
];
|
||||
};
|
||||
flake.nixosModules.hledger-laptop = _: {
|
||||
|
||||
@@ -4,10 +4,8 @@
|
||||
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)
|
||||
# battery notifications
|
||||
/*
|
||||
self.packages.${pkgs.system}.custom-batterynotify
|
||||
self.packages.${pkgs.system}.custom-batterywarning
|
||||
*/
|
||||
/*self.packages.${pkgs.system}.custom-batterynotify
|
||||
self.packages.${pkgs.system}.custom-batterywarning*/
|
||||
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
|
||||
|
||||
@@ -48,17 +48,11 @@
|
||||
"configFetchTime": 1,
|
||||
"localNotify": true,
|
||||
"matrix": {
|
||||
"enable": false,
|
||||
"enable": true,
|
||||
"room": "!BXRRokBmEdNOyYdfOF:matrix.org",
|
||||
"ping": true,
|
||||
"userPing": "@notificationbot_0000",
|
||||
"userPingServer": "matrix.org"
|
||||
},
|
||||
"ntfy": {
|
||||
"enable": true,
|
||||
"auth": ":$NTFY_TOKEN",
|
||||
"server": "$NTFY_SERVER",
|
||||
"topic": "Alerts"
|
||||
}
|
||||
}
|
||||
'';
|
||||
|
||||
@@ -16,15 +16,7 @@ _: {
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
hostKeys = [
|
||||
{
|
||||
path = "/etc/ssh/ssh_host_ed25519_key";
|
||||
type = "ed25519";
|
||||
}
|
||||
];
|
||||
};
|
||||
# services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
{self, ...}: {
|
||||
flake.nixosModules.otherUtils =
|
||||
# try to keep packages here at a minium. Preferably use a dedicated file
|
||||
{
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
...
|
||||
}: {
|
||||
{pkgs, pkgs-unstable, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
gnome-calculator
|
||||
snapshot
|
||||
|
||||
+18
-17
@@ -1,6 +1,6 @@
|
||||
# config for openconnect is in ./epfl.nix
|
||||
{self, ...}: {
|
||||
flake.nixosModules.vpn = {pkgs, ...}: {
|
||||
flake.nixosModules.vpn = {pkgs,...}: {
|
||||
services.mullvad-vpn = {
|
||||
enable = true;
|
||||
};
|
||||
@@ -10,11 +10,12 @@
|
||||
age.secrets.epfl = {
|
||||
file = ../../secrets/epfl.age;
|
||||
};
|
||||
|
||||
};
|
||||
perSystem = {pkgs, ...}: {
|
||||
packages.custom-vpn-picker = pkgs.writeShellApplication {
|
||||
name = "custom-vpn-picker";
|
||||
|
||||
|
||||
runtimeInputs = with pkgs; [
|
||||
fzf
|
||||
mullvad-compass
|
||||
@@ -24,14 +25,14 @@
|
||||
wl-clipboard
|
||||
cliphist
|
||||
];
|
||||
|
||||
|
||||
text = ''
|
||||
mullvad_connect () {
|
||||
mullvad disconnect
|
||||
mullvad relay set location "$1"
|
||||
mullvad connect
|
||||
}
|
||||
|
||||
|
||||
profiles=(
|
||||
"mullvad-best"
|
||||
"mullvad-zurich"
|
||||
@@ -40,12 +41,12 @@
|
||||
"epfl"
|
||||
"disconnect"
|
||||
)
|
||||
|
||||
|
||||
selected=$(printf "%s\n" "''${profiles[@]}" |
|
||||
fzf --height 8 --reverse --prompt="Select vpn:")
|
||||
|
||||
|
||||
[[ -z "$selected" ]] && exit 0
|
||||
|
||||
|
||||
if [[ "$selected" == "mullvad-best" ]]; then
|
||||
mullvad_connect "$(
|
||||
mullvad-compass |
|
||||
@@ -55,42 +56,42 @@
|
||||
print a[1]
|
||||
}'
|
||||
)"
|
||||
|
||||
|
||||
elif [[ "$selected" == "mullvad-zurich" ]]; then
|
||||
mullvad_connect ch
|
||||
|
||||
|
||||
elif [[ "$selected" == "mullvad-tirana" ]]; then
|
||||
mullvad_connect al
|
||||
|
||||
|
||||
elif [[ "$selected" == "mullvad-bogota" ]]; then
|
||||
mullvad_connect co
|
||||
|
||||
|
||||
elif [[ "$selected" == "epfl" ]]; then
|
||||
# shellcheck disable=SC1091
|
||||
source /run/agenix/epfl
|
||||
|
||||
|
||||
# Put password in clipboard so it can be pasted into openconnect.
|
||||
printf '%s' "$EPFL_VPN_PASSWORD" | wl-copy
|
||||
|
||||
|
||||
sudo openconnect \
|
||||
--background \
|
||||
--pid-file="$HOME/.local/state/epfl-openconnect.pid" \
|
||||
--server="$EPFL_VPN_SERVER" \
|
||||
--user="$EPFL_VPN_USER"
|
||||
|
||||
|
||||
# Remove the password from cliphist and clear the current clipboard.
|
||||
cliphist delete-query "$EPFL_VPN_PASSWORD" || true
|
||||
wl-copy --clear
|
||||
|
||||
|
||||
elif [[ "$selected" == "disconnect" ]]; then
|
||||
if [[ -f "$HOME/.local/state/epfl-openconnect.pid" ]]; then
|
||||
sudo kill "$(cat "$HOME/.local/state/epfl-openconnect.pid")" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
|
||||
mullvad disconnect
|
||||
rm "$HOME/.local/state/epfl-openconnect.pid"
|
||||
fi
|
||||
|
||||
|
||||
pkill -f "kitty.*Select vpn option" || true
|
||||
exit
|
||||
'';
|
||||
|
||||
Binary file not shown.
Reference in new issue
Block a user