125 Commits
Author SHA1 Message Date
tomasr 8a467889bd snapshot pre-autoupdate-2026-10-10T08-00-13Z 2026-10-10 10:00:13 +02:00
tomasr 783f7ffc59 add telegram desktop 2026-10-10 09:58:56 +02:00
tomasr f702287f7a add detexify bookmark 2026-10-04 18:14:49 +02:00
tomasr d8b3830520 snapshot pre-cleanup-2026-10-03T21-43-19Z 2026-10-03 23:43:19 +02:00
tomasr cc5c4bf865 snapshot pre-autoupdate-2026-10-03T13-04-41Z 2026-10-03 15:04:41 +02:00
tomasr e58701d75a snapshot pre-cleanup-2026-09-26T18-13-36Z 2026-09-26 20:13:36 +02:00
tomasr e88e946110 snapshot pre-autoupdate-2026-09-26T17-59-52Z 2026-09-26 19:59:52 +02:00
tomasr aa335ec277 remove pomodoro timer shortcut 2026-09-21 12:00:24 +02:00
tomasr 28a9c37369 setup fwupd 2026-09-20 11:14:11 +02:00
tomasr 3d273bdd13 snapshot pre-cleanup-2026-09-20T09-04-46Z 2026-09-20 11:04:46 +02:00
tomasr 3871205f6a snapshot pre-autoupdate-2026-09-19T15-51-37Z 2026-09-19 17:51:37 +02:00
tomasr 3c44b9d9c0 fix path sync cs-119l 2026-09-13 10:42:53 +02:00
tomasr 8741846a72 Auto: cleanup-2026-09-13T08-29-34Z 2026-09-13 10:30:53 +02:00
tomasr 5c9d8aee46 snapshot pre-cleanup-2026-09-13T08-29-34Z 2026-09-13 10:29:34 +02:00
tomasr 018d5464db fix sync cs119l 2026-09-13 10:28:57 +02:00
tomasr db3b4ef194 snapshot pre-autoupdate-2026-09-12T09-49-03Z 2026-09-12 11:49:03 +02:00
tomasr 5e717182ed epfl switchDrive 2026-09-10 11:12:29 +02:00
tomasr 5d268e49b9 fix fastfetch vscode 2026-09-06 11:32:56 +02:00
tomasr 377ec45fad setup for cs-119l 2026-09-06 11:17:17 +02:00
tomasr 7a0454befb Auto: cleanup-2026-09-06T07-56-34Z 2026-09-06 09:56:58 +02:00
tomasr acefe53275 snapshot pre-cleanup-2026-09-06T07-56-34Z 2026-09-06 09:56:34 +02:00
tomasr 8edf285346 snapshot pre-autoupdate-2026-09-05T12-18-46Z 2026-09-05 14:18:46 +02:00
tomasr 5b7bc76c47 librewolf: add courseware bookmark 2026-09-05 14:14:30 +02:00
tomasr a599d4b67c librewolf: add moodle bookmark 2026-09-05 14:11:09 +02:00
tomasr 9155de7abb remove duplciate exec nixpkgs-notifier 2026-08-30 21:06:50 +02:00
tomasr deae612ef8 ös alias 2026-08-30 19:33:08 +02:00
tomasr f5490420ba Auto: cleanup-2026-08-30T15-04-23Z 2026-08-30 17:04:44 +02:00
tomasr 45f068c894 snapshot pre-cleanup-2026-08-30T15-04-23Z 2026-08-30 17:04:23 +02:00
tomasr 940cb8a5e9 reajuste lock timing 2026-08-30 17:03:50 +02:00
tomasr 3cd365fbe4 flake.lock: autoupdate-2026-08-28T20-43-35Z 2026-08-28 22:56:28 +02:00
tomasr 943f056e73 snapshot pre-autoupdate-2026-08-28T20-43-35Z 2026-08-28 22:43:35 +02:00
tomasr 3e39d45a66 reworked lock time 2026-08-27 17:53:17 +02:00
tomasr 96bcd38ff0 bitwarden-client updated electron 2026-08-23 13:38:06 +02:00
tomasr 969583f6ef Auto: cleanup-2026-08-23T09-02-28Z 2026-08-23 11:02:51 +02:00
tomasr b55fcede9b snapshot pre-cleanup-2026-08-23T09-02-28Z 2026-08-23 11:02:28 +02:00
tomasr 8ae7323dff snapshot pre-autoupdate-2026-08-21T19-39-02Z 2026-08-21 21:39:02 +02:00
tomasr 0028993476 snapshot pre-autoupdate-2026-08-21T19-22-40Z 2026-08-21 21:22:40 +02:00
tomasr 960a279117 remove duplciate exec qtbatticon 2026-08-21 18:00:14 +02:00
tomasr 8ca9ac4374 add instruction for nix-update 2026-08-18 08:04:10 +02:00
tomasr d0015eae2b nixUtils: add nix-update 2026-08-18 07:53:37 +02:00
tomasr 2186ab5c08 moved out of kdrive for notes. Keep backup in there rsynced 2026-08-17 17:11:36 +02:00
tomasr 73001d5000 update nixpkgs-unstable 2026-08-17 17:08:28 +02:00
tomasr b46b4e8487 remove battery scripts 2026-08-17 15:03:34 +02:00
tomasr 5e9c1d5397 update nixpkgs-unstable 2026-08-16 18:03:25 +02:00
tomasr 22cc03b95a switch hardware utils to unstable 2026-08-16 18:02:41 +02:00
tomasr b30e2abbf4 add watchecosystem to hardwareUtils 2026-08-16 18:01:36 +02:00
tomasr 6b674af0a2 updated notewrapper 2026-08-16 08:42:46 +02:00
tomasr 3bf45ad9c2 git config 2026-08-16 08:32:19 +02:00
tomasr 9b0dbd70a4 Auto: cleanup-2026-08-15T19-17-50Z 2026-08-15 21:18:15 +02:00
tomasr 18fbd68abe snapshot pre-cleanup-2026-08-15T19-17-50Z 2026-08-15 21:17:50 +02:00
tomasr 7cf6867ece custom-vpn-picker: init 2026-08-15 20:07:26 +02:00
tomasr 9fa7397f5c first setup epfl vpn 2026-08-15 12:23:32 +02:00
tomasr a3bf2552a2 flake.lock: autoupdate-2026-08-15T09-35-15Z 2026-08-15 11:38:41 +02:00
tomasr 34ce3df3e2 snapshot pre-autoupdate-2026-08-15T09-35-15Z 2026-08-15 11:35:15 +02:00
tomasr 2ca5a61c55 remove ltex 2026-08-14 18:16:19 +02:00
tomasr f3aa8dec66 fix notewrapper config parse error 2026-08-14 17:26:39 +02:00
tomasr b3dfeb28d9 update notewrapper config 2026-08-14 17:06:19 +02:00
tomasr a3b89490f4 remove old icloudpd 2026-08-14 11:51:33 +02:00
tomasr 677645e5e3 rewrote performance mode into lua 2026-08-14 11:49:23 +02:00
tomasr 9ed18ed336 update READEME.md 2026-08-14 11:01:29 +02:00
tomasr 721eb46081 replace rm by trash-cli 2026-08-14 10:20:07 +02:00
tomasr 2681d9dab3 temp remove power-profile-daemons 2026-08-14 10:02:55 +02:00
tomasr 5377e7a647 rewrite README.md 2026-08-14 09:58:38 +02:00
tomasr 77195016e1 hyprland: migrated from hyprlang to lua
- all hyprlandScripts were migrated to lua functions
- hyprland.nix just handles the host specific and replacing the
  placeholders from hyprland.lua
