mirror of
https://github.com/tomasriveral/nixos.git
synced 2026-10-13 17:53:03 +02:00
Compare commits
60
Commits
9ed18ed336
..
laptop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a424a01309 | ||
|
|
8a467889bd | ||
|
|
783f7ffc59 | ||
|
|
f702287f7a | ||
|
|
d8b3830520 | ||
|
|
cc5c4bf865 | ||
|
|
e58701d75a | ||
|
|
e88e946110 | ||
|
|
aa335ec277 | ||
|
|
28a9c37369 | ||
|
|
3d273bdd13 | ||
|
|
3871205f6a | ||
|
|
3c44b9d9c0 | ||
|
|
8741846a72 | ||
|
|
5c9d8aee46 | ||
|
|
018d5464db | ||
|
|
db3b4ef194 | ||
|
|
5e717182ed | ||
|
|
5d268e49b9 | ||
|
|
377ec45fad | ||
|
|
7a0454befb | ||
|
|
acefe53275 | ||
|
|
8edf285346 | ||
|
|
5b7bc76c47 | ||
|
|
a599d4b67c | ||
|
|
9155de7abb | ||
|
|
deae612ef8 | ||
|
|
f5490420ba | ||
|
|
45f068c894 | ||
|
|
940cb8a5e9 | ||
|
|
3cd365fbe4 | ||
|
|
943f056e73 | ||
|
|
3e39d45a66 | ||
|
|
96bcd38ff0 | ||
|
|
969583f6ef | ||
|
|
b55fcede9b | ||
|
|
8ae7323dff | ||
|
|
0028993476 | ||
|
|
960a279117 | ||
|
|
8ca9ac4374 | ||
|
|
d0015eae2b | ||
|
|
2186ab5c08 | ||
|
|
73001d5000 | ||
|
|
b46b4e8487 | ||
|
|
5e9c1d5397 | ||
|
|
22cc03b95a | ||
|
|
b30e2abbf4 | ||
|
|
6b674af0a2 | ||
|
|
3bf45ad9c2 | ||
|
|
9b0dbd70a4 | ||
|
|
18fbd68abe | ||
|
|
7cf6867ece | ||
|
|
9fa7397f5c | ||
|
|
a3bf2552a2 | ||
|
|
34ce3df3e2 | ||
|
|
2ca5a61c55 | ||
|
|
f3aa8dec66 | ||
|
|
b3dfeb28d9 | ||
|
|
a3b89490f4 | ||
|
|
677645e5e3 |
No files matched your search
@@ -428,7 +428,6 @@ 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.
|
||||||
@@ -569,6 +568,9 @@ 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
|
||||||
@@ -641,6 +643,7 @@ 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
+30
-30
@@ -36,11 +36,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786071436,
|
"lastModified": 1787276686,
|
||||||
"narHash": "sha256-/CQJ781dRGWWUMrJ34vIj1PQnNEEWgnEEuod0r5LKGk=",
|
"narHash": "sha256-rYdGb5rKIfETdlenQRxHfg17dhf9fN8eaRryX6sztnQ=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "cli",
|
"repo": "cli",
|
||||||
"rev": "751fbc555a83faba5dd589270d14eeb22afab174",
|
"rev": "7401d9e3a371e583bc0b42dc1a139d01e278e6c1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -59,11 +59,11 @@
|
|||||||
"quickshell": "quickshell"
|
"quickshell": "quickshell"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786238888,
|
"lastModified": 1787890941,
|
||||||
"narHash": "sha256-pnO0u0UUYwkr72pJR5Giu93LZfU/fhTKJZYa1xeM7Po=",
|
"narHash": "sha256-j91lsxm/wuuoPPwz4RQOr520EXlHgLPWfSW0KqKsy7E=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "shell",
|
"repo": "shell",
|
||||||
"rev": "817a220e8e87c4df9f3681033a0d8a8054cdaa30",
|
"rev": "1b7052d108677a7ca0d3d3365511bfe8281a6868",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -119,12 +119,12 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785627969,
|
"lastModified": 1787559586,
|
||||||
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
|
"narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=",
|
||||||
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
|
"rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1",
|
||||||
"revCount": 483,
|
"revCount": 489,
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.483%2Brev-427bf4bd9435fdf21321c8cc628c24efc14c0f7a/019fc124-5bcc-79d1-a1e4-306df724dc0a/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": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
@@ -155,11 +155,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785119570,
|
"lastModified": 1787377438,
|
||||||
"narHash": "sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM=",
|
"narHash": "sha256-Sxu1NLTD/Ern6hFGLlZmtKCSct3YQXZI/lls8RE1XeM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d4fd24667c8cbef124bb70a20380cab75ec8474d",
|
"rev": "65258d5c65a250189fde2e35f490d15e064c4c62",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -226,11 +226,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786535285,
|
"lastModified": 1787848966,
|
||||||
"narHash": "sha256-rG5HKMAgAhMgydvKGtco6rqTxRq4EDZQCx9USLvVqYw=",
|
"narHash": "sha256-7gDpu5hpq0rOYnYMcOWqSzquK4HA/xU8Xf3CjUBOOJA=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9f78f44a87948854445dae0b6bf82b2e87e4efb5",
|
"rev": "d57af924f160a5084293c71c2043f058bd1cdb60",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -280,11 +280,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786534138,
|
"lastModified": 1787814960,
|
||||||
"narHash": "sha256-fBJMdnKUTUDtfi/BYLr71HLaC9dG382arxLF2Egg2uo=",
|
"narHash": "sha256-PYZq1qzCJXC2zGI0mH07vrZBsw6DRBAOX0jN1pPtqOQ=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "044bfe75bfe4c7bbe043dc17b5e42ea823b84a09",
|
"rev": "c27cdad491a991b11ed731760aa2ef8db0cb0410",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -304,11 +304,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786346006,
|
"lastModified": 1787547082,
|
||||||
"narHash": "sha256-PDM9fB1zBhqVVE75WxRM7vIo3QhL2LGKKdd6N+hTGlg=",
|
"narHash": "sha256-v2KPBHgeSvThqz/qsajxpc98CIcBhXson4uUazAuwFs=",
|
||||||
"owner": "tomasriveral",
|
"owner": "tomasriveral",
|
||||||
"repo": "notewrapper",
|
"repo": "notewrapper",
|
||||||
"rev": "689c3074c03328e2086dc032a2fc3de00bbef466",
|
"rev": "713fa27893c91896607229895d06e4b853edceeb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -328,11 +328,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786270331,
|
"lastModified": 1787604401,
|
||||||
"narHash": "sha256-GRhNuYIXR/0WWBya4CHfTKyCbL3wuFPJC5yBh5pHU8s=",
|
"narHash": "sha256-r5Ts5BWk99uIuyFqai85c+WdS3AAar20Qgd0diV1YoM=",
|
||||||
"owner": "r14dd",
|
"owner": "r14dd",
|
||||||
"repo": "patent",
|
"repo": "patent",
|
||||||
"rev": "d852cea921124a8b9002db9beb2af2d935af8130",
|
"rev": "bbe68e8ebc29ca6cec996f89b03997a5d67aa550",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -349,11 +349,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785704021,
|
"lastModified": 1787440121,
|
||||||
"narHash": "sha256-eQtczKMAS4ItlB4pr1B3MqBZiyRVl2nkqNdtyRSQMa8=",
|
"narHash": "sha256-OZdLL1rMR9kjTFZroOODeyQ0u6nrSxcFHlK6JUi+R/c=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "28771c7c74b42e20afca0b1b63980cb46515537c",
|
"rev": "0fed22a2c47d9568ddf13cf61586b3f2ac4378a2",
|
||||||
"revCount": 835,
|
"revCount": 847,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -69,12 +69,15 @@
|
|||||||
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,6 +402,24 @@
|
|||||||
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 = 180;
|
timeout = 1000;
|
||||||
idleAction = "lock";
|
idleAction = "lock";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 300;
|
timeout = 1010;
|
||||||
idleAction = "dpms off"; # what's that?
|
idleAction = "dpms off"; # what's that?
|
||||||
returnAction = "dpms on";
|
returnAction = "dpms on";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 600;
|
timeout = 12200;
|
||||||
idleAction = ["systemctl" "suspend-then-hibernate"];
|
idleAction = ["systemctl" "suspend-then-hibernate"];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ _: {
|
|||||||
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,
|
||||||
@@ -35,74 +35,72 @@
|
|||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
};
|
};
|
||||||
flake.homeModules.hyprland-laptop = {
|
flake.homeModules.hyprland-laptop = {
|
||||||
home.file.".config/hypr/host.lua" = {
|
home.file.".config/hypr/host.lua" = {
|
||||||
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({
|
||||||
output = "eDP-1",
|
output = "eDP-1",
|
||||||
mode = "highres@highrr",
|
mode = "highres@highrr",
|
||||||
position = "0x0",
|
position = "0x0",
|
||||||
scale = 1,
|
scale = 1,
|
||||||
})
|
})
|
||||||
'';
|
'';
|
||||||
enable = true;
|
enable = true;
|
||||||
force = true;
|
force = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
flake.homeModules.hyprland-desktop = {
|
||||||
flake.homeModules.hyprland-desktop = {
|
home.file.".config/hypr/host.lua" = {
|
||||||
home.file.".config/hypr/host.lua" = {
|
text = ''
|
||||||
text = ''
|
hl.monitor({
|
||||||
hl.monitor({
|
output = "",
|
||||||
output = "",
|
mode = "preferred",
|
||||||
mode = "preferred",
|
position = "auto",
|
||||||
position = "auto",
|
scale = 0.75,
|
||||||
scale = 0.75,
|
})
|
||||||
})
|
'';
|
||||||
'';
|
enable = true;
|
||||||
enable = true;
|
force = true;
|
||||||
force = true;
|
};
|
||||||
};
|
};
|
||||||
};
|
flake.homeModules.hyprland = {pkgs-unstable, ...}: let
|
||||||
flake.homeModules.hyprland = {pkgs-unstable, ... }:
|
wallpaper1 = ../../assets/wallpaper1.jpg;
|
||||||
let
|
wallpaper2 = ../../assets/wallpaper2.jpg;
|
||||||
wallpaper1 = ../../assets/wallpaper1.jpg;
|
wallpaper3 = ../../assets/wallpaper3.jpg;
|
||||||
wallpaper2 = ../../assets/wallpaper2.jpg;
|
wallpaper4 = ../../assets/wallpaper4.jpg;
|
||||||
wallpaper3 = ../../assets/wallpaper3.jpg;
|
wallpaper5 = ../../assets/wallpaper5.jpg;
|
||||||
wallpaper4 = ../../assets/wallpaper4.jpg;
|
|
||||||
wallpaper5 = ../../assets/wallpaper5.jpg;
|
|
||||||
|
|
||||||
hyprlandLua = builtins.replaceStrings
|
hyprlandLua =
|
||||||
[
|
builtins.replaceStrings
|
||||||
"WALLPAPER1/PATH/PLACEHOLDER"
|
[
|
||||||
"WALLPAPER2/PATH/PLACEHOLDER"
|
"WALLPAPER1/PATH/PLACEHOLDER"
|
||||||
"WALLPAPER3/PATH/PLACEHOLDER"
|
"WALLPAPER2/PATH/PLACEHOLDER"
|
||||||
"WALLPAPER4/PATH/PLACEHOLDER"
|
"WALLPAPER3/PATH/PLACEHOLDER"
|
||||||
"WALLPAPER5/PATH/PLACEHOLDER"
|
"WALLPAPER4/PATH/PLACEHOLDER"
|
||||||
]
|
"WALLPAPER5/PATH/PLACEHOLDER"
|
||||||
[
|
]
|
||||||
(toString wallpaper1)
|
[
|
||||||
(toString wallpaper2)
|
(toString wallpaper1)
|
||||||
(toString wallpaper3)
|
(toString wallpaper2)
|
||||||
(toString wallpaper4)
|
(toString wallpaper3)
|
||||||
(toString wallpaper5)
|
(toString wallpaper4)
|
||||||
]
|
(toString wallpaper5)
|
||||||
(builtins.readFile ../../other/hyprland/hyprland.lua);
|
]
|
||||||
in
|
(builtins.readFile ../../other/hyprland/hyprland.lua);
|
||||||
{
|
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;
|
||||||
#hint Electron apps to use on wayland;
|
#hint Electron apps to use on wayland;
|
||||||
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
wayland.windowManager.hyprland.plugins = [
|
wayland.windowManager.hyprland.plugins = [
|
||||||
#pkgs-unstable.hyprlandPlugins.hyprspace # currently broken
|
#pkgs-unstable.hyprlandPlugins.hyprspace # currently broken
|
||||||
#pkgs-unstable.hyprlandPlugins.hypr-dynamic-cursors
|
#pkgs-unstable.hyprlandPlugins.hypr-dynamic-cursors
|
||||||
];
|
];
|
||||||
wayland.windowManager.hyprland.configType = "lua";
|
wayland.windowManager.hyprland.configType = "lua";
|
||||||
wayland.windowManager.hyprland.extraConfig = hyprlandLua;
|
wayland.windowManager.hyprland.extraConfig = hyprlandLua;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -14,7 +14,6 @@
|
|||||||
flake.nixosModules.kdrive-desktop = {pkgs-unstable, ...}: {
|
flake.nixosModules.kdrive-desktop = {pkgs-unstable, ...}: {
|
||||||
environment.systemPackages = with pkgs-unstable; [
|
environment.systemPackages = with pkgs-unstable; [
|
||||||
rclone
|
rclone
|
||||||
icloudpd
|
|
||||||
self.packages.${pkgs-unstable.system}.custom-checkKdrive
|
self.packages.${pkgs-unstable.system}.custom-checkKdrive
|
||||||
self.packages.${pkgs-unstable.system}.custom-synckdrive-desktop
|
self.packages.${pkgs-unstable.system}.custom-synckdrive-desktop
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
_: {
|
|
||||||
flake.nixosModules.mullvad = _: {
|
|
||||||
services.mullvad-vpn = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
flake.homeModules.mullvad = _: {
|
|
||||||
programs.mullvad-vpn = {
|
|
||||||
# gui
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -333,6 +333,8 @@ _: {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
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" },
|
||||||
@@ -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
|
-- DASHBOARD
|
||||||
-- =========================
|
-- =========================
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
force = true;
|
force = true;
|
||||||
text = ''
|
text = ''
|
||||||
{
|
{
|
||||||
"directory": ["~/kdrive/Notes/"],
|
"directory": ["~/Documents/Notes/"],
|
||||||
"render": true,
|
"render": true,
|
||||||
"jumpToEndOfFileOnLaunch": true,
|
"jumpToEndOfFileOnLaunch": true,
|
||||||
"editor": "neovim",
|
"editor": "neovim",
|
||||||
@@ -16,13 +16,17 @@
|
|||||||
"dateEntry": "# %Y %m %d %a",
|
"dateEntry": "# %Y %m %d %a",
|
||||||
"newLineOnOpening": true,
|
"newLineOnOpening": true,
|
||||||
"backup": {
|
"backup": {
|
||||||
"enable": false,
|
"enable": true,
|
||||||
"directory": {
|
"directory": {
|
||||||
"~/Documents/Notes/": "~/kdrive/Notes/",
|
"~/Documents/Notes/": "~/kdrive/Notes/"
|
||||||
"~/test/": "~/backupTest/"
|
|
||||||
},
|
},
|
||||||
"interval": "daily",
|
"interval": "daily",
|
||||||
"rsyncArgs": ["-Lqah", "--update"]
|
"rsyncArgs": ["-Lqah", "--update"],
|
||||||
|
"git": {
|
||||||
|
"enable": true,
|
||||||
|
"name": "Tomas Rivera",
|
||||||
|
"email": "tomas.riveral@icloud.com"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
@@ -47,7 +51,7 @@
|
|||||||
"backup": {
|
"backup": {
|
||||||
"enable": false,
|
"enable": false,
|
||||||
"directory": {
|
"directory": {
|
||||||
"~/Documents/Notes/": "~/kdrive/Notes/",
|
"~/Documents/Notes/": "~/hdd/kdrive/Notes/",
|
||||||
"~/test/": "~/backupTest/"
|
"~/test/": "~/backupTest/"
|
||||||
},
|
},
|
||||||
"interval": "daily",
|
"interval": "daily",
|
||||||
|
|||||||
@@ -43,6 +43,11 @@ _: {
|
|||||||
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
|
||||||
@@ -61,7 +66,11 @@ _: {
|
|||||||
}
|
}
|
||||||
eval "$(direnv hook zsh)"
|
eval "$(direnv hook zsh)"
|
||||||
eval "$(deja init zsh)"
|
eval "$(deja init zsh)"
|
||||||
fastfetch''\n'';
|
if [[ "$TERM_PROGRAM" != "vscode" ]]; then
|
||||||
|
fastfetch
|
||||||
|
fi
|
||||||
|
|
||||||
|
'';
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
".." = "z ..";
|
".." = "z ..";
|
||||||
grep = "rg";
|
grep = "rg";
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
{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
|
||||||
@@ -336,184 +332,5 @@
|
|||||||
install -m755 qtbatticon $out/bin/
|
install -m755 qtbatticon $out/bin/
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
# This was replaced by caelestia shell's Game Mode
|
|
||||||
packages.custom-performance = pkgs.writeShellApplication {
|
|
||||||
name = "custom-performance";
|
|
||||||
runtimeInputs = with pkgs; [
|
|
||||||
hyprland
|
|
||||||
brightnessctl
|
|
||||||
swaynotificationcenter
|
|
||||||
self.packages.${pkgs.system}.custom-wallpaper
|
|
||||||
libnotify
|
|
||||||
inputs.caelestia-shell.packages.${pkgs.system}.default
|
|
||||||
];
|
|
||||||
text = ''
|
|
||||||
STATE="$HOME/.cache/hypr-battery-saver"
|
|
||||||
|
|
||||||
enable() {
|
|
||||||
mkdir -p "$(dirname "$STATE")"
|
|
||||||
|
|
||||||
echo "Enabling battery saver mode..."
|
|
||||||
|
|
||||||
# Save brightness
|
|
||||||
brightnessctl get > "''${STATE}.brightness" 2>/dev/null || true
|
|
||||||
|
|
||||||
# Kill heavy UI components
|
|
||||||
pkill -f caelestia-shell || true
|
|
||||||
pkill -f caelestia || true
|
|
||||||
pkill shell || true
|
|
||||||
pkill -f custom-wallpaper || true
|
|
||||||
|
|
||||||
# Start lightweight notifications
|
|
||||||
pkill swaync || true
|
|
||||||
swaync & disown
|
|
||||||
|
|
||||||
# Start lightweight waybar
|
|
||||||
pkill waybar || true
|
|
||||||
waybar & disown
|
|
||||||
|
|
||||||
# Lower refresh rate (BIGGEST win)
|
|
||||||
hyprctl keyword monitor "eDP-1,2560x1600@60,0x0,1"
|
|
||||||
|
|
||||||
# Core performance toggles
|
|
||||||
hyprctl --batch "\
|
|
||||||
keyword animations:enabled 0;\
|
|
||||||
keyword animation borderangle,0;\
|
|
||||||
keyword decoration:shadow:enabled 0;\
|
|
||||||
keyword decoration:blur:enabled 0;\
|
|
||||||
keyword decoration:rounding 0;\
|
|
||||||
keyword decoration:fullscreen_opacity 1;\
|
|
||||||
keyword general:gaps_in 0;\
|
|
||||||
keyword general:gaps_out 0;\
|
|
||||||
keyword general:border_size 1;\
|
|
||||||
keyword decoration:active_opacity 1;\
|
|
||||||
keyword decoration:inactive_opacity 1;\
|
|
||||||
keyword misc:vfr true"
|
|
||||||
|
|
||||||
# Lower brightness
|
|
||||||
brightnessctl set 5% 2>/dev/null || true
|
|
||||||
|
|
||||||
touch "$STATE"
|
|
||||||
|
|
||||||
notify-send "Battery Saver" "Enabled"
|
|
||||||
}
|
|
||||||
|
|
||||||
disable() {
|
|
||||||
echo "Disabling battery saver mode..."
|
|
||||||
|
|
||||||
# Restore refresh rate
|
|
||||||
hyprctl keyword monitor "eDP-1,2560x1600@165,0x0,1"
|
|
||||||
|
|
||||||
# Restore Caelestia
|
|
||||||
pkill swaync || true
|
|
||||||
pkill waybar || true
|
|
||||||
caelestia shell -d >/dev/null 2>&1 &
|
|
||||||
disown
|
|
||||||
|
|
||||||
|
|
||||||
# Restart wallpaper
|
|
||||||
custom-wallpaper >/dev/null 2>&1 &
|
|
||||||
disown
|
|
||||||
|
|
||||||
# Restore full UI via reload (safe here on exit)
|
|
||||||
hyprctl reload
|
|
||||||
|
|
||||||
# Restore brightness
|
|
||||||
if [[ -f "''${STATE}.brightness" ]]; then
|
|
||||||
brightnessctl set "$(cat "''${STATE}.brightness")" 2>/dev/null || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -f "$STATE" "''${STATE}.brightness"
|
|
||||||
|
|
||||||
notify-send "Battery Saver" "Disabled"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ -f "$STATE" ]]; then
|
|
||||||
disable
|
|
||||||
else
|
|
||||||
enable
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
# Old script that was used for the battery. Might not work.
|
|
||||||
packages.custom-olddeprecatedbatterynotify = pkgs.writeShellApplication {
|
|
||||||
name = "custom-olddeprecatedbatterynotify";
|
|
||||||
|
|
||||||
runtimeInputs = with pkgs; [
|
|
||||||
libnotify # provides notify-send
|
|
||||||
systemd # provides systemctl
|
|
||||||
];
|
|
||||||
|
|
||||||
text = ''
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
LOW="''${BATTERY_LOW_THRESHOLD:-20}"
|
|
||||||
CRITICAL="''${BATTERY_CRITICAL_THRESHOLD:-5}"
|
|
||||||
FULL="''${BATTERY_FULL_THRESHOLD:-95}"
|
|
||||||
INTERVAL="''${BATTERY_INTERVAL:-30}"
|
|
||||||
ACTION="''${BATTERY_CRITICAL_ACTION:-systemctl suspend}"
|
|
||||||
|
|
||||||
notify() {
|
|
||||||
notify-send -a "Battery" -u "$1" "$2" "$3"
|
|
||||||
}
|
|
||||||
|
|
||||||
get_info() {
|
|
||||||
total=0
|
|
||||||
count=0
|
|
||||||
|
|
||||||
for bat in /sys/class/power_supply/BAT*; do
|
|
||||||
[ -f "$bat/capacity" ] || continue
|
|
||||||
capacity=$(<"$bat/capacity")
|
|
||||||
status=$(<"$bat/status")
|
|
||||||
total=$((total + capacity))
|
|
||||||
count=$((count + 1))
|
|
||||||
done
|
|
||||||
|
|
||||||
[ "$count" -gt 0 ] || exit 0
|
|
||||||
percentage=$((total / count))
|
|
||||||
}
|
|
||||||
|
|
||||||
last_state=""
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
get_info
|
|
||||||
|
|
||||||
if [[ "$status" == "Discharging" && "$percentage" -le "$CRITICAL" ]]; then
|
|
||||||
notify critical "Battery Critically Low" "$percentage% — suspending."
|
|
||||||
$ACTION
|
|
||||||
|
|
||||||
elif [[ "$status" == "Discharging" && "$percentage" -le "$LOW" ]]; then
|
|
||||||
if [[ "$last_state" != "low" ]]; then
|
|
||||||
notify normal "Battery Low" "$percentage% remaining."
|
|
||||||
last_state="low"
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [[ "$status" != "Discharging" && "$percentage" -ge "$FULL" ]]; then
|
|
||||||
if [[ "$last_state" != "full" ]]; then
|
|
||||||
notify normal "Battery Full" "$percentage% — unplug charger."
|
|
||||||
last_state="full"
|
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
last_state=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
sleep "$INTERVAL"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
flake.homeModules.cbatticon = _: {
|
|
||||||
# don't works. some GTK error. I let it here if someday, someone is interest in this shit.
|
|
||||||
# ChatGPT half baked a replacement that works on my system.
|
|
||||||
# see qtbatticon
|
|
||||||
services.cbatticon = {
|
|
||||||
enable = true;
|
|
||||||
lowLevelPercent = 20;
|
|
||||||
criticalLevelPercent = 5;
|
|
||||||
batteryId = "BAT1";
|
|
||||||
hideNotification = true; # we use another script for battery notifications
|
|
||||||
updateIntervalSeconds = 10;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,26 @@
|
|||||||
_: {
|
_: {
|
||||||
flake.nixosModules.hardwareUtils-laptop = {pkgs, ...}: {
|
flake.nixosModules.hardwareUtils-laptop = {pkgs-unstable, ...}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs-unstable; [
|
||||||
# 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
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -29,6 +29,7 @@
|
|||||||
fonts
|
fonts
|
||||||
games
|
games
|
||||||
hardware-configuration-desktop
|
hardware-configuration-desktop
|
||||||
|
hardwareUtils-desktop
|
||||||
hdd
|
hdd
|
||||||
hledger
|
hledger
|
||||||
hledger-desktop
|
hledger-desktop
|
||||||
@@ -38,7 +39,6 @@
|
|||||||
latex
|
latex
|
||||||
ly
|
ly
|
||||||
mathematics
|
mathematics
|
||||||
mullvad
|
|
||||||
networking
|
networking
|
||||||
nixUtils
|
nixUtils
|
||||||
notifications
|
notifications
|
||||||
@@ -51,6 +51,7 @@
|
|||||||
rss
|
rss
|
||||||
udev
|
udev
|
||||||
user
|
user
|
||||||
|
vpn
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
flake.homeModules.desktop = {...}: {
|
flake.homeModules.desktop = {...}: {
|
||||||
@@ -68,7 +69,6 @@
|
|||||||
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
|
||||||
|
|||||||
@@ -25,10 +25,12 @@
|
|||||||
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
|
||||||
@@ -41,7 +43,6 @@
|
|||||||
latex
|
latex
|
||||||
ly
|
ly
|
||||||
mathematics
|
mathematics
|
||||||
mullvad
|
|
||||||
networking
|
networking
|
||||||
nixUtils-laptop
|
nixUtils-laptop
|
||||||
nixUtils
|
nixUtils
|
||||||
@@ -54,6 +55,7 @@
|
|||||||
rss
|
rss
|
||||||
udev
|
udev
|
||||||
user
|
user
|
||||||
|
vpn
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
flake.homeModules.laptop = {...}: {
|
flake.homeModules.laptop = {...}: {
|
||||||
@@ -72,7 +74,6 @@
|
|||||||
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
|
||||||
|
|||||||
@@ -44,6 +44,18 @@ _: {
|
|||||||
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,5 +13,11 @@
|
|||||||
group = "users";
|
group = "users";
|
||||||
mode = "0400";
|
mode = "0400";
|
||||||
};
|
};
|
||||||
|
age.secrets.epfl = {
|
||||||
|
file = ../../secrets/epfl.age;
|
||||||
|
owner = "tomasr";
|
||||||
|
group = "users";
|
||||||
|
mode = "0400";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -4,11 +4,14 @@
|
|||||||
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, ...}: {
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
{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
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
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,7 +1,11 @@
|
|||||||
{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
|
||||||
@@ -18,8 +22,7 @@
|
|||||||
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
|
||||||
# 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
|
||||||
#pkgs-unstable.bitwarden-desktop
|
|
||||||
fluffychat # matrix client
|
fluffychat # matrix client
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,99 @@
|
|||||||
|
# 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
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
+155
-10
@@ -38,6 +38,7 @@ local function close_other_windows()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local wallpapers_enabled = true
|
||||||
local wallpapers = {
|
local wallpapers = {
|
||||||
[1] = "WALLPAPER1/PATH/PLACEHOLDER",
|
[1] = "WALLPAPER1/PATH/PLACEHOLDER",
|
||||||
[2] = "WALLPAPER2/PATH/PLACEHOLDER",
|
[2] = "WALLPAPER2/PATH/PLACEHOLDER",
|
||||||
@@ -51,13 +52,144 @@ local wallpapers = {
|
|||||||
[10] = "WALLPAPER5/PATH/PLACEHOLDER",
|
[10] = "WALLPAPER5/PATH/PLACEHOLDER",
|
||||||
}
|
}
|
||||||
|
|
||||||
hl.on("workspace.active", function(workspace)
|
local function set_wallpaper(workspace)
|
||||||
|
if not wallpapers_enabled then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local wallpaper = wallpapers[workspace.id]
|
local wallpaper = wallpapers[workspace.id]
|
||||||
|
|
||||||
if wallpaper then
|
if wallpaper then
|
||||||
hl.exec_cmd("awww img -t none " .. wallpaper)
|
hl.exec_cmd("awww img -t none " .. wallpaper)
|
||||||
end
|
end
|
||||||
end)
|
end
|
||||||
|
|
||||||
|
hl.on("workspace.active", set_wallpaper)
|
||||||
|
|
||||||
|
local performance_mode = false
|
||||||
|
local saved_brightness = nil
|
||||||
|
|
||||||
|
local function get_brightness()
|
||||||
|
local handle = io.popen("brightnessctl get 2>/dev/null")
|
||||||
|
|
||||||
|
if not handle then
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local value = handle:read("*a")
|
||||||
|
handle:close()
|
||||||
|
|
||||||
|
if not value then
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
value = value:gsub("%s+$", "")
|
||||||
|
return tonumber(value)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function set_performance_mode()
|
||||||
|
if performance_mode then
|
||||||
|
hl.monitor({
|
||||||
|
output = "eDP-1",
|
||||||
|
mode = "2560x1600@165",
|
||||||
|
position = "0x0",
|
||||||
|
scale = 1,
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.exec_cmd("pkill swaync || true")
|
||||||
|
hl.exec_cmd("pkill waybar || true")
|
||||||
|
hl.exec_cmd("caelestia shell -d")
|
||||||
|
|
||||||
|
if saved_brightness then
|
||||||
|
hl.exec_cmd("brightnessctl set " .. saved_brightness)
|
||||||
|
end
|
||||||
|
|
||||||
|
saved_brightness = nil
|
||||||
|
wallpapers_enabled = true
|
||||||
|
performance_mode = false
|
||||||
|
|
||||||
|
hl.exec_cmd("hyprctl reload")
|
||||||
|
|
||||||
|
local workspace = hl.get_active_workspace()
|
||||||
|
if workspace then
|
||||||
|
set_wallpaper(workspace)
|
||||||
|
end
|
||||||
|
|
||||||
|
hl.notification.create({
|
||||||
|
text = "Battery Saver",
|
||||||
|
subtext = "Disabled",
|
||||||
|
timeout = 3000,
|
||||||
|
})
|
||||||
|
|
||||||
|
return
|
||||||
|
end
|
||||||
|
-- Save current brightness.
|
||||||
|
saved_brightness = get_brightness()
|
||||||
|
|
||||||
|
-- Lower refresh rate.
|
||||||
|
hl.monitor({
|
||||||
|
output = "eDP-1",
|
||||||
|
mode = "2560x1600@60",
|
||||||
|
position = "0x0",
|
||||||
|
scale = 1,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Stop heavy UI components.
|
||||||
|
hl.exec_cmd("pkill -f caelestia-shell || true")
|
||||||
|
hl.exec_cmd("pkill -f caelestia || true")
|
||||||
|
|
||||||
|
-- Start lightweight notification daemon.
|
||||||
|
hl.exec_cmd("pkill swaync || true")
|
||||||
|
hl.exec_cmd("swaync")
|
||||||
|
|
||||||
|
-- Start lightweight status bar.
|
||||||
|
hl.exec_cmd("pkill waybar || true")
|
||||||
|
hl.exec_cmd("waybar")
|
||||||
|
|
||||||
|
-- Disable expensive Hyprland effects.
|
||||||
|
hl.config({
|
||||||
|
animations = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
shadow = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
blur = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
rounding = 0,
|
||||||
|
fullscreen_opacity = 1,
|
||||||
|
active_opacity = 1,
|
||||||
|
inactive_opacity = 1,
|
||||||
|
},
|
||||||
|
|
||||||
|
general = {
|
||||||
|
gaps_in = 0,
|
||||||
|
gaps_out = 0,
|
||||||
|
border_size = 1,
|
||||||
|
},
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
vfr = 1,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Lower brightness.
|
||||||
|
hl.exec_cmd("brightnessctl set 5%")
|
||||||
|
|
||||||
|
-- Disable workspace wallpaper switching.
|
||||||
|
wallpapers_enabled = false
|
||||||
|
|
||||||
|
performance_mode = true
|
||||||
|
|
||||||
|
hl.notification.create({
|
||||||
|
text = "Battery Saver",
|
||||||
|
subtext = "Enabled",
|
||||||
|
timeout = 3000,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
hl.curve("wind", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } })
|
hl.curve("wind", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } })
|
||||||
hl.curve("winIn", { type = "bezier", points = { { 0.1, 1.1 }, { 0.1, 1.1 } } })
|
hl.curve("winIn", { type = "bezier", points = { { 0.1, 1.1 }, { 0.1, 1.1 } } })
|
||||||
@@ -168,22 +300,29 @@ 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(notes))
|
hl.bind(mod .. " + N", hl.dsp.exec_cmd("kitty --hold --class \"custom-vpn-picker\" --name \"Select vpn option\" custom-vpn-picker"))
|
||||||
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)
|
||||||
hl.bind("CTRL + ALT + W", hl.dsp.exec_cmd("caelestia shell drawers toggle sidebar"))
|
local function toggle_sidebar()
|
||||||
|
if performance_mode then
|
||||||
|
hl.exec_cmd("swaync-client -t")
|
||||||
|
else
|
||||||
|
hl.exec_cmd("caelestia shell drawers toggle sidebar")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
hl.bind("CTRL + ALT + W", toggle_sidebar)
|
||||||
hl.bind(mod .. " + L", hl.dsp.exec_cmd("caelestia shell lock lock"))
|
hl.bind(mod .. " + L", hl.dsp.exec_cmd("caelestia shell lock lock"))
|
||||||
hl.bind("F11", hl.dsp.exec_cmd("caelestia screenshot"))
|
hl.bind("F11", hl.dsp.exec_cmd("caelestia screenshot"))
|
||||||
hl.bind(mod .. " + SHIFT + S", hl.dsp.exec_cmd("caelestia shell picker open"))
|
hl.bind(mod .. " + SHIFT + S", hl.dsp.exec_cmd("caelestia shell picker open"))
|
||||||
hl.bind(mod .. " + CTRL + 6", close_other_windows)
|
hl.bind(mod .. " + CTRL + 6", close_other_windows)
|
||||||
hl.bind("CTRL + ALT + 7", hl.dsp.exec_cmd("custom-performance"))
|
hl.bind("CTRL + ALT + 7", set_performance_mode)
|
||||||
hl.bind("CTRL + ALT + 1", hl.dsp.exec_cmd("caelestia shell drawers toggle sidebar"))
|
hl.bind("CTRL + ALT + 1", hl.dsp.exec_cmd("caelestia shell drawers toggle sidebar"))
|
||||||
hl.bind(mod .. " + CTRL + 4", hl.dsp.exec_cmd("caelestia shell notifs toggleDnd"))
|
hl.bind(mod .. " + CTRL + 4", hl.dsp.exec_cmd("caelestia shell notifs toggleDnd"))
|
||||||
hl.bind(mod .. " + CTRL + 3", hl.dsp.exec_cmd("pavucontrol"))
|
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"))
|
||||||
|
|
||||||
@@ -673,6 +812,13 @@ 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 = {
|
||||||
@@ -780,7 +926,6 @@ 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")
|
||||||
@@ -790,12 +935,12 @@ 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("sleep 1 && custom-wallpaper")
|
|
||||||
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")
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
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
|
||||||
@@ -6,4 +6,8 @@ in {
|
|||||||
backupAgeKey
|
backupAgeKey
|
||||||
laptopHostKey
|
laptopHostKey
|
||||||
];
|
];
|
||||||
|
"epfl.age".publicKeys = [
|
||||||
|
backupAgeKey
|
||||||
|
laptopHostKey
|
||||||
|
];
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user