mirror of
https://github.com/tomasriveral/nixos.git
synced 2026-10-13 09:43:05 +02:00
Compare commits
70
Commits
laptop
..
6e3286419f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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,21 +49,12 @@ 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: |
|
||||||
if $HAS_CHANGES; then
|
|
||||||
PR_NUMBER=$(gh pr list \
|
PR_NUMBER=$(gh pr list \
|
||||||
--base main \
|
--base main \
|
||||||
--head "${{ steps.branch.outputs.source }}" \
|
--head "${{ steps.branch.outputs.source }}" \
|
||||||
@@ -72,7 +63,6 @@ jobs:
|
|||||||
--jq '.[0].number // empty')
|
--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
|
||||||
@@ -80,7 +70,6 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
if $HAS_CHANGES; then
|
|
||||||
gh pr create \
|
gh pr create \
|
||||||
--base main \
|
--base main \
|
||||||
--head "${{ steps.branch.outputs.source }}" \
|
--head "${{ steps.branch.outputs.source }}" \
|
||||||
@@ -95,26 +84,22 @@ jobs:
|
|||||||
--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 $HAS_CHANGES; then
|
|
||||||
if [ -n "${{ steps.existing.outputs.number }}" ]; then
|
if [ -n "${{ steps.existing.outputs.number }}" ]; then
|
||||||
echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT"
|
echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT"
|
||||||
else
|
else
|
||||||
echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT"
|
echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT"
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Enable auto-merge
|
- name: Enable auto-merge
|
||||||
if: steps.pr.outputs.number != ''
|
if: steps.pr.outputs.number != ''
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
if $HAS_CHANGES; then
|
|
||||||
gh pr merge \
|
gh pr merge \
|
||||||
"${{ steps.pr.outputs.number }}" \
|
"${{ steps.pr.outputs.number }}" \
|
||||||
--auto \
|
--auto \
|
||||||
--merge
|
--merge
|
||||||
fi
|
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
# NixOS Configuration
|
# NixOS Configuration
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
This repository contains my personal 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.
|
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
|
│ │ └── README.md
|
||||||
│ ├── kblayouts/ # Keyboard and Framework macropad layouts
|
│ ├── kblayouts/ # Keyboard and Framework macropad layouts
|
||||||
│ ├── mullvad/ # Mullvad configuration
|
│ ├── mullvad/ # Mullvad configuration
|
||||||
│ └── quickshell/ # Legacy Quickshell configuration
|
│ └── quickshell/ # Quickshell configuration
|
||||||
│
|
│
|
||||||
├── secrets/ # agenix-encrypted secrets
|
├── secrets/ # agenix-encrypted secrets
|
||||||
├── flake.nix
|
├── flake.nix
|
||||||
@@ -428,6 +430,7 @@ The macros in the layout generate combinations involving `CTRL`, `ALT`, `SUPER`,
|
|||||||
| Row 2, Col 2 | Change audio output (`CTRL + ALT + SHIFT + 0`) |
|
| Row 2, Col 2 | Change audio output (`CTRL + ALT + SHIFT + 0`) |
|
||||||
| Row 2, Col 3 | Special characters (`CTRL + SUPER + 5`) |
|
| Row 2, Col 3 | Special characters (`CTRL + SUPER + 5`) |
|
||||||
| Row 2, Col 4 | Color picker (`CTRL + ALT + 8`) |
|
| Row 2, Col 4 | Color picker (`CTRL + ALT + 8`) |
|
||||||
|
| Row 3, Col 1 | Pomodoro timer (`CTRL + ALT + 0`) |
|
||||||
| Row 4, Col 1 | Launch Anki (`CTRL + ALT + 9`) |
|
| Row 4, Col 1 | Launch Anki (`CTRL + ALT + 9`) |
|
||||||
|
|
||||||
The physical layout file contains additional transparent/unused positions, but the bindings above are the active shortcuts documented for the macropad.
|
The physical layout file contains additional transparent/unused positions, but the bindings above are the active shortcuts documented for the macropad.
|
||||||
@@ -499,18 +502,16 @@ Useful command-line tools include:
|
|||||||
* `fastfetch`
|
* `fastfetch`
|
||||||
* `man`
|
* `man`
|
||||||
* `manix`
|
* `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 :
|
```text
|
||||||
* `rm` alias to `trash-put`
|
l
|
||||||
* `rml` alias to `trash-list`
|
ll
|
||||||
* `rmr` alias to `trash-restore`
|
la
|
||||||
* `rme` alias to `trash-empty`
|
```
|
||||||
* `rmx` alias to `trash-rm` (remove individual item from the trash).
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -568,9 +569,6 @@ secrets/
|
|||||||
|
|
||||||
Encrypted secrets should remain encrypted in Git. Decrypted secret contents and private keys should not be committed.
|
Encrypted secrets should remain encrypted in Git. Decrypted secret contents and private keys should not be committed.
|
||||||
|
|
||||||
* To edit a secret use `agenix -e <secret_file>.age -i /etc/ssh/ssh_host_ed25519_key`.
|
|
||||||
* To decrypt a secret use `sudo agenix -d <secret_file>.age -i /etc/ssh/ssh_host_ed25519_key`.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Quickshell
|
# Quickshell
|
||||||
@@ -589,6 +587,15 @@ Custom scripts and packages are located in:
|
|||||||
```text
|
```text
|
||||||
modules/packages/
|
modules/packages/
|
||||||
```
|
```
|
||||||
|
Examples include:
|
||||||
|
|
||||||
|
* `custom-colorpicker`
|
||||||
|
* `custom-cowsay`
|
||||||
|
* `custom-syllabes`
|
||||||
|
* `custom-tomato`
|
||||||
|
* `custom-weather`
|
||||||
|
* `vivifyManuallyDerived`
|
||||||
|
* `dejaManuallyDerived`
|
||||||
|
|
||||||
Or imported in flake.nix from other repos.
|
Or imported in flake.nix from other repos.
|
||||||
|
|
||||||
@@ -597,7 +604,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)
|
* `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.
|
* `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.
|
* `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
|
# Applications and Desktop Environment
|
||||||
@@ -643,7 +650,6 @@ Some application state may need to be configured manually after installation:
|
|||||||
* Birdtray settings
|
* Birdtray settings
|
||||||
* Inkscape settings
|
* Inkscape settings
|
||||||
* other application-specific user data
|
* other application-specific user data
|
||||||
* git configuration
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Generated
+43
-106
@@ -1,30 +1,5 @@
|
|||||||
{
|
{
|
||||||
"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": [
|
||||||
@@ -36,11 +11,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787276686,
|
"lastModified": 1781239472,
|
||||||
"narHash": "sha256-rYdGb5rKIfETdlenQRxHfg17dhf9fN8eaRryX6sztnQ=",
|
"narHash": "sha256-WFL8jZMWNH1tx3UwaJ9aa9NN25uOEJ9mbKPRNQJY/xM=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "cli",
|
"repo": "cli",
|
||||||
"rev": "7401d9e3a371e583bc0b42dc1a139d01e278e6c1",
|
"rev": "3f3229aed4f36752a02fd870fd6cad94bd76555f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -59,11 +34,11 @@
|
|||||||
"quickshell": "quickshell"
|
"quickshell": "quickshell"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787890941,
|
"lastModified": 1781408632,
|
||||||
"narHash": "sha256-j91lsxm/wuuoPPwz4RQOr520EXlHgLPWfSW0KqKsy7E=",
|
"narHash": "sha256-kYVf3Jye4UhyBrtubYcSrmVyFv9uqOY2JvjmElFiZHE=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "shell",
|
"repo": "shell",
|
||||||
"rev": "1b7052d108677a7ca0d3d3365511bfe8281a6868",
|
"rev": "f86c359cd90530bacc800e94e35ffbebecd3f58f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -72,28 +47,6 @@
|
|||||||
"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": [
|
||||||
@@ -119,12 +72,12 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787559586,
|
"lastModified": 1778716662,
|
||||||
"narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=",
|
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||||
"rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1",
|
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||||
"revCount": 489,
|
"revCount": 475,
|
||||||
"type": "tarball",
|
"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": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
@@ -133,7 +86,7 @@
|
|||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
@@ -155,11 +108,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787377438,
|
"lastModified": 1781319724,
|
||||||
"narHash": "sha256-Sxu1NLTD/Ern6hFGLlZmtKCSct3YQXZI/lls8RE1XeM=",
|
"narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "65258d5c65a250189fde2e35f490d15e064c4c62",
|
"rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -171,11 +124,11 @@
|
|||||||
},
|
},
|
||||||
"import-tree": {
|
"import-tree": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784254960,
|
"lastModified": 1778781969,
|
||||||
"narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=",
|
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
|
||||||
"owner": "vic",
|
"owner": "vic",
|
||||||
"repo": "import-tree",
|
"repo": "import-tree",
|
||||||
"rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69",
|
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -211,11 +164,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786462419,
|
"lastModified": 1781373243,
|
||||||
"narHash": "sha256-A7Q3UIyzDg1O54E0W6HOQIzvsVJq/rMuelJR+ELLRvI=",
|
"narHash": "sha256-CpZ5FEU1BtW6K4FywtCCE2wJs6R/Ifps3etRDh8NJ9w=",
|
||||||
"owner": "tomasriveral",
|
"owner": "tomasriveral",
|
||||||
"repo": "nix-git-cherry-picker",
|
"repo": "nix-git-cherry-picker",
|
||||||
"rev": "aec69257dc9b68d875333ec9f4a7b310d878abd1",
|
"rev": "9865dba535620831ae7cab395bf404f8f464df0e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -226,11 +179,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787848966,
|
"lastModified": 1781216227,
|
||||||
"narHash": "sha256-7gDpu5hpq0rOYnYMcOWqSzquK4HA/xU8Xf3CjUBOOJA=",
|
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d57af924f160a5084293c71c2043f058bd1cdb60",
|
"rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -242,11 +195,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785031560,
|
"lastModified": 1777168982,
|
||||||
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
|
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
|
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -265,11 +218,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785077063,
|
"lastModified": 1781273662,
|
||||||
"narHash": "sha256-rJxX9Mq16TOiIlf+nNR4SaLsWf1yII8xsQpJUNio3Yg=",
|
"narHash": "sha256-50dd7Cs1mUHq1srw7UojdzCYOB4TfrIXMv7XHHPU9zw=",
|
||||||
"owner": "tomasriveral",
|
"owner": "tomasriveral",
|
||||||
"repo": "nixpkgs-notifier",
|
"repo": "nixpkgs-notifier",
|
||||||
"rev": "39a89ffbdc49cc9ab6f67bc4be7ea2f7d3e2b38c",
|
"rev": "12183f26e8b196d9906f82dc05f9672793c61038",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -280,11 +233,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787814960,
|
"lastModified": 1781328464,
|
||||||
"narHash": "sha256-PYZq1qzCJXC2zGI0mH07vrZBsw6DRBAOX0jN1pPtqOQ=",
|
"narHash": "sha256-j9uBlHI0eJ9zWU9IlF6SlBBPdeJu30hcvar31IRKHpw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c27cdad491a991b11ed731760aa2ef8db0cb0410",
|
"rev": "5a722a7155bfc9fbe657f28d26b71860d95324bc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -304,11 +257,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787547082,
|
"lastModified": 1780908812,
|
||||||
"narHash": "sha256-v2KPBHgeSvThqz/qsajxpc98CIcBhXson4uUazAuwFs=",
|
"narHash": "sha256-syxEJP0NNgVZYHp/zRVuz32VYf+ULD9itZk7V06SCos=",
|
||||||
"owner": "tomasriveral",
|
"owner": "tomasriveral",
|
||||||
"repo": "notewrapper",
|
"repo": "notewrapper",
|
||||||
"rev": "713fa27893c91896607229895d06e4b853edceeb",
|
"rev": "e670ef935f0dd87dc8a8c6982147a9b8dce7565e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -328,11 +281,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787604401,
|
"lastModified": 1781158593,
|
||||||
"narHash": "sha256-r5Ts5BWk99uIuyFqai85c+WdS3AAar20Qgd0diV1YoM=",
|
"narHash": "sha256-zxlheX4o1MK00dkYzoXm7Srj5SD9iOCSp4N7f1iShr0=",
|
||||||
"owner": "r14dd",
|
"owner": "r14dd",
|
||||||
"repo": "patent",
|
"repo": "patent",
|
||||||
"rev": "bbe68e8ebc29ca6cec996f89b03997a5d67aa550",
|
"rev": "68772d068088d62a030619090959165af5e71ed1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -349,11 +302,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787440121,
|
"lastModified": 1781053488,
|
||||||
"narHash": "sha256-OZdLL1rMR9kjTFZroOODeyQ0u6nrSxcFHlK6JUi+R/c=",
|
"narHash": "sha256-P4WEBaKgl8flRckHxXGHzT0potPvB3x8ZFIp9gLEAMY=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "0fed22a2c47d9568ddf13cf61586b3f2ac4378a2",
|
"rev": "d99d87d5e5ec4e696815348692fdaaf0b6be1b2c",
|
||||||
"revCount": 847,
|
"revCount": 822,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
},
|
},
|
||||||
@@ -364,7 +317,6 @@
|
|||||||
},
|
},
|
||||||
"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",
|
||||||
@@ -417,21 +369,6 @@
|
|||||||
"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,11 +47,6 @@
|
|||||||
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";
|
||||||
@@ -69,15 +64,12 @@
|
|||||||
flake = let
|
flake = let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
unfreePkgs = [
|
unfreePkgs = [
|
||||||
"code"
|
|
||||||
"hplip"
|
"hplip"
|
||||||
"nvidia-x11"
|
"nvidia-x11"
|
||||||
"nvidia-settings"
|
"nvidia-settings"
|
||||||
"steam"
|
"steam"
|
||||||
"steam-unwrapped"
|
"steam-unwrapped"
|
||||||
"cheatsheet.nvim"
|
"cheatsheet.nvim"
|
||||||
"vscode"
|
|
||||||
"vscode-fhs"
|
|
||||||
"zoom-us"
|
"zoom-us"
|
||||||
"zoom"
|
"zoom"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -402,24 +402,6 @@
|
|||||||
keyword = "nix function search";
|
keyword = "nix function search";
|
||||||
url = "https://noogle.dev";
|
url = "https://noogle.dev";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
name = "EPFL Moodle";
|
|
||||||
tags = ["epfl" "moodle"];
|
|
||||||
keyword = "epfl moodle";
|
|
||||||
url = "https://moodle.epfl.ch/my/courses.php";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "EPFL ICC Courseware";
|
|
||||||
tags = ["icc" "epfl" "courseware"];
|
|
||||||
keyword = "icc epfl courseware";
|
|
||||||
url = "https://courseware.epfl.ch/learner-dashboard/";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "Detexify";
|
|
||||||
tags = ["draw" "Latex" "symbols"];
|
|
||||||
keyword = "draw latex symbols";
|
|
||||||
url = "https://detexify.kirelabs.org/";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
search = {
|
search = {
|
||||||
|
|||||||
@@ -24,16 +24,16 @@
|
|||||||
inhibitWhenAudio = true;
|
inhibitWhenAudio = true;
|
||||||
timeouts = [
|
timeouts = [
|
||||||
{
|
{
|
||||||
timeout = 1000;
|
timeout = 180;
|
||||||
idleAction = "lock";
|
idleAction = "lock";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 1010;
|
timeout = 300;
|
||||||
idleAction = "dpms off"; # what's that?
|
idleAction = "dpms off"; # what's that?
|
||||||
returnAction = "dpms on";
|
returnAction = "dpms on";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 12200;
|
timeout = 600;
|
||||||
idleAction = ["systemctl" "suspend-then-hibernate"];
|
idleAction = ["systemctl" "suspend-then-hibernate"];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ _: {
|
|||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
/*
|
/*
|
||||||
for some reason this doesnt work really well. So it's best to setup git imperatively
|
|
||||||
push.autoSetupRemote to true
|
|
||||||
settings = {
|
settings = {
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
_: {
|
{...}: {
|
||||||
flake.nixosModules.hyprland = {
|
flake.nixosModules.hyprland = {
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-unstable,
|
pkgs-unstable,
|
||||||
@@ -39,6 +39,7 @@ _: {
|
|||||||
text = ''
|
text = ''
|
||||||
hl.on("hyprland.start", function()
|
hl.on("hyprland.start", function()
|
||||||
hl.exec_cmd("qtbatticon")
|
hl.exec_cmd("qtbatticon")
|
||||||
|
hl.exec_cmd("source /run/agenix/ntfy && nixpkgs-notifier listen")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
hl.monitor({
|
hl.monitor({
|
||||||
@@ -66,15 +67,15 @@ _: {
|
|||||||
force = true;
|
force = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
flake.homeModules.hyprland = {pkgs-unstable, ...}: let
|
flake.homeModules.hyprland = {pkgs-unstable, ... }:
|
||||||
|
let
|
||||||
wallpaper1 = ../../assets/wallpaper1.jpg;
|
wallpaper1 = ../../assets/wallpaper1.jpg;
|
||||||
wallpaper2 = ../../assets/wallpaper2.jpg;
|
wallpaper2 = ../../assets/wallpaper2.jpg;
|
||||||
wallpaper3 = ../../assets/wallpaper3.jpg;
|
wallpaper3 = ../../assets/wallpaper3.jpg;
|
||||||
wallpaper4 = ../../assets/wallpaper4.jpg;
|
wallpaper4 = ../../assets/wallpaper4.jpg;
|
||||||
wallpaper5 = ../../assets/wallpaper5.jpg;
|
wallpaper5 = ../../assets/wallpaper5.jpg;
|
||||||
|
|
||||||
hyprlandLua =
|
hyprlandLua = builtins.replaceStrings
|
||||||
builtins.replaceStrings
|
|
||||||
[
|
[
|
||||||
"WALLPAPER1/PATH/PLACEHOLDER"
|
"WALLPAPER1/PATH/PLACEHOLDER"
|
||||||
"WALLPAPER2/PATH/PLACEHOLDER"
|
"WALLPAPER2/PATH/PLACEHOLDER"
|
||||||
@@ -90,7 +91,8 @@ _: {
|
|||||||
(toString wallpaper5)
|
(toString wallpaper5)
|
||||||
]
|
]
|
||||||
(builtins.readFile ../../other/hyprland/hyprland.lua);
|
(builtins.readFile ../../other/hyprland/hyprland.lua);
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
#refer to https://wiki.hypr.land/Nix/Hyprland-on-Home-Manager/
|
#refer to https://wiki.hypr.land/Nix/Hyprland-on-Home-Manager/
|
||||||
wayland.windowManager.hyprland.enable = true;
|
wayland.windowManager.hyprland.enable = true;
|
||||||
wayland.windowManager.hyprland.package = pkgs-unstable.hyprland;
|
wayland.windowManager.hyprland.package = pkgs-unstable.hyprland;
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
_: {
|
||||||
|
flake.nixosModules.mullvad = _: {
|
||||||
|
services.mullvad-vpn = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
flake.homeModules.mullvad = _: {
|
||||||
|
programs.mullvad-vpn = {
|
||||||
|
# gui
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -333,8 +333,6 @@ _: {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
vim.lsp.config("texlab", { cmd = { "texlab" }, filetypes = { "tex" }, on_attach = on_attach })
|
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", {
|
vim.lsp.config("ltex", {
|
||||||
cmd = { "ltex-ls-plus" },
|
cmd = { "ltex-ls-plus" },
|
||||||
filetypes = { "markdown", "text", "tex", "plaintex" },
|
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
|
-- DASHBOARD
|
||||||
-- =========================
|
-- =========================
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
force = true;
|
force = true;
|
||||||
text = ''
|
text = ''
|
||||||
{
|
{
|
||||||
"directory": ["~/Documents/Notes/"],
|
"directory": ["~/kdrive/Notes/"],
|
||||||
"render": true,
|
"render": true,
|
||||||
"jumpToEndOfFileOnLaunch": true,
|
"jumpToEndOfFileOnLaunch": true,
|
||||||
"editor": "neovim",
|
"editor": "neovim",
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"backup": {
|
"backup": {
|
||||||
"enable": true,
|
"enable": true,
|
||||||
"directory": {
|
"directory": {
|
||||||
"~/Documents/Notes/": "~/kdrive/Notes/"
|
"~/kdrive/Notes/": "~/kdrive/Notes/"
|
||||||
},
|
},
|
||||||
"interval": "daily",
|
"interval": "daily",
|
||||||
"rsyncArgs": ["-Lqah", "--update"],
|
"rsyncArgs": ["-Lqah", "--update"],
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
_: {
|
_: {
|
||||||
|
|
||||||
flake.homeModules.tmux = _: {
|
flake.homeModules.tmux = _: {
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -43,11 +43,6 @@ _: {
|
|||||||
enable = true;
|
enable = true;
|
||||||
autosuggestion.enable = false; # zsh-autocomplete is replaced by deja
|
autosuggestion.enable = false; # zsh-autocomplete is replaced by deja
|
||||||
initContent = ''
|
initContent = ''
|
||||||
# those aliases can't be written in nix, because of ö
|
|
||||||
# l and ö are very close
|
|
||||||
alias -- ös=ls
|
|
||||||
alias -- öös=ls
|
|
||||||
|
|
||||||
# Safe cat that uses colorize plugin ccat
|
# Safe cat that uses colorize plugin ccat
|
||||||
custom-cat() {
|
custom-cat() {
|
||||||
if [[ -t 1 ]]; then
|
if [[ -t 1 ]]; then
|
||||||
@@ -66,11 +61,7 @@ _: {
|
|||||||
}
|
}
|
||||||
eval "$(direnv hook zsh)"
|
eval "$(direnv hook zsh)"
|
||||||
eval "$(deja init zsh)"
|
eval "$(deja init zsh)"
|
||||||
if [[ "$TERM_PROGRAM" != "vscode" ]]; then
|
fastfetch''\n'';
|
||||||
fastfetch
|
|
||||||
fi
|
|
||||||
|
|
||||||
'';
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
".." = "z ..";
|
".." = "z ..";
|
||||||
grep = "rg";
|
grep = "rg";
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
{self, ...}: {
|
{
|
||||||
|
self,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
flake.nixosModules.battery-laptop = {pkgs, ...}:
|
flake.nixosModules.battery-laptop = {pkgs, ...}:
|
||||||
# https://discourse.nixos.org/t/what-is-the-best-option-for-power-management/63406/2
|
# https://discourse.nixos.org/t/what-is-the-best-option-for-power-management/63406/2
|
||||||
# we just activate tlp unconditonally
|
# we just activate tlp unconditonally
|
||||||
@@ -31,7 +35,7 @@
|
|||||||
*/
|
*/
|
||||||
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)
|
||||||
|
|||||||
@@ -1,26 +1,10 @@
|
|||||||
_: {
|
_: {
|
||||||
flake.nixosModules.hardwareUtils-laptop = {pkgs-unstable, ...}: {
|
flake.nixosModules.hardwareUtils-laptop = {pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs-unstable; [
|
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
|
||||||
netwatch
|
|
||||||
(diskwatch.override {
|
|
||||||
withSmartmontools = true;
|
|
||||||
})
|
|
||||||
syswatch
|
|
||||||
];
|
];
|
||||||
services.fwupd.enable = true; # update device firmware
|
|
||||||
};
|
|
||||||
flake.nixosModules.hardwareUtils-desktop = {pkgs-unstable, ...}: {
|
|
||||||
environment.systemPackages = with pkgs-unstable; [
|
|
||||||
netwatch
|
|
||||||
(diskwatch.override {
|
|
||||||
withSmartmontools = true;
|
|
||||||
})
|
|
||||||
syswatch
|
|
||||||
];
|
|
||||||
services.fwupd.enable = true; # update device firmware
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
_: {
|
|
||||||
flake.nixosModules.onxyboox = {pkgs, ...}: {
|
|
||||||
services.gvfs.enable = true;
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
gvfs
|
|
||||||
calibre
|
|
||||||
kdePackages.kio-extras
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -29,7 +29,6 @@
|
|||||||
fonts
|
fonts
|
||||||
games
|
games
|
||||||
hardware-configuration-desktop
|
hardware-configuration-desktop
|
||||||
hardwareUtils-desktop
|
|
||||||
hdd
|
hdd
|
||||||
hledger
|
hledger
|
||||||
hledger-desktop
|
hledger-desktop
|
||||||
@@ -39,19 +38,19 @@
|
|||||||
latex
|
latex
|
||||||
ly
|
ly
|
||||||
mathematics
|
mathematics
|
||||||
|
mullvad
|
||||||
networking
|
networking
|
||||||
nixUtils
|
nixUtils
|
||||||
notifications
|
notifications
|
||||||
nvidia
|
nvidia
|
||||||
office
|
office
|
||||||
#ollama
|
ollama
|
||||||
otherUtils
|
otherUtils
|
||||||
performance-desktop
|
performance-desktop
|
||||||
printer
|
printer
|
||||||
rss
|
rss
|
||||||
udev
|
udev
|
||||||
user
|
user
|
||||||
vpn
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
flake.homeModules.desktop = {...}: {
|
flake.homeModules.desktop = {...}: {
|
||||||
@@ -69,6 +68,7 @@
|
|||||||
hyprland-desktop
|
hyprland-desktop
|
||||||
kitty
|
kitty
|
||||||
librewolf
|
librewolf
|
||||||
|
mullvad
|
||||||
neovim
|
neovim
|
||||||
nix-git-cherry-picker-desktop
|
nix-git-cherry-picker-desktop
|
||||||
desktop-notewrapper
|
desktop-notewrapper
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
home.homeDirectory = "/home/tomasr";
|
home.homeDirectory = "/home/tomasr";
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "neovim";
|
||||||
TERMINAL = "kitty";
|
TERMINAL = "kitty";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,6 @@
|
|||||||
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
|
||||||
@@ -20,17 +18,15 @@
|
|||||||
audioAndMedia
|
audioAndMedia
|
||||||
autoCleanup-laptop
|
autoCleanup-laptop
|
||||||
autoUpdate-laptop
|
autoUpdate-laptop
|
||||||
#battery-laptop
|
battery-laptop
|
||||||
bluetooth
|
bluetooth
|
||||||
bootloader
|
bootloader
|
||||||
browsers
|
browsers
|
||||||
caelestia
|
caelestia
|
||||||
cs-119l # I'm obliged to use vscode. RIP neovim
|
|
||||||
development
|
development
|
||||||
documentation
|
documentation
|
||||||
disk
|
disk
|
||||||
disk-laptop
|
disk-laptop
|
||||||
epfl
|
|
||||||
fonts
|
fonts
|
||||||
gitBackup
|
gitBackup
|
||||||
hardware-configuration-laptop
|
hardware-configuration-laptop
|
||||||
@@ -43,19 +39,18 @@
|
|||||||
latex
|
latex
|
||||||
ly
|
ly
|
||||||
mathematics
|
mathematics
|
||||||
|
mullvad
|
||||||
networking
|
networking
|
||||||
nixUtils-laptop
|
nixUtils-laptop
|
||||||
nixUtils
|
nixUtils
|
||||||
notifications
|
notifications
|
||||||
office
|
office
|
||||||
onxyboox
|
|
||||||
#ollama
|
#ollama
|
||||||
otherUtils
|
otherUtils
|
||||||
printer
|
printer
|
||||||
rss
|
rss
|
||||||
udev
|
udev
|
||||||
user
|
user
|
||||||
vpn
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
flake.homeModules.laptop = {...}: {
|
flake.homeModules.laptop = {...}: {
|
||||||
@@ -74,6 +69,7 @@
|
|||||||
hyprland-laptop
|
hyprland-laptop
|
||||||
kitty
|
kitty
|
||||||
librewolf
|
librewolf
|
||||||
|
mullvad
|
||||||
neovim
|
neovim
|
||||||
nix-git-cherry-picker-laptop
|
nix-git-cherry-picker-laptop
|
||||||
laptop-notewrapper
|
laptop-notewrapper
|
||||||
@@ -133,7 +129,7 @@
|
|||||||
home.homeDirectory = "/home/tomasr";
|
home.homeDirectory = "/home/tomasr";
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "neovim";
|
||||||
TERMINAL = "kitty";
|
TERMINAL = "kitty";
|
||||||
SYSTEMD_PAGER = "cat";
|
SYSTEMD_PAGER = "cat";
|
||||||
PAGER = "cat";
|
PAGER = "cat";
|
||||||
|
|||||||
@@ -44,18 +44,6 @@ _: {
|
|||||||
command = "${pkgs-unstable.nixos-rebuild}/bin/nixos-rebuild";
|
command = "${pkgs-unstable.nixos-rebuild}/bin/nixos-rebuild";
|
||||||
options = ["NOPASSWD"];
|
options = ["NOPASSWD"];
|
||||||
}
|
}
|
||||||
{
|
|
||||||
command = "/run/current-system/sw/bin/open";
|
|
||||||
options = ["NOPASSWD"];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "${pkgs.openconnect}/bin/openconnect";
|
|
||||||
options = ["NOPASSWD"];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "${pkgs-unstable.openconnect}/bin/openconnect";
|
|
||||||
options = ["NOPASSWD"];
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -13,11 +13,5 @@
|
|||||||
group = "users";
|
group = "users";
|
||||||
mode = "0400";
|
mode = "0400";
|
||||||
};
|
};
|
||||||
age.secrets.epfl = {
|
|
||||||
file = ../../secrets/epfl.age;
|
|
||||||
owner = "tomasr";
|
|
||||||
group = "users";
|
|
||||||
mode = "0400";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -19,9 +19,6 @@
|
|||||||
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";
|
||||||
@@ -76,9 +73,6 @@
|
|||||||
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";
|
||||||
@@ -118,9 +112,8 @@
|
|||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
git
|
git
|
||||||
nixos-rebuild
|
nixos-rebuild
|
||||||
curl
|
matrix-commander-rs
|
||||||
libnotify
|
libnotify
|
||||||
nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
text = ''
|
text = ''
|
||||||
@@ -142,7 +135,7 @@
|
|||||||
# update lock only
|
# update lock only
|
||||||
nix flake update --flake "$FLAKE_DIR"
|
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
|
if ! git -C "$FLAKE_DIR" diff --quiet -- flake.lock; then
|
||||||
git -C "$FLAKE_DIR" add flake.lock
|
git -C "$FLAKE_DIR" add flake.lock
|
||||||
@@ -187,14 +180,11 @@
|
|||||||
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"
|
||||||
@@ -211,7 +201,7 @@
|
|||||||
# update lock only
|
# update lock only
|
||||||
nix flake update --flake "$FLAKE_DIR"
|
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
|
if ! git -C "$FLAKE_DIR" diff --quiet -- flake.lock; then
|
||||||
git -C "$FLAKE_DIR" add flake.lock
|
git -C "$FLAKE_DIR" add flake.lock
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ _: {
|
|||||||
flake.nixosModules.hledger = {pkgs, ...}: {
|
flake.nixosModules.hledger = {pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
hledger
|
hledger
|
||||||
|
hledger-ui
|
||||||
hledger-web
|
hledger-web
|
||||||
asciinema # used for some hledger demos
|
asciinema # used for some hledger demos
|
||||||
puffin
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
flake.nixosModules.hledger-laptop = _: {
|
flake.nixosModules.hledger-laptop = _: {
|
||||||
|
|||||||
@@ -4,14 +4,11 @@
|
|||||||
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)
|
||||||
# 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
|
||||||
*/
|
|
||||||
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
|
||||||
telegram-desktop
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
perSystem = {pkgs, ...}: {
|
perSystem = {pkgs, ...}: {
|
||||||
|
|||||||
@@ -48,17 +48,11 @@
|
|||||||
"configFetchTime": 1,
|
"configFetchTime": 1,
|
||||||
"localNotify": true,
|
"localNotify": true,
|
||||||
"matrix": {
|
"matrix": {
|
||||||
"enable": false,
|
"enable": true,
|
||||||
"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,65 +0,0 @@
|
|||||||
{self, ...}: {
|
|
||||||
flake.nixosModules.epfl = {pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
openconnect
|
|
||||||
self.packages.${pkgs.system}.custom-mountEpflDrive
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
flake.nixosModules.cs-119l = {pkgs, ...}: let
|
|
||||||
user = "tomasr";
|
|
||||||
home = "/home/${user}";
|
|
||||||
src = "${home}/epfl/cs-119l-ICC/";
|
|
||||||
dst = "${home}/kdrive/Travail/2 - Bachelor/BA1/Information, calcul, communication CS-119l/code/";
|
|
||||||
in {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
vscode-fhs
|
|
||||||
];
|
|
||||||
systemd.services.sync-cs119l-to-kdrive = {
|
|
||||||
description = "Sync CS-119l ICC to kDrive";
|
|
||||||
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
User = user;
|
|
||||||
|
|
||||||
ExecStart = "${pkgs.rsync}/bin/rsync -a '${src}' '${dst}'";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.timers.sync-cs119l-to-kdrive = {
|
|
||||||
description = "Sync CS-119l ICC to kDrive every Thursday and Friday evening";
|
|
||||||
|
|
||||||
wantedBy = ["timers.target"];
|
|
||||||
|
|
||||||
timerConfig = {
|
|
||||||
OnCalendar = [
|
|
||||||
"Thu *-*-* 20:00:00"
|
|
||||||
"Fri *-*-* 20:00:00"
|
|
||||||
];
|
|
||||||
Persistent = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
perSystem = {pkgs, ...}: {
|
|
||||||
packages.custom-mountEpflDrive = pkgs.writeShellApplication {
|
|
||||||
name = "custom-mountEpflDrive";
|
|
||||||
runtimeInputs = with pkgs; [
|
|
||||||
rclone
|
|
||||||
libnotify
|
|
||||||
];
|
|
||||||
text = ''
|
|
||||||
REMOTE_NAME="epfl"
|
|
||||||
MOUNT_POINT="$HOME/epfl/drive"
|
|
||||||
|
|
||||||
if rclone listremotes | rg "^''${REMOTE_NAME}:"; then
|
|
||||||
echo "Mounting ''${REMOTE_NAME}..."
|
|
||||||
rclone mount "''${REMOTE_NAME}:" "$MOUNT_POINT" --vfs-cache-mode writes --allow-non-empty &
|
|
||||||
else
|
|
||||||
notify-send "rclone mount failed" \
|
|
||||||
"Remote ''${REMOTE_NAME} not found.\nConfigure rclone and create the dir ~/epfl/drive/ or comment out the exec line in hyprland.lua."
|
|
||||||
echo "Remote ''${REMOTE_NAME} not found. Configure rclone or comment out the exec line in hyprland.lua."
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -16,15 +16,7 @@ _: {
|
|||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
services.openssh = {
|
# services.openssh.enable = true;
|
||||||
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 = [ ... ];
|
||||||
|
|||||||
@@ -45,7 +45,6 @@
|
|||||||
nix-index
|
nix-index
|
||||||
statix
|
statix
|
||||||
self.packages.${pkgs-unstable.system}.custom-trimmer
|
self.packages.${pkgs-unstable.system}.custom-trimmer
|
||||||
nix-update # nix-update <package> --build --test --format # the review will be done by nixpkgs-review-gha
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
perSystem = {pkgs, ...}: {
|
perSystem = {pkgs, ...}: {
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
{self, ...}: {
|
{self, ...}: {
|
||||||
flake.nixosModules.otherUtils =
|
flake.nixosModules.otherUtils =
|
||||||
# try to keep packages here at a minium. Preferably use a dedicated file
|
# try to keep packages here at a minium. Preferably use a dedicated file
|
||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
|
||||||
pkgs-unstable,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gnome-calculator
|
gnome-calculator
|
||||||
snapshot
|
snapshot
|
||||||
@@ -22,7 +18,8 @@
|
|||||||
usbutils # used for lsusb
|
usbutils # used for lsusb
|
||||||
self.packages.${pkgs.system}.custom-tomato
|
self.packages.${pkgs.system}.custom-tomato
|
||||||
self.packages.${pkgs.system}.custom-syllabes
|
self.packages.${pkgs.system}.custom-syllabes
|
||||||
pkgs-unstable.bitwarden-desktop
|
# Electron 39 EOL. https://github.com/bitwarden/clients/pull/20448 should move it to 41. For the moment use the browser extension
|
||||||
|
#pkgs-unstable.bitwarden-desktop
|
||||||
fluffychat # matrix client
|
fluffychat # matrix client
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,99 +0,0 @@
|
|||||||
# config for openconnect is in ./epfl.nix
|
|
||||||
{self, ...}: {
|
|
||||||
flake.nixosModules.vpn = {pkgs, ...}: {
|
|
||||||
services.mullvad-vpn = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
environment.systemPackages = [
|
|
||||||
self.packages.${pkgs.system}.custom-vpn-picker
|
|
||||||
];
|
|
||||||
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
|
|
||||||
mullvad
|
|
||||||
openconnect
|
|
||||||
gawk
|
|
||||||
wl-clipboard
|
|
||||||
cliphist
|
|
||||||
];
|
|
||||||
|
|
||||||
text = ''
|
|
||||||
mullvad_connect () {
|
|
||||||
mullvad disconnect
|
|
||||||
mullvad relay set location "$1"
|
|
||||||
mullvad connect
|
|
||||||
}
|
|
||||||
|
|
||||||
profiles=(
|
|
||||||
"mullvad-best"
|
|
||||||
"mullvad-zurich"
|
|
||||||
"mullvad-tirana"
|
|
||||||
"mullvad-bogota"
|
|
||||||
"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 |
|
|
||||||
awk '/Best server:/ {
|
|
||||||
getline
|
|
||||||
split($1, a, "-")
|
|
||||||
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
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -300,7 +300,7 @@ hl.bind(mod .. " + D", hl.dsp.layout("move +col"))
|
|||||||
hl.bind(mod .. " + T", hl.dsp.exec_cmd(term))
|
hl.bind(mod .. " + T", hl.dsp.exec_cmd(term))
|
||||||
hl.bind(mod .. " + E", hl.dsp.exec_cmd(file))
|
hl.bind(mod .. " + E", hl.dsp.exec_cmd(file))
|
||||||
hl.bind(mod .. " + F", hl.dsp.exec_cmd(browser))
|
hl.bind(mod .. " + F", hl.dsp.exec_cmd(browser))
|
||||||
hl.bind(mod .. " + N", hl.dsp.exec_cmd("kitty --hold --class \"custom-vpn-picker\" --name \"Select vpn option\" custom-vpn-picker"))
|
hl.bind(mod .. " + N", hl.dsp.exec_cmd(notes))
|
||||||
hl.bind(mod .. " + SHIFT + A", hl.dsp.exec_cmd("caelestia shell drawers toggle launcher"))
|
hl.bind(mod .. " + SHIFT + A", hl.dsp.exec_cmd("caelestia shell drawers toggle launcher"))
|
||||||
hl.bind(mod .. " + Q", close_or_move_special)
|
hl.bind(mod .. " + Q", close_or_move_special)
|
||||||
local function toggle_sidebar()
|
local function toggle_sidebar()
|
||||||
@@ -322,7 +322,7 @@ hl.bind(mod .. " + CTRL + 3", hl.dsp.exec_cmd("pavucontrol"))
|
|||||||
hl.bind("CTRL + SHIFT + ALT + 0", hl.dsp.exec_cmd("kitty --hold --class \"custom-changeAudioOutput\" --name \"Select audio output\" zsh -c \"custom-changeAudioOutput\""))
|
hl.bind("CTRL + SHIFT + ALT + 0", hl.dsp.exec_cmd("kitty --hold --class \"custom-changeAudioOutput\" --name \"Select audio output\" zsh -c \"custom-changeAudioOutput\""))
|
||||||
hl.bind(mod .. " + CTRL + 5", hl.dsp.exec_cmd("gnome-characters"))
|
hl.bind(mod .. " + CTRL + 5", hl.dsp.exec_cmd("gnome-characters"))
|
||||||
hl.bind("CTRL + ALT + 8", hl.dsp.exec_cmd("hyprpicker | tee >(wl-copy) | cliphist store"))
|
hl.bind("CTRL + ALT + 8", hl.dsp.exec_cmd("hyprpicker | tee >(wl-copy) | cliphist store"))
|
||||||
-- hl.bind("CTRL + ALT + 0", hl.dsp.exec_cmd("custom-tomato"))
|
hl.bind("CTRL + ALT + 0", hl.dsp.exec_cmd("custom-tomato"))
|
||||||
hl.bind("CTRL + ALT + 2", hl.dsp.exec_cmd("custom-bottom"))
|
hl.bind("CTRL + ALT + 2", hl.dsp.exec_cmd("custom-bottom"))
|
||||||
hl.bind("CTRL + ALT + 9", hl.dsp.exec_cmd("anki"))
|
hl.bind("CTRL + ALT + 9", hl.dsp.exec_cmd("anki"))
|
||||||
|
|
||||||
@@ -812,13 +812,6 @@ hl.window_rule({
|
|||||||
float = true,
|
float = true,
|
||||||
size = "400 225",
|
size = "400 225",
|
||||||
})
|
})
|
||||||
hl.window_rule({
|
|
||||||
match = {
|
|
||||||
class = "^(custom-vpn-picker)$",
|
|
||||||
},
|
|
||||||
float = true,
|
|
||||||
size = "350 250",
|
|
||||||
})
|
|
||||||
|
|
||||||
hl.window_rule({
|
hl.window_rule({
|
||||||
match = {
|
match = {
|
||||||
@@ -926,6 +919,7 @@ hl.config({
|
|||||||
|
|
||||||
hl.on("hyprland.start", function()
|
hl.on("hyprland.start", function()
|
||||||
hl.exec_cmd("/nix/store/8kih8alkk4qzgjchg5501r1c3a8a71aw-dbus-1.16.2/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target")
|
hl.exec_cmd("/nix/store/8kih8alkk4qzgjchg5501r1c3a8a71aw-dbus-1.16.2/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target")
|
||||||
|
hl.exec_cmd("qtbatticon")
|
||||||
hl.exec_cmd("source /run/agenix/ntfy && nixpkgs-notifier listen")
|
hl.exec_cmd("source /run/agenix/ntfy && nixpkgs-notifier listen")
|
||||||
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
|
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
|
||||||
hl.exec_cmd("dbus-update-activation-environment --systemd --all")
|
hl.exec_cmd("dbus-update-activation-environment --systemd --all")
|
||||||
@@ -935,12 +929,11 @@ hl.on("hyprland.start", function()
|
|||||||
hl.exec_cmd("udiskie --no-automount --smart-tray")
|
hl.exec_cmd("udiskie --no-automount --smart-tray")
|
||||||
hl.exec_cmd("nm-applet --indicator")
|
hl.exec_cmd("nm-applet --indicator")
|
||||||
hl.exec_cmd("rm -rf ~/.cache/cliphist/ && wl-paste --type text --watch cliphist store & wl-paste --type image --watch cliphist store")
|
hl.exec_cmd("rm -rf ~/.cache/cliphist/ && wl-paste --type text --watch cliphist store & wl-paste --type image --watch cliphist store")
|
||||||
-- hl.exec_cmd("custom-batterynotify")
|
hl.exec_cmd("custom-batterynotify")
|
||||||
-- hl.exec_cmd("custom-batterywarning")
|
hl.exec_cmd("custom-batterywarning")
|
||||||
hl.exec_cmd("awww img WALLPAPER/PATH/PLACEHOLDER")
|
hl.exec_cmd("awww img WALLPAPER/PATH/PLACEHOLDER")
|
||||||
hl.exec_cmd("awww-daemon")
|
hl.exec_cmd("awww-daemon")
|
||||||
hl.exec_cmd("custom-checkKdrive && custom-mountkdrive")
|
hl.exec_cmd("custom-checkKdrive && custom-mountkdrive")
|
||||||
hl.exec_cmd("custom-mountEpflDrive")
|
|
||||||
hl.exec_cmd("custom-gitnotify")
|
hl.exec_cmd("custom-gitnotify")
|
||||||
hl.exec_cmd("sleep 4 & caelestia-shell")
|
hl.exec_cmd("sleep 4 & caelestia-shell")
|
||||||
hl.exec_cmd("sleep 20 && ngcp pull --automatic")
|
hl.exec_cmd("sleep 20 && ngcp pull --automatic")
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
age-encryption.org/v1
|
|
||||||
-> X25519 XuDyuQL0WjW/IvtzxswKnOfXlJa42Itdu+inNPsiNhw
|
|
||||||
3z2v3GbNdMvX9QtgAMrWZB/5Y1HatgpoXGQUMnW91+M
|
|
||||||
-> ssh-ed25519 +tvThg i3NM64rsEgRRgah4PKWdrl4i0pmP6X2bgr2Etzm33Ag
|
|
||||||
OwUETps78LPyjIAcJo8eC9eh0m9qtRUh399xGzMCTwQ
|
|
||||||
--- 7LnVrVnmfA8YubysLVeGyRGlLI+ef0VxnIHRi6rRAlc
|
|
||||||
W¾TîópF’X±áì‘làBTœÝ"^ï”�-þµ‹à¤û§÷Ÿ(üÛ'™ghÕóÎôGÜqx5FË~6Èï6DÎí¬gŒz…¾w·nñSÏHtß…ÌÂÓT«Úè›æŒÅó¤˜sød@°1!P""WHA$Ÿ�›,d68Ñ“õˆ�k“tù\qXÞHŽ®R=�vÕîŸZ
|
|
||||||
Binary file not shown.
@@ -6,8 +6,4 @@ in {
|
|||||||
backupAgeKey
|
backupAgeKey
|
||||||
laptopHostKey
|
laptopHostKey
|
||||||
];
|
];
|
||||||
"epfl.age".publicKeys = [
|
|
||||||
backupAgeKey
|
|
||||||
laptopHostKey
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user