2026-08-14 09:28:07 +02:00
tomasr 87e7530004 snapshot pre-autoupdate-2026-08-13T10-07-03Z 2026-08-13 12:07:03 +02:00
tomasr f1dae5ab9c snapshot pre-autoupdate-2026-08-13T07-15-33Z 2026-08-13 09:15:33 +02:00
tomasr b6690407f7 restore mullvad 2026-08-12 19:48:54 +02:00
tomasr 21c366244b add dolphin plugin 2026-08-12 15:32:46 +02:00
tomasr ec22349a7a add ark for dolphin 2026-08-12 15:24:38 +02:00
tomasr 29c7a4a86c reactivate battery warning 2026-08-12 15:05:22 +02:00
tomasr 6263a11c4c fix archivebox extesnion 2026-08-11 17:06:16 +02:00
tomasr 1471a976f1 remove temp mullvad 2026-08-11 17:03:55 +02:00
tomasr 0ce25113e7 add archivebox extension 2026-08-11 16:17:48 +02:00
tomasr e49019c8ba add browser bookmark noogle.dev 2026-08-11 16:14:32 +02:00
tomasr bd85b284a6 reactivate qtbatticon 2026-08-11 16:13:11 +02:00
tomasr 7f2367720b oga bouga 2026-08-09 14:48:54 +02:00
tomasr 14751f5cf0 snapshot pre-cleanup-2026-08-08T20-52-19Z 2026-08-08 22:52:19 +02:00
tomasr 419f5a6214 flack lock change 2026-08-08 10:14:54 +02:00
tomasr b5b329ab17 snapshot pre-autoupdate-2026-08-08T08-02-18Z 2026-08-08 10:02:18 +02:00
tomasr dc1b4caa24 rss reader 2026-08-04 19:50:32 +02:00
tomasr c7d72333d4 debugging max battery 2026-08-04 14:16:53 +02:00
tomasr 04b3257c7d debugging max battery 2026-08-04 14:13:16 +02:00
tomasr 12bcb8ad6a fix calendar? 2026-08-04 11:29:50 +02:00
tomasr 229201a7c7 add kontact 2026-08-04 11:25:52 +02:00
tomasr ace1780097 add KOrganizer 2026-08-04 11:21:17 +02:00
tomasr 928b192611 Auto: cleanup-2026-08-02T11-15-39Z 2026-08-02 13:15:57 +02:00
tomasr 3160e6a409 snapshot pre-cleanup-2026-08-02T11-15-39Z 2026-08-02 13:15:39 +02:00
tomasr f76e16266b snapshot pre-autoupdate-2026-08-01T08-20-53Z 2026-08-01 10:20:53 +02:00
tomasr eec6da5803 librewolf: remove old bookmark 2026-07-30 21:28:31 +02:00
tomasr 282d076bf3 first tmux config 2026-07-30 21:18:33 +02:00
tomasr 0e67b49ebd tmux: init config 2026-07-30 14:06:41 +02:00
tomasr dd1c9bd990 hledger-ui: replace by puffin 2026-07-29 21:11:21 +02:00
tomasr 20cef053c0 replace rss reader 2026-07-29 18:46:20 +02:00
tomasr 553796d6c7 fix pagers 2026-07-26 21:54:17 +02:00
tomasr 63ec8d1945 flack.lock change 2026-07-26 18:41:00 +02:00
tomasr 588a1e77e8 migrate nixpkgs-notifier to ntfy 2026-07-26 16:46:26 +02:00
tomasr eca6ad278d Auto: cleanup-2026-07-26T14-02-17Z 2026-07-26 16:02:39 +02:00
tomasr 5e7550f6d7 snapshot pre-cleanup-2026-07-26T14-02-17Z 2026-07-26 16:02:17 +02:00
tomasr abd6a6ca3c snapshot pre-cleanup-2026-07-26T13-59-06Z 2026-07-26 15:59:06 +02:00
tomasr a7370a65e7 snapshot pre-cleanup-2026-07-26T13-57-11Z 2026-07-26 15:57:11 +02:00
tomasr 01cd080bf1 snapshot pre-cleanup-2026-07-26T13-54-32Z 2026-07-26 15:54:32 +02:00
tomasr b24b16728a setup agenix and migrate from matrix-commander-rs to ntfy for phone notifications 2026-07-26 15:48:54 +02:00
tomasr a80629a6e4 snapshot pre-autoupdate-2026-07-26T13-20-51Z 2026-07-26 15:20:51 +02:00
tomasr ff26348536 snapshot pre-autoupdate-2026-07-26T13-04-37Z 2026-07-26 15:04:37 +02:00
tomasr e672a99d95 snapshot pre-autoupdate-2026-07-26T13-01-03Z 2026-07-26 15:01:03 +02:00
tomasr 35542be154 snapshot pre-autoupdate-2026-07-26T12-55-52Z 2026-07-26 14:55:52 +02:00
tomasr 8b1e206d4f snapshot pre-autoupdate-2026-07-26T12-53-35Z 2026-07-26 14:53:35 +02:00
tomasr 6304c65ea6 snapshot pre-autoupdate-2026-07-26T12-46-58Z 2026-07-26 14:46:58 +02:00
tomasr 325ee56fa3 snapshot pre-autoupdate-2026-07-26T12-33-05Z 2026-07-26 14:33:05 +02:00
tomasr a9874f1b2a snapshot pre-autoupdate-2026-07-26T12-32-47Z 2026-07-26 14:32:47 +02:00
tomasr ba4f2b5bf2 setup agenix 2026-07-26 14:09:18 +02:00
tomasr 72fae98a43 snapshot pre-cleanup-2026-07-25T22-02-24Z 2026-07-26 00:02:24 +02:00
tomasr ab6b81a228 snapshot pre-autoupdate-2026-07-25T15-13-11Z 2026-07-25 17:13:11 +02:00
tomasr 247ddefdc6 onyx fix 2026-07-25 16:03:34 +02:00
tomasr 1a646b0c06 add gvfs 2026-07-24 20:03:26 +02:00
tomasr 5d4d51b475 notewrapper: use kdrive directly 2026-07-24 17:40:27 +02:00
tomasr c6a30039e8 neovim: add hledger integration 2026-07-21 16:53:32 +02:00
tomasr 2b45b7f179 neovim: add lean lsp and config 2026-07-21 16:51:34 +02:00
tomasr 8268324958 hledger: init 2026-07-21 11:38:27 +02:00
tomasr 2d0c655658 snapshot pre-autoupdate-2026-07-20T23-03-59Z 2026-07-21 01:03:59 +02:00
tomasr fb5cd58254 CI: fix crash when no diff 2026-07-21 00:46:12 +02:00
tomasr 20ad4bb594 snapshot pre-autoupdate-2026-07-20T22-36-16Z 2026-07-21 00:36:16 +02:00
tomasr d83045353f snapshot pre-cleanup-2026-07-20T22-15-38Z 2026-07-21 00:15:38 +02:00
tomasr 806215b1b8 snapshot pre-autoupdate-2026-07-20T22-12-08Z 2026-07-21 00:12:08 +02:00
tomasr 63baafdca6 snapshot pre-autoupdate-2026-07-20T22-05-05Z 2026-07-21 00:05:05 +02:00
20 changed files with 295 additions and 184 deletions

No files matched your search

+43 -28
View File
@@ -49,20 +49,30 @@ jobs:
exit 1
;;
esac
- name: Check for changes
run: |
git fetch origin main "${{ steps.branch.outputs.source }}"
HAS_CHANGES=true
if git diff --quiet \
"origin/main...origin/${{ steps.branch.outputs.source }}"; then
HAS_CHANGES=false
fi
- name: Check for existing PR
id: existing
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
PR_NUMBER=$(gh pr list \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--state open \
--json number \
--jq '.[0].number // empty')
if $HAS_CHANGES; then
PR_NUMBER=$(gh pr list \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--state open \
--json number \
--jq '.[0].number // empty')
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
fi
- name: Create PR
id: create
@@ -70,28 +80,31 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr create \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \
--body "This pull request was created automatically by GitHub Actions."
if $HAS_CHANGES; then
gh pr create \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \
--body "This pull request was created automatically by GitHub Actions."
PR_NUMBER=$(gh pr list \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--state open \
--json number \
--jq '.[0].number')
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
PR_NUMBER=$(gh pr list \
--base main \
--head "${{ steps.branch.outputs.source }}" \
--state open \
--json number \
--jq '.[0].number')
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
fi
- name: Determine PR number
id: pr
run: |
if [ -n "${{ steps.existing.outputs.number }}" ]; then
echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT"
else
echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT"
if $HAS_CHANGES; then
if [ -n "${{ steps.existing.outputs.number }}" ]; then
echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT"
else
echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT"
fi
fi
- name: Enable auto-merge
@@ -99,7 +112,9 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr merge \
"${{ steps.pr.outputs.number }}" \
--auto \
--merge
if $HAS_CHANGES; then
gh pr merge \
"${{ steps.pr.outputs.number }}" \
--auto \
--merge
fi
+11 -20
View File
@@ -1,7 +1,5 @@
# NixOS Configuration
![NixOS configuration](/assets/example.png)
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.
@@ -109,7 +107,7 @@ nixos/
│ │ └── README.md
│ ├── kblayouts/ # Keyboard and Framework macropad layouts
│ ├── mullvad/ # Mullvad configuration
│ └── quickshell/ # Quickshell configuration
│ └── quickshell/ # Legacy Quickshell configuration
│
├── secrets/ # agenix-encrypted secrets
├── flake.nix
@@ -501,16 +499,18 @@ Useful command-line tools include:
* `fastfetch`
* `man`
* `manix`
* `trash`
`ls` is replaced by `eza`.
`ls`. `l`, `ll` and `la` are aliased/replaced by `eza`.
Common aliases include:
`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`.
```text
l
ll
la
```
`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).
---
@@ -589,15 +589,6 @@ 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.
@@ -606,7 +597,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
+106 -43
View File
@@ -1,5 +1,30 @@
{
"nodes": {
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1770165109,
"narHash": "sha256-9VnK6Oqai65puVJ4WYtCTvlJeXxMzAp/69HhQuTdl/I=",
"owner": "ryantm",
"repo": "agenix",
"rev": "b027ee29d959fda4b60b57566d64c98a202e0feb",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "agenix",
"type": "github"
}
},
"caelestia-cli": {
"inputs": {
"caelestia-shell": [
@@ -11,11 +36,11 @@
]
},
"locked": {
"lastModified": 1781239472,
"narHash": "sha256-WFL8jZMWNH1tx3UwaJ9aa9NN25uOEJ9mbKPRNQJY/xM=",
"lastModified": 1787276686,
"narHash": "sha256-rYdGb5rKIfETdlenQRxHfg17dhf9fN8eaRryX6sztnQ=",
"owner": "caelestia-dots",
"repo": "cli",
"rev": "3f3229aed4f36752a02fd870fd6cad94bd76555f",
"rev": "7401d9e3a371e583bc0b42dc1a139d01e278e6c1",
"type": "github"
},
"original": {
@@ -34,11 +59,11 @@
"quickshell": "quickshell"
},
"locked": {
"lastModified": 1781408632,
"narHash": "sha256-kYVf3Jye4UhyBrtubYcSrmVyFv9uqOY2JvjmElFiZHE=",
"lastModified": 1787890941,
"narHash": "sha256-j91lsxm/wuuoPPwz4RQOr520EXlHgLPWfSW0KqKsy7E=",
"owner": "caelestia-dots",
"repo": "shell",
"rev": "f86c359cd90530bacc800e94e35ffbebecd3f58f",
"rev": "1b7052d108677a7ca0d3d3365511bfe8281a6868",
"type": "github"
},
"original": {
@@ -47,6 +72,28 @@
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1744478979,
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
"type": "github"
},
"original": {
"owner": "lnl7",
"ref": "master",
"repo": "nix-darwin",
"type": "github"
}
},
"disko": {
"inputs": {
"nixpkgs": [
@@ -72,12 +119,12 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"revCount": 475,
"lastModified": 1787559586,
"narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=",
"rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1",
"revCount": 489,
"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.489%2Brev-9d0d87172c374f89da73c1cfe6d81ae62feac1f1/01a034df-3c80-7cd2-a669-be2243c45202/source.tar.gz"
},
"original": {
"type": "tarball",
@@ -86,7 +133,7 @@
},
"flake-utils": {
"inputs": {
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
@@ -108,11 +155,11 @@
]
},
"locked": {
"lastModified": 1781319724,
"narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=",
"lastModified": 1787377438,
"narHash": "sha256-Sxu1NLTD/Ern6hFGLlZmtKCSct3YQXZI/lls8RE1XeM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae",
"rev": "65258d5c65a250189fde2e35f490d15e064c4c62",
"type": "github"
},
"original": {
@@ -124,11 +171,11 @@
},
"import-tree": {
"locked": {
"lastModified": 1778781969,
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
"lastModified": 1784254960,
"narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=",
"owner": "vic",
"repo": "import-tree",
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
"rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69",
"type": "github"
},
"original": {
@@ -164,11 +211,11 @@
]
},
"locked": {
"lastModified": 1781373243,
"narHash": "sha256-CpZ5FEU1BtW6K4FywtCCE2wJs6R/Ifps3etRDh8NJ9w=",
"lastModified": 1786462419,
"narHash": "sha256-A7Q3UIyzDg1O54E0W6HOQIzvsVJq/rMuelJR+ELLRvI=",
"owner": "tomasriveral",
"repo": "nix-git-cherry-picker",
"rev": "9865dba535620831ae7cab395bf404f8f464df0e",
"rev": "aec69257dc9b68d875333ec9f4a7b310d878abd1",
"type": "github"
},
"original": {
@@ -179,11 +226,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1781216227,
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
"lastModified": 1787848966,
"narHash": "sha256-7gDpu5hpq0rOYnYMcOWqSzquK4HA/xU8Xf3CjUBOOJA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0",
"rev": "d57af924f160a5084293c71c2043f058bd1cdb60",
"type": "github"
},
"original": {
@@ -195,11 +242,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1777168982,
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
"lastModified": 1785031560,
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
"type": "github"
},
"original": {
@@ -218,11 +265,11 @@
]
},
"locked": {
"lastModified": 1781273662,
"narHash": "sha256-50dd7Cs1mUHq1srw7UojdzCYOB4TfrIXMv7XHHPU9zw=",
"lastModified": 1785077063,
"narHash": "sha256-rJxX9Mq16TOiIlf+nNR4SaLsWf1yII8xsQpJUNio3Yg=",
"owner": "tomasriveral",
"repo": "nixpkgs-notifier",
"rev": "12183f26e8b196d9906f82dc05f9672793c61038",
"rev": "39a89ffbdc49cc9ab6f67bc4be7ea2f7d3e2b38c",
"type": "github"
},
"original": {
@@ -233,11 +280,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1781328464,
"narHash": "sha256-j9uBlHI0eJ9zWU9IlF6SlBBPdeJu30hcvar31IRKHpw=",
"lastModified": 1787814960,
"narHash": "sha256-PYZq1qzCJXC2zGI0mH07vrZBsw6DRBAOX0jN1pPtqOQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5a722a7155bfc9fbe657f28d26b71860d95324bc",
"rev": "c27cdad491a991b11ed731760aa2ef8db0cb0410",
"type": "github"
},
"original": {
@@ -257,11 +304,11 @@
]
},
"locked": {
"lastModified": 1780908812,
"narHash": "sha256-syxEJP0NNgVZYHp/zRVuz32VYf+ULD9itZk7V06SCos=",
"lastModified": 1787547082,
"narHash": "sha256-v2KPBHgeSvThqz/qsajxpc98CIcBhXson4uUazAuwFs=",
"owner": "tomasriveral",
"repo": "notewrapper",
"rev": "e670ef935f0dd87dc8a8c6982147a9b8dce7565e",
"rev": "713fa27893c91896607229895d06e4b853edceeb",
"type": "github"
},
"original": {
@@ -281,11 +328,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1781158593,
"narHash": "sha256-zxlheX4o1MK00dkYzoXm7Srj5SD9iOCSp4N7f1iShr0=",
"lastModified": 1787604401,
"narHash": "sha256-r5Ts5BWk99uIuyFqai85c+WdS3AAar20Qgd0diV1YoM=",
"owner": "r14dd",
"repo": "patent",
"rev": "68772d068088d62a030619090959165af5e71ed1",
"rev": "bbe68e8ebc29ca6cec996f89b03997a5d67aa550",
"type": "github"
},
"original": {
@@ -302,11 +349,11 @@
]
},
"locked": {
"lastModified": 1781053488,
"narHash": "sha256-P4WEBaKgl8flRckHxXGHzT0potPvB3x8ZFIp9gLEAMY=",
"lastModified": 1787440121,
"narHash": "sha256-OZdLL1rMR9kjTFZroOODeyQ0u6nrSxcFHlK6JUi+R/c=",
"ref": "refs/heads/master",
"rev": "d99d87d5e5ec4e696815348692fdaaf0b6be1b2c",
"revCount": 822,
"rev": "0fed22a2c47d9568ddf13cf61586b3f2ac4378a2",
"revCount": 847,
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
},
@@ -317,6 +364,7 @@
},
"root": {
"inputs": {
"agenix": "agenix",
"caelestia-shell": "caelestia-shell",
"disko": "disko",
"flake-parts": "flake-parts",
@@ -369,6 +417,21 @@
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
+5
View File
@@ -47,6 +47,11 @@
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
/*
microPlugins-vivify = {
url = "git+https://codeberg.org/gibbert/micro-vivify";
+49 -51
View File
@@ -51,58 +51,56 @@ _: {
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-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;
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;
};
}
+3 -1
View File
@@ -333,6 +333,8 @@ _: {
}
})
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" },
@@ -373,7 +375,7 @@ _: {
},
})
vim.lsp.enable({ "lua_ls", "clangd", "pylsp", "texlab", "nixd", "ltex", "leanls"})
vim.lsp.enable({ "lua_ls", "clangd", "pylsp", "texlab", "nixd", "leanls"})
-- =========================
-- DASHBOARD
-- =========================
-1
View File
@@ -1,5 +1,4 @@
_: {
flake.homeModules.tmux = _: {
programs.tmux = {
enable = true;
+2 -2
View File
@@ -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";
+2 -6
View File
@@ -1,8 +1,4 @@
{
self,
inputs,
...
}: {
{self, ...}: {
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
@@ -35,7 +31,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)
+10
View File
@@ -0,0 +1,10 @@
_: {
flake.nixosModules.onxyboox = {pkgs, ...}: {
services.gvfs.enable = true;
environment.systemPackages = with pkgs; [
gvfs
calibre
kdePackages.kio-extras
];
};
}
+2 -2
View File
@@ -44,7 +44,7 @@
notifications
nvidia
office
ollama
#ollama
otherUtils
performance-desktop
printer
@@ -133,7 +133,7 @@
home.homeDirectory = "/home/tomasr";
home.sessionVariables = {
EDITOR = "neovim";
EDITOR = "nvim";
TERMINAL = "kitty";
};
+5 -2
View File
@@ -9,6 +9,8 @@
inherit (self) pkgs-unstable pkgs-local pkgs-master;
};
modules = with self.nixosModules; [
inputs.agenix.nixosModules.default
agenix
# important do not remove
home-manager-laptop
laptop
@@ -18,7 +20,7 @@
audioAndMedia
autoCleanup-laptop
autoUpdate-laptop
battery-laptop
#battery-laptop
bluetooth
bootloader
browsers
@@ -46,6 +48,7 @@
nixUtils
notifications
office
onxyboox
#ollama
otherUtils
printer
@@ -130,7 +133,7 @@
home.homeDirectory = "/home/tomasr";
home.sessionVariables = {
EDITOR = "neovim";
EDITOR = "nvim";
TERMINAL = "kitty";
SYSTEMD_PAGER = "cat";
PAGER = "cat";
+14 -4
View File
@@ -19,6 +19,9 @@
description = "NixOS flake auto update";
serviceConfig = {
Environment = [
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
];
Type = "oneshot";
ExecStart = "/run/current-system/sw/bin/custom-autoupdate";
@@ -73,6 +76,9 @@
description = "NixOS flake auto update";
serviceConfig = {
Environment = [
"NTFY_SECRET=${config.age.secrets.ntfy.path}"
];
Type = "oneshot";
ExecStart = "/run/current-system/sw/bin/custom-autoupdate";
@@ -112,8 +118,9 @@
runtimeInputs = with pkgs; [
git
nixos-rebuild
matrix-commander-rs
curl
libnotify
nix
];
text = ''
@@ -135,7 +142,7 @@
# update lock only
nix flake update --flake "$FLAKE_DIR"
if sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if /run/wrappers/bin/sudo ${pkgs.nixos-rebuild}/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if ! git -C "$FLAKE_DIR" diff --quiet -- flake.lock; then
git -C "$FLAKE_DIR" add flake.lock
@@ -180,11 +187,14 @@
runtimeInputs = with pkgs; [
git
nixos-rebuild
matrix-commander-rs
libnotify
curl
nix
];
text = ''
# shellcheck disable=SC1090
source "$NTFY_SECRET"
set -e
FLAKE_DIR="/home/tomasr/nixos"
@@ -201,7 +211,7 @@
# update lock only
nix flake update --flake "$FLAKE_DIR"
if sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if /run/wrappers/bin/sudo /run/current-system/sw/bin/nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then # use /run/.../bin/ uses the sudoless rule
if ! git -C "$FLAKE_DIR" diff --quiet -- flake.lock; then
git -C "$FLAKE_DIR" add flake.lock
+1 -1
View File
@@ -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,8 +4,10 @@
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
+7 -1
View File
@@ -48,11 +48,17 @@
"configFetchTime": 1,
"localNotify": true,
"matrix": {
"enable": true,
"enable": false,
"room": "!BXRRokBmEdNOyYdfOF:matrix.org",
"ping": true,
"userPing": "@notificationbot_0000",
"userPingServer": "matrix.org"
},
"ntfy": {
"enable": true,
"auth": ":$NTFY_TOKEN",
"server": "$NTFY_SERVER",
"topic": "Alerts"
}
}
'';
+9 -1
View File
@@ -16,7 +16,15 @@ _: {
networking.networkmanager.enable = true;
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
services.openssh = {
enable = true;
hostKeys = [
{
path = "/etc/ssh/ssh_host_ed25519_key";
type = "ed25519";
}
];
};
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
+5 -1
View File
@@ -1,7 +1,11 @@
{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
+17 -18
View File
@@ -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,12 +10,11 @@
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
@@ -25,14 +24,14 @@
wl-clipboard
cliphist
];
text = ''
mullvad_connect () {
mullvad disconnect
mullvad relay set location "$1"
mullvad connect
}
profiles=(
"mullvad-best"
"mullvad-zurich"
@@ -41,12 +40,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 |
@@ -56,42 +55,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
'';
BIN
View File
Binary file not shown